Knowledge Representation Language Quixote ABSTRACT Quixote system provides important facilities required for knowledge infor- mation processing, such as knowledge representation and inferences. Quixote also provides basic functions for constructing an integrated knowledge-base management system on top of Kappa-P, a nested relational DBMS. KEY FEATURES Quixote is a language for deductive object-oriented databases (DOODs), and can be seen as an extended logic programming language with its object- orientation features, subsumption constraints, and hierarchical modules. Object Identity: Using extended terms (object terms), representing in- trinsic properties of objects, as object identifiers Subsumption Constraint: Using subsumption relations among object terms as constraints for properties Property Inheritance: Using subsumption relations for property inher- itance among objects including exceptions and multiple inheritance Module: Introducing the modules having object terms as their identifiers in order to modularize knowledge bases, and the inter-module (submod- ule) relation for defining hierarchical structure of knowledge bases Rule Inheritance: Importing and exporting rules among modules by sub- module relations and set-theoretical operations including exception spec- ified by modes of rules Conditional Query: Introducing queries having additional assertions to a knowledge base, and answers with assumed constraints on properties SYSTEM CONFIGURATION - 81 - Demonstration Quixote is not only a knowledge representation language for deductive object-oriented databases, but also a constraint logic programming language, database programming language, and situated programming language. We show the basic features and the effectiveness of Quixote through the following four demonstrations: ¥ Basic Features of Quixote ¥ Application to Situated Inference ¥ Application to Molecular Biological Databases ¥ Legal Reasoning System TRIAL Basic Features of Quixote Objects The concept of an object plays a central role in Quixote. An object consists of an object identifier (OID) and a set of attributes (properties). An OID is represented in the form of complex objects. For example, apple, apple[color = red], and apple[color = red, area = nagano] are OIDs. The first represents the concept of apple, while the latter two represent sub-concepts of apple with intrinsic attributes. Extrinsic attributes are written on the right hand side of "/" as follows: apple/[color = red] apple[color = red]/[area = {nagano, aomori}, weight = heavy] Objects can be intensionally defined by rules as follows: path[from = X, to = Y] <= arc[from = X, to = Y] path[from = X, to = Y] <= arc[from = X, to = Z], path[from = Z, to = Y] Subsumption Relation and Property Inheritance Subsumption relation ~; is defined among OIDs. apple ~; fruit, fruit ~; plant This is extended to the relation among complex objects: apple[color = red] !~ apple. Properties are represented in the form of constraints based on the subsumption relation and Hoare's ordering relation ~;H defined by : - 82 - apple/[family -> rose, area <- {nagano,aomori}] <=> apple|{apple.family !~ rose, apple.area ~H {nagano, aomori} Properties are inherited according to the ordering of the lattice constructed by !~: apple/[color = red, family -> rose] => apple[color = green]/[family -> rose, color = green] Exception is defined by intrinsic attributes and multiple inheritance is pro- cessed by merging constraints. Module and Inheritance A module is defined as a set of rules: west :: cider/[source = apple] usa :: cider/[alcohol = no] uk :: cider/[alcohol = yes] Submodule relation ~;s is defined among modules and rules are inherited according to the relation. usa :: cider/[source = apple, alcohol = no] usa ~!s west => uk :: cider/[source = apple, alcohol = yes] uk ~!s west japan :: cider/[source = soda_pop] Exception and multiple inheritance are also defined as for rule inheritance. Modules can be dynamically generated by parametric modules. Query and Answer A Quixote program (database) consists of control information, definitions of the subsumption relation, definitions of the submodule relation, and defi- nitions of the rules. A query is processed as follows: ¥ Additional rules and relations can be added to a database with a query. if west::cider/[process = ferment] then ?-uk:cider/[process = X] ¥ An answer is returned with assumption related to attributes. ?-japan:cider/[alcohol=yes] => if japan:cider.alcohol =yes then yes ¥ The derivation process of an answer can be returned as the explanation. Updating to a database is also specified in the program and is processed by an nested transaction logic. All objects in a Quixote program are persistent and stored in a Kappa database or a file. - 83 - Situated Inference Objectives In natural language understanding, we often need to represent knowledge and information which depend on situations. The required mechanisms for situated inferences are summarized as follows: ¥ Environmental parameters ¥ Circumstantial rules of inference ¥ Making implicit parameters explicit Advantages of Quixote The requirements for situated inference are naturally realized with the following basic mechanisms in Quixote: ¥ Situation as module s~cr <==> s::o ¥ Parameter set as an object term with attributes (feature structures) << rel,agent,¥¥¥ >> <==> o[rel/xxx,agent/yyy, ¥¥¥] ¥ Circumstantial inference rule as a rule with modules so ~ (70 <- sl ~ crl, s2 ~ (72, ' ' ' ~~ so :: oo <~ sl : ol,s2 : 02,"' ¥ Explication of hidden parameters by constraints s::0 <= ¥¥¥ ||C <==> s/~<<7,C>> ¥ Offer of circumstantial information by a conditional query Outline of Demonstration ¥ Situated inference with perspectives Variations in tense and aspects are considered differences in perspective toward the same situation. The inference system explicates the ambiguity of a phrase, integrating such perspectives for each lexical item that may still be temporally ambiguous by itself. We show the example of Japanese `_teiru', which can have three different meanings (progressive, resultant, or experience), depending on the context. ¥ Inference with knowledge and belief The same rule may infer different results, depending on hidden knowledge and beliefs. We analyze the following examples, where the result reflects each speaker's different knowledge. If Bizet and Verdi are compatriots, then Bizet is Italian. If Bizet and Verdi are compatriots, then Verdi is French. - 84 - Application to Molecular Biology Objectives As the amount of molecular biological data is explosively increasing, it is necessary to develop automatic analysis and to represent various knowledge as rules that can be automatically utilized. The knowledge in protein databases that needs to be represented is as follows. ¥ Protein Function Representation ¥ Integrated Representation of Existing Public Databases ¥ Tentative Representation of Unclassified Data Advantages of Quixote The advantages of Quixote are shown through our demonstration, except for a couple of the advantages of using modules as follows: ¥ Intrinsic knowledge of substance/species, and every public database ¥ Partitioning of inconsistent data Outline of Demonstration ¥ ProSite Show how the zinc finger (a kind of functional motif) is represented and used in Quixote, in comparison with the relational model. - Flexibility of Schema - Query Processing Facility ¥ Functions of Cytochromes Show how the electron transfer of cytochromes (metabolic reaction) is represented in Quixote, by using the module and subsumption relation. - Precision Customization of Answer by Module Facility - Thesaurus Representation by Object Hierarchy ¥ Citric Acid Cycle Show how the metabolic pathways are represented in Quixote, by showing the differences between the citric acid cycle and the glyoxylate cycle, both of which are metabolic reactions. - Representation of Path with Loops - 85 - TRIAL: A Legal Reasoning Experimental System Objectives We deal with a legal reasoning problem as an application of knowledge base and knowledge representation technologies to a legal field. Legal reasoning consists of three components, that is, fact recognition, statutory interpreta- tion, and statute application. Since it is hard to treat fact recognition at the present level technology, TRIAL in Quixote aims to perform statutory inter- pretation as well as statute application, especially analogical interpretation which uses relevant existing precedents. Therefore, given a new case, TRIAL gives possible judgments by using ex- isting precedents which are similar to the new case, and constructs arguments that lead to a judgment. Advantages of Quixote For the purpose of analogical interpretation, the following Quixote-support- ed features are useful: ¥ By type hierarchies, the taxonomy hierarchies of legal concepts can be dealt with easily in TRIAL. ¥ By conclusions with assumptions, TRIAL can give judgments with as- sumptions. This also means that missing information can be supplied. Furthermore, the following features are helpful in offering an environment for thought experiments with legal reasoning: ¥ By queries with hypotheses and module hierarchies, hypothetical queries can be asked experimentally in TRIAL. ¥ By a solution explanation feature, TRIAL can construct arguments for verification of judgments. Outline of Demonstration We demonstrate a process in which experts or semi-experts construct the desired argument by application of TRIAL to the karoshi (or death from overwork) problem. ¥ They gain a goal judgment by asking TRIAL a hypothetical query. ¥ They verify whether the arguments constructed by TRIAL are adequate. - 86 -