Home

RACER User's Guide and Reference Manual (Version 1.7

image

Contents

1. In the RACER system each ABox refers to a TBox The concept assertions in the ABox are interpreted with respect to the concept axioms given in the referenced TBox The role assertions are also interpreted according to the role declarations stated in that TBox When a new ABox is built the TBox to be referenced must already exist The same TBox may be referred to by several ABoxes If no signature is used for the TBox the assertions in the ABox may use new names for roles or concepts which are not mentioned in the TBox 3 8 Inference Modes After the declaration of a TBox or an ABox RACER can be instructed to answer queries Processing the knowledge base in order to answer a query may take some time The standard inference mode of RACER ensures the following behavior Depending on the kind of query RACER tries to be as smart as possible to locally minimize computation time lazy inference mode For instance in order to answer a subsumption query w r t a TBox it is not necessary to classify the TBox However once a TBox is classified answering subsumption queries for atomic concepts is just a lookup Furthermore asking whether there exists an atomic concept in a TBox that is inconsistent tbox coherent p does not require the TBox to be classified either In the lazy mode of inference the default RACER avoids computations that are not required concerning the current query In some situations however in order to globally minimize proces
2. 8 top E female 1 B human 1 8 E person 1 8 E man 1 E brother 1 E father 1 E uncle 1 8 El parent 1 E father 1 8 E mother 1 El grandmother 1 8 E woman 1 E aunt 1 8 E mother 1 e grandmother 1 El sister 1 E male 1 Figure 11 Concept hierarchy based on displaying explictly given superconcepts only Double click a concept class and see the hierarchy window displayed here in Figure 11 Reasoning services are provided when OilEd is connected to RACER Press the DIG button in the tools bar Afterwards select the tick button to let RACER check for unsatisfiable concepts in the current OilEd knowledge base and find implicit subsumption relationships between concept names 31 onnected to Racer 1 7 xmins httpvdl krorgidig lang xminsxsi http www w3 o0rg 20015ML Schema instance xsi sschemaLocation http dl kr org dig lang http potato cs man ac uk dig levelO identifierxsd gt hecking Unsatisfiable Classes Done Checking Classes hecking Subsumptions aunt gt sister Figure 12 OilEd activity log window Implicit subsumption relationships are indicated in the OilEd activity log window which can be displayed by selecting the corrosponding menu item in the Log menu see Figure 12 32 Class Hierarchy to female 1 a human 1 B E erson 1 E E man 1 8 El brother 1 El uncle 1 E father 1 a El parent 1 Brno mother 1 a grandmoth
3. Selecting a concept instructs RICE to display its instances in the upper right instances window see Figure 23 In addition Figure 23 shows a query The bus The42 is described Note that the filler for the attribute service_number is 42 Hence we can see that Racer also supports the specification of numbers see below for a detailed introduction on how to use concrete domains This concludes the interface examples Not all features can be shown in a static text doc ument We encourage users to experiment with all graphical interfaces in order to find out how they can be used in combination We now turn to the features provided by the RACER system and we start with some naming conventions 2 6 4 Prot g Prot g is an ontology editor and a knowledge base editor Version 2 0 also supports OWL files and provides custom tailored graphical widgets for editing description logic expres sions see http protege stanford edu and subpages A screenshot of Prot g is shown in Figure 24 Prot g is built by Holger Knublauch Stanford University In Prot g inference services can be invoked by pressing the Classify button above the class tree in the OWL Classes Tab to execute classifiers Before you can use it you must make sure that an external classifier with a DIG compliant interface e g Racer is executing and accessible through your localhost at port 8080 see the Prot g manual for changing the 43 all Prot ge C pro
4. constraints year 2 2000 53 Note that the number of days for both months is not given explicitly Nevertheless asking concept instances month inleapyear yields feb 2000 whereas asking for concept instances not month inleapyear returns feb 2003 In addition one could check the number of days constraint entailed lt gt days in feb 2003 29 constraint entailed days in feb 2000 29 In both cases the answer is true 3 5 Concrete Domain Attributes Attributes are considered as typed since they can either have fillers of type cardinal integer real complex or string The same attribute cannot be used in the same TBox such that both types are applicable e g min has age 18 and gt has age 18 are not allowed If the type of an attribute is not explicitly declared its type is implicitly derived from its use in a TBox ABox An attribute and its type can be declared with the signature form see above and in Section 6 1 page 68 or by using the KRSS like form def ine concrete domain attribute see Section 7 4 page 92 If an attribute is declared to be of type complex is can be used in linear in equations However if an attribute is declare to be of type real or integer it is an error to use this attribute in terms for nonlinear polynoms In a similar way currently an attribute of type integer may not be used in a term for a linear polynoms either If the coefficients are integers then cardinal
5. new BufferedReader new InputStreamReader client getInputStream String result in readLine in close catch IOException e 166 If a message comes in over the input stream the variable result is bound accordingly Then the message can be processed as suitable to the application We do not discuss details here The subscription to the channel i e the registration of the query can also be easily done using the JRacer interface as indicated with the following code fragment we assume Racer runs at node racer fh wedel de on port 8088 public class Subscription public static void main String argv RacerSocketClient client new RacerClient racer fh wedel de 8088 try client openConnection try String result client send subscribe q_1 Book mo fh wedel de 8080 catch RacerException e client closeConnection catch IOException e The connection to the Racer server is represented with a client object of class RacerSocketClient The client object is used to send messages to the associated Racer server using the message send Control flow stops until Racer acknowledges the subscrip tion 12 3 Realizing Local Closed World Assumptions Feedback from many users of the Racer system indicates that for instance instance retrieval queries could profit from possibilities to close a knowledge base in one way or another Due to the non monotonic n
6. Values Remarks Checks if a concept term is satisfiable concept satisfiable p C tbox C concept term tbox TBox object Returns t if C is satisfiable and nil otherwise For testing whether a concept term is satisfiable with respect to a TBozx tboz If satisfiability is to be tested without reference to a TBox nil can be used 99 concept subsumes KRSS macro Description Syntax Arguments Values Checks if two concept terms subsume each other concept subsumes C1 Cy amp optional thor current tbox C concept term of the subsumer Ca concept term of the subsumee tbox TBox object Returns t if C subsumes C2 and nil otherwise concept subsumes p function Description Syntax Arguments Values Remarks See also Checks if two concept terms subsume each other concept subsumes p C C2 thor C concept term of the subsumer Ca concept term of the subsumee tbox TBox object Returns t if C subsumes C2 and nil otherwise For testing whether a concept term subsumes the other with respect to a TBoz tboz If the subsumption relation is to be tested without reference to a TBox nil can be used Function concept equivalent p on page 101 and function atomic concept synonyms on page 122 concept equivalent macro Description Syntax Arguments Values Remarks See also Checks if the two concepts are equivalent in the given TBo
7. transitive RN optional TBN tbox name current tbox Arguments RN role name TBN TBox name role is transitive function Description States that a role is to be interpreted as transitive Syntax role is transitive RN goptional TBN tbox name current tboxx Arguments RN role name TBN TBox name 88 inverse macro Description Defines a name for the inverse of a role Syntax inverse RN inverse role optional TBN tbox name current tbox Arguments RN role name inverse role inverse role of the Form inv RN TBN TBox name inverse of role function Description Defines a name for the inverse of a role Syntax inverse of role RN invese role goptional TBN tbox name current tboxx Arguments RN role name inverse role inverse role of the Form inv RN TBN TBox name roles equivalent macro Description Declares two roles to be equivalent Syntax roles equivalent RN1 RN1 arguTBN Arguments RNI role name RN2 role name TBN TBox name roles equivalent 1 function Description Declares two roles to be equivalent Syntax roles equivalent 1 RN1 RN2 arguTBN Arguments RN1 role name RN2 role name TBN TBox name 89 domain macro Description Declares the domain of a role Syntax domain RN C amp optional TBN tbox name current tbox Arguments RN role name C concept TBN TBox name role has doma
8. 91 role inverse 107 role is functional 88 role is transitive 88 role offspring 126 role p 104 role parents 127 role range 108 role subsumes p 103 role subsumes 103 role synonyms 127 role 104 roles equivalent 89 roles equivalent 1 89 save knowledge base 66 save TBox 70 save abox 77 save kb 65 save tbox 69 set associated tbox 80 signature 45 signature 67 state 96 store abox image 173 store aboxes image 173 store kb image 174 store kbs image 174 store tbox image 172 store tboxes image 172 subrole 86 subscribe 169 subscribe 1 169 superrole 86 symmetric p 106 symmetric 106 taxonomy 121 tbox 80 tbox classified p 109 tbox classified 109 tbox coherent p 111 tbox coherent 111 tbox cyclic p 110 tbox cyclic 111 tbox name 73 tbox prepared p 110 tbox prepared 110 tbox signature 68 told value 134 top 81 transitive 88 transitive role 50 86 transitive p 104 transitive 104 unique name assumption 55 unpublish 168 unpublish 1 169 unsubscribe 170 unsubscribe 1 170 value restriction 46 XML 74 xml read tbox file 74
9. O ow he pie aota eR a en a ee ea ee a 2 6 3 Using OilEd and Rice in Combination 0 204 Pot siga eet A Pe ee Naming Wonventions lt 4 lt soes a E A ee ee ee 3 RACER Knowledge Bases ol 32 3 3 3 4 3 5 3 6 3 7 3 8 3 9 Concept Langue 20 fin mat 8 A a aa Gk e Re ee ee Concept Axioms and Terminology cos rewi awg kenop a ee Role Declarations 44 irea a e a a a A RR ee Concrete Domains sos sa saa rasero a eo d ea eS Concrete Domain Attributes e e e a Algorithms for Concrete Domains e a ABOX Assertion 2 coa s ps ee ed Oe AR ee oe eas Inference Modes lt sesio crama ee ee aa Retraction and Incremental Additions 0004 4 The RDF RDFS DAML interface 5 The RDF OWL interface 6 Knowledge Base Management Functions 6 1 ANTRNOWLSASS DES Goi driers pjs a he Pe A ee BR a ee ars TaCer read 1FlS eu ais cos Pe a ee ee Pacer read decumen gt sc s r Se ee a a a a MTI AD as eve Sgt A BORD ae Be CR Bee tae oem Cig Re e By ges R we ee dam ESCLAVOS s a s pd eee we a AAA daml read document pa ce ROR a a A Owl read file ok PRAM Rw RD a a a BR ee es oyl read document sara o a a a a eS MATEO pale bh ek y we se ww we A we a a RD ONTOLORTCS o ae p08 RO ee we Ge a ew l a Save PD ae uci ee ae Bc et ee ae Poe ek eh ek ee ee 45 45 49 49 51 54 54 54 55 56 56 60 6 2 ensure tbox signature tbox signature current tbox current tboxz eoo rs
10. corresponding text files and classifying the TBox or realizing the ABox again Since future versions of Racer might be supported by different internal data structures it might be the case that old dump files cannot be loaded with future Racer versions In this case an appropriate error message will be shown However you will have to create a new dump file again The following functions define the Racer Persistency Services store tbox image function Description Store an image of a TBox Syntax store tbox image filename koptional TBN tbox name current tbox Arguments filename filename TBN tbox name store tboxes image function Description Store an image of a list of TBoxes Syntax store tboxes image tboxes filename Arguments tboxes a list of TBox names filename filename restore tbox image function Description Restore an image of a TBox Syntax restore tbox image filename Arguments filename filename 172 restore t boxes image function Description Restore an image of a set of TBoxes Syntax restore tboxes image filename Arguments filename filename store abox image function Description Store an image of an Abox Syntax store abox image filename koptional ABN abox name current abox Arguments filename filename ABN abox name store aboxes image function Description Store an image of a list of Aboxes Syntax store aboxes i
11. current abox ABN ABox name check subscriptions macro Description Syntax Arguments Values Explicitly check for new instance retrieval results w r t the set of subscrip tions check subscriptions ABN ABN ABox name A list of tuples consisting of subscriber and individuals names 171 13 The Racer Persistency Services If you load some knowledge bases into Racer and ask some queries Racer builds internal data structure that enables the system to provide for faster response times However generating these internal data structures takes some time So if the Racer Server is shut down all this work is usually lost and data structures have to be rebuilt when the server is restarted again In order to save time at server startup Racer provides a facility to dump the server state into a file and restore the state from the file at restart time The corresponding functions form the Persistency Services of a Racer Server The Persistency Services can also be used to prepare a knowledge base at a specific server and use it repeatedly at multiple clients see also the documentation about the Racer Proxy For instance you can classify a TBox or realize an ABox and dump the resulting data structures into a file The file s can be reloaded and multiple servers can restart with much less computational ressources time and space Starting from a dump file is usually about ten times faster than load the
12. e NIL otherwise The Unique Name Assumption Racer uses the unique name assumption UNA for variables consider the query retrieve x y and x man y man Racer replies NIL since there is only one known man in the ABox Charles Due to the UNA for variables x and y are required to be bound to different men in the ABox But since Charles is the only man the answer is NIL Note that if ABox individuals are used within a query they are excluded as possible bindings for the other variables as well E g for the query retrieve x charles and x man charles man Racer replies NIL as well since x has to be bound to a man different from Charles 148 However it is possible to switch off the UNA for certain or all variables simply prefix a variable with a retrieve x y and x man y man Racer replies X CHARLES Y CHARLES and for retrieve x charles and x man charles man Racer replies X CHARLES CHARLES CHARLES A More Complex Example RQL queries are especially useful when searching for com plex role filler graph structures in an ABox Consider the following query which searches for children having a common mother retrieve mother child1 child2 and childi human child2 human mother childi has child mother child2 has child Racer replies MOTHER BETTY CHILD1 DORIS CHILD2 EVE MOTHER
13. see the description of define primitive role in Section 7 3 page 86 or referred to as inv RN Features also called attributes restrict a role to be a functional role e g each individual can only have up to one filler for this role Transitive Roles are transitively closed roles If two pairs of individuals IN and IN and IN and IN 3 are related via a transitive role R then IN and IN3 are also related via R Role Hierarchies define super and subrole relationships between roles If R is a super role of Rg then for all pairs of individuals between which R holds R must hold too In the current implementation the specified superrole relations may not be cyclic If a role has a superrole its properties are not in every case inherited by the subrole The properties of a declared role induced by its superrole are shown in Figure 28 The table should be read as follows For example if a role RN is declared as a simple role and it has a feature RN as a superrole then RN will be a feature itself Superrole RN RIRE F Subrole RN R RIR F declared as RE RE Rt element of F F F F Figure 28 Conflicting declared and inherited role properties The combination of a feature having a transitive superrole is not allowed and features cannot be transitive Note that transitive roles and roles with transitive subroles may not be used in number restrictions RACER does not support role term
14. 117 abox name 80 abox prepared p 115 abox prepared 115 abox realized p 115 abox realized 115 abox signature 76 add attribute assertion 98 add concept assertion 93 add concept axiom 84 add constraint assertion 97 add disjointness axiom 84 add role assertion 94 add role axioms 87 alc concept coherent 103 all aboxes 135 all atomic concepts 128 all attribute assertions 138 all attributes 129 all concept assertions 137 all concept assertions for individual 136 all constraints 137 all equivalent concepts 128 all features 128 all individuals 136 all role assertions 137 all role assertions for individual in domain 136 all role assertions for individual in range 137 all roles 128 all tboxes 128 all transitive roles 129 assertion 54 associated ABoxes 74 associated aboxes 73 192 associated tbox 80 atomic concept ancestors 123 atomic concept children 124 atomic concept descendants 123 atomic concept parents 124 atomic concept synonyms 122 atomic role ancestors 126 atomic role children 126 atomic role descendants 125 atomic role domain 107 atomic role inverse 107 atomic role parents 127 atomic role range 108 atomic role synonyms 127 attribute 92 attribute domain 108 attribute domain 1 108 attribute has domain 90 attribute has range 91 attribute type 129 bottom 81 cd attribute p 105 cd attribute 105 cd object p 120 cd object 121 check abox coherence
15. BETTY CHILD1 EVE CHILD2 DORIS MOTHER ALICE CHILD1 BETTY CHILD2 CHARLES MOTHER ALICE CHILD1 CHARLES CHILD2 BETTY An even more complex query is required if we want to search for odd family interrelation ships retrieve x y z u and x y has descendant x z has descendant y u has descendant z u has descendant Racer replies X ALICE Y BETTY Z CHARLES 7U EVE X ALICE Y CHARLES Z BETTY U EVE Such a query would be hard to formulate without the RQL In fact quite some manual programming would be necessary for the user if he had to use the basic ABox retrieval operations described in Chapter 10 2 OR Queries Moreover Racer also offers an OR operator retrieve x or x woman x man Racer replies X CHARLES X EVE X DORISIY X BETTY X ALICE However the OR operator is more subtle to understand since the names of the variables matter If disjuncts within an OR reference different variables then the system will ensure that each disjunct references the same variables For example the query Cn min ane mam Oy PAN Ma as 8 sama lr Many The result will be COX X X X X X X X X X X X X X X X EVE Y DORIS EVE Y CHARLES EVE Y BETTY EVE Y ALICE DORIS Y EVE DORIS Y CHARLES DORIS Y BETTY DORIS Y ALICE BETTY Y DORIS
16. BETTY Y EVE BETTY Y CHARLES BETTY Y ALICE ALICE Y DORIS ALICE Y EVE ALICE Y CHARLES ALICE Y BETTY As expected this is the union of the two queries retrieve x y and x woman y top COX X X X X X X EVE Y BETTY DORIS Y BETTY ALICE Y BETTY EVE Y DORIS BETTY Y DORIS ALICE Y DORIS EVE Y CHARLES X X X X X X DORIS Y BETTY Y ALICE Y DORIS Y BETTY Y ALICE Y CHARLES CHARLES CHARLES EVE EVE EVE X X X EVE Y ALICE DORIS Y ALICE BETTY Y ALICE and retrieve x y and x top y man X BETTY Y CHARLES X DORIS Y CHARLES X EVE Y CHARLES X ALICE Y CHARLES However the second disjunct does not produce any new tuples in this example 150 Consider the query retrieve y or x woman y man Again it is important to note that this query is not equivalent to retrieve y y man As already described Racer will rewrite this query into retrieve y or and x woman y top and x top y man Thus the possible bindings for y are from the union of top and man which is of course top and not man Racer therefore replies Y ALICE Y DORIS Y EVE Y CHARLES Y BETTY whereas retrieve y y man returns CY CHAR
17. Eve is a mother i e we want to get a positive answer iff it cannot be proven that Eve is a mother retrieve eve eve mother yields NIL a negative answer since Racer cannot prove that Eve is a mother and retrieve eve eve not mother yields NIL as well However these are negative answers Unfortunately if we query with retrieve eve not eve mother we get EVE EVE EVE DORIS EVE CHARLES EVE BETTY EVE ALICE as described above since eve turned into a variable However if we are only inter ested in Eve we can use an additional conjunct which ensures that eve can only be bound to the ABox individual Eve This additional query atom is bind individual eve retrieve eve and bind individual eve not eve mother yields EVE EVE and thus we get a positive answer that it cannot be proven that Eve is a mother Conse quently retrieve and bind individual eve not eve mother returns T 10 3 4 Boolean Complex Queries In fact it is possible to combine arbitrarily nested NOT AND and OR query expressions We therefore might call the queries boolean Internally the system will bring the queries into Negation Normal Form NNF such that NOT appears only in front of query atoms 157 Moreover the queries are even brought into Disjunctive Normal Form DNF Since the DNF might be exponentially larger than the original query and thus result in very big quer
18. However complete reclassification may be necessary in order to answer queries Retracting axioms is mainly useful if the RACER server is used With retracting there is no need to delete and retransfer a knowledge base TBox RACER also offers constructs for retracting ABox assertions see forget forget concept assertion forget role assertion and friends If a query has been answered and some assertions are retracted then RACER might be forced to compute the index structures for the ABox again realization i e after retractions some queries might take some time to answer Note that may queries are answered without index structures at all see also Section 11 RACER also supports incremental additions to ABoxes i e assertions can be added even after queries have been answered However the internal data structures used for anwering queries are recomputed from scratch This might take some time If an ABox is used for hypothesis generation e g for testing whether the assertion 7 C can be added without causing an inconsistency we recommend using the instance checking inference service If individual instance i not C returns t i C cannot be added to the ABox Now let us assume we can add 7 C and afterwards want to test whether i D can be added without causing an inconsistency In this case it might be faster not to add i C directly but to check whether individual instance i and C not D returns t The reason is that in
19. KB as follows signature roles has child parent has descendant inverse has parent domain parent range person features has father parent has parent has mother parent has parent That means add the has father and has mother features and modify the has child Role such that its inverse is named has parent Then add the following axioms at the end of the file related betty alice has mother related charles alice has mother related doris betty has mother related eve betty has mother related eve charles has father just for the sake of KB brevity Now that we have the features has mother and has father we can query for persons whose father is older than their mother retrieve x x x constraint has father age has mother age gt Racer replies X EVE Since for the sake of KB brevity Betty and Charles are actually siblings but also have a common child Eve the following query succeeds retrieve x x x constraint has father has mother age has mother has mother age Racer replies 145 X EVE Currently the predicates cannot be complex expressions e g expressions like constraint age age agel 10 age2 are currently not supported but will be in a future version of Racer IMPORTANT IMPLEMENTATION LIMITATION NOTE CURRENTLY THESE CONSTRAINT ATOMS WORK ONLY IF THE SIGNATURE DOES NOT CONTAIN AN INDIVIDUALS SECTION
20. TBoxes 71 193 delete abox 78 delete all aboxes 78 delete all tboxes 71 delete tbox 71 describe abox 138 describe concept 130 describe individual 138 describe role 130 describe tbox 129 disjoint 82 disjoint concepts 49 82 84 domain 90 domain restriction 50 ensure abox signature 76 ensure subsumption based query answering 160 ensure tbox signature 68 equivalent 82 exists restriction 46 feature 50 86 feature p 105 feature 105 find abox 79 find tbox 73 forget 96 forget abox 77 forget concept assertion 93 forget disjointness axiom 95 forget disjointness axiom statement 95 forget role assertion 95 forget statement 97 forget tbox 70 functional 88 GCI 49 82 get abox language 116 get concept definition 113 get concept definition 1 113 get concept negated definition 114 get concept negated definition 1 114 get meta constraint 112 get tbox language 112 implies 82 implies role 91 in abox 75 in knowledge base 60 in tbox 66 include file 61 include kb 61 individual attribute fillers 133 individual direct types 130 individual equal 119 individual fillers 132 individual instance p 118 individual instance 117 individual not equal 120 individual p 120 individual types 131 individual 120 individuals related p 119 individuals related 119 inference modes 55 init abox 75 init publications 171 init publications 1 171 in
21. The following code fragment explains how to send message to a Racer Server running at racer fh wedel de under prot 8088 public class MyProgram public static void main String argv RacerSocketClient client new RacerClient racer fh wedel de 8088 try client openConnection try 1 String result client send concept instances person catch RacerException e client closeConnection catch IOException e Y 2 5 3 HTTP Interface DIG Interface In a similar way as the socket interface the HTTP interface can be used from application programs and graphical interfaces If the option f is not provided the HTTP interface is automatically enabled If you do not use the HTTP interface at all but the TCP interface only start RACER with the option http 0 Clients can connect to the HTTP based RACER Server using the POST method For details see the DIG standard Bechhofer 02 The default HTTP communication port used by RACER is 8080 In order to change the port number the RACER Server should be started with the option http For instance racer http 8000 Console logging of incoming POST requests in provided by default but can be switched off using the option nohttpconsolelog With the option httplogdir lt directory gt logging into a file in the specified directory can be switched on 22 A document describing the XML syntax of the DIG standard is provided with this distri bution See
22. Unary has known successor Query Atoms Sometimes one just wants to ensure that there are certain explicitly modeled role successors in an ABozx without actually retrieving them For example suppose we want to know for which individuals we have explicitly modeled children in the ABox Thus the query retrieve x x has known successor has child gives us X CHARLES X BETTY X ALICE since these are the individuals which have appropriate successors of type has child in the ABox Alternatively we could have used retrieve x x y has child So what is the difference between these two queries Well the latter query would unnecessar ily also bind y to all present children of x Therefore the former query is computationally cheaper to answer However there is a more subtle difference which will come into play if we consider negated query atoms see below Also note that retrieve x x has known successor has child is not equivalent to retrieve x x some has child top Suppose we add the axiom individual instance doris mother 146 to the ABox and query with retrieve x x some has child top We then get X DORIS X CHARLES X BETTY X ALICE but retrieve x x has known successor has child only gives us X CHARLES X BETTY X ALICE since the child of Doris is not explicitly present in the ABox However its existen
23. about file c ralf family 2 person gt lt daml first gt lt daml rest gt lt daml List gt lt daml first gt lt daml Restriction gt lt daml onProperty rdf resource file c ralf family 2 has gender gt lt daml hasClass gt lt daml Class rdf about file c ralf family 2 female gt lt daml hasClass gt lt daml Restriction gt lt daml first gt lt daml rest gt lt daml nil gt lt daml rest gt lt daml List gt lt daml rest gt lt daml List gt lt daml intersection0f gt lt daml Class gt lt rdfs subClassOf gt lt daml Class gt 183 lt rdf Description rdf about file c ralf family 2 charles gt lt rdf type rdf resource file c ralf family 2 only child gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 charles gt lt rdf type rdf resource file c ralf family 2 brother gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 betty gt lt rdf type rdf resource file c ralf family 2 mother gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 alice gt lt rdf type rdf resource file c ralf family 2 mother gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 alice gt lt ns0 has descendant rdf resource file c ralf family 2 eve gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 alice gt lt
24. add concept axiom thor C1 Ch amp key inclusion p nil Arguments thor TBox object Ci C2 concept term inclusion p boolean indicating if the concept axiom is an inclusion axiom GCI or an equality axiom The default is to state an inclusion Values thor Remarks RACER imposes no constraints on the sequence of concept axiom declara tions with add concept axiom i e forward references to atomic concepts for which other concept axioms are added later are supported in RACER add disjointness axiom function Description This function adds a disjointness concept axiom to a TBox Syntax add disjointness axiom thor CN GN Arguments thor TBox object CN concept name GN _ group name Values thor 7 3 Role Declarations Roles can be declared with the following statements 84 define primitive role KRSS macro with changes Description Syntax Arguments Remarks Examples See also Defines a role define primitive role RN amp key transitive nil feature nil symmetric nil reflexive nil inverse nil domain nil range nil parents nil RN role name transitive if bound to t declares that the new role is transitive feature if bound to t declares that the new role is a feature symmetric if bound to t declares that the new role is a symmetric This is equivalent to declaring that the new role s inverse is the role itself reflexive if bound to t declares that the new role is r
25. always with ALC Then f indicates whether features are used Q indicates qualified number restrictions N indicates simple number restrictions H stands for a role hierarchy I indicates inverse roles r indicates transitive roles the suffix D indicates the use of concrete domain language constructs get meta constraint function Description Syntax Arguments Values Remarks Optimized DL systems perform a static analysis of given terminological ax ioms The axioms of a TBox are usually transformed in such a way that pro cessing promises to be faster In particular the idea is to transform GCIs into primitive concept definitions Since it is not always possible to absorb GCIs completely a so called meta constraint might remain The functions get meta constraint returns the remaining constraint as a concept get meta constraint amp optional TBN tbox name current tbox TBN TBox name A concept term The absorption process uses heuristics Changes to a TBox might have dra matic effects on the value returned by get meta constraint 112 get concept definition macro Description Optimized DL systems perform a static analysis of given terminological ax ioms The axioms of a TBox are usually transformed in such a way that processing promises to be faster In particular the idea is to transform GCIs into primitive concept definitions For a given concept name the function get concept def
26. an atomic concept in the TBox 10 1 TBox Retrieval taxonomy function Description Returns the whole taxonomy for the specified TBox Syntax taxonomy amp optional tbor current tbox Arguments thor TBox object Values A list of triples each of it consisting of a name set the atomic concept CN and its synonyms list of concept parents name sets each entry being a list of a concept parent of CN and its synonyms list of concept children name sets each entry being a list of a concept child of CN and its synonyms Examples taxonomy my TBox may yield Gtop O quadrangle tetragon quadrangle tetragon top rectangle diamond rectangle quadrangle tetragon bottomx diamond quadrangle tetragon bottom bottom rectangle diamond See also Function atomic concept parents function atomic concept children on page 125 121 concept synonyms macro Description Syntax Arguments Values Remarks See also Returns equivalent concepts for the specified concept in the given TBox concept synonyms CN optional thor tbox name current tbox CN tbox concept name TBox object List of concept names The name CN is not included in the result Function concept equivalent p on page 101 atomic concept synonyms function Description Syntax Arguments Values Remarks See also Returns equivalen
27. and an associated ABox with the same name in knowledge base macro Description This form is an abbreviation for the sequence in tbox TBN in abox ABN TBN See the appropriate documentation for these functions Syntax Two forms are possible in knowledge base TBN amp optional ABN or in knowledge base TBN amp key init t Arguments TBN TBox name ABN ABox name init t or nil Remarks If no ABox is specified an ABox with the same name as the TBox is created or initialized if already present The ABox is associated with the TBox If the keyword init is specified with value nil no new knowledge base is created but just the current TBox and ABox is set If init is specified no ABox name may be given Examples in knowledge base peanuts peanuts characters in knowledge base peanuts in knowledge base peanuts init nil 60 racer read file function Description Syntax Arguments Examples See also A file in RACER format as described in this document containing TBox and or ABox declarations is loaded racer read file pathname pathname is the pathname of a file racer read file kbs test lisp Function include kb racer read document function Description A file in RACER format as described in this document containing TBox and or ABox declarations is loaded Syntax racer read document URL Arguments URL is the URL of a text document with RACER
28. compute all implicit role fillers function Description Instruct RACER to use compute all implicit role fillers After computing these fillers the function all role assertions returns also the implicit role fillers Syntax compute all implicit role fillers koptional ABN current abox Arguments ABN ABox name compute implicit role fillers function Description Instruct RACER to use compute all implicit role fillers for the individual specified After computing these fillers the function all role assertions re turns also the implicit role fillers for the individual specified Syntax compute implicit role fillers individual optional ABN current abox Arguments individual individual name ABN ABox name get abox language function Description Returns a specifier indicating the description logic language used in the ax ioms of a given ABox Syntax get abox language amp optional ABN abox name current abox Arguments ABN ABox name Values The language is indicated with the quasi standard scheme using letters Note that the language is identified for selecting optimization techniques Since RACER does not exploit optimization techniques for sublanguages of ALC the language indicator starts always with ALC Then f indicates whether features are used Q indicates qualified number restrictions N indicates simple number restrictions H stands for a role hierarchy I indicates inverse roles r
29. ee ee ee 131 Indi da LS Ey pes e a eck ee e a Oe RR Se e Ree 131 instantiators oa coa prh e ee EEE Oe es 131 CONCept IMNStances lt e ss gk Se ek ee a a Soe es 132 Hetrleve concept imstamcesd ocio a ee we a 132 individuals TISTES caceria A 132 retrieve individual fillers i lt isa ao sieka eee na 133 individval attribube illere 2 2 26 s gosat o0d aoa siboa ee eles 133 retrieve individual attribute fillers 133 POLA TAM ik eG tok he a A ee Be eed ee A oe 134 retrieve related individuals lt o c e s e w ee ae ae Pe ees 134 roleted indiyidu ls y al RO Ya Sw AQ e ER we eS 134 retrieve individual filled roles 135 retrieve direct predecessors o ee 135 A A O wie Fw ee k a ana ds dA BE ee E 135 all individ ala eke ee ee ee OR OR AR a i e 136 all concept assertions tor individual o eS a eas 136 all role assertions for individual in domain 136 all role assertions for individual in range 137 alLISCONSEPU ASSErtions lt lt soos OH Gee eR EE Mee we 137 all role asserpionsS o kw WA EH a Rs 137 a oser SASS AN 137 all attribube Asserbtidns ossa e eek sa eS SL e E a T e a 138 describe abok ony koe iie u le D ek Be A A a 138 describs indiyidual s r sie e A OP 138 10 3 The Racer Query Language RQL anaana e 139 10 3 1 Step by step RQL by example noaa 02022000 139 1 38 2 Complex Queries o s 4 6 soad ee ee oe es 147 10 3 3 Negated Que
30. equivalent equivalent equivalent equivalent equivalent equivalent equivalent equivalent equivalent equivalent young child and child max has age 9 human with fever and human gt temperature celsius 38 5 seriously ill human and human gt temperature celsius 42 0 human with high fever and human gt temperature fahrenheit 107 5 parent at least 1 has child young parent and parent max has age 21 normal parent and parent min has age 22 max has age 40 old parent and parent min has age 41 mother and woman parent father and man parent teenage mother and mother max has age 20 mother having only female children and mother all has child all has gender not male mother having only daughters and woman at least 1 has child all has child woman mother with children and mother at least 2 has child grandpa and man some has child parent great grandpa and man some has child some has child parent 187 equivalent grandma and woman some has child parent equivalent great grandma and woman some has child some has child parent equivalent aunt and woman some has sibling parent equivalent uncle and man some has sibling parent equivalent sibling or sister brother equivalent mother with siblings and mother all has child sibling equivalent brother and man at least 1 has sibling equivalent
31. http www big systems com ronald rice In order to briefly explain the use of RICE let us consider the family example again First start the RACER server As an example the family knowledge base might be loaded into the server at startup racer u init family racer Then either double click the jar file icon or type java jar rice jar into a shell Connect RICE to RACER by selecting Connect from the Tools menu In addition to the default TBox named default always provided by RACER the TBox FAMILY is displayed in the left upper window which displays the parent children relationship between concept names of different TBoxes An example screenshot is shown in Figure 5 Users can interactively unfold and fold the tree display 24 RACER Interactive CLIENT Environment RICE File Edit Tools Help Concepts Type a Concept Name to show exact matching only Ey FAMILY Son FEMALE B P HUMAN Ely PERSON El 2g MAN E BROTHER he UNCLE 2 4 FATHER 79 PARENT 4 FATHER E MOTHER i 4 GRANDMOTHER 79 WOMAN 4 7 MOTHER SISTER Lo MALE Statements and or concept definitions concept instances or man woran PreClassify DORIS EVE BETTY CHARLES ALICE Figure 5 Screenshot of RICE Using the middle subwindow statements declarations and queries can be typed and sub mitted to RACER The answers are printed into the lower window A query concerning the family knowle
32. individuals and variables will be commonly referenced as objects We will guide the user step by step through the RQL then give a formal BNF syntax description 10 3 1 Step by step RQL by example As a running example we will use the knowledge base family 1 racer which is contained in the examples tar gz file that can be download from the Racer download page Please load this KB and start your favorite Racer interface e g RICE 10 3 1 1 Simple Queries and Query Atoms Unary Concept Query Atoms To pose an RQL query to the Racer system the function retrieve is provided as part of the functional Racer API To give a first example consider the query retrieve x x woman asking Racer for all instances of type woman from the current ABox to be bound to the variable x Racer replies X EVE X DORIS X ALICE X BETTY i e the query is satisfied if the variable x is bound to Eve to Doris to Alice or to Betty Racer has returned a list of binding lists Each binding list lists a number of variable value pairs Within the call to retrieve x represents the list of result objects and x woman is the query body or query expression In this case the query body is a so called unary query atom Query atoms are the most basic query expressions offered by the RQL The list of result objects specifies the form of the returned binding lists Note that the concept woman might be replaced by an arbitrary c
33. information about another document is declared The new document is published state instance document 7 computer science document constrained document 7 isbn 7 isbn constraints equal isbn 7 7234567 constrained document 7 number of copies sold 7 number of copies sold constraints equal number of copies sold 7 4000 publish document 7 The result of the last statement is CLIENT 2 DOCUMENT 7 CLIENT 3 DOCUMENT 7 The new document document 7 is in the result set of the query subscribed by client 2 and client 3 Note that document can be considered as structured objects not just names This is demonstrated with the following statement whose result is displayed just below describe individual document 7 DOCUMENT 7 ASSERTIONS DOCUMENT 7 COMPUTER SCIENCE DOCUMENT ROLE FILLERS NIL TOLD ATTRIBUTE FILLERS ISBN 7234567 NUMBER OF COPIES SOLD 4000 DIRECT TYPES COMPUTER SCIENCE BEST SELLER COMPUTER SCIENCE DOCUMENT 163 Thus RACER has determined that the individual document 7 is also an instance of the concept computer science best seller This is due to the value of the at tribute number of copies sold and the given sufficient conditions for the concept computer science best seller in the TBox document ontology Now we have information about seven documents declared in the ABox current document all individuals DOCUMENT 1 DOCUMENT 2 DOCUMENT 3 DOCUMENT 4 DOCUMENT 5 DOCUMENT 6 DOCUME
34. language expressions e RACER 1 7 7 comes with an interactive graphical shell called RICE RICE was de veloped by Ronald Cornet Univ of Amsterdam e Many more query functions for information about processed TBoxes e g for retriev ing the definition of a concept the meta constraints the description logic language actually used in a knowledge base etc e Modifications of TBoxes are possible i e retransmission of a changed TBox to the server is no longer necessary e Dramatically improved performance of ABox query processing 12 e Reasoning effort for answering ABox queries can be controlled e g users can speci fiy whether computing an index is desired or whether query subsumption should be exploited e RACER 1 7 offers a publish subscribe service for subscribing instance retrieval queries see below for details Applications of this feature are for instance document man agement systems e Persistency management for TBoxes and ABoxes is now offerered Restarting a DL inference server is now up to 10 times faster e Multi user access is possible with the Racer Proxy e New concrete domains for cardinals linear ineqations with order constraints and integer coefficients complex numbers nonlinear multivariate inequations with integer coefficients and strings equality and inequality are supported 1 3 Application Areas There are numerous paper describing how RACER can be used to solve application proble
35. natural number including 0 for the type of attributes may be used in a linear polynom Furthermore attributes of type string may not be used on polynoms and non strings may not be used in constraints for strings 3 6 Algorithms for Concrete Domains Rychlik 2000 Weispfenning 92 Jaffar incremental constraint solving Jaffar and Maher 94 Gomory 3 7 ABox Assertions An ABox contains assertions about individuals The set of individual names or individuals for brevity Z is the signature of the ABox The set of individuals must be disjoint to the set of concept names and the set of role names There are four kinds of assertions Concept assertions with instance state that an individual JN is an instance of a spec ified concept C Role assertions with related state that an individual JN is a role filler for a role R with respect to an individual IN 92 54 Attribute assertions with constrained state that an object ON is a filler for a role R with respect to an individual IN Constraints within constraints state relationships between objects of the concrete do main The syntax for constraints is explained in Figure 3 1 Instead of attribute names object names must be used In RACER the unique name assumption holds this means that all individual names used in an ABox refer to distinct domain objects therefore two names cannot refer to the same domain object Note that the unique name assumption does not hold for object names
36. nil can be used concept disjoint p function Description Syntax Arguments Values Remarks Checks if the two concepts are disjoint e g no individual can be an instance of both concepts concept disjoint p C C thor C1 C2 concept term tbox TBox object Returns t if C and C are disjoint with respect to tbor and nil otherwise For testing whether two concept terms are disjoint with respect to a TBox tboz If the disjointness is to be tested without reference to a TBox nil can be used 101 concept p function Description Checks if CN is a concept name for a concept in the specified TBox Syntax concept p CN k amp optional thor current tbox Arguments CN concept name tbox TBox object Values Returns t if CN is a name of a known concept and nil otherwise concept macro Description Checks if CN is a concept name for a concept in the specified TBox Syntax concept CN optional TBN current tbox Arguments CN concept name TBN TBox name Values Returns t if CN is a name of a known concept and nil otherwise concept is primitive p function Description Checks if CN is a concept name of a so called primitive concept in the specified TBox Syntax concept is primitive p CN optional tbox current tbox Arguments CN concept name tbox TBox object Values Returns t if CN is a name of a known primitive concept and nil oth
37. of krss it is also possible to specify racer if exists specifies the action taken if a file with the specified name already exists All keywords for the Lisp function with open file are sup ported The default is supersede if does not exist specifies the action taken if a file with the specified name does not yet exist All keywords for the Lisp function with open file are supported The default is create uri The keyword uri specifies the URI prefix for names It is only available if syntax daml is specified This argument is useful in combination with OilEd See the OilEd documentation nsO The keyword uri is also provided for generating DAML files to be processed with OilEd The keyword ns0 specifies the name of the OilEd namespace 0 This keyword is important for the ABox part If the value of uri is home user test the value of nsO should probably be home user Some experimentation might be necessary to find the correct values for uri and ns0 to be used with OilEd save kb project onto kb my knowledge base krss syntax krss tbox family abox smith family 65 save kb family daml syntax daml tbox family abox smith family uri http www fh wedel de family daml ns0 http www fh wedel de 6 1 TBox Management If RACER is started there exists a TBox named DEFAULT which is set to the current TBox in tbox macro Description The TBox with the specified na
38. of Betty and Charles instance alice mother related alice betty has child related alice charles has child 335 Betty is mother of Doris and Eve instance betty mother related betty doris has child related betty eve has child Charles is the brother of Betty and only Betty instance charles brother related charles betty has sibling 335 Closing the role has sibling for charles instance charles at most 1 has sibling 355 Doris has the sister Eve related doris eve has sister 333 Eve has the sister Doris related eve doris has sister 180 B An Excerpt of the Family Example in DAML Syntax 333 the following forms are assumed to be contained in a 333 file file c ralf family 2 family daml lt xml version 1 0 encoding UTF 8 gt lt rdf RDF xmlns daml http www daml org 2001 03 daml oil xmlns dc http purl org dc elements 1 1 xmlns ns0 file c ralf family 2 xmlns oiled http img cs man ac uk oil oiled xmlns rdf http www w3 org 1999 02 22 rdf syntax ns xmlns rdfs http www w3 org 2000 01 rdf schema xmlns xsd http www w3 org 2000 10 XMLSchema gt lt daml Ontology rdf about gt lt dc title gt FAMILY lt dc title gt lt dc date gt 5 6 2002 14 1 lt dc date gt lt dc creator gt lt dc creator gt lt dc description gt lt dc description gt lt dc subject gt lt dc subject gt lt daml versionInfo gt lt dam1 versionInfo gt lt daml Ontology gt lt dam
39. of j instance i c related i k r Note again that in general reasoning is incomplete if individuals are used in concept terms The following query is given w r t the above mentioned knowledge base given in the DAML file ex2 daml in the examples folder concept subsumes at most 1 file C Ralf Ind Examples ex1 daml R file C Ralf Ind Examples ex1 daml c NIL 59 If dealing with nominals were no approximation i e if reasoning were complete then RACER would be able to prove a subsumption relationship because all r one of j implies at most 1 r Due to the problems described in this section processing DAML files with individuals in concept terms with the RACER system is not recommended However at the time of this writing there is no other system know that provides complete reasoning on nominals 5 The RDF OWL interface RACER can also process OWL documents Documents are interpreted w r t the OWL DL languages The implementation is prototypical Similar restrictions as describe for DAML documents apply see the documentation on owl read file and owl read document 6 Knowledge Base Management Functions A knowledge base is just a tuple consisting of a TBox and an associated ABox Note that a TBox and its associated ABox may have the same name This section documents the functions for managing TBoxes and ABoxes and for specifying queries Racer provides a default knowledge base with a TBox called default
40. query answering optional ABN current aboxx Arguments ABN ABox object Remarks Subsumption based query answering requires the associated TBox to be classfied Thus the function might require computational ressources that are not negligible Instructing RACER to perform reasoning in this mode pays back if one and the same instance retrieval query might be posed sev eral times or if the concepts in subsequent instance retrieval queries sub sumes each other in other words if queries are more and more refined Use the function tbox classified p to check whether index based instance re trieval is enabled 160 12 The Publish Subscribe Mechanism Instance retrieval see the function concept instances is one of the main inference services for ABoxes However using the standard mechanism there is no efficient way to declare so called hidden or auxiliary individuals which are not returned as elements of the result set of instance retrieval queries Furthermore if some assertions are added to an ABox a previous instance retrieval query might have an extended result set In this case some applications require that this might be indicated by a certain event For instance in a document retrieval scenario an application submitting an instance retrieval query for searching documents might also state that future matches should be indicated In order to support these features RACER provides the publish subscribe facil
41. restrictions for attribute fillers see Figure 3 1 RACER currently supports three unary predicates for integer attributes min max equal six nary predicates for real attributes gt gt lt lt lt gt a unary existential predicate with two syntactical variants a or an and a special predicate restriction disal lowing a concrete domain filler no The restrictions for attributes of type real have to be in the form of linear inequations with order relations where the attribute names play the role of variables If an expression is built with the rule for aexpr4 see Figure 3 1 a so called nonlinear constraint is specified In this case only equations and inequations lt gt but no order constraints gt gt lt lt are allowed and the attributes must be of type complex If an expression is built with the rule for aexpr5 see Figure 3 1 a so called cardinal linear constraint is specified i e attributes are constrainted to be a natural number including zero Racer also supports a concrete domain for representing equations about strings with predicaes string and string lt gt The use of concepts with concrete domain expressions is illustrated with examples in Section 3 4 For the declaration of types for attributes see see Section 3 5 DL notation RACER syntax Concrete filler exists restriction 4A Tp a A or an A No concrete filler restriction VA lp no A Integer predica
42. role term abor ABox object Values Returns t if IN is related to IN2 via R in abor and nil otherwise individuals related p function Description Checks if two individuals are directly related via the specified role Syntax individuals related p IN IN2 R abor Arguments IN individual name of the predecessor IN individual name of the role filler R role term abor ABox object Values Returns t if IN is related to IN via R in abox and nil otherwise See also Function retrieve individual filled roles on page 135 Function retrieve related individuals on page 134 individual equal KRSS macro Description Checks if two individual names refer to the same domain object Syntax individual equal IN IN2 amp optional abor current abox Arguments IN IN individual name abor abox object Remarks Because the unique name assumption holds in RACER this macro always returns nil for individuals with different names This macro is just supplied to be compatible with the KRSS 119 individual not equal KRSS macro Description Checks if two individual names do not refer to the same domain object Syntax individual not equal IN IN optional abor current abox Arguments IN IN individual name abor abox object Remarks Because the unique name assumption holds in RACER this macro always returns t for individuals with different names This macro is just supplied
43. sister and woman at least 1 has sibling implies at least 2 has child all has child sibling implies some has child sibling at least 2 has child implies sibling all inv has child and all has child sibling at least 2 has child equivalent mother having only sisters and mother all has child and sister all has sibling sister Alice is the mother of Betty and Charles instance alice and woman at most 2 has child Alice s age is 45 constrained alice age of alice has age constraints equal age of alice 45 related alice betty has child related alice charles has child Betty is mother of Doris and Eve instance betty and woman at most 2 has child Betty s age is 20 constrained betty age of betty has age constraints equal age of betty 20 related betty doris has child related betty eve has child related betty charles has sibling closing the role has sibling for charles instance betty at most 1 has sibling 188 Charles is the brother of Betty and only Betty instance charles brother Charles s age is 39 constrained charles age of charles has age constrained charles temperature of charles temperature fahrenheit constraints equal age of charles 39 temperature of charles 107 6 related charles betty has sibling closing the role has sibling for charles instance charles at most 1 has sibling Doris has the sist
44. statements Remarks The URL can also be a file URL In this case racer read file is used on the pathname of the URL Examples racer read document http www fh wedel de mo test lisp racer read document file home mo kbs test lisp See also Function racer read file include kb function Description A file in RACER format as described in this document containing TBox and or ABox declarations is loaded The function include is used for parti tioning a TBox or ABox into several files Syntax include kb pathname Arguments pathname is the pathname of a file Examples include kb project onto kb my knowledge base lisp See also Function racer read file 61 daml read file function Description Syntax Arguments Examples A file in DAML format e g produced OilEd is loaded and represented as a TBox and an ABox with appropriate declarations daml read file pathname amp key init t verbose nil kb name nil pathname is the pathname of a file init specifies whether the kb is initialized or extended the default is to re initialize the kb verbose specifies whether ignored triples are indicated the default is to just suppress any warning kb name specifies the name of the kb TBox and ABox The default is the file specified in the pathname argument without file type daml read file oiled ontologies madcows daml reads the file oiled ontologies madcows daml and creates a TB
45. the folder racer doc The DIG standard as it is defined now is just a first step towards a communication standard for connecting applications to DL systems RACER provides many more features that are not yet standardized These features are offered only over the TCP socket interface However applications using RACER can be developed with DIG as a starting point If other facilities of RACER are to be used the raw TCP interface of RACER can be used in a seemingless way to access a knowledge base declared with the DIG interface If later on the standardization process make progress users should be able to easily adapt their code to use the HT TP based DIG interface In some applications the RACER Server is to be addressed with persistent connections The RACER Server provides a timeout in order to control the duration of these connections With the option c a timeout in seconds can be specied the default is 10 RACER c 200 2 5 4 Additional Options for the RACER Server Sometimes it happens that the default stack space is too small for processing certain queries The stack space can be enlarged by starting RACER with the option s lt value gt The initial value is 320000 Processing knowledge bases in a distributed system can cause security problems The RACER Server executes statements as described in the sections below The only state ments that might cause security problems are save tbox save abox and save kb Files may be genera
46. this case the index structures for the ABox are not recomputed To be practically useful description logics have to be integrated into current Web software architectures We first turn to syntax issues and deal with distributed access to inference services afterwards 4 The RDF RDFS DAML interface Racer can read RDF RDFS and DAML OIL files DAML for brevity see the function daml read file and friends described below Information in an RDF file is represented 56 using an ABox in such a way that usually triples are represented as related statements i e the subject of a triple is represented as an individual the property as a role and the object is also represented as an individual The property rdf type is treated in a special way Triples with property rdf type are represented as concept assertions RACER does not represent meta level knowledge in the theory because this might result in paradoxes which are reported elsewhere The triples in RDFS files are processed in a special way They are represented as TBox axioms If the property is rdf type the object must be rdfs Class or rdfs Property These statements are interpreted as declarations for concept and role names respectively Three types of axioms are supported with the following properties rdfs subClassOf rdfs range and rdfs domain Other triples are ignored DAML files are processed in a similar way The semantics of DAML is described elsewhere see http www w3 or
47. to create new ABox versions without the need to reload and reprocess the already known assertions Syntax create abox clone abor amp key new name nil overwrite nil Arguments abor is an ABox name or an ABox object new name if bound to a symbol this specifies the name of the clone A new unique name based on the name of abox is generated otherwise overwrite if bound to t an existing ABox with the name given by new name is overwritten If bound to nil an error is signaled if an ABox with the name given by new name is found Values ABox object Remarks The variable current abox is set to the result of this function Examples create abox clone my ABox create abox clone my ABox new name abox clone overwrite t 78 clone abox macro Description Returns a new ABox object which is a clone of the given ABox The clone keeps the assertions and the state from its original but new declarations can be added without modifying the original ABox This function allows one to create new ABox versions without the need to reload and reprocess the already known assertions Syntax clone abox ABN amp key new name nil overwrite nil Arguments ABN is an ABox name new name if bound to a symbol this specifies the name of the clone A new unique name based on the name of abox is generated otherwise overwrite if bound to t an existing ABox with the name given by new name is overwritten I
48. unsatisfiable atomic concepts in the given TBox check tbox coherence optional tbox current tbox tbox TBox object Returns a list of all atomic concepts in tboxr that are not satisfiable i e an empty list NIL indicates that there is no additional synonym to bottom This function does not compute the concept hierarchy It is much faster than classify tbox so whenever it is sufficient for your application use check tbox coherence This function is supplied in order to check whether an atomic concept is satisfiable during the development phase of a TBox There is no need to call the function check tbox coherence if for instance a certain ABox is to be checked for consistency with abox consistent p tbox classified p function Description Syntax Arguments Values It is checked if the specified TBox has already been classified tbox classified p amp optional tbor current tbox tbox TBox object Returns t if the specified TBox has been classified otherwise it returns nil tbox classified macro Description Syntax Arguments Values It is checked if the specified TBox has already been classified tbox classified optional TBN tbox name current tbox TBN TBox name Returns t if the specified TBox has been classified otherwise it returns nil 109 tbox prepared p function Description It is checked if internal index structures are already computed for the spec
49. 1 ObjectProperty rdf about file c ralf family 2 has descendant gt lt rdfs label gt HAS DESCENDANT lt rdfs label gt lt rdfs comment gt lt rdfs comment gt lt oiled creationDate gt lt oiled creationDate gt lt oiled creator gt RACER lt oiled creator gt lt daml ObjectProperty gt lt daml TransitiveProperty rdf about file c ralf family 2 has descendant gt lt daml ObjectProperty rdf about file c ralf family 2 has child gt lt rdfs label gt HAS CHILD lt rdfs label gt lt rdfs comment gt lt rdfs comment gt lt oiled creationDate gt lt oiled creationDate gt lt oiled creator gt RACER lt oiled creator gt lt rdfs subProperty0f rdf resource file c ralf family 2 has descendant gt lt rdfs domain gt lt daml Class rdf about file c ralf family 2 parent gt lt rdfs domain gt lt rdfs range gt lt daml Class rdf about file c ralf family 2 person gt lt rdfs range gt lt daml ObjectProperty gt 181 lt daml ObjectProperty rdf about file c ralf family 2 has gender gt lt rdfs label gt HAS GENDER lt rdfs label gt lt rdfs comment gt lt rdfs comment gt lt oiled creationDate gt lt oiled creationDate gt lt oiled creator gt RACER lt oiled creator gt lt daml ObjectProperty gt lt daml UniqueProperty rdf about file c ralf family 2 has gender gt lt daml Class rdf about file c ralf family 2 male gt lt daml disjointWith gt lt daml Class rdf about file c ralf famil
50. 10 isbn constraints equal isbn 10 10234567 publish document 10 CLIENT 5 DOCUMENT 10 This concludes the examples for the publish subscribe facility offered by the RACER system The publish subscribe mechanism provided with the current implementation is just a first step This facility will be extended significantly Future versions will include optimization techniques in order to speedup answering subscription based instance retrieval queries such that reasonably large set of documents can be handled Furthermore it will be possible to define how applications are to be informed about matches to previous subscriptons i e event handlers can be introduced 12 2 Using JRacer for Publish and Subscribe The following code fragment demonstrates how to interact with a Racer Server from a Java application The aim of the example is to demonstrate the relative ease of use that such an API provides In our scenario we assume that the agent instructs the Racer system to direct the channel to computer mo fh wedel de at port 8080 Before the subscription is sent to a Racer Server the agent should make sure that at mo fh wedel de the assumed agent base station a so called listener process is started at port 8080 This can be easily accomplished public class Listener public static void main String argv try ServerSocket server new ServerSocket 8080 while true Socket client server accept BufferedReader in
51. 117 check subscriptions 171 check tbox coherence 109 classify tbox 109 clear default tbox 73 clone ABox 79 clone TBox 72 clone abox 79 clone tbox 72 compute all implicit role fillers 116 compute implicit role fillers 116 compute index for instance retrieval 160 concept axioms 49 concept definition 49 concept equation 49 concept term 45 concept ancestors 123 concept children 124 concept descendants 122 concept disjoint p 101 concept disjoint 101 concept equivalent p 101 concept equivalent 100 concept instances 132 concept is primitive p 102 concept is primitive 102 concept offspring 124 concept p 102 concept parents 124 concept satisfiable p 99 concept satisfiable 99 concept subsumes p 100 concept subsumes 100 concept synonyms 122 concept 102 concrete domain attribute 92 concrete domain restriction 48 concrete domains 51 conjunction of roles 50 constrained 98 constraint entailed p 118 constraint entailed 118 constraints 97 copy ABox 79 copy TBox 72 create abox clone 78 create tbox clone 72 current abox 76 current tbox 69 daml read document 62 daml read file 62 define concept 83 define concrete domain attribute 92 define disjoint primitive concept 83 define distinct individual 96 define primitive attribute 86 define primitive concept 83 define primitive role 85 delete ABox 78 79 delete ABoxes 78 delete TBox 70 71 73 delete
52. 2 S Bechhofer The DIG Description Logic Interface DIG 1 0 Technical Report University of Manchester 2000 http potato cs man ac uk dig interface1 0 pdf Buchheit et al 93 M Buchheit F M Donini amp A Schaerf Decidable Reasoning in Ter minological Knowledge Representation Systems in Journal of Artificial Intelligence Research 1 pp 109 138 1993 Haarslev and M ller 2000 Haarslev V and M ller R 2000 Expressive ABox reasoning with number restrictions role hierarchies and transitively closed roles in Proceedings of Seventh International Conference on Principles of Knowledge Representation and Reasoning KR 2000 Cohn A Giunchiglia F and Selman B editors Brecken ridge Colorado USA April 11 15 2000 pages 273 284 Horrocks 98 I Horrocks Using an Expressive Description Logic FaCT or Fiction in Proceedings of Sixth International Conference on Principles of Knowledge Represen tation and Reasoning KR 98 Trento Italy Editors Cohn T and Schubert L and Shapiro S 1998 pages 636 647 Horrocks et al 99a I Horrocks U Sattler S Tobies Practical Reasoning for Descrip tion Logics with Functional Restrictions Inverse and Transitive Roles and Role Hier archies Proceedings of the 1999 Workshop Methods for Modalities M4M 1 Ams terdam 1999 Horrocks et al 99b I Horrocks U Sattler S Tobies A Description Logic with Transitive and Convers
53. ACER server can be started from an operating system shell or by double clicking the program icon Based on either TCP sockets of HTTP streams clients can connect to the RACER Server via a remote interface an example client written in Java is provided with the RACER distribtion In addition the RACER executable can be used to process files see below for a detailed introduction on how to use RACER On the other hand RACER is available as a fasl file for most Common Lisp and operating systems Linux Macintosh Solaris Windows 14 2 2 System Installation Go to the RACER download page found at the URLs specied above Download the les for the environment of your preference and use an appropriate program to unpack the archive StuffIt Expander for Macintosh WinZip for Windows and gzip tar for Unix The examples are provided as an additional archive that can be downloaded Since you already read this manual you probably already downloaded it New versions can be downloaded from the site specied above In this manual the directory where you installed RACER is referred to by the name RACER We assume that you install the examples in the directory RACER Examples 2 3 Sample Session In this section we present a first example for the use of description logics We use the Lisp interface here in order to directly present the results of queries Note however that all examples can be processed in a similar way with the RACER Server and the fi
54. Box associated tbox abor abor ABox object TBox object This function is provided in the server version only set associated tbox function Description Syntax Arguments Values Remarks Sets the associated TBox for an ABox set associated tbox ABN TBN ABN ABox name TBN TBox name TBox object This function is provided in the server version only 80 7 Knowledge Base Declarations Knowledge base declarations include concept axioms and role declarations for the TBox and the assertions for the ABox The TBox object and the ABox object must exist before the functions for knowledge base declarations can be used The order of axioms and assertions does not matter because forward references can be handled by RACER The macros for knowledge base declarations add the concept axioms and role declarations to the current tbox and the assertions to the current abox 7 1 Built in Concepts top top concept Description The name of most general concept of each TBox the top concept T Syntax top Remarks The concepts top and top are synonyms These concepts are elements of every TBox bottom bottom concept Description The name of the incoherent concept the bottom concept L Syntax bottomx Remarks The concepts bottom and bottom are synonyms These concepts are ele ments of every TBox 7 2 Concept Axioms This section documents the macros and functions for
55. E A aes 115 compu te all implicit role TIL ETE ooo ee 116 compute 1mplicit rele tLL eES ios vocoder a ee ete 116 get abox langu e esa o a A A A PG 116 9 ADOS Queries a cr a A A A A es 116 APOX CONSISTOOE P o ki g a r Gk ee a a a da Se ee 117 APOX CONSISTEOOAS 2 ae sa eS a a A ae a a 117 ChECK ADOx CONSTSENGS ie erap a Gop dG Ge ee ee ee aes 117 SOA T IMSTAN GOT s ron os oh hea EO ak dd aye A em a Ee eee 117 ANGI GMAIHINSTANCEAP io eG ke a ede a a 118 constraint entailed ssy aa ER EL idas a E a 118 constraint entailed pi oscuros aS Re HERE OR ee ee 118 individuals relatod oda te Pee a a Chee oe es 119 individualS POlated D lt 6 24 52 g fied Dard Pa a ee he De ds 119 individual equal 2 2 250s 8 688 ee rd ie ya Eya 119 individual not 8qual lt 2 srra satsa eee ee eS ee 120 diria iS o Sieh tae cae ot Sa la eee wee sh ate ee Sa 120 SCAMMER are Sm bie oe Sie Gwe A Ge ae ae ee aes hae 120 CASODISED P ia tr BR Ae A a oe Re ee ek es 120 OG se ek a eee ees Bh eed a al pa Pk ed 121 10 Retrieval 121 101 TBox Retrieval ooo a SAR ke ge Fw a OR ww hd Ae wl oe 121 WARONOM eo at ces we A Gh ee Bh Wk bw Ge Re el 121 CONGEPT SYNONUMS cn eb srs Ap aod A Ge a ewok ao oe 122 ALOMIC CONCEPtC SyNONVS boy ok he Be eek ee a ee ee ee S 122 concept descendanes cues ees li OR peed A A ee E Be 122 atomic concept descendants lt gt soer Ae kor ka a A es 123 Concept ance tore 4 di e a a Pea e Ii 123 aLOMIC CONCEpt anCeStOrS 24 cos
56. ER as the standard reasoner used by OilEd select the Preferences menu in OilEd see Figure 7 27 Preferences Figure 8 Second step for declaring RACER as the reasoner used by OilEd In the preferences dialog window select the Reasoner tab see Figure 8 28 Preferences Figure 9 Third step for declaring RACER as the reasoner used by OilEd Then select the HTTP Reasoner radio button in the dialog window see Figure 9 The URL should be ok since it reects the standard port for RACER on you local host If you would like to change the URL do not forget to press the return key in order to make the changes effective Afterwards press the Save button then press the OK button Now RACER can be used as a reasoner for OilEd In order to demonstrate this we discuss the Family examples from above 29 Qiled 3 5 E RAE has class has child 1 has child 1 some person 1 e x Figure 10 Oiled displaying the Family knowledge base The example presented in Figure 10 shows a screenshot of OilEd with the family knowledge base The knowledge base was exported in Figure 6 using the DAML syntax DAML files can be manipulated with OilEd In Figure 10 the concept grandmother is selected concepts are called classes in OilEd See the restrictions displayed is the lower right window and compare the specification with the KRSS syntax used above see the axiom for grandmother 30 Class Hierarchy Hierarchy
57. Examples find tbox my TBox Getting rid of a TBox setf find tbox tbox1 nil Renaming a TBox setf find tbox tbox2 tbox1 tbox name function Description Finds the name of the given TBox object Syntax tbox name thor Arguments thor TBox object Values TBox name Remarks This function is only needed in the Lisp version clear default tbox function Description This function initializes the default TBox Syntax clear default tbox Arguments associated aboxes function Description Returns a list of ABoxes or ABox names which are defined wrt the TBox specified as a parameter Syntax associated aboxes TBN Arguments TBN is the name of a TBox Values List of ABox objects 73 xml read tbox file function Description A file in XML format containing TBox declarations is parsed and the result ing TBox is returned Syntax xml read tbox file pathname Arguments pathname is the pathname of a file Values TBox object Remarks Only XML descriptions which correspond the so called FaCT DTD are parsed everyting else is ignored Examples xml read tbox file project TBoxes tbox one xml rdfs read tbox file function Description A file in RDFS format containing TBox declarations is parsed and the re sulting T Box is returned The name of the TBox is the filename without file type Syntax rdfs read tbox file pathname Arguments pathname is the pathname of a file Values TBox object
58. John C Mallery For more information on CL HTTP see http www ai mit edu projects iiip doc cl http home page html Many users have directly contributed to the functionality and stability of the RACER sys tem by giving comments providing ideas and test knowledge bases implementing interfaces or sending bug reports In alphabetical order we would like to mention Jordi Alvarez Car los Areces Franz Baader Sean Bechhofer Daniela Berardi Ronald Cornet Maarten de Rijke Michael Eisfeld Enrico Franconi G nther G rz Ian Horrocks Alexander Huber Sebastian Hiibner Thomas Kleemann Alexander Koller Christian Lorenz Bernd Ludwig Carsten Lutz Maarten Marx Jean Luc Metzger Bernd Neumann Hans Jiirgen Ohlbach Peter Patel Schneider Peter Reiss Stefan Schlobach Michael Sintek Kristina Striegnitz Sergio Tessaris Martina Timmann Stephan Tobies Anni Yasmin Turhan Mike Ushold Ragnhild Van Der Straeten Michael Wessel and Cai Ziegler We apologize if somebody who should be mentioned is not included in this list 2 Obtaining and Running RACER The RACER system can be obtained from the following web sites Europe http www fh wedel de mo racer America http www cs concordia ca faculty haarslev racer 2 1 System Requirements On the one hand RACER is available as a standalone version with no additional licences required Throughout this manual the standalone version is also called RACER executable or RACER Server The R
59. LES as expected 10 3 3 Negated Query Atoms Negated Unary Concept Query Atoms A NOT is provided which implements a Nega tion as Failure Semantics Consider the query retrieve x x grandmother Racer replies X ALICE If we query with a NOT within an ordinary Racer concept term e g retrieve x x not grandmother where not grandmother is just an ordinary Racer concept term we get X CHARLES Since Charles is a man he can obviously never be a mother and therefore Racer can prove that Charles is not a grandmother However due to the open world semantics this doesn t apply to the other individuals for example Betty might very well be a grandmother we simply would have to add some additional ABox axioms 151 However sometimes one wants to know which individuals are currently not known to be grandmothers In this case we would like to retrieve all the individuals for which Racer currently cannot prove that they are grandmothers Consequently all individuals but Alice should be returned This is exactly the semantics of a negation as failure atom retrieve x not x grandmother Note that the NOT is placed around the entire atom Racer replies X DORIS X EVE X CHARLES X BETTY This is simply the complement query of retrieve x x grandmother w r t the set of all individuals in the ABox Note that x not grandmother implies not x
60. NT 7 In order to delete a document from the ABox it is possible to use RACER s forget facility The instance assertion can be removed from the ABox with the following statement forget instance document 3 book Now asking for all individuals reveal that there are only six individuals left all individuals DOCUMENT 1 DOCUMENT 2 DOCUMENT 4 DOCUMENT 5 DOCUMENT 6 DOCUMENT 7 With the next subscription a fourth client is introduced The query is to retrieve the in stances of book RACER s answer is given below subscribe client 4 book CLIENT 4 DOCUMENT 2 CLIENT 4 DOCUMENT 4 CLIENT 4 DOCUMENT 5 The query of client 4 is answered with three documents Next we discuss an example demonstrating that sometimes subscriptions do not lead to an immediate answer w r t the current ABox subscribe client 2 computer science best seller The result is O Although document 7 is an instance of computer science best seller this individual has already been indicated as a result of a previously subscribed query In order to continue our example we introduce two additional documents one of which is a computer science best seller state instance document 8 computer science best seller constrained document 8 isbn 8 isbn constraints equal isbn 8 8234567 instance document 9 book constrained document 9 isbn 9 isbn constraints equal isbn 9 9234567 164 The publish subscribe mechanism requires that these do
61. R 2 a e e add role ANOS osmosis de a Ge A TUNECIONAL coo esas ea Ge e a A AA EOL6 19 TIMCTLODAL 2 659 es a a Eron eI ANO o e e Be eG nk ee e ds FOLe 1S Eransitive gt sa a p aa soip oaa a a a a a SS R INJEC SE enp R a de AE AE e R a oe a ae Gee Cy ge oe A es GB ak Ge INVEOESS OLEOLE se sg oea ds Cee GS RR ew E ee ees TOLOSSEQUINATEAOE i cou Se ae Se ee whe BP ee Ge a oe Se A roles equivalent 1 lt c a 24 6 sora BG se Be Aoa oh a a CORGA AA hs a Bo See a So Sg en he Ge ek BH SA E TOLO HAS AMAT ee Bee ee A ee ee x PCC UDMPSNSS COMeIE Vo sra A ee a A ee a Se ees PANES ce gir nek Gi Bo ee SS ae Se oe So A TOLG hag PANGS e eega ke a he eS eh Eee ee he attribute bhas ranpe o e cora t E ee Be ee OR Me ee ew eS IMA LOS o UR a eR A Ee ae e ei TOle haS parent s 6 SG Mes s eRe pop a ee ea A Concrete Domain Attribute Declaration define concrete domain attribute p pos as p ece ES p i enix AssertionS gt s eap oa k e a a a Se a a Re a y e a a ae eid a Komen ao ad hk ee E ee Hee A he Ah ee a ee oh 81 81 81 81 81 82 82 82 83 83 83 84 84 84 85 86 87 88 88 88 88 89 89 89 89 90 90 90 90 91 91 91 91 92 92 92 92 add concept assertion forget concept assertion related oo cmo ee Se Be a add role assertion forget role assertion forget disjointness axiom forget disjointness axiom statement define distinct individual for
62. RACER User s Guide and Reference Manual Version 1 7 19 Volker Haarslev and Ralf Moller with contributions from Michael Wessel Concordia University Techn Univ Hamburg Harburg Computer Science Department Inform and Commun Dept 1455 de Maisonneuve Blvd W Harburger Schlofstrafse 20 Montreal Quebec H3G 1M8 Canada 21079 Hamburg Germany haarslev cs concordia ca r f moeller tu harburg de University of Hamburg Computer Science Department Vogt Kolln StraBe 30 22527 Hamburg Germany mwessel informatik uni hamburg de April 26 2004 Contents 1 Introduction 1 1 Features 2 2 ke eR Rw PRR eA eee ee 1 2 New Features in Version 1 7 7 o ee es 1 3 Application reas ee LA About this Document cocos A a a 1 5 Acknowledgments 2 lt anassa casara PRE RE ee es Obtaining and Running RACER 2 1 System Requirements 2 2 e 2 2 System Installation sa ss smsa aaa e Se eGR ee ee 23 Sample SERBIA o te dg g bree Bs OR EE Re ER wee 2 4 Open World Assumption and Unique Name Assumption 20 The RACER GETE 2 44 a ded hbk Rach eh Se OE ER ee ES 2 5 1 The File Interface 2 446 8254 8 5 bea ee ee ee eee 202 TOP Socket Interlace JRACER 000 poca ocs Ga Hae Gok eee 2 5 3 HTTP Interface DIG Interface ce x soca o o 2 6 2 7 2 5 4 Additional Options for the RACER Server Graphical Client Interfaces es 261 RICE oe fas sok we SHS bE a ERA eS
63. Remarks If the file to be read also contains RDF descriptions use the function daml read file instead The RDF descriptions are represented using ap propriate ABox assertions The function rdfs read tbox file is supported for backward compatibility Examples rdfs read tbox file project TBoxes tbox one rdfs 6 2 ABox Management If RACER is started there exists a ABox named DEFAULT which is set to the current ABox 74 in abox macro Description Syntax Arguments Values Remarks Examples See also The ABox with this name is taken or generated and bound to current aboxx If a TBox is specified the ABox is also initialized in abox ABN optional TBN tbox name current tbox ABN ABox name TBN name of the TBox to be associated with the ABox ABox object named ABN If the specified TBox does not exist an error is signaled Usually this macro is used at top of a file containing an ABox This macro can also be used to create new ABoxes If the ABox is to be continued in another file the TBox must not be specified again The specified ABox is the current abox until in abox is called again or the variable current abox is manipulated directly The TBox of the ABox is made the current tbox in abox peanuts characters peanuts instance Schroeder Piano Player Macro signature on page 68 init abox function Description Syntax Arguments Values Remar
64. S X BETTY X ALICE Negated Query Atoms Referencing Individuals and bind individual Atoms What is the semantics of a negated query atom referencing ABox individuals 155 First note that a query atom and its negated counterpart always behave dually if x man yields all men then not x man yields all ABox individuals minus the set of all men If x y has child yields a set of pairs of individuals then not x y has child yields the cross products of all ABox individuals with all ABox individuals minus the answer set of x y has child Since betty top returns a singleton answer set only Betty we should expect that not betty top behaves in fact like a variable enumerating all individuals that are not Betty retrieve betty not betty top Racer replies BETTY DORIS BETTY EVE BETTY CHARLES BETTY ALICE since this is the complement of retrieve betty betty top which yields BETTY BETTY Since retrieve betty betty man retrieves NIL its complement query retrieve betty not betty man gives us BETTY BETTY BETTY DORIS BETTY EVE BETTY CHARLES BETTY ALICE Thus whenever an ABox individual appears within a negated query atom it is important to remember that it behaves in fact like a variable under the UNA 156 However sometimes this behavior is unwanted Suppose we want to verify whether it cannot be proven that
65. Save tbox TOLBSE EDOE ui isa delete tbox delete all tboxes create tbox clone CLOME EDOXE o e o a LIMA TDORE sie e aA PDOR NAME ici oa clear default tbox associated aboxes xml read tbox file rdfs read tbox file ABox Management AN ADOM 6 4 wb Sas Gn Init abk ius Bes ensure abox signature abox signature kb signature current abox current abox save abox forget abox delete abox 68 68 69 69 69 70 71 71 72 72 73 73 73 73 74 74 74 75 75 76 76 76 76 76 TT TT 78 78 78 79 79 80 80 80 80 7 Knowledge Base Declarations gu TL 7 3 7 4 7 5 Built in Concepts se a bedded ee a Rae eRe RA Be ES ee PO TOP s 3 eee ok aA Bo ee eh wh ee nE a a AA Se ch eg FDOTGOME POCTOM fo eo St mib k a Oe ek Se oe a h N Concept AXIOMS fae Gdp konis a ERS a aoe ve ee PUA S ic A ae he A Bir ge A hate UA a a REA n Ses VaNene 4 dl noe a he ee a de Be ed dee e e eS GIS IGLHE 2 6 68 AG BG REP eee wee A Mak ee x ASTINS primitave CONCEPt i aec a Dee ee a ee deLine Conmcept s a s s coni eb BES eS ee a ek ES ee eA define disjoint primitive concept so gt i sap e p o o add concept ARTO p seos osoo ali ebp W ee ae Rae Ee doe ee ced add d13 JOTA TASES AXIO o i ee ek Pe ee a a ae Role Declarations o sa s sa 22585 bb eee Sa Red eh a eS det1MB PEIMICGUYS EOL a eG a Ea e ae define primitive att lbUtES lt ce hk e
66. TBox create tbox clone my TBox new name my clone overwrite t clone tbox macro Description Syntax Arguments Values Remarks Examples See also Returns a new TBox object which is a clone of the given TBox The clone keeps all declarations from its original but it is otherwise fresh i e new declarations can be added This function allows one to create new TBox versions without the need to reload the already known declarations clone tbox TBN key new name nil overwrite nil TBN is a TBox name new name if bound to a symbol this specifies the name of the clone A new unique name based on the name of tbox is generated otherwise overwrite if bound to t an existing TBox with the name given by new name is overwritten If bound to nil an error is signaled if a TBox with the name given by new name is found TBox object The function create tbox clone is called clone tbox my TBox clone tbox my TBox new name my clone overwrite t Function create tbox clone on page 72 72 find tbox function Description Returns a TBox object with the given name among all TBoxes Syntax find tbox TBN optional errorp t Arguments TBN is the name of the TBox to be found errorp if bound to t an error is signaled if the TBox is not found Values TBox object Remarks This function can also be used to get rid of TBoxes or to rename TBoxes as shown in the examples
67. Values Remarks Gets all atomic concepts of a TBox which are subsuming the specified con cept atomic concept ancestors C thor C concept term tbox TBox object List of name sets Returns the transitive closure from the call of atomic concept parents 123 concept children KRSS macro Description Gets the direct subsumees of the specified concept in the TBox Syntax concept children C goptional TBN tbox name current tboxx Arguments C concept term TBN TBox name Values List of name sets Remarks Is the equivalent macro for the KRSS macro concept offspring which is also supplied in RACER atomic concept children function Description Gets the direct subsumees of the specified concept in the TBox Syntax atomic concept children C tbor Arguments C concept term tbox TBox object Values List of name sets concept parents KRSS macro Description Gets the direct subsumers of the specified concept in the TBox Syntax concept parents C optional TBN tbox name current tbox Arguments C concept term TBN TBox name Values List of name sets atomic concept parents function Description Gets the direct subsumers of the specified concept in the TBox Syntax atomic concept parents C thor Arguments C concept term tbox TBox object Values List of name sets 124 role descendants KRSS macro Description Syntax Arg
68. WOMAN E MOTHER 9 2 SISTER ho MALE Statements and or concept definitions describe individual charles Submit PreClassify RACER Replies CHARLES ASSERTIONS CHARLES AT MOST 1 HAS SIBLING CHARLES BROTHER ROLE FILLERS INV HAS DESCENDANT ALICE INV HAS CHILD ALICE HAS SIBLING BETTY TOLD ATTRIBUTE FILLERS COMMON LISP NIL DIRECT TYPES UNCLE Figure 15 Screenshot of RICE indicating the direct types of the individual charles Selecting the individual charles causes RICE to highlight the direct types in the concept window see Figure 15 You see that it is easy to pose often used queries concerning indi viduals using RICE In addition query results are graphically visualized with RICE Fur thermore RICE can be used to describe individuals See the query describe individual typed into the interaction window of RICE in Figure 15 35 Qiled 3 5 sala eleve as sibling 1 max 1 thing brother 1 has sibling 1 betty 1 Figure 16 Screenshot of Oiled displaying only told information about charles Currenty OilEd does not support ABox querying Implicit information derivable about individuals is not shown in OilEd This is indicated in Figure 16 The individual charles is indicated to be an instance of brother rather than uncle Another example for using OilEd with RACER is presented in subsequent figures The knowledge base is provided as one of the standard examples coming w
69. X EVE X ALICE Fine Now we can ask Racer who is at least 75 years old retrieve x x min age 75 Racer replies X ALICE Note that min age 75 is an ordinary Racer concept expression 143 Now for the only remaining type of query atoms If we want to know who is older than whom we can pose the following query retrieve x y x y constraint age age gt Racer replies X CHARLES Y EVE X CHARLES Y DORIS X CHARLES Y BETTY X ALICE Y CHARLES X ALICE Y EVE X ALICE Y DORIS X ALICE Y BETTY X DORIS Y EVE X BETTY Y EVE X BETTY Y DORIS That means Charles is older than Eve Doris and Betty etc Of course individuals can also be used Let us verify that nobody is older than Alice retrieve y y alice constraint age age gt Racer replies NIL 144 A binary constraint query atom such as x y constraint age age gt retrieves the set of all tuples such that the age attribute of the first argument in the tuples x is greater gt than the age attribute of the second argument of the tuple y Moreover the two lists appearing after constraint here age age can be feature chains of arbitrary length such that the last feature in each chain is a concrete domain attribute Let us consider a more complex example with such feature chains of length greater than one Please modify the
70. a great grandpa grandma great grandma aunt uncle sister brother sibling young parent normal parent old parent child teenager teenage mother young human adult human old human young child human with fever seriously ill human human with high fever roles has descendant domain human range human transitive t has child domain parent range child parent has descendant has sibling domain sibling range sibling has sister range sister parent has sibling has brother range brother parent has sibling features has gender range or female male attributes integer has age real temperature fahrenheit real temperature celsius individuals alice betty charles doris eve objects age of alice age of betty age of charles age of doris age of eve temperature of doris temperature of charles 186 the concepts disjoint female male human implies human and at least 1 has gender a has age implies human temperature fahrenheit equivalent equivalent equivalent equivalent equivalent equivalent 1 8 temperature celsius 32 young human and human max has age 20 teenager and young human min has age 10 adult human and human min has age 21 old human and human min has age 60 woman and human all has gender female man and human all has gender male implies child human equivalent equivalent equivalent equivalent equivalent equivalent
71. ases see above If the queries le has the extensions xml RACER assumes DIG syntax For older programs this kind of backward compatibility is needed The option t lt seconds gt allows for the specification of a timeout This is particularly useful if benchmark problems are to be solved using the file interface 2 5 2 TCP Socket Interface JRACER The socket interface of the RACER Server can be used from application programs or graphical interfaces If the option f is not provided the socket interface is automatically enabled Just execute the following racer The default TCP communication port used by RACER is 8088 In order to change the port number the RACER Server should be started with the option p For instance racer p 8000 21 In this document the TCP socket is also called the raw TCP interface The functionality offered by the TCP socket interface is documented in the next sections An example client implemented in the Java programming language is provided with source code with the RACER distribtution The client is based on the JRACER library developed by Jordi Alvarez See the folder RACER jracer The main idea of the socket interface is to open a socket stream submit declarations and queries using strings and to parse the answer strings provided by RACER JRACER provides a Java layer for accessing the services of RACER using methods The current version of the TCP socket interface does not support logging
72. ast n R at most n R exactly n R at least n R C at most n R C exactly n R C a AN an AN no AN CDC R RN inv RN Figure 25 RACER concept and role terms Qualified restrictions state that role fillers have to be of a certain concept Value restric tions assure that the type of all role fillers is of the specified concept while exist restrictions require that there be a filler of that role which is an instance of the specified concept DL notation RACER syntax 4 R C some R C Exists restriction Value restriction YRC all R C Number restrictions can specify a lower bound an upper bound or an exact number for the amount of role fillers each instance of this concept has for a certain role Only roles that are not transitive and do not have any transitive subroles are allowed in number restrictions see also the comments in Horrocks et al 99a Horrocks et al 99b DL notation RACER syntax At most restriction lt n R at most n R At least restriction gt n R at least n R Exactly restriction n R exactly n R Qualified at most restriction lt n R C at most n R C Qualified at least restriction gt n R C at least n R C Qualified exactly restriction n R C exactly n R C Actually the exactly restriction exactly n R is an abbreviation for the concept term 46 CDC min AN integer max AN integer equal AN integer equal AN AN divisible AN cardinal not div
73. ature of the closed world assumption and the ambiguities about what closing should actually mean in description logic inference systems usually there is no support for the closed world assumption However with the publish and subscribe interface of Racer users can achieve a similar effect Consider for instance a query for a book which does not have an author Because of the open world assumption subscribing to a channel for and Book at most O has author does not make much sense Nevertheless the agent can subscribe to a channel for Book and a channel for at least 1 has author It can accumulate the results returned by Racer into two variables A and B respectively and in order to compute the set of books for which there does not exist an author it can consider the complement of B wrt A We see this strategy as an implementation of a local closed world LCW assumption 167 However as time evolves authors for documents determined by the above mentioned query indeed might become known In others words the set B will probably be extended In this case the agent is responsible for implementing appropriate backtracking strategies of course The LCW example demonstrates that the Racer publish and subscribe interface is a very general mechanism which can also be used to solve other problems in knowledge represen tation 12 4 Publish and Subscribe Functions In the following the functions offered by the publish subscribe facility a
74. b orgfontologies peoplextplant 0 http icohse semanticweb org ontologies people publication E a http cohse semanticweb org ontologies people tvehicle e http cohse semanticweb org ontologies peoplex bicycle http cohse semanticweb org ontologies people bus de Mt A A me bmn ec A A adm nal Band Statements and or concept definitions Submit PreClassify RACER Replies 1 unsatisfiable concept s found httpJicohse sermanticweb org ontologes people mad cow Figure 22 RICE showing the ontology mad_cows daml The concepts from the mad_cows example can now be inspected with the RICE interface Figure 22 Again the concept mad cow is found to be unsatisfiable OilEd provides names paces for concept names Namespaces are indicated with prefixes in concept names The current version of RICE and RACER directly displays the prefixes In addition concept names are case sensitive Case sensitive concept name should be specified surrounded with bars in order to convince RACER to correctly treat these concept names 42 2 RACER Interactive CLIENT Environment RICE File Edit Tools Help Concepts Type a Concept Name to show exact matching only ABoxes ES DEFAULT DEFAULT e http cohse semanticweb orgfontologiesfpeoplestadult Instances E http cohse semanticweb org ontologies people animal http cohse semanticweb org ontologies people The42 24 http cohse semanticweb org ontologies people bon
75. box TBox object Values Returns t if R is a parent role of R 103 role p function Description Checks if R is a role term for a role in the specified TBox Syntax role p R koptional tbox current tbox Arguments R role term tbox TBox object Values Returns t if R is a known role term and nil otherwise role macro Description Checks if R is a role term for a role in the specified TBox Syntax role R optional TBN tbox name current tbox Arguments R role term TBN TBox name Values Returns t if R is a known role term and nil otherwise transitive p function Description Checks if R is a transitive role in the specified TBox Syntax transitive p R toptional tbor current tbox Arguments R role term tbox TBox object Values Returns t if the role R is transitive in tbox and nil otherwise transitive macro Description Checks if R is a transitive role in the specified TBox Syntax transitive R amp optional TBN tbox name current tbox Arguments R role term TBN TBox name Values Returns t if the role R is transitive in TBN and nil otherwise 104 feature p function Description Syntax Arguments Values Checks if R is a feature in the specified TBox feature p R toptional tbor current tbox R tbox role term TBox object Returns t if the role R is a feature in tbox and nil otherwise feature macro Descrip
76. ce is logically implied due to Doris motherhood 10 3 2 Complex Queries AND Queries Suppose we want to list all mothers of male persons in the KB Whereas the previous queries were all simple a single unary or binary query atom was sufficient for expressing them we will now need a compound or complex query retrieve x y and x mother y man x y has child Racer replies X ALICE Y CHARLES In this query we have used the AND operator Understanding the Query Results It should be noted that retrieve x and x mother y man x y has child is not equivalent to retrieve x x mother since the first query internally also binds the variable y and ensures that y man x y has child holds as well even if the possible bindings of y are not returned to the user 147 The objects variables and individuals which are referenced within a query body are always bound in every possible way then the list of result objects is used to determine the format of the output tuples of the query This can be seen as a projection operation if we ignore the possibility to duplicate or reorder objects in the output binding lists However the projection to the result objects is always the last step in the query processing chain and not the first one Consequently if the specified list of result objects is empty we get e T iff any binding possibility has been found making the query body true and
77. convenience rational coefficients can be specified in floating point notation They are automatically transformed into their rational equivalents e g 0 75 is transformed into 3 4 In the following we will use the names on the left hand side of the table to refer to the correspondings concrete domains Names for values from concrete domains are called objects The set of all objects is referred to as O Individuals can be associated with objects via so called attributes names or attributes for short Note that the set A of all attributes must be disjoint to the set of roles and the set of features Attributes can be declared in the signature of a TBox see below The following example is an extension of the family TBox introduced above In the example the concrete domains Z and R are used signature atomic concepts teenager roles attributes integer age equivalent teenager and human min age 16 equivalent old teenager and human min age 18 Asking for the children of teenager reveals that old teenager is a teenager A further extensions demonstrates the usage of reals as concrete domain signature atomic concepts teenager ol roles attributes integer age real temperature celsius real temperature fahrenheit equivalent teenager and human min age 16 equivalent old teenager and human min age 18 equivalent human with feaver and human gt temperature cel
78. ct gt lt daml versionInfo gt lt daml versionInfo gt lt daml Ontology gt lt daml Class rdf about file C Ralf Ind Examples ex1 daml c gt lt rdfs label gt c lt rdfs label gt lt rdfs comment gt lt CDATA gt lt rdfs comment gt lt oiled creationDate gt lt CDATA 2002 09 27T19 09 25Z gt lt o0iled creationDate gt lt oiled creator gt lt CDATA MO gt lt oiled creator gt lt rdfs subClassDf gt lt daml Restriction gt lt daml onProperty rdf resource file C Ralf Ind Examples ex1 dam1 R gt lt daml hasClass gt lt daml Class gt lt daml oneDf gt lt daml List gt lt daml first gt lt daml Thing rdf about file C Ralf Ind Examples ex1 dam1l j gt lt daml first gt lt daml rest gt lt daml nil gt lt daml rest gt lt daml List gt lt daml oneOf gt lt daml Class gt lt daml hasClass gt lt daml Restriction gt lt rdfs subClassOf gt lt daml Class gt lt daml ObjectProperty rdf about file C Ralf Ind Examples ex1 daml R gt lt rdfs label gt R lt rdfs label gt lt rdfs comment gt lt CDATA gt lt rdfs comment gt lt oiled creationDate gt lt CDATA 2002 09 27T19 09 49Z gt lt oiled creationDate gt lt oiled creator gt lt CDATA MO gt lt oiled creator gt 58 lt daml ObjectProperty gt lt rdf Description rdf about file C Ralf Ind Examples ex1 daml i gt lt rdfs comment gt lt CDATA gt lt rdfs commen
79. ction load If the server version is used it must have been started with the option u in order to have this function available Examples save abox project ABoxes abox one lisp save abox project ABoxes final abox lisp find abox abox one if exists error forget abox function Description Delete the specified ABox from the list of all ABoxes Usually this enables the garbage collector to recycle the memory used by this ABox Syntax forget abox abor Arguments abor is a ABox object or ABox name Values The name of the removed ABox Examples forget abox family 77 delete abox macro Description Delete the specified ABox from the list of all ABoxes Usually this enables the garbage collector to recycle the memory used by this ABox Syntax delete abox ABN Arguments ABN is a ABox name Values The name of the removed ABox Remarks Calls forget abox Examples delete abox family delete all aboxes function Description Delete all known ABoxes Usually this enables the garbage collector to recycle the memory used by these ABoxes Syntax delete all aboxes Values List containing the names of the removed ABoxes create abox clone function Description Returns a new ABox object which is a clone of the given ABox The clone keeps the assertions and the state from its original but new declarations can be added without modifying the original ABox This function allows one
80. cts a concept assertion from an ABox Syntax forget concept assertion abox IN C Arguments abor ABox object IN individual name C concept term Values abor Remarks For answering subsequent queries the index structures for the ABox will be recomputed i e some queries might take some time e g those queries that require the realization of the ABox Examples forget concept assertion find abox peanuts characters Lucy Person forget concept assertion find abox peanuts characters Snoopy and Dog Cartoon Character 93 related KRSS macro Description Builds a role assertion asserts that two individuals are related via a role or feature Syntax related IN IN2 R Arguments IN individual name of the predecessor IN individual name of the filler R arole term or a feature term Examples related Charlie Brown Snoopy has pet related Linus Lucy inv has brother add role assertion function Description Adds a role assertion to an ABox Syntax add role assertion abor IN IN2 R Arguments abor ABox object IN individual name of the predecessor IN individual name of the filler R role term Values abor Examples add role assertion find abox peanuts characters Charlie Brown Snoopy has pet add role assertion find abox peanuts characters Linus Lucy inv has brother 94 forget role assertion function Description Retracts a role as
81. cuments are published state publish document 8 publish document 9 The RACER system handles all publish statements within a state as a single publish statement and answers the follwing as a single list of subscription individual pairs CLIENT 1 DOCUMENT 9 CLIENT 2 DOCUMENT 8 CLIENT 3 DOCUMENT 8 CLIENT 4 DOCUMENT 9 Now client 2 also get information about intances of computer science best seller Note that document 8 is an instance of computer science best seller by definition although the actual number of sold copies is not known to RACER describe individual document 8 DOCUMENT 8 ASSERTIONS DOCUMENT 8 COMPUTER SCIENCE BEST SELLER ROLE FILLERS NIL TOLD ATTRIBUTE FILLERS ISBN 8234567 DIRECT TYPES COMPUTER SCIENCE BEST SELLER The following subscription queries indicate that the query concept must not necessarily be a concept name but can be a concept term state subscribe client 4 equal isbn 7234567 RACER returns the following information CLIENT 4 DOCUMENT 7 Notice again that subscriptions might be considered when new information is added to the ABox state subscribe client 5 equal isbn 10234567 The latter statement returns NIL However the subscription is considered if at some time point later on a document with the corresponding ISBN number is introduced and pub lished 165 state instance document 10 document constrained document 10 isbn
82. d owned by John C Mallery For more information on CL HTTP see http uww ai mit edu projects iiip doc cl http home page html 2002 69 83 12 25 12 HTTP service enabled for http 195 37 84 124 8089 2002 69 63 12 25 12 TCP service enabled on port 8 A o ei 8 66 127 0 9 1 266 HTTP 1 1 8686 lt i 2594 POST ned ava E oa Se a i ile 6 65 16005 127 0 9 1 266 HITP 1 1 8686 lt 2 gt 2594 POST v vJayai Z SE z Figure 4 A screenshot of the RACER Server started under Windows Depending on the arguments provided at startup the RACER executable supports different modes of operation It offers a file based interface a socket based TCP stream interface and a HTTP based stream interface 20 2 5 1 The File Interface If your knowledge bases and queries are available as files use the file interface of RACER i e start RACER with the option f In your favorite shell just type racer f family racer q family queries lisp The input file is family racer and the queries file is family queries lisp The output of RACER is printed into the shell If output is to be printed into a file specify the file with the option o as in the following example racer f family racer q family queries lisp o ouput text The syntax for processing input files is determined by RACER using the file type file extension If lisp krss or racer is specified a KRSS based syntax is used Other possibil
83. d the assertion instance alice at most 2 has child to the ABox Given this the ABox will become inconsistent if another invidividual e g william is declared to be a child of alice Many users askedfor a switch such that RACER automatically closes roles However this problem is ill dened A small example should suffice to illustrate why closing a role or even a KB is a tricky problem Assume the following axioms disjoint a b c instance i and some r a some r b some r c some r d related i j r 19 Now assume the task is to closedthe role r for the individual i Just determining the number of llers of r w r t i and adding a corresponding assertion lt 1 r to the ABox is a bad idea because the ABox gets inconsistent Due to the TBox the minimum number of llers is 3 But should we add at most 1 r or at most 1 r and a b c The rst one might be too strong because of i being an instance of some r d What about d Would it be a good idea to also add at most 1 r d If yes then the question arises how to determine the qualier concepts used in qualied number restrictions In addition to the Open World Assumption RACER also employs the Unique Name Assumption UNA This means that all individuals used in an ABox are assumed to be mapped to different elements of the universe i e two individuals cannot refer to the same domain element Hence adding instance alice at most 1 has child does not identify bett
84. d to be contained ina 333 file RACER examples family abox krss 333 initialize the ABox smith family and use the TBox family in abox smith family family 333 supply the signature for this ABox signature individuals alice betty charles doris eve 335 Alice is the mother of Betty and Charles instance alice mother related alice betty has child related alice charles has child 335 Betty is mother of Doris and Eve instance betty mother related betty doris has child related betty eve has child Charles is the brother of Betty and only Betty instance charles brother related charles betty has sibling 17 335 Closing the role has sibling for Charles instance charles at most 1 has sibling 355 Doris has the sister Eve related doris eve has sister 333 Eve has the sister Doris related eve doris has sister alice mother has child charles and brother at most 1 has sibling Figure 3 Depiction of the ABox smith family with explicitly given information being shown The RACER Session 333 now load the ABox CL USER 6 load RACER examples family abox krss 335 Loading RACER examples family abox krss T 18 ss some ABox queries 333 Is Doris a woman CL USER 7 individual instance doris woman T 335 Of which concepts is Eve an instance CL USER 8 individual types eve SISTER WOMAN PERSON HUMAN TOP TOP 333 get all direct types of eve CL USER 9 i
85. define primitive concept KRSS macro Description Defines a primitive concept Syntax define primitive concept CN C Arguments CN concept name C concept term Remarks C states the necessary conditions for CN Examples define primitive concept Grandmother and Mother Female define primitive concept Father Parent define concept KRSS macro Description Defines a concept Syntax define concept CN C Arguments CN concept name C concept term Remarks Please note that in RACER definitions of a concept do not have to be unique Several definitions may be given for the same concept Examples define concept Grandmother and Mother some has child Parent define disjoint primitive concept KRSS macro Description This axiom states the disjointness of a group of concepts Syntax define disjoint primitive concept CN GNL C Arguments CN concept name GNL group name list which lists all groups to which CN belongs to among other concepts All elements of each group are declared to be disjoint C concept term that is implied by CN Remarks This function is just supplied to be compatible with the KRSS Examples define disjoint primitive concept January Month exactly 31 has days define disjoint primitive concept February Month and at least 28 has days at most 29 has days 83 add concept axiom function Description This function adds a concept axiom to a TBox Syntax
86. define primitive role has children inverse has parents domain parent range children Macro signature on page 68 Section 3 3 and Figure 29 on page 51 for domain and range restrictions 85 define primitive attribute KRSS macro with changes Description Syntax Arguments Remarks Examples See also Defines an attribute define primitive attribute AN amp key symmetric nil inverse nil domain nil range nil parents nil AN attribute name symmetric if bound to t declares that the new role is a symmetric This is equivalent to declaring that the new role s inverse is the role itself inverse provides a name for the inverse role of AN This is equivalent to inv AN The inverse role of AN has no user defined name if inverse is bound to nil domain provides a concept term defining the domain of role AN This is equivalent to adding the axiom implies at least 1 AN C if domain is bound to the concept term C No domain is declared if domain is bound to nil range provides a concept term defining the range of role AN This is equivalent to adding the axiom implies top all AN D if range is bound to the concept term D No range is declared if range is bound to nil parents provides a list of superroles for the new role The role AN has no superroles if parents is bound to nil If only a single superrole is specified the keyword parent may alternatively be used see exampl
87. dge base is presented in Figure 5 The query searches for instances of the concept or man woman Other queries e g as those shown in the previous section can be submitted to RACER is a similar way An example for submitting a statement is displayed in Figure 6 The family knowledge base is exported as a DAML file As we will see below this file can then be processed with OilEd 25 RACER Interactive CLIENT Environment RICE File Edit Tools Help Concepts Type a Concept Name to show exact matching only gt DEFAULT Ely FAMILY 4 FEMALE E y HUMAN PERSON Ey MAN Ey BROTHER Se UNCLE Lon FATHER H 0 PARENT El y WOMAN E MOTHER E SISTER Son AUNT con MALE Statements and or concept definitions save kb CJRalf K Bs family kb dar tbox family abox sraith family syntax daral ns0 file C RalffKBs RACER Replies OK Figure 6 Screenshot of RICE 2 6 2 OilEd OilEd may be used as another graphical interface for RACER While RICE can be used to pose queries in particular for ABoxes OilED can be used to graphically con struct TBoxes or ontologies and ABoxes OilEd has been developed by Sean Bechhofer and colleagues at the University of Manchester Bechhofer et al 01 It is available at http oiled man ac uk You need OilEd version 3 5 or newer to access RACER as a backend reasoner 26 Figure 7 First step for declaring RACER as the reasoner used by OilEd In order to declare RAC
88. e 4 http cohse semanticweb org ontologies people brain 4 http cohse semanticweb org ontologies people colour 8 23 http cohse semanticweb org ontolagies peaple company 4 http cohse semanticweb org ontologies people elderly 4 http cohse semanticweb org ontologies people female E S http cohse semanticweb orgfontologies peoplexthaulage worker 4 http cohse semanticweb org ontologies people haulage truck driver 24 http cohse semanticweb org ontologiesfpeople tleaf 9 http cohse semanticweb org ontologies people male E Ihttp cohse semanticweb orgfontologiesfpeoplestplant http cohse semanticweb org ontologiesfpeoplex publication E A http cohse semanticweb orgfontologiesfpeoplestvehicle http cohse semanticweb org ontologies people bicycle e n r de oh Statements and or concept de i describe individual http cohse semanticweb org ontologies people T he42 PreClassify Ne RACER Replies Jhttp icohse seranticweb org ontologies peopleAT he42 ASSERTIONS http Jicohse semanticweb org ontologies people T he42 AND Ihttp cohse sernanticweb org ontolomes peoplefbus http cohse semanticweb org ontologies people T he42 TOP ROLE FILLERS COMMON LISP NIL TOLD ATTRIBUTE FILLERS http icohse sernanticweb org ontologies people service_nurmber 42 DIRECT TYPES http icohse semanticweb org ontologies peoplefous Figure 23 Dealing with individuals in RICE
89. e 107 TOLE QUSIO ura ee Ce ee Ee ee ea e ae 107 atomie role domain exo Se ee ee ae a me A 107 MOLE LONGO EIA 108 Atomic BOLe ESUBO oo e es 108 ACTES io lA a Pg 108 attribute domala 2 2202 cosas aa a a SS REG 108 TBox Evaluation Functions ss peges pa a neei a ee Ye es 108 classify EDOR s s ana a a A 109 CHECK TDOS CONSTONCe e cce ht dee De Sl go e e aa 109 tbox Classilied p s 54 204 88 2 ogee DER e ee Da a 109 thorc lassi ied bus soe aaa ie GR ok SO ee wr i Gh a 109 TOOR preparedap 2 ers Be le Pe ee A eee es 110 TLDO SPERPAESOS 20s S44 eh Sa A ee AE 4 ae ee ee aes 110 EBOS CYVCIICHD 2 04 Sok gh SS A Le A A Gop eels 110 BODE EPETLEP so oe ee he Sew oe a e Ge me we AR 111 thOx cOherent p s Av carr RS EER Ee ee EERE wee ee ew ES 111 thox coherent 2 6 2 4 8 bee be Ee eR eee HS 111 bet tbox language so o fe bee Ge eh a aa 112 got meta GOnSErAINE o 0 ao wh eee we WM bee aL ea GL Ba 112 g t concept def inition ec s ee Sok pont aia Bk e A eoi 113 get concept daetinitiOm l oca ao a a a a Ge es 113 pet concept nepabed derinition es ss eraasi o neama sas 114 get concept negated definition 1 114 OA ABox Evaluation Functions 2 1 6 4 ss scansa tado danger meks 114 Tealize abok oon eea a a e e ew ea 114 abox realized p 2 4465 8544 62 2646 ea A 115 abox realized 22 244 2 2 a AA 115 MOOR PEEPALS PY is sb doce a Gr en tc eee de a a ee 115 BOGE Prepared nn 4 x ge deat ee bab kw ge E hk ee ae A
90. e Roles Role Hierarchies and Qualifying Number Restrictions Technical Report LTCS 99 08 RWTH Aachen 1999 Horrocks et al 2000 Horrocks I Sattler U and Tobies S 2000 Reasoning with indi viduals for the description logic SHZQ In MacAllester D editor Proceedings of the 17th International Conference on Automated Deduction CADE 17 Lecture Notes in Computer Science Germany Springer Verlag Patel Schneider and Swartout 93 P F Patel Schneider B Swartout Description Logic Knowledge Representation System Specification from the KRSS Group of the ARPA Knowledge Sharing Effort November 1993 The paper is available as http www db research bell labs com user pfps papers krss spec ps Rychlik 2000 Rychlik M Complexity and applications of parametric algorithms of com putational algebraic geometry In R del la Llave L Petzold and J Lorenz editors Dynamics of Algorithms volume 118 of The IMA Volumes in Mathematics and its Applications pp 1 29 New York 2000 Springer Verlag Weispfenning 92 Weispfenning V Comprehensive Groebner Bases Journal of Symbolic Computation volume 14 1992 pp 1 29 Jaffar and Maher 94 Constraint Logic Programming A Survey J Jaffar M Maher In Journal of Logic Programming Vol 19 20 pp 503 581 1994 Index xauto classify 98 xauto realizex 99 bottom 81 current abox 76 current tboxx 69 topx 81 abox consistent p 117 abox consistent
91. e also Definition of current abox current abox function Description Returns the value of the variable current abox Syntax current abox Arguments See also Definition of current abox 76 save abox function Description If a pathname is specified an ABox is saved to a file In case a stream is specified the ABox is written to the stream the stream must already be open and the keywords f exists and if does not exist are ignored Syntax save abox pathname or stream amp optional abox current abox amp key syntax krss transformed nil if exists supersede if does not exist create Arguments pathname or stream is the name of the file or an output stream abor ABox object syntax indicates the syntax of the TBox Possible value for the syntax argmument are krss the default xml or daml transformed if bound to t the ABox is saved in the format it has after preprocessing by RACER if exists specifies the action taken if a file with the specified name already exists All keywords for the Lisp function with open file are sup ported The default is supersede if does not exist specifies the action taken if a file with the specified name does not yet exist All keywords for the Lisp function with open file are supported The default is create Values ABox object Remarks A file may contain several A Boxes The usual way to load an ABox file is to use the Lisp fun
92. e domain of role name RN Syntax atomic role domain RN amp optional TBN tbox name current tbox Arguments RN role name TBN TBox name 107 role range macro Description Returns the range of role name RN Syntax role range RN amp optional TBN tbox name current tbox Arguments RN role name TBN TBox name Remarks This macro uses atomic role range atomic role range function Description Returns the range of role name RN Syntax atomic role range RN amp optional TBN tbox name current tbox Arguments RN role name TBN TBox name attribute domain macro Description Returns the domain of attribute name AN Syntax attribute domain AN optional TBN tbox name current tbox Arguments AN attribute name TBN TBox name attribute domain 1 function Description Returns the domain of attribute name AN Syntax attribute domain 1 AN optional TBN tbox name current tbox Arguments AN attribute name TBN TBox name 9 3 TBox Evaluation Functions 108 classify tbox function Description Syntax Arguments Remarks Classifies the whole TBox classify tbox amp optional tbox current tbox tbor TBox object This function needs to be executed before queries can be posed check tbox coherence function Description Syntax Arguments Values Remarks This function checks if there are any
93. e want to know which person does not have any explicitly modeled descendants in the ABoz A first idea might be to use the following query retrieve x and not x y has descendant not y x has descendant However since this is just the projection of the previous query to the first argument of its result tuples we will get X DORIS X EVE X BETTY X CHARLES which is not what we intended Fortunately as already mentioned the query retrieve x and x NIL has descendant NIL x has descendant can be used Racer replies NIL since every modeled individual is somehow set into relation with some other individual A further more complex example retrieve x y and mot x y has descendant not y x has descendant not x y has sibling not y x has sibling If has sibling had been declare as symmetric in the KB we could have omitted the last conjunct in the query Racer replies X DORIS Y CHARLES X CHARLES Y DORIS Negated Binary Constraint Query Atoms The NOT can also be applied in front of binary constraint query atoms We can easily list the complement of retrieve x x x constraint has father has mother age has mother has mother age Answer X EVE with retrieve x not x x constraint has father has mother age has mother has mother age which consequently yields X DORIS X CHARLE
94. eam open stream object tbox or abox The description is written to stream 10 2 ABox Retrieval individual direct types KRSS macro Description Syntax Arguments Values Gets the most specific atomic concepts of which an individual is an instance individual direct types IN optional ABN abox name current abox IN individual name ABN ABox name List of name sets 130 most specific instantiators function Description Syntax Arguments Values Gets the most specific atomic concepts of which an individual is an instance most specific instantiators IN abor IN individual name abor ABox object List of name sets individual types KRSS macro Description Syntax Arguments Values Remarks Gets all atomic concepts of which the individual is an instance individual types IN optional ABN abox name current abox IN individual name ABN ABox name List of name sets This is the transitive closure of the KRSS macro individual direct types instantiators function Description Syntax Arguments Values Remarks Gets all atomic concepts of which the individual is an instance instantiators IN abor IN individual name abor ABox object List of name sets This is the transitive closure of the function most specific instantiators 131 concept instances KRSS macro Description Syntax Argumen
95. eflexive currently only supported for ALCH If feature is bound to t the value of reflexive is ignored inverse provides a name for the inverse role of RN This is equivalent to inv RN The inverse role of RN has no user defined name if inverse is bound to nil domain provides a concept term defining the domain of role RN This is equivalent to adding the axiom implies at least 1 RN C if domain is bound to the concept term C No domain is declared if domain is bound to nil range provides a concept term defining the range of role RN This is equivalent to adding the axiom implies top all RN D if range is bound to the concept term D No range is declared if range is bound to nil parents provides a list of superroles for the new role The role RN has no superroles if parents is bound to nil If only a single superrole is specified the keyword parent may alternatively be used see the examples This function combines several KRSS functions for defining properties of a role For example the conjunction of roles can be expressed as shown in the first example below A role that is declared to be a feature cannot be transitive A role with a feature as a parent has to be a feature itself A role with transitive subroles may not be used in number restrictions define primitive role conjunctive role parents R 1 R n define primitive role has descendant transitive t inverse descendant of parent has child
96. ept expression gt bind individual lt query individual gt lt query object gt has known successor lt role expression gt lt query object gt lt query object gt lt role expression gt lt query object gt NIL lt role expression gt NIL lt query object gt lt role expression gt lt query object gt lt query object gt constraint lt chain gt lt chain gt lt CD predicate gt mat lt chain gt gt lt attribute name gt lt feature name gt lt attribute name gt lt attribute name gt gt see AN on page 46 Fig 25 lt feature name gt gt see R on page 46 Fig 25 lt concept expression gt gt see C on page 46 Fig 25 lt role expression gt gt see R on page 46 Fig 25 lt CD prediate gt gt equal unequal string string lt gt Wu lt gt lt lt gt 10 5 Acknowledgments We greatly acknowledge the feedback and comments we have received from Ragnhild van der Straeten and Rolf de By Both have tested the new RQL Both have reported deficiencies and errors in the RQL implementation and in this document as well Thanks a lot for that 159 11 Configuring Optimizations The standard configuration of RACER ensures that only those computations are performed that are required for answering queries For instance in order to answer a query for the par ents of a co
97. er 1 a E woman 1 8 El mother 1 grandmother 1 8 a El sister 1 E male 1 Figure 13 Concept hierarchy reflecting implicit subsumption relationships In Figure 12 it is indicated that RACER reveals implicit subsumption relationships For instance an aunt is also a sister The same can be seen in Figure 13 using the concept hierarchy window Compare with Figure 11 33 Oiled 3 5 mother 1 o RAAR has descendant 1 eve 1 has descendant 1 doris 1 has child 1 charles 1 has child 1 betty 1 Figure 14 The individuals of the family example Properties of the selected individual alice are displayed After the tab Individuals is selected OilEd displays the individuals of the family knowledge base together with their properties or relationships This is shown here in Figure 14 Although OilEd can be used to display and edit ABoxes let us return to RICE for a moment to examine the result of querying an ABox In our example we assume that the RICE window is still open Select the concept PERSON in the concept window The instances of PERSON are displayed in the upper right instance window 34 RACER Interactive CLIENT Environment RICE File Edit Tools Help Concepts Type a Concept Name to show exact matching only ABoxes p DEFAULT SMITH FAMILY Eh FAMILY Instances 4 FEMALE E y HUMAN Eby PERSON Ey MAN Ey BROTHER e MEE Lon FATHER H 0 PARENT E A
98. er Eve related doris eve has sister instance doris at most 1 has sibling Doris s age is 2 constrained doris age of doris has age constrained doris temperature of doris temperature celsius constraints equal age of doris 2 temperature of doris 38 6 3 Eve has the sister Doris related eve doris has sister instance eve at most 1 has sibling 3 Eve s age is 1 constrained eve age of eve has age constraints equal age of eve 1 189 333 some TBox queries 3 are all uncles brothers concept subsumes brother uncle 33 get all super concepts of the concept mother concept ancestors mother 33 get all sub concepts of the concept man concept descendants man 33 get all transitive roles in the TBox family all transitive roles 333 some ABox queries Is Doris a woman individual instance doris woman Of which concepts is Eve an instance individual types eve 33 get all descendants of Alice individual fillers alice has descendant individual direct types eve concept instances sister describe individual doris describe individual charles 190 References Bechhofer et al 01 S Bechhofer I Horrocks C Goble R Stevens OilEd a Reason able Ontology Editor for the Semantic Web in Proceedings of KI2001 Joint Ger man Austrian conference on Artificial Intelligence September 19 21 Vienna Springer Verlag LNAI Vol 2174 pp 396 408 2001 Bechhofer 0
99. erwise concept is primitive macro Description Checks if CN is a concept name of a so called primitive concept in the specified TBox Syntax concept is primitive p CN optional TBN tbox name current tbox Arguments CN concept name TBN TBox name Values Returns t if CN is a name of a known primitive concept and nil otherwise 102 alc conce pt coherent function Description Syntax Arguments Remarks Tests the satisfiability of a Km K4 m or S4 m formula encoded as an ALC concept alc concept coherent C key logic K C concept term logic specifies the logic to be used 7K modal Kin K4 modal K4 m all roles are transitive S4 modal S4 m all roles are transitive and reflexive If no logic is specified the logic K is chosen This function can only be used for ALC concept terms so number restrictions are not allowed 9 2 Role Queries role subsumes KRSS macro Description Checks if two roles are subsuming each other Syntax role subsumes Ri Ro goptional TBN tbox name current tboxx Arguments Ri role term of the subsuming role Ro role term of the subsumed role TBN TBox name Values Returns t if R is a parent role of R role subsumes p function Description Checks if two roles are subsuming each other Syntax role subsumes p R R thor Arguments Ry role term of the subsuming role Ro role term of the subsumed role t
100. es This macro is supplied to be compatible with the KRSS specification It is re dundant since the macro define primitive role can be used with feature t This function combines several KRSS functions for defining properties of an attribute An attribute cannot be transitive A role with a feature as a parent has to be a feature itself define primitive attribute has mother domain child range mother parents has parents define primitive attribute has best friend inverse best friend of parent has friends Macro signature on page 68 Section 3 3 and Figure 29 on page 51 for domain and range restrictions 86 add role axioms function Description Adds a role to a TBox Syntax add role axioms thor RN key cd attribute nil transitive nil feature nil symmetric nil reflexive nil inverse nil domain nil range nil parents nil Arguments thor TBox object to which the role is added RN role name cd attribute may be either integer or real transitive if bound to t declares that RN is transitive feature if bound to t declares that RN is a feature symmetric if bound to t declares that RN is asymmetric This is equivalent to declaring that the new role s inverse is the role itself reflexive if bound to t declares that RN is reflexive currently only sup ported for ALCH If feature is bound to t the value of reflexive is ignored inverse provides a name for the inverse role o
101. es is in convenient Therefore Racer provides a facility to declare local mirror URLs for ontology URLs Syntax mirror URL mirror URL Arguments URL a URL used to refer to an ontology in a DAML OIL or OWL doc ument mirror URL a URL that refers to the same ontology Possibly a file URL may be supplied kb ontologies function Description A document in DAML OIL or OWL format can import other ontologies With this function one can retrieve all ontologies that were imported into the specified knowledge base Syntax kb ontologies KBN Arguments KBN is the name of the knowledge base 64 save kb function Description Syntax Arguments Examples If a pathname is specified a TBox is saved to a file In case a stream is specified the TBox is written to the stream the stream must already be open and the keywords f exists and if does not exist are ignored save kb pathname or stream amp key tbor current tbox abor current abox syntar krss if exrists supersede if does not exist create Curt ns0 pathname or stream is the pathname of a file or is an output stream tbox TBox name or TBox object abor ABox name or ABox object syntax indicates the syntax of the KB to be generated Possible values for the syntax argmument are krss the default xml or daml Note that concerning KRSS only a KRSS like syntax is supported by RACER Therefore instead
102. escription Gets all object names that are fillers of an attribute for a specified individual Syntax individual attribute fillers IN AN goptional ABN abox name current abox Arguments IN individual name of the predecessor AN attribute name ABN ABox name Values List of object names retrieve individual attribute fillers function Description Gets all object names that are fillers of an attribute for a specified individual Syntax retrieve individual attribute fillers IN AN optional ABN abox name current abox Arguments IN individual name of the predecessor AN attribute name ABN ABox name Values List of object names 133 told value function Description Syntax Arguments Values Returns an explicitly asserted value for an object that is declared as filler for a certain attribute w r t an individual told value ON optional ABN abox name current abox ON object name ABN ABox name Concrete domain value retrieve related individuals function Description Gets all pairs of individuals that are related via the specified relation Syntax retrieve related individuals R abor Arguments R role term Values abor ABox object List of pairs of individual names Examples retrieve related individuals has pet find abox peanuts characters may yield Charlie Brown Snoopy John Arbuckle Garfield See also Function indiv
103. f RN is equivalent to inv RN The inverse role of RN has no user defined name if inverse is bound to nil domain provides a concept term defining the domain of role RN equivalent to adding the axiom implies at least 1 RN C if domain is bound to the concept term C No domain is declared if domain is bound to nil range provides a concept term defining the range of role RN equivalent to adding the axiom implies top all RN D if range is bound to the concept term D No range is declared if range is bound to nil parents providing a single role or a list of superroles for the new role The role RN has no superroles if parents is bound to nil Values thox Remarks For each role RN there may be only one call to add role axioms per TBox See also Section 3 3 and Figure 29 on page 51 for domain and range restrictions 87 functional macro Description States that a role is to be interpreted as functional Syntax functional RN optional TBN tbox name current tbox Arguments RN role name TBN TBox name Remarks States that a role is to be interpreted as functional role is functional function Description States that a role is to be interpreted as functional Syntax role is functional RN goptional TBN tbox name current tbox Arguments RN role name TBN TBox name transitive macro Description States that a role is to be interpreted as transitive Syntax
104. f bound to nil an error is signaled if an ABox with the name given by new name is found Values ABox object Remarks The function create abox clone is called Examples clone abox my ABox clone abox my ABox new name abox clone overwrite t See also Function create abox clone on page 79 find abox function Description Finds an ABox object with a given name among all ABoxes Syntax find abox ABN optional errorp t Arguments ABN is the name of the ABox to be found errorp if bound to t an error is signaled if the ABox is not found Values ABox object Remarks This function can also be used to delete ABoxes or rename ABoxes as shown in the examples Examples find tbox my ABox Get rid of an ABox i e make the ABox garbage collectible setf find abox abox1 nil Renaming an ABox setf find abox abox2 abox1 79 abox name function Description Syntax Arguments Values Remarks Examples Finds the name of the given ABox object abox name abor abor ABox object ABox name Only available in the Lisp version abox name find abox my ABox tbox function Description Syntax Arguments Values Remarks Gets the associated TBox for an ABox tbox abor abor ABox object TBox object This function is provided in the Lisp version only associated tbox function Description Syntax Arguments Values Remarks Gets the associated TBox for an A
105. f eve and doris reveals that both individuals are instances of human with feaver In the following Abox there is an inconsistency since the temperature of 102 56 Fahrenheit is identical with 39 5 Celsius constrained eve temp eve temperature fahrenheit constrained doris temp doris temperature celsius constraints temp eve 102 56 temp doris 39 5 gt temp eve temp doris We present another example that might be important for many applications dealing with dates The following declarations can be processed with Racer The predicates divisible and not divisible are defined for natural numbers and are reduced to linear inequations internally define concrete domain attribute year type cardinal define concrete domain attribute days in month type cardinal implies Month and gt days in month 28 lt days in month 31 equivalent month inleapyear and Month divisible year 4 or not divisible year 100 divisible year 400 equivalent February and Month lt days in month 29 or not month inleapyear days in month 29 or month inleapyear days in month 28 Next we assume some instances of February are declared instance feb 2003 February constrained feb 2003 year 1 year constrained feb 2003 days in feb 2003 days in month constraints year 1 2003 instance feb 2000 February constrained feb 2000 year 2 year constrained feb 2000 days in feb 2000 days in month
106. g TR daml oil reference There are a few restrictions in the RACER implementation The UNA cannot be switched off and number restrictions for attributes datatype properties are not supported Only basic datatypes of XML Schema are supported i e RACER cannot read files with datatype declarations right now Usually the default namespace for concept and role name is dened by the pathname of the DAML le If the DAML le contains a specication for the default namespace i e a specication xmlns this URL is taken as a prex for concept and role names lt xml version 1 0 encoding ISO 8859 1 gt lt rdf RDF xmlns http www mycompany com project xmlns daml http www daml org 2001 03 damlt oil xmlns rdf http www w3 org 1999 02 22 rdf syntax ns xmlns rdfs http www w3 org 2000 01 rdf schema xmlns xsd http www w3 org 2000 10 XMLSchema gt lt rdf RDF gt Insteadof xmlns the specication xmlns ns0 also denes the default namespace the namespace ns0 is used by OilEd By default RACER prepends the URL of the default namespace to all DAML names starting with the sign If you would like to instruct RACER to return abbreviatednames i e to remove the prex again in output it produces start the RACER Server with the option n Abbreviation is possible in the server version only Individual names nominals in class declarations introduced with daml one0f are treated as disjoint at
107. get statement 7 6 Concrete Domain Assertions add constraint assertion CONSETAINGS oo EA add attribute assertion constrained o sssr ecos p p aad Reasoning Modes auto classily 1 auto realize Evaluation Functions and Queries 9 1 Queries for Concept Terms concept satisfiable concept satisfiable p concept subsumes concept subsumes p concept equivalent concept equivalent p CONCEPE ALISIOIDES a wwe eR Hw CONCEpt disjoOint p o mame CONCepE p gt s ed a be eee eee CONGEPEE y ua act hie ASL oe ve Gon as concept 15 pPrimitiVO D e es sp buns concept 1s primitive alc concept coherent 9 2 Role Queries 0 2 role subsumes 93 93 94 94 95 95 95 96 96 96 97 97 97 97 98 98 98 98 99 100 9 3 EN 104 A Wie AA ek ed en wh a wi Bd Go are th At BE pe 104 e RA 104 BYANSTCIVE a A A e es 104 TOA LUNES o a A A a A AA 105 PRAGUE OT spara a a a Gee hee E ks A DA pp de a 105 GASALLELDUMES DP Gav ek ie a ar a a Mak eee 105 CASARRETDUBSO ni a Bk a Ne a A ee eS 105 SYMMCLTITO D coins a ai A eas 106 o a E de a ee ee eh ete a A a 106 Forlan VEP o i ca Pe A Oe ee Bee BE eee ee ee ees 106 TELOR id eee a ea A A oP 106 atomic r0le i0VETES s beh a Se Re ee a eS 107 POLATIMVEESOs sica Bk a eae e Be a as de qe Bes a e
108. grandmother but not the other way around A further example retrieve x not x not grandmother yields CCC X DORIS X EVE X BETTY X ALICE Suppose we are looking for persons without children The query retrieve x x not some has child top yields NIL since again due to the open world semantics any of the currently present persons who do not have an explicitly modeled child in the ABox yet could still be a parent simply add some role assertions to the ABox However currently Doris and Betty do not have an explicitly modeled child in the ABox How do we retrieve them One way might be to use the query retrieve x not x some has child top which correctly yields X DORIS X EVE However sometimes this approach doesn t work Suppose we add the following axiom 152 individual instance doris mother If we query again with retrieve x not x some has child top we only get X EVE since Racer can now prove that Doris has a child since Doris is an instance of the concept mother even though her child is not explicitly modeled in the ABox If we want to get a positive answer that Doris does not have any explicitly modeled children in the ABox we can use the query atom x NIL has child which we borrowed from the query language of the LOOM system retrieve x x NIL has child retrieves the individuals for which there is no known ex
109. he instances of a domain is represented in the ABox For more information about the description logic SHZQ supported by RACER see Horrocks et al 2000 Note that RACER assumes the unique name assumption for ABox individuals see also Haarslev and M ller 2000 where the logic supported by RACER s precursor RACE is described The unique name assumption does not hold for the description logic SHZQ as introduced in Horrocks et al 2000 3 1 Concept Language The content of RACER TBoxes includes the conceptual modeling of concepts and roles as well The modelling is based on the signature which consists of two disjoint sets the set of concept names C also called the atomic concepts and the set R containing the role names Starting from the set C complex concept terms can be build using several operators An overview over all concept and role building operators is given in Figure 25 Boolean terms build concepts by using the boolean operators DL notation RACER syntax Negation aC not C Conjunction Cy C and Cy Cn Disjunction Cy U UC or Cy Cn The signature does not have to be specified explicitly in RACER knowledge bases the system can compute it from the all the used names in the knowledge base but specifying a signature may help avoiding errors caused by typos 45 C CN top bottom not C and Ci C or Cy Cn some R C all R C at le
110. i fied TBox Syntax tbox prepared p amp optional tbor current tbox Arguments thor TBox object Values Returns t if the specified TBox has been processed to some extent other wise it returns nil Remarks The function is used to determine whether Racer has spent some effort in processing the axioms of the TBox tbox prepared macro Description It is checked if internal index structures are already computed for the speci fied TBox Syntax tbox prepared amp optional TBN tbox name current tbox Arguments TBN TBox name Values Returns t if the specified TBox has been processed to some extent other wise it returns nil Remarks The form is used to determine whether Racer has spent some effort in pro cessing the axioms of the TBox tbox cyclic p function Description It is checked if cyclic GCIs are present in a TBox Syntax tbox cyclic p amp optional tbor current tbox Arguments thor TBox object Values Returns t if the specified TBox contains cyclic GCIs otherwise it returns nil Remarks Cyclic GCIs can be given either directly as a GCI or can implicitly result from processing for instance disjointness axioms 110 tbox cyclic macro Description Syntax Arguments Values Remarks It is checked if cyclic GCIs are present in a TBox tbox cyclic amp optional tbor current tbox tbox TBox object Returns t if the specified TBox contains cyclic GCIs other
111. iduals related p on page 119 related individuals macro Description Gets all pairs of individuals that are related via the specified relation Syntax related individuals R toptional ABN abox name current abox Arguments R role term ABN ABox name Values List of pairs of individual names Examples retrieve related individuals has pet find abox peanuts characters may yield Charlie Brown Snoopy John Arbuckle Garfield See also Function individuals related p on page 119 134 retrieve individual filled roles function Description This function gets all roles that hold between the specified pair of individu als Syntax retrieve individual filled roles IN IN2 abor Arguments IN individual name of the predecessor IN individual name of the role filler abor ABox object Values List of role terms Examples retrieve individual filled roles Charlie Brown Snoopy find abox peanuts characters See also Function individuals related p on page 119 retrieve direct predecessors function Description Gets all individuals that are predecessors of a role for a specified individual Syntax retrieve direct predecessors R IN abor Arguments R role term IN individual name of the role filler abor ABox object Values List of individual names Examples retrieve direct predecessors has pet Snoopy find abox peanuts characters all aboxes funct
112. ience book constrained document 5 isbn 5 isbn constraints equal isbn 5 5234567 publish document 5 Now we assume that a client subscribes to a certain instance retrieval query state subscribe client 1 book The answer returned by RACER is the following CLIENT 1 DOCUMENT 2 CLIENT 1 DOCUMENT 3 CLIENT 1 DOCUMENT 4 CLIENT 1 DOCUMENT 5 RACER returns a list of pairs each of which consists of a subscriber name and an individual name In this case four documents are found to be instances of the query concept subscribed und the name client 1 162 An application receiving this message from RACER as a return result can then decide how to inform the client appropriately In future releases of RACER subscriptions can be extended with information about how the retrieval events are to be signalled to the client This will be done with a proxy which is currently under development The example is continued with the following statements and two new subscriptions state instance document 6 computer science document constrained document 6 isbn 6 isbn constraints equal isbn 6 6234567 publish document 6 state subscribe client 2 computer science document subscribe client 3 computer science best seller The last statement returns two additional pairs indicating the retrieval results for the in stance retrieval query subscription of client 2 CLIENT 2 DOCUMENT 5 CLIENT 2 DOCUMENT 6 Next
113. ies we would like to inform the user of this potential performance pitfall In order to understand the query results of some complex queries better it might help if the user reminds him herself about these internal transformations 10 4 Formal Syntax of the RQL A call to retrieve looks as follows retrieve lt list of objects gt lt query body gt where lt list of objects gt is specified in EBNF means zero or more occurrences X denotes a literal lt list of objects gt gt lt query object gt lt query object gt gt lt query variable gt lt query individual gt lt query variable gt gt lt symbol gt lt symbol gt lt query individual gt gt lt symbol gt lt symbol gt gt any LISP symbol huhu foobar but not t or nil For example the list x betty is a valid lt list of objects gt as well as x betty betty y and O nil or t are invalid lt list of objects gt Moreover lt list of objects gt should be a subset of the query objects which are refer enced in lt query body gt otherwise a Racer Exception while submitting command Bad result variables given will be signaled 158 Query bodies are defined as follows lt query body gt gt lt query atom gt AND lt query body gt OR lt query body gt NOT lt query body gt lt query atom gt gt NOT lt query atom gt lt query object gt lt conc
114. ies sold 3000 computer science document computer science best seller Certainly hidden individuals can be marked as such with special concept names and in queries they might explicitly be excluded by conjoining the negation of the marker concept automatically to the query concept However from an implementation point of view this can be provided much more efficiently if the mechanism is built into the retrieval machinery of RACER 161 In order to manage assertions about specific documents an ABox current documents is defined with the following statements The ABox current documents is the current ABox to which subsequent statements and queries refer The set of subscriptions w r t the current ABox is initialized in abox current documents document ontology init subscriptions With the following set of statements five document individuals are declared and published i e the documents are potential results of subscription based instance retrieval queries state instance document 1 article publish document 1 instance document 2 book constrained document 2 isbn 2 isbn constraints equal isbn 2 2234567 publish document 2 instance document 3 book constrained document 3 isbn 3 isbn constraints equal isbn 3 3234567 publish document 3 instance document 4 book constrained document 4 isbn 4 isbn constraints equal isbn 4 4234567 publish document 4 instance document 5 computer sc
115. igure 18 Implicit subsumption relationsship detected by the reasoner In Figure 18 implicit subsumption relationships found by the reasoner are indicated 38 Oiled 3 5 RAE 8 has class worksfor 1 partofxt1 some haulage company 1 A e ee ee come hago eT has class drives 1 truck 1 AR Figure 19 Restrictions for the concept haulage truck driver In particular we consider the concept haulage truck driver Its restrictions are shown in Figure 19 39 f Class Hierarchy dog 1 erson 1 K cat liker 1 E dog liker 1 PE driver 1 F bus driver 1 E haulage truck driver 1 le lorry driver 1 E van driver 1 a grownup 1 kid 1 a pet owner 1 a El vegetarian 1 bone 1 brain 1 colour 1 company 1 haulage worker 1 E haulage truck driver 1 a a Figure 20 OilEd showing the concept hierarchy after the model is verified by the reasoner In Figure 20 we can see that for instance haulage truck driver is also subsumed by haulage worker and driver The reasoner is used to find these implicit subsumption relationships 40 Oiled 3 5 i has class _ drives 1 truck 1 has class works for 1 part of 1 some haulage company 1 Figure 21 Making implicit subsumption explicit committing reasoning results into the model OilEd can be used to commit implicit subsumption relationships found be the reasoner into the model see the tool bar If the augmented model
116. in function Description Declares the domain of a role Syntax role has domain RN C optional TBN tbox name current tbox Arguments RN role name C concept TBN TBox name attribute has domain function Description Declares the domain of an attribute Syntax attribute has domain AN C optional TBN tbox name current tboxx Arguments AN attribute name C concept TBN TBox name range macro Description Declares the range of a role Syntax range RN C goptional TBN tbox name current tbox Arguments RN role name C concept TBN TBox name 90 role has range function Description Declares the range of a role Syntax role has range RN C optional TBN tbox name current tbox Arguments RN role name C concept TBN TBox name attribute has range function Description Declares the range of an attribute Syntax attribute has range AN D optional TBN tbox name current tboxx Arguments AN attribute name C concept D either cardinal integer real complex or string implies role macro Description Defines a parent of a role Syntax implies role RN RN amp optional TBN tbox name current tbox Arguments RN role name RN parent role name TBN TBox name role has parent function Description Defines a parent of a role Syntax role has parent RN RN goptional TBN tbox name curren
117. indicates transitive roles the suffix D indicates the use of concrete domain language constructs 9 5 ABox Queries 116 abox consistent p function Description Checks if the ABox is consistent e g it does not contain a contradiction Syntax abox consistent p amp optional abor current abox Arguments abor ABox object Values Returns t if abox is consistent and nil otherwise abox consistent macro Description Checks if the ABox is consistent Syntax abox consistent amp optional ABN abox name current abox Arguments ABN ABox name Values Returns t if the ABox ABN is consistent and nil otherwise Remarks This macro uses abox consistent p check abox coherence function Description Checks if the ABox is consistent If there is a contradiction this function prints information about the culprits Syntax check abox coherence amp optional abor current abox stream standard output Arguments abor ABox object stream Stream object Values Returns t if abox is consistent and nil otherwise individual instance KRSS macro Description Checks if an individual is an instance of a given concept with respect to the current abox and its TBox Syntax individual instance IN C amp optional abor abox name current abox Arguments IN individual name C concept term abox ABox object Values Returns t if IN is an instance of C in abox and nil otherwise 117 individual
118. inition returns the definition compiled by RACER dur ing the absorption phase Syntax get concept definition CN goptional TBN tbox name current tbox Arguments CN concept name TBN TBox name Values A concept term Remarks The absorption process uses heuristics Changes to a TBox might have dra matic effects on the value returned by get concept definition Note that it might be useful to test whether the definition is primitive See the function concept primitive p RACER does not introduce new concept names for primitive definitions get concept definition 1 function Description Functional interface for get concept definition Syntax get concept definition 1 CN amp optional TBN tbox name current tbox Arguments CN concept name TBN TBox name Remarks The absorption process uses heuristics Changes to a TBox might have dra matic effects on the value returned by get concept negated definition Note that it might be useful to test whether the definition is primitive See the function concept primitive p RACER does not introduce new con cept names for primitive definitions Examples Assume the following TBox in tbox test implies top or a b c Then get concept negated definition c returns OR A B Thus RACER has transformed the GCI into the form implies not C OR A B which can be handled more effectively be lazy unfolding Note that the absorption process is heuristic RACER cou
119. instance p function Description Syntax Arguments Values Checks if an individual is an instance of a given concept with respect to an ABox and its TBox individual instance p IN C abor IN individual name C concept term abor ABox object Returns t if IN is an instance of C in abox and nil otherwise constraint entailed macro Description Syntax Arguments Values Remarks Checks a specified constraint is entailed by an ABox and its associated TBox constraint entailed constraint optional abor current aboxx constraint A constraint abor ABox object Returns t if abox the constraint and nil otherwise See Figure 3 1 for the syntax of the constraint argument constraint entailed p function Description Syntax Arguments Values Remarks Checks a specified constraint is entailed by an ABox and its associated TBox constraint entailed p constraint koptional abor current abox constraint A constraint abor ABox object Returns t if abox the constraint and nil otherwise See Figure 3 1 for the syntax of the constraint argument 118 individuals related macro Description Checks if two individuals are directly related via the specified role Syntax individuals related IN IN2 R optional abor current abox Arguments IN individual name of the predecessor IN individual name of the role filler R
120. ion Description Returns the names of all known ABoxes Syntax all aboxes Values List of ABox names 135 all individuals function Description Syntax Arguments Values Returns all individuals from the specified ABox all individuals optional abor current abox abor ABox object List of individual names all concept assertions for individual function Description Syntax Arguments Values See also Returns all concept assertions for an individual from the specified ABox all concept assertions for individual IN optional abor current abox IN individual name abor ABox object List of concept assertions Function all concept assertions on page 137 all role assertions for individual in domain function Description Syntax Arguments Values Remarks See also Returns all role assertions for an individual from the specified ABox in which the individual is the role predecessor all role assertions for individual in domain IN koptional abor current abox IN individual name abor ABox object List of role assertions Returns only the role assertions explicitly mentioned in the ABox not the inferred ones Function all role assertions on page 137 136 all role assertions for individual in range function Description Syntax Arguments Values See also Returns all role assertions for an individual f
121. is saved to a file it can then be processed by simple processing engines which are not based on description logics such as RACER 2 6 3 Using OilEd and Rice in Combination Let us assume RACER is started OilEd is connected to RACER and some knowledge base verifications on mad_cows dam1 have been performed OilEd uses the default knowledge base of RACER this is due to the DIG interface Then RICE is started The user can browse through the concept hierarchy of the default knowledge base 41 82 RACER Interactive CLIENT Environment RICE DEAR File Edit Tools Help Concepts Type a Concept Name to show exact matching only ABoxes ECN DEFAULT DEFAULT 4 http cohse semanticweb org ontologies people adult Instances Ihttp cohse semanticweb orgfontologies peoplextanimal 4 http cohse semanticweb org ontologies people bone 4 http cohse semanticweb org ontologies people brain 4 http cohse semanticweb org ontologies peoplextcolour 23 Ihttp cohse semanticweb orgfontologies peopleXtcompany 4 http cohse semanticweb org ontologies people elderly 4 http cohse semanticweb org ontologies people Female e a http cohse semanticweb org ontologies peopleX haulage worker Leo http cohse semanticweb org ontologies people haulage truck driver http cohse semanticweb orgfontologies people tleaf 4 http cohse semanticweb org ontologies people male http cohse semanticwe
122. isible AN cardinal gt aexpr aexpr gt aexpr aexpr lt aexpr aexpr lt aexpr aexpr lt gt aexpr aexpr aexpr aexpr string AN string string lt gt AN string string AN AN string lt gt AN AN string gt letter aexpr AN real aexpri aexpr1 aexpr1 Figure 26 RACER concrete domain concepts and attribute expressions and at least n R at most n R and exactly n R C is an abbreviation for the concept term and at least n R C at most n R C There are two concepts implicitly declared in every TBox the concept top T denotes the top most concept in the hierarchy and the concept bottom 1 denotes the inconsistent concept which is a subconcept to all other concepts Note that T 1 can also be expressed as C U C CMC In RACER T is denoted as top and L is denoted as bottom For KRSS compatibility reasons RACER also supports the synonym concepts top and bottom AT aexpr1 aexpr2 aexpr3 aexpri aexpr2 real AN AN of type real or complex real AN AN of type real or complex aexpr3 real AN AN of type complex integer aexpr4 aexpr4 aexpr4 AN AN of type complex expt AN n AN of type complex aexprd integer AN AN of type cardinal integer AN AN of type cardinal Figure 27 Specific expressions for predicates n gt 0 is a natural number Concrete domain concepts state concrete predicate
123. it subscriptions 170 init subscriptions 1 170 init tbox 66 instance 92 instantiators 131 inverse 89 inverse of role 89 kb ontologies 64 kb signature 76 knowledge base ontologies 64 load ABox 77 logging off 176 logging on 176 mirror 64 most specific instantiators 131 name set 121 number restriction 46 offline access to ontologies 64 owl read document 63 owl read file 63 primitive concept 49 publish 168 194 publish 1 168 racer read document 61 racer read file 61 range 90 range restriction 50 RDES 74 rdfs read tbox file 74 read DAML document 62 read DAML file 62 read OWL document 63 read OWL file 63 read RACER document 61 read RACER file 61 read RDFS TBox file 74 read XML TBox file 74 realize abox 114 reflexive p 106 reflexive 106 related 94 related individuals 134 rename ABox 79 rename TBox 73 restore abox image 173 restore aboxes image 173 restore kb image 174 restore kbs image 174 restore tbox image 172 restore tboxes image 173 retraction 56 retrieve concept instances 132 retrieve direct predecessors 135 retrieve individual attribute fillers 133 retrieve individual filled roles 135 retrieve individual fillers 133 retrieve related individuals 134 role hierarchy 50 role ancestors 125 role children 126 role descendants 125 role domain 107 role has domain 90 role has parent 91 role has range
124. ith the OilEd distri bution Start OilEd and open the example ontology mad_cows daml Then connect OilEd to RACER and verify the knowledge base 36 Oiled 3 5 grass 1 grownup 1 haulage company 1 haulage truck driver 1 haulage worker 1 kid 1 leaf 1 lorry 1 lorry driver 1 mad cow 1 magazine 1 man 1 newspaper 1 old lady 1 person 1 pet owner 1 Figure 17 Inconsistent class mad cow The result of the knowledge base verification process using RACER is displayed in Figure 17 The concept class mad cow is found to be inconsistent unsatisfiable 2The icon for the class mad cow is displayed with red color However this may be lost due to black and white printing Unsatisfiable concepts are also indicated by a circle rather than by a square as used for satisfiable concepts 37 hecking Unsatisfiable Classes mad cow Done Checking Classes hecking Subsumptions igiraffe gt vegetarian bus driver gt driver boy gt kid dog gt animal man gt grownup girl gt kid lorry driver gt driver animal lover gt pet owner idog owner gt pet owner dog owner gt dog liker white van man gt van driver van driver gt driver sheep gt vegetarian woman grownup old lady gt woman old lady gt cat owner aulage truck driver gt driver haulage truck driver gt haulage worker cat owner gt pet owner cat owner gt cat liker F
125. ities are rdfs daml and dig If the input file has one of these extensions the respective syntax for the input is assumed The syntax can be enforced with corresponding options instead of f rdfs daml and dig The option xml lt filename gt is provided for historical reasons The input syntax is the older XML syntax for description logic systems This syntax was developed for the FaCT system Horrocks 98 In the RACER Server output for query results based on this syntax is also printed using an XML based syntax However the old XML syntax of FaCT is now superseded by the DIG standard Therefore the RACER option xml may no longer be supported once the file interface fully supports the DIG standard for queries see above Currently the file interface of RACER supports only queries given in KRSS syntax How ever DIG based queries Bechhofer 02 can be specified indirectly with the file interface as well Let us assume a DIG knowledge base is given in the file kb xml and corresponding DIG queries are specified in the file queries xml In order to submit this file to RACER just create a file q racer say with contents dig read file queries xml and start RACER as follows racer dig kb xml q q racer Note the use of the option dig for specifying that the input knowledge base is in DIG syntax Since the le extension for the knowledge base is xml the option f wouldassume the older XML syntax for knowledge b
126. ity The idea of the publish subscribe system is to let users subscribe an instance retrieval query under a certain name the subscription name A subscribed query is answered as usual i e it is treated as an instance retrieval query The elements in the result set are by definition are only those individuals of the ABox in question that have been publised previously If information about a new individuals is added to an ABox and these individuals are published the set of subscription queries is examined If there are new elements in the result set of previous queries the publish function returns pairs of corresponding subscription and individual names 12 1 An Application Example The idea is illustrated in the following example taken from a document retrieval scenario In some of the examples presented below the result returned by RACER is indicated and discussed If the result of a statement is not discussed then it is irrelevant for understanding the main ideas of the publish subscribe mechanism First a TBox document ontology is declared in tbox document ontology define concrete domain attribute isbn define concrete domain attribute number of copies sold implies book document implies article document implies computer science document document implies computer science book and book computer science document implies compiler construction book computer science book implies and min number of cop
127. jects owl examples all pprj PEER EA It CS oo a oo pisia lolo aja CJ OWL Classes S Slots For i Relationship Superclass El PickyProfessor__ type OWL NAMED CLASS O THINGA Name asiatica SVSTEM CLASSA PickyProfessor Person 0 ProfessorM LazyProfessorM C PickyProfessorM Q E StudentM PostDac en GoodStudent Restrictions Template Slots H Pi z ARS uk po CE Restrictions ialelalelal is Course 5 Slot Restriction Filler Gender students Y allvaluesFrom PostDoc 1 411s Ss students 2 minCardinality students maxCardinality 4 phD hasValue true LE Tswerciassos VIC K Ecos Wc T oae E Expression E Expression Expression KO Professor Figure 24 A screenshot of the Prot g system Racer host ip and port that Prot g addresses When you hit the classify button the system will then invoke Racer When Racer has finished it will display a small report dialog to indicate how many new class relationships have been identifed Using the classifier may directly change the inheritance hierarchy displayed in the Prot g window 2 7 Naming Conventions Throughout this document we use the following abbreviations possibly subscripted C Concept term name Name of any sort CN Concept name S List of Asser
128. ks Initializes an existing ABox or generates a new ABox and binds it to the variable current abox During the initialization all assertions and the link to the referenced TBox are deleted init abox abor amp optional tbor current tbox abox ABox object to initialize tbox TBox object associated with the ABox abox The tbox has to already exist before it can be referred to by init abox 75 ensure abox signature function Description Defines the signature for an ABox and initializes the ABox Syntax ensure abox signature abor amp key individuals nil objects nil Arguments abor ABox object individuals is a list of individual names objects is a list of concrete domain object names See also Macro signature on page 68 is the macro counterpart It allows to specify a signature for an ABox and a TBox with one call abox signature function Description Gets the signature for an ABox Syntax abox signature optional ABN Arguments ABN is an ABox name kb signature function Description Gets the signature for a knowledge base Syntax kb signature amp optional KBN Arguments KBN is a name for a knowledge base current abox special variable Description The variable current abox refers to the current ABox object It is set by the function init abox or by the macros in abox and in knwoledge base Remarks The variable is only provided in the Lisp version Se
129. ld also transform the GCI into implies not B OR A C or something similar depending on the current version and strategy 113 get concept negated definition macro Description Optimized DL systems perform a static analysis of given terminological ax ioms The axioms of a TBox are usually transformed in such a way that processing promises to be faster In particular the idea is to transform GCIs into primitive concept definitions For a given concept name the function get concept negated definition returns the definition of the negated concept compiled by RACER during the absorption phase Syntax get concept negated definition CN optional TBN tbox name current tbox Arguments CN concept name TBN TBox name get concept negated definition 1 function Description Functional interface for get concept negated definition Syntax get concept negated definition 1 CN amp optional TBN tbox name current tbox Arguments CN concept name TBN TBox name 9 4 ABox Evaluation Functions realize abox function Description Syntax Arguments Values Remarks This function checks the consistency of the ABox and computes the most specific concepts for each individual in the ABox realize abox koptional abor current abox abor ABox object abox This Function needs to be executed before queries can be posed If the TBox has changed and is classified again the ABox has to be
130. ld of betty has child or retrieve x child of betty betty child of betty has child yields the error Racer Exception while submitting command Bad result variables given since neither x nor charles are referenced within the query body betty child of betty has child On the contrary it is possible to duplicate or reorder objects retrieve x x x x man yields X CHARLES X CHARLES X CHARLES which is a binding list containing a single triple Note that Charles is the only known man in the example KB Binary Constraint Query Atoms There is one more type of binary query atom which is related to the concrete domain part of a KB 142 Before we can proceed please load family 1 racer into your favorite text editor and modify the file as follows signature attributes integer age tindividuals alice betty charles doris eve That means add the attributes part and put a before individuals or kill this line Please see the note below for an explanation why this is necessary Then add at the end of the file the following assertions representing ages of the family members instance alice equal age 80 instance betty equal age 50 instance charles equal age 55 instance eve equal age 18 instance doris equal age 24 Every person should now have an age retrieve x x an age Racer replies X CHARLES X DORIS X BETTY
131. le interface The file family racer contains the TBox and ABox introduced in this section The queries are in the file family queries lisp If you use the RACER executable just type racer f family racer q family queries lisp in order to see the results see Section 2 5 for details on how to use RACER from a shell 333 the following forms are assumed to be contained in a 333 file RACER examples family tbox krss 333 initialize the TBox family in tbox family 333 supply the signature for this TBox signature atomic concepts person human female male woman man parent mother father grandmother aunt uncle sister brother roles has child parent has descendant has descendant transitive t has sibling has sister parent has sibling has brother parent has sibling has gender feature t 335 domain range restrictions for roles implies top all has child person implies some has child top parent implies some has sibling top or sister brother implies top all has sibling or sister brother implies top all has sister some has gender female implies top all has brother some has gender male 15 333 the concepts implies person and human some has gender or female male disjoint female male implies woman and person some has gender female implies man and person some has gender male equivalent parent and person some has child person equivale
132. macro Description Adds a concrete domain attribute assertion to an ABox Asserts that an individual is related with a concrete domain object via an attribute Syntax constrained IN ON AN Arguments IN individual name ON concrete domain object name as the filler AN attribute name Remarks Calls add attribute assertion Examples constrained eve temp eve temperature fahrenheit 8 Reasoning Modes auto classify special variable Description Possible values are lazy eager lazy verbose eager verbose nil Remarks This variable is available in the Lisp version only See also Section 3 8 on page 55 98 auto realize special variable Description Possible values are lazy eager lazy verbose eager verbose nil Remarks This variable is available in the Lisp version only See also Section 3 8 on page 55 9 Evaluation Functions and Queries 9 1 Queries for Concept Terms concept satisfiable macro Description Syntax Arguments Values Remarks Checks if a concept term is satisfiable concept satisfiable C amp optional tbox current tbox C concept term tbox TBox object Returns t if C is satisfiable and nil otherwise For testing whether a concept term is satisfiable with respect to a TBozx tboz If satisfiability is to be tested without reference to a TBox nil can be used concept satisfiable p function Description Syntax Arguments
133. mage abores filename Arguments abozes a list of abox names filename filename restore abox image function Description Restore an image of an Abox Syntax restore abox image filename Arguments filename filename restore aboxes image function Description Restore an image of a set of aboxes Syntax restore aboxes image filename Arguments filename filename 173 store kb image function Description Store an image of an kb Syntax store kb image filename amp optional KBN tbox name current tbox Arguments filename filename KBN kb name store kbs image function Description Store an image of a list of kbs Syntax store kbs image kbs filename Arguments kbs a list of knowledge base names filename filename restore kb image function Description Restore an image of an kb Syntax restore kb image filename Arguments filename filename restore kbs image function Description Restore an image of a set of kbs Syntax restore kbs image filename Arguments filename filename 174 14 The Racer Proxy The Racer Proxy is a program controlling the communication between multiple client pro grams and a Racer Server In addition the Racer Proxy provides new services for client programs The Racer Proxy is written in Java and is provided with source code for non commercial research purposes 14 1 Installation and Configuration 14 2 Multiuser Acces
134. me List of role terms This is the equivalent macro to the KRSS macro role offspring which is also supplied by the RACER system atomic role children function Description Syntax Arguments Values Gets all roles from the TBox that are directly subsumed by the given role in the role hierarchy atomic role children R thor R role term tbor TBox object List of role terms 126 role parents KRSS macro Description Syntax Arguments Values Gets the roles from the TBox that directly subsume the given role in the role hierarchy role parents R amp optional TBN tbox name current tbox R role term TBN TBox name List of role terms atomic role parents function Description Syntax Arguments Values Gets the roles from the TBox that directly subsume the given role in the role hierarchy atomic role parents R tbox R role term tbox TBox object List of role terms role synonyms KRSS macro Description Syntax Arguments Values Gets the synonyms of a role including the role itself role synonyms R optional TBN tbox name current tbox R role term TBN TBox name List of role terms atomic role synonyms function Description Syntax Arguments Values Gets the synonyms of a role including the role itself atomic role synonyms R tbox R role term tbox TBox object List of role te
135. me is taken or a new TBox with that name is generated and bound to the variable current tbox Syntax in tbox TBN amp key init t Arguments TBN is the name of the TBox init boolean indicating if the TBox should be initialized Values TBox object named TBN Remarks Usually this macro is used at top of a file containing a TBox This macro can also be used to create new TBoxes The specified TBox is the current tbox until in tbox is called again or the variable current tbox is manipulated directly Examples in tbox peanuts implies Piano Player Character See also Macro signature on page 68 init tbox function Description Syntax Arguments Values Remarks Generates a new TBox or initializes an existing TBox and binds it to the vari able current tbox During the initialization all user defined concept ax ioms and role declarations are deleted only the concepts top and bottom remain in the TBox init tbox tbor tbor TBox object tbox This is the way to create a new TBox object 66 signature macro Description Syntax Arguments Remarks Examples Defines the signature for a knowledge base If any keyword except individuals or objects is used the current tbox is initialized and the signature is defined for it If the keyword individuals or objects is used the current aboxx is initial ized If all keywords are used the current abox and its TBox are bo
136. mitive role children parents descendants implies and male female bottom equivalent man and male human equivalent woman and female human equivalent parent at least 1 children equivalent grandparent some children parent equivalent mother and woman parent equivalent father and man parent implies some descendants human human implies human all descendants human equivalent father having only male children and father human all children male equivalent father having only sons and man at least 1 children all children man equivalent grandpa and male some children and parent human equivalent great grandpa and male some children some children and parent human instance john male instance mary female related john james children related mary james children instance james and human male instance john at most 1 children individual direct types john individual direct types mary individual direct types james 185 D A Knowledge Base with Concrete Domains In this section we present another family knowledge base with concrete domains see the file family 3 racer in the examles folder in knowledge base family smith family signature atomic concepts human female male woman man parent mother father mother having only female children mother having only daughters mother with children mother with siblings mother having only sisters grandp
137. mp optional thor current tbox Arguments AN attribute name tbor TBox Values Fither cardinal integer real or complex all transitive roles function Description Returns all transitive roles from the specified TBox Syntax all transitive roles optional tbor current tbox Arguments thor TBox object Values List of transitive role terms describe tbox function Description Generates a description for the specified TBox Syntax describe tbox amp optional thor current tbox stream standard output Arguments thor TBox object or TBox name stream open stream object Values tbox The description is written to stream 129 describe concept function Description Syntax Arguments Values Generates a description for the specified concept used in the specified TBox or in the ABox and its TBox describe concept CN optional tbor or abor current tbox stream standard output tbox or abox TBox object or ABox object CN concept name stream open stream object tbox or abox The description is written to stream describe role function Description Syntax Arguments Values Generates a description for the specified role used in the specified TBox or ABox describe role R amp optional tbox or abor current tbox stream standard output tbox or abox TBox object or ABox object R role term or feature term str
138. mples family racer in knowledge base family smith family signature atomic concepts person human female male woman man parent mother father grandmother aunt uncle sister brother roles has descendant transitive t has child parent has descendant has sibling has sister parent has sibling has brother parent has sibling has gender feature t individuals alice betty charles doris eve 335 domain range restrictions for roles implies top all has child person implies some has child top parent implies some has sibling top or sister brother implies top all has sibling or sister brother implies top all has sister some has gender female implies top all has brother some has gender male 333 the concepts implies person and human some has gender or female male disjoint female male implies woman and person some has gender female implies man and person some has gender male equivalent parent and person some has child person equivalent mother and woman parent equivalent father and man parent equivalent grandmother and mother some has child some has child person equivalent aunt and woman some has sibling parent equivalent uncle and man some has sibling parent equivalent brother and man some has sibling person equivalent sister and woman some has sibling person 179 335 Alice is the mother
139. ms see the Workshops on description logics and the workshops on applications of description logics ADL 01 ADL 02 Without completeness one can summarize that applications come from the following areas e Semantic Web e Electronic Business e Medicine Bioinformatics e Natural Language Processing e Knowledge Based Vision e Process Engineering e Knowledge Engineering e Software Engineering 1 4 About this Document Developing a DL system is by no means a trivial task However due to our experiences writing a usable User s Guide for a DL system might be even more complex Writing this manual took much time We hope that you can make use of this manual although we know that there may be deficiencies If you have questions do not hesitate to ask if you find a bug send a note such that we can reproduce the problem or send us emails if you have any suggestions 13 1 5 Acknowledgments RACER has been developed with Macintosh Common Lisp from Digitool Inc The RACER server for Linux and Window is implemented with Lispworks from Xanalys Inc Testing was partly performed with Allegro Common Lisp from Franz Inc The XML based part of the input interface for RACER is implemented using the XML RDF RDFS DAML parser Wilbur written by Ora Lassila For more informa tion on Wilbur see http wilbur rdf sourceforge net In addition the HTTP server for the DIG interface of RACER is implemented with CL HTTP which is de veloped and owned by
140. name of the removed TBox and a list of names of option ally removed ABoxes Remarks Calls forget tbox Examples delete tbox smith family delete all tboxes function Description Delete all known TBoxes except the default TBox called default Usu ally this enables the garbage collector to recycle the memory used by these TBoxes Syntax delete all tboxes Values List containing the names of the removed TBoxes and a list of names of optionally removed ABoxes Remarks All ABoxes are also deleted 71 create tbox clone function Description Syntax Arguments Values Remarks Examples Returns a new TBox object which is a clone of the given TBox The clone keeps all declarations from its original but it is otherwise fresh i e new declarations can be added This function allows one to create new TBox versions without the need to reload the already known declarations create tbox clone thor amp key new name nil overwrite nil tbor is a TBox name or a TBox object new name if bound to a symbol this specifies the name of the clone A new unique name based on the name of tbox is generated otherwise overwrite if bound to t an existing TBox with the name given by new name is overwritten If bound to nil an error is signaled if a TBox with the name given by new name is found TBox object The variable current tbox is set to the result of this function create tbox clone my
141. ncept the TBox must be classified However for answering an instance retrieval query this is not necessary and therefore RACER does not classify the TBox in the stan dard inference mode but see the documentation of the special variable auto classify Nevertheless if multiple instance retrieval queries are to be answered by RACER it might be useful to have the TBox classified in order to be able to compute an index for query an swering Considering a single query RACER cannot determine whether computing an index is worth the required computational ressources Therefore RACER can be instructed about answering strategies for subsequent queries The corresponding functions are documented in this chapter compute index for instance retrieval function Description Let RACER create an index for subsequent instance retrieval queries wrt the specified ABox Syntax compute index for instance retrieval toptional ABN current abox Arguments ABN ABox object Remarks Computing an index requires the associated TBox be classified and the input ABox be realized Thus it may take some time for this function to complete Use the function abox realized p to check whether index based instance retrieval is enabled ensure subsumption based query answering function Description Instruct RACER to use caching strateties and to exploit query subsumption for answering instance retrieval queries Syntax ensure subsumption based
142. ndividual direct types eve SISTER 333 get all descendants of Alice CL USER 10 individual fillers alice has descendant DORIS EVE CHARLES BETTY 333 get all instances of the concept sister CL USER 11 concept instances sister DORIS BETTY EVE In the Appendix different versions of this knowledge base can be found In Appendix A on page 179 you find a version where the TBox and ABox are integrated All exam ple files and some additional ones see the appendix can also be found in the directory RACER examples 2 4 Open World Assumption and Unique Name Assumption As other description logic systems RACER employs the Open World Assumption OWA for reasoning This means that what cannot be proven to be true is not believed to be false Given the TBox and ABox of the previous subsection a standard pitfall would be to think that RACER is wrong considering its answer to the following query individual instance alice at most 2 has child RACER answers NIL However NIL does not means NO but just cannot be proven w r t the information given to RACER Absence of information w r t a third child is not inter preted as there is none this would be the Closed World Assumption CWA It might be the case that there is an assertion related alice william has child added to the ABox later on Thus the answer NIL is correct but has to be interpreted in the sense of cannot be proven Note that it is possible to ad
143. nition of current tbox save tbox function Description If a pathname is specified a TBox is saved to a file In case a stream is specified the TBox is written to the stream the stream must already be open and the keywords f exists and if does not exist are ignored Syntax save tbox pathname or stream koptional tbox current tbox amp key syntax krss transformed nil if exists supersede if does not exist create Curt ns0 Arguments pathname or stream is the pathname of a file or is an output stream tbor TBox object syntax indicates the syntax of the KB to be generated Possible values for the syntax argmument are krss the default xml or daml Note that only a KRSS like syntax is supported by RACER There fore instead of krss it is also possible to specify racer if exists specifies the action taken if a file with the specified name already exists All keywords for the Lisp function with open file are sup ported The default is supersede 69 if does not exist specifies the action taken if a file with the specified name does not yet exist All keywords for the Lisp function with open file are supported The default is create uri The keyword uri specifies the URI prefix for names It is only available if syntax daml is specified This argument is useful in combination with OilEd See the OilEd documentation nsO The keyword uri is also provided for generating DAML files t
144. ns0 has descendant rdf resource file c ralf family 2 doris gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 eve gt lt ns0 has sister rdf resource file c ralf family 2 doris gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 doris gt lt ns0 has sister rdf resource file c ralf family 2 eve gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 charles gt lt ns0 has sibling rdf resource file c ralf family 2 betty gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 betty gt lt ns0 has child rdf resource file c ralf family 2 eve gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 betty gt lt ns0 has child rdf resource file c ralf family 2 doris gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 alice gt lt ns0 has child rdf resource file c ralf family 2 charles gt lt rdf Description gt lt rdf Description rdf about file c ralf family 2 alice gt lt ns0 has child rdf resource file c ralf family 2 betty gt lt rdf Description gt lt rdf RDF gt 184 C Another Family Knowledge Base In this section we present another family knowledge base see the file family 2 racer in the examles folder in knowledge base family define primitive role descendants transitive t define pri
145. nt mother and woman parent equivalent father and man parent equivalent grandmother and mother some has child some has child person equivalent aunt and woman some has sibling parent equivalent uncle and man some has sibling parent equivalent brother and man some has sibling person equivalent sister and woman some has sibling person has brother has sibling has sister as descendant 4has child Figure 1 Role hierarchy for the family TBox r denotes the internally defined universal role denotes features x denotes transitive roles A cn ll Figure 2 Concept hierarchy for the family TBox 16 The RACER Session 333 load the TBox CL USER 1 load RACER examples family tbox krss 335 Loading RACER examples family tbox krss T 35 some TBox queries 333 are all uncles brothers CL USER 2 concept subsumes brother uncle T 333 get all super concepts of the concept mother 333 This kind of query yields a list of so called name sets nea which are lists of equivalent atomic concepts CL USER 3 concept ancestors mother PARENT WOMAN PERSON TOP TOP HUMAN 333 get all sub concepts of the concept man CL USER 4 concept descendants man UNCLE BOTTOM BOTTOM BROTHER FATHER 333 get all transitive roles in the TBox family CL USER 5 all transitive roles HAS DESCENDANT 333 the following forms are assume
146. o be processed with OilEd The keyword ns0 specifies the name of the OilEd namespace 0 This keyword is important for the ABox part If the value of uri is home user test the value of nsO should probably be home user Some experimentation might be necessary to find the correct values for uri and ns0 to be used with OilEd Values TBox object Remarks A file may contain several TBoxes The usual way to load a TBox file is to use the Lisp function load If the server version is used it must have been started with the option u in order to have this function available Examples save tbox project TBoxes tbox one lisp save tbox project TBoxes final tbox lisp find tbox tbox one if exists error forget tbox function Description Delete the specified TBox from the list of all TBoxes Usually this enables the garbage collector to recycle the memory used by this T Box Syntax forget tbox thor Arguments thor is a TBox object or TBox name Values List containing the name of the removed TBox and a list of names of option ally removed ABoxes Remarks All ABoxes referencing the specified TBox are also deleted Examples forget tbox smith family 70 delete tbox macro Description Delete the specified TBox from the list of all TBoxes Usually this enables the garbage collector to recycle the memory used by this TBox Syntax delete tbox TBN Arguments TBN is a TBox name Values List containing the
147. oe Be SROVE UDOKES IMACS geo ew a Pe ee Bo OB a Pe ESSTOLSG LDOS IMATE o ad ee Rae Be Ea hw a eS TESTOTECDOXAS MARS sk eer e a a hk Ee ee ae SLOLO ADORABLE o g Sacos a a RSM He eh ere e eS Stors aboyes inape o sdk eG paii ee ee CA See eS COSTOS ADO inapo o sil cae o i le Gh a ee a a ho de TES LOLE ADOXORSIMARO oe ee ee Re BO ee EY Roe ce SEOTE ED IMDRS uo hh ee a AP a BO BOR a Ps ETOES EBS 1IMBER oy oar a ee Be he ee SY prostore MAMAS art dt Spb os Ge A a Gos i ae he Ee GA ae EGSUORG KDSHImehe ccoo ee A Racer Proxy Installation and Configurations s gt se se r e a aa aata mhada a a a aa Multiuser Access to a Racer Server eee ee Load Balancing Using Multiple Racer Servers 2 Extension of the Publish Subscribe Mechanism Persistenty and Loafing 266 64 045 Pe ee ew heb Ged ee ee bo 15 Reporting Errors and Inefficiencies OT SOD ite a ee i A ek SB PORE UAE BLE ia ace eet eg GO eal ee SO fee Phe he ced 16 What comes next A Integrated Sample Knowledge Base B An Excerpt of the Family Example in DAML Syntax C Another Family Knowledge Base D A Knowledge Base with Concrete Domains 10 172 172 172 172 173 173 173 173 173 174 174 174 174 175 175 175 175 175 175 176 176 176 177 179 181 185 186 1 Introduction 1 1 Features The RACER system is a knowledge representation system that implements a highly op timized tableau calcul
148. omic concepts This is similar to the behavior of other DAML inference engines Currently DL systems can provide only an approximation for true nominals Note that reasoning is sound but still incomplete if daml one0f is used In RACER individuals used in class declarations are also represented in the ABox part of the knowledge base They are instances of a concept with the same name An example is appropriate to illustrate the idea Although the KRSS syntax implemented by RACER does not include one of as a concept building operator we use it here for demonstration purposes in knowledge base test implies c some r one of j instance i c 57 For those users more familiar with DAML we also give the DAML version of this knowledge base see file ex1 daml in the examples folder The file was created with OilEd lt xml version 1 0 encoding ISO 8859 1 gt lt rdf RDF xmlns daml http www daml org 2001 03 daml oi1 xmlns dc http purl org dc elements 1 1 xmlns oiled http img cs man ac uk oil oiled xmlns rdf http www w3 org 1999 02 22 rdf syntax ns xmlns rdfs http www w3 org 2000 01 rdf schema xmlns xsd http www w3 org 2000 10 XMLSchema gt lt daml Ontology rdf about gt lt dc lt dc lt dc lt dc lt dc title gt amp quot An Ontology amp quot lt dc title gt date gt lt dc date gt creator gt lt dc creator gt description gt lt dc description gt subject gt lt dc subje
149. on while submitting command Undefined individual name JANE in ABox SMITH FAMILY Binary Role Query Atoms Now let us consider a more complex example Suppose we are looking for all explicitly modeled mother child pairs in the ABox In the example KB the role has child is used We can therefore pose the following query retrieve mother child mother child has child Racer replies MOTHER BETTY CHILD DORIS MOTHER BETTY CHILD EVE C MOTHER ALICE CHILD BETTY MOTHER ALICE CHILD CHARLES The query expression mother child has child is an example of a so called binary query atom 141 If we are just interested in the children of Betty we could ask Racer like this retrieve child of betty betty child of betty has child and Racer replies CHILD OF BETTY DORIS CHILD OF BETTY EVE Actually we might use a role term instead of a simple role retrieve child of betty child of betty betty inv has child Again Racer replies CHILD OF BETTY DORIS CHILD OF BETTY EVE Actually we might use a role term instead of a simple role retrieve child of betty child of betty betty inv has child Again Racer replies CHILD OF BETTY DORIS CHILD OF BETTY EVE It should be noted that the list of result objects must be a subset of the objects which are actually used within the query body For example retrieve charles child of betty betty chi
150. oncept term not just a concept name Moreover a so called active domain semantics is employed for the variables variables can only be bound to explicitly present A Box individuals in the current ABox 139 Basically the result is the same for concept instances woman BETTY ALICE EVE DORIS Thus the unary query atom x woman has basically the same semantics as concept instances woman Suppose we just want to know if there are any known woman at all in the current ABox We could simply query retrieve x woman Racer replies T which means yes In this case the list of supplied result objects is empty Such a query never returns any bindings but only T or NIL true or false T is returned if any binding possibility has been found making the query body true and NIL otherwise It is also possible to use ABox individuals within queries Suppose we want to know if Betty is a woman we can pose the query retrieve betty woman Racer replies T and consequently for retrieve betty man Racer replies NIL 140 If ABox individuals are used as result objects they will be listed in the bindings as well retrieve betty betty woman Racer replies BETTY BETTY However for retrieve betty betty man Racer replies NIL If an ABox individual is used which is not present in the ABox Racer signals an error retrieve jane woman yields RACER Excepti
151. ons see define primitive role on page 86 for feature definitions see define primitive attribute on page 86 for attribute def initions see define concrete domain attribute on page 92 ensure tbox signature function Description Defines the signature for a TBox and initializes the TBox Syntax ensure tbox signature tbor amp key atomic concepts nil roles nil transitive roles nil features nil attributes nil Arguments thor is a TBox name or a TBox object atomic concepts is a list of all the concept names roles is a list of all role declarations transitive roles is a list of transitive role declarations features is a list of feature declarations attributes is a list of attributes declarations See also Definition of macro signature tbox signature function Description Gets the signature for a TBox Syntax tbox signature optional thor Arguments thor is a TBox name or a TBox object 68 current tbox special variable Description Remarks The variable current tbox refers to the current TBox object It is set by the function init tbox or by the macro in tbox The variable is only supported in the Lisp version of RACER In the server version use the function current tbox See also Definition of current tbox current t box function Description The function returns the value of the variable current tbox Syntax current tbox Arguments See also Defi
152. ox madcows and an associated ABox madcows daml read document function Description Syntax Arguments Examples A text document in DAML format e g produced OilEd is loaded from a web server and represented as a TBox and an ABox with appropriate declarations daml read document URL key init t verbose nil kb name nil URL is the URL of a text document init specifies whether the kb is initialized or extended the default is to re initialize the kb verbose specifies whether ignored triples are indicated the default is to just suppress any warning kb name specifies the name of the kb TBox and ABox The default is the document name specified in the URL argument without file type daml read document http www fh wedel de mo madcows daml reads the specified text document from the corresponding web server and creates a TBox madcows and an associated ABox madcows A file URL may also be specified daml read document file mo madcows daml 62 owl read file function Description A file in OWL format e g produced OilEd is loaded and represented as a TBox and an ABox with appropriate declarations Syntax owl read file pathname amp key init t verbose nil kb name nil Arguments pathname is the pathname of a file init specifies whether the kb is initialized or extended the default is to re initialize the kb verbose specifies whether ignored triples a
153. plicitly modeled child in the ABox X DORIS X EVE Equivalently the query retrieve x NIL x has parent could be used which yields the same result 153 Internally atoms such as x NIL has child are rewritten into unary atoms of the kind not x has known successor has child This explains why we mention them in this section of the manual Note that the atoms of type has known successor have already been introduced Negated Binary Role Query Atoms The NOT can also be applied in front of binary role query atoms In the following examples we will use the role has descendant which is transitive retrieve x y x y has descendant yields X CHARLES Y EVE X BETTY Y DORIS X BETTY Y EVE X ALICE Y DORIS X ALICE Y BETTY X ALICE Y EVE X ALICE Y CHARLES If we want to retrieve all tuples of persons that are currently not related by descendance i e such that Racer cannot prove that the two persons are related by descendance we can use the following query retrieve x y and mot x y has descendant not y x has descendant Racer replies X EVE Y DORIS X DORIS Y EVE X CHARLES Y DORIS X DORIS Y CHARLES X BETTY Y CHARLES X CHARLES Y BETTY Thus Eve and Doris are siblings as well as Betty and Charles In contrast Charles is the uncle of Doris 154 Suppose w
154. previously asserted 7 6 Concrete Domain Assertions add constraint assertion function Description Builds a concrete domain predicate assertion and adds it to an ABox Syntax add constraint assertion abor constraint Arguments abor ABox object constraint constraint form Remarks The syntax of concrete domain constraints is described in Section 3 1 page 45 and in Figure page Examples add constraint assertion find abox family gt temp eve 102 56 constraints macro Description This macro asserts a set of concrete domain predicates for concrete domain objects Syntax constraints amp body forms Arguments forms is a sequence of concrete domain predicate assertions Remarks Calls add constraint assertion The syntax of concrete domain con straints is described in Section 3 1 page 45 and in Figure page Examples constraints temp eve 102 56 temp doris 38 5 gt temp eve temp doris 97 add attribute assertion function Description Adds a concrete domain attribute assertion to an ABox Asserts that an individual is related with a concrete domain object via an attribute Syntax add attribute assertion abor IN ON AN Arguments abor ABox object IN individual name ON concrete domain object name as the filler AN attribute name Examples add attribute assertion find abox family eve temp eve temperature fahrenheit constrained
155. re added to the RACER system for historical reasons and for compatibility with KRSS These concept axioms are Primitive concept axioms state the subsumption relation between a concept name and a concept term DL notation CN E C RACER syntax define primitive concept CN C Concept definitions state the equality between a concept name and a concept term DL notation CN C RACER syntax define concept CN C Concept axioms may be cyclic in RACER There may also be forward references to con cepts which will be introduced with define concept or define primitive concept in subsequent axioms The terminology of a RACER TBox may also contain several axioms for a single concept So if a second axiom about the same concept is given it is added and does not overwrite the first axiom 3 3 Role Declarations In contrast to concept axioms role declarations are unique in RACER There exists just one declaration per role name in a knowledge base If a second declaration for a role is given 49 an error is signaled If no signature is specified undeclared roles are assumed to be neither a feature nor a transitive role and they do not have any superroles The set of all roles R includes the set of features F and the set of transitive roles R The sets F and R are disjoint All roles in a TBox may also be arranged in a role hierarchy The inverse of a role name RN can be either explicitly declared via the keyword inverse e g
156. re explained in detail publish macro Description Publish an ABox individual Syntax publish IN goptional ABN abox name current abox Arguments IN individual name ABN ABox name Values A list of tuples consisting of subscriber and individuals names publish 1 macro Description Functional interface for publish Syntax publish 1 IN optional ABN abox name current abox Arguments IN individual name ABN ABox name unpublish macro Description Withdraw a publish statement Syntax unpublish IN goptional ABN abox name current abox Arguments IN individual name ABN ABox name 168 unpublish 1 function Description Functional interface for unpublish Syntax unpublish 1 IN amp optional ABN abox name current abox Arguments IN individual name ABN ABox name subscribe macro Description Subscribe to an instance retrieval query Syntax subscribe subscriber name C optional ABN abox name current abox host port Arguments subscriber name subscriber name C concept term ABN ABox name host ip number of the host to which results are to be sent as a string port port number integer Values A list of tuples consisting of subscriber and individuals names subscribe 1 function Description Functional interface for subscribe Syntax subscribe 1 subscriber name C optional ABN abox name current abox host por
157. re indicated the default is to just suppress any warning kb name specifies the name of the kb TBox and ABox The default is the file specified in the pathname argument without file type Examples owl read file oiled ontologies madcows owl reads the file oiled ontologies madcows owl and creates a TBox madcows and an associated ABox madcows owl read document function Description A text document in OWL format e g produced OilEd is loaded from a web server and represented as a TBox and an ABox with appropriate declarations Syntax owl read document URL key init t verbose nil kb name nil Arguments URL is the URL of a text document init specifies whether the kb is initialized or extended the default is to re initialize the kb verbose specifies whether ignored triples are indicated the default is to just suppress any warning kb name specifies the name of the kb TBox and ABox The default is the document name specified in the URL argument without file type Examples owl read document http www fh wedel de mo madcows owl reads the specified text document from the corresponding web server and creates a TBox madcows and an associated ABox madcows A file URL may also be specified owl read document file mo madcows owl 63 mirror function Description If you are offline importing OWL or DAML ontologies may cause problems However editing documents and inserting local URLs for ontologi
158. realized too 114 abox realized p function Description Returns t if the specified ABox object has been realized Syntax abox realized p toptional abor current abox Arguments abor ABox object Values Returns t if abox has been realized and nil otherwise abox realized macro Description Returns t if the specified ABox object has been realized Syntax abox realized optional ABN abox name current abox Arguments ABN ABox name Values Returns t if ABN has been realized and nil otherwise abox prepared p function Description It is checked if internal index structures are already computed for the speci fied abox Syntax abox prepared p toptional abor current abox Arguments abor abox object Values Returns t if the specified abox has been processed to some extent otherwise it returns nil Remarks The function is used to determine whether Racer has spent some effort in processing the assertions of the abox abox prepared macro Description It is checked if internal index structures are already computed for the speci fied abox Syntax abox prepared amp optional TBN abox name current abox Arguments ABN abox name Values Returns t if the specified abox has been processed to some extent otherwise it returns nil Remarks The form is used to determine whether Racer has spent some effort in pro cessing the assertions of the abox 115
159. rms 127 all tboxes function Description Syntax Values Returns the names of all known TBoxes all tboxes List of TBox names all atomic concepts function Description Syntax Arguments Values Returns all atomic concepts from the specified TBox all atomic concepts amp optional tbor current tbox tbor TBox object List of concept names all equivalent concepts function Description Syntax Arguments Values XX all equivalent concepts amp optional thor current tbox tbox TBox object List of name sets all roles function Description Syntax Arguments Values Examples Returns all roles and features from the specified TBox all roles amp optional tbor current tbox tbox TBox object List of role terms all roles find tbox my tbox all features function Description Syntax Arguments Values Returns all features from the specified TBox all features amp optional tbor current tbox tbox TBox List of feature terms 128 all attributes function Description Returns all attributes from the specified TBox Syntax all attributes optional tbox current tbox Arguments thor TBox Values List of attributes names attribute type function Description Returns the attribute type declared for a given attribute name in a specified TBox Syntax attribute type AN a
160. role R is symmetric in TBN and nil otherwise reflexive p function Description Syntax Arguments Values Checks if R is reflexive in the specified TBox reflexive p R amp optional tbox current tbox R tbox role term TBox object Returns t if the role R is reflexive in tbox and nil otherwise reflexive macro Description Syntax Arguments Values Checks if R is reflexive in the specified TBox reflexive R amp optional TBN tbox name current tbox R TBN role term TBox name Returns t if the role R is reflexive in TBN and nil otherwise 106 atomic role inverse function Description Syntax Arguments Values Returns the inverse role of role term R atomic role inverse R tbox R role term tbox TBox object Role name or term for the inverse role of R role inverse macro Description Returns the inverse role of role term R Syntax role inverse R amp optional TBN tbox name current tbox Arguments R role term TBN TBox name Values Role name or term for the inverse role of R Remarks This macro uses atomic role inverse role domain macro Description Returns the domain of role name RN Syntax role domain RN amp optional TBN tbox name current tbox Arguments RN role name TBN TBox name Remarks This macro uses atomic role domain atomic role domain function Description Returns th
161. rom the specified ABox in which the individual is a role successor all role assertions for individual in range IN koptional abor current abox IN abozx individual name ABox object List of assertions Function all role assertions on page 137 all concept assertions function Description Syntax Arguments Values Returns all concept assertions from the specified ABox all concept assertions optional abor current abox abor ABox object List of assertions all role assertions function Description Syntax Arguments Values See also Returns all role assertions from the specified ABox all role assertions optional abor current abox abor ABox object List of assertions Function all concept assertions for individual on page 136 all constraints function Description Syntax Arguments Values Remarks Returns all constraints from the specified ABox which refer to a list of object names all constraints optional abox current abox ONs ABox object list of object names abox ONs List of constraints If ONs is not specified all constraints of the ABox are returned 137 all attribute assertions function Description Returns all attribute assertions from the specified ABox Syntax all attribute assertions amp optional abor current abox Arguments abor ABox object Values List of asser
162. ry ATOM lt lt 4 2 4 264 06 8 base A 151 10 3 4 Boolean Complex Queries o e 157 10 4 Formal Syntax of the ROL lt lt a e A Re ee es 158 10 5 Acknowledgments crm la e ee a a 159 11 Configuring Optimizations 160 compute index for instance retrieval 0 0 0 160 ensure subsumption based query answWeTing 160 12 The Publish Subscribe Mechanism 161 12 1 An Application Example 2 5 6 6 444 casa a ee es 161 12 2 Using JRacer for Publish and Subscribe 2 166 12 3 Realizing Local Closed World Assumptions 167 12 4 Publish and Subscribe Functions o e o 168 PELLIS 22 ba a o ARE Ee PANES a a A AA AS 168 Publish cia oe A A a A ee ea 168 ABU LL a vee Sage a oe Whe oh ws Gt eae ci ala ae a ae wt nn E 168 Unpublish certo dee ee EP ee RR eee ee Pe Ne A Bee eee 169 SUDSCDIDO is oi e bet Pa he AA 169 SUBSCIIDOTE oe ee Be ae Re Be A ee ah we ai ae aa 169 WHSUBSCTIDS 2 oe be eee ae EE eR ae a Oe ew we 170 PE saal ne SL ghee a A ee a RR eh ew oe we ee 170 13 The 14 The 14 1 14 2 14 3 14 4 14 5 init subscriptions cosas AR ER ee Ew Y ANTAGHSUDSERUPUPONS dos Bk eye ee GO A Ee A ee he is APAD PUDUTICACIONS pos gad koe See we eR oe a eel he BGA ML wes init p ublications l e s es ek eck kg Pe ek A ee we ee es CNSCK SUBEGEIPUTONS a okie Ae we AO A ek ee a ea Racer Persistency Services Store hok Image o ke ce a Be eR Me S
163. s the following types of queries are possible e Check the consistency of an ABox w r t a TBox Are the restrictions given in an ABox w r t a TBox too strong i e do they contradict each other Other queries are only possible w r t consistent ABoxes e Instance testing w r t an ABox and a TBox Is the object for which an individual stands a member of the set of objects described by a certain query concept The individual is then called an instance of the query concept e Instance retrieval w r t an ABox and a TBox Find all individuals from an ABox such that the objects they stand for can be proven to be a member of a set of objects described by a certain query concept e Computation of the direct types of an individual w r t an ABox and a TBox Find the most specific concept names from a TBox of which a given individual is an instance e Computation of the fillers of a role with reference to an individual e Check if certain concrete domains constraints are entailed by an ABox and a TBox 1 2 New Features in Version 1 7 7 Among others version 1 7 of the RACER system offers the following new features e Support for the DIG standard such that for instance graphical ontology editors such as OilEd Bechhofer et al 01 can be used with RACER as a reasoning engine e RACER 1 7 can directly read knowledge bases specified w r t the OWL DAML OIL RDFS or RDF standard although there are some restrictions on some OWL and DAML OIL
164. s as specified in the KRSS However a role being the conjunction of other roles can as well be expressed by using the role hierarchy cf Buchheit et al 93 The KRSS like declaration of the role define primitive role RN and RN RNo2 can be approximated in RACER by define primitive role RN parents RN RN 2 RACER offers the declaration of domain and range restrictions for roles These restric tions for primitive roles can be either expressed with GCIs see the examples in Figure 29 cf Buchheit et al 93 or declared via the keywords domain and range e g see the description of define primitive role in Section 7 3 page 86 50 KRSS DL notation define primitive role RN domain C A RN T CC define primitive role RN range D TE RN D RACER Syntax DL notation define primitive role RN domain C A RN T CC define primitive role RN range D TC Vv RN D Figure 29 Domain and range restrictions expressed via GCIs 3 4 Concrete Domains RACER supports reasoning over natural numbers N integers Z reals R complex numbers C and strings For different sets different kinds of predicates are supported linear inequations with order constraints and integer coefficients interval constraints linear inequations with order constraints and rational coefficients nonlinear multivariate inequations with integer coefficients Strings equality and inequality AAN Z For the users
165. s roas a Ge a a a 123 concept children o e sa apa aroi a ROR BLEA AG ee eee 124 atomic concept childr n ss yes e a EERI ERA 124 concept parents rec cra AAA E 124 atomic concept parents soo a a Ra we eS 124 r lLe dscendantsS gt s ioue sisa kaea kG p Le a 125 atomic role descendantS o os sipi srs e e See ee Se 125 Tole anGeSters scc uana i oe d a A O 125 atomic role ancestorS oa BOR a eA ae ee 126 Fole chalgren cocos rr ee Phe ERS Be dR ee ed ee we eR 126 atomic role children c cos si fuad eg a ER Ew RE Me eS 126 TOTEPATEMES io coe sdo Bienes Phe Dae Re ea ee we 127 atomic ro0le parents con 102 000 eos ees 127 o o sa acy ne ee ee ea ee ae A a A a 127 ALOMLe rOle SynONyMS oe ee ie RR ee Re ke eke 127 aLli EDOXOS i o e cw Re eee a Pee ee Ea A es 128 all atomic concepts cb bb aa See Se a ee a SS 128 ell equavalent COnGepts os eee ee ge he es es 128 a oc ne he ek ae KE HR eR ee eR eee eee ee ee 128 all features lt dace ds See eee oe bee Pee ae wae ee ea 128 al ISOTERIULES 2 04 4 6 SS a e BR ee EE Ge ee R 129 ALLELDULSSENDE eroas ce Be BR ee ee de eo es 129 all transitive roles cocos See ed ee ESA A 129 al e o ke oe SG ED Se Oe Ee Se eS ee ES BS 129 doci bO COMEDOR on Gon Ee ee pee Ep ge oh Be ae es Ge A he es 130 deSELIDO ICTS o o dec fae He Awe EEE AR A ee 130 ABox Retrieyal s pateras 548 a oo ae PAD Doe GS 130 individual direct types 2 64542 ees piaia a ee ee 130 most specific instantiators ec ek ek
166. s to a Racer Server 14 3 Load Balancing Using Multiple Racer Servers 14 4 Extension of the Publish Subscribe Mechanism 14 5 Persistency and Logging 175 15 Reporting Errors and Inefficiencies Although RACER has been used in some application projects and version 1 7 has been extensively tested it might be the case that you detect a bug In this case please send us the knowledge base together with the query It would be helpful if the knowledge base were stripped down to the essential parts to reproduce that bug Before submitting a bug report please make sure to download the latest version of RACER Sometimes it might happen that answering times for queries do not correspond adequately to the problem that is to be solved by RACER If you expect faster behavior please do not hesitate to send us the application knowledge base and the query or queries that cause problems The following function provide a way for you to collect the statements sent to the RACER server logging on macro Description Start logging of expressions to the Racer server Syntax logging on filename Arguments filename filename Values None Remarks RACER must have been startedin unsafe mode option u to use this facility Logging is only available in the RACER server version logging off macro Description Start logging of expressions to the Racer server Syntax logging off Arguments Values None Remarks Logging is only a
167. se the unique name assumption holds in RACER all individuals are mapped to distinct domain objects by definition Thus the function is es sentially a no op This function is supplied to be compatible with the KRSS specification state KRSS macro Description This macro asserts a set of ABox statements Syntax state amp body forms Arguments forms is a sequence of instance or related assertions Remarks This macro is supplied to be compatible with the KRSS specification It realizes an implicit progn for assertions forget macro Description This macro retracts a set of TBox ABox statements Note that statement to be forgotten must be literally identical to the ones previously asserted i e only explicitly given information can be forgotten Syntax forget kkey tbox current tbox abox current abox amp body forms Arguments forms is a sequence of assertions Remarks For answering subsequent queries the index structures for the TBox ABox will probably be recomputed i e some queries might take some time e g those queries that require the reclassification of the TBox or realization of the ABox Examples forget tbox family implies c d implies a b forget abox smith family instance i d 96 forget statement function Description Functional interface for the macro forget Syntax forget statement thor abor krest statements Arguments thor TBox tbox ABox statements statement
168. sertion from an ABox Syntax forget role assertion abor IN IN2 R Arguments abor ABox object IN individual name of the predecessor IN individual name of the filler R role term Values abox Remarks For answering subsequent queries the index structures for the ABox will be recomputed i e some queries might take some time e g those queries that require the realization of the ABox Examples forget role assertion find abox peanuts characters Charlie Brown Snoopy has pet forget role assertion find abox peanuts characters Linus Lucy inv has brother forget disjointness axiom function Description This function is used to forget declarations with define disjoint primitive concept Syntax forget disjointness axiom tbox CN group name Arguments thor TBox object CN concept name group name name of the disjointness group forget disjointness axiom statement function Description This function is used to forget statements of the form disjoint a b c Syntax forget disjointness axiom statement thor amp rest concepts Arguments thor TBox object concepts List of concepts 95 define distinct individual KRSS macro Description This statement asserts that an individual is distinct to all other individuals in the ABox Syntax define distinct individual IN Arguments IN name of the individual Values IN Remarks Becau
169. sing time it might be better to just classify a TBox before answering a query eager inference mode A similar strategy is applied if the computation of the direct types of individuals is requested RACER requires as precondition that the corresponding TBox has to be classified If the lazy inference mode is enabled only the individuals involved in a direct types query are realized The inference behavior of RACER can be controlled by setting the value of the variables auto classify and auto realize for TBox and ABox inference respectively The lazy inference mode is activated by setting the variables to the keyword lazy Eager inference behavior can be enforced by setting the variables to eager The default value for each variable is lazy verbose which means that RACER prints a progress bar in order to indicate the state of the current inference activity if it might take some time If you want this for eager inferences use the value eager verbose If other values are encountered the user is responsible for calling necessary setup functions not recommended 5These roles are treated as roles that are neither a feature nor transitive and do not have any superroles New items are added to the TBox Note that this might lead to surprising query results e g the set of subconcepts for T contains concepts not mentioned in the TBox in any concept axiom Therefore we recommend to use a signature declaration see below These concep
170. sius 38 5 equivalent seriously ill human and human gt temperature celsius 42 0 Obviously RACER determines that the concept seriously ill human is subsumed by human with feaver For the reals RACER supports linear equations and inequations Thus we could add the following statement to the knowledge base in order to make sure the relations between the two attributes temperature fahrenheit and temperature celsius is properly represented implies top temperature fahrenheit 1 8 temperature celsius 32 If a concept seriously ill human 1 is defined as equivalent seriously ill human 1 and human gt temperature fahrenheit 107 6 RACER recognizes the subsumption relationship with human with feaver and the syn onym relationship with seriously ill human In an ABox it is possible to set up constraints between individuals This is illustrated with the following extended ABox signature atomic concepts teenager roles attributes individuals eve doris objects temp eve temp doris constrained eve temp eve temperature fahrenheit constrained doris temp doris temperature celsius constraints temp eve 102 56 temp doris 39 5 For instance this states that eve is related via the attribute temperature fahrenheit to the object temp eve The initial constraint temp eve 102 56 specifies that the object temp eve is equal to 102 56 52 Now asking for the direct types o
171. specifying concept axioms The dif ferent concept axioms were already introduced in section 3 2 Please note that the concept axioms define primitive concept define concept and define disjoint primitive concept have the semantics given in the KRSS specification only if they are the only concept axiom defining the concept CN in the terminology This is not checked by the RACER system 81 implies macro Description Defines a GCI between C and Ca Syntax implies Ci C Arguments Ci C2 concept term Remarks C states necessary conditions for C2 This kind of facility is an addendum to the KRSS specification Examples implies Grandmother and Mother Female implies and some has sibling Sister some has sibling Twin exactly 1 has sibling and Twin all has sibling Twin sister equivalent macro Description States the equality between two concept terms Syntax equivalent Ci C2 Arguments Ci C2 concept term Remarks This kind of concept axiom is an addendum to the KRSS specification Examples equivalent Grandmother and Mother some has child Parent equivalent and polygon exactly 4 has angle and polygon exactly 4 has edges disjoint macro Description This axiom states the disjointness of a set of concepts Syntax disjoint CN CN Arguments CN CN concept names Examples disjoint Yellow Red Blue disjoint January February November December 82
172. t Arguments subscriber name subscriber name C concept term ABN ABox name host ip number of the host to which results are to be sent as a string port port number integer 169 unsubscribe macro Description Retract a subscription Syntax unsubscribe subscriber name goptional C ABN abox name current aboxx Arguments subscriber name subscriber name C concept term ABN ABox name unsubscribe 1 function Description Functional interface for unsubscribe Syntax unsubscribe subscriber name amp optional C ABN abox name current abox Arguments subscriber name subscriber name C concept term ABN ABox name init subscriptions macro Description Initialize the subscription database Syntax init subscriptions amp optional ABN abox name xcurrent abox Arguments ABN ABox name init subscriptions 1 function Description Functional interface for init subscriptions Syntax init subscriptions 1 amp optional ABN abox name xcurrent abox Arguments ABN ABox name 170 init publications macro Description Syntax Arguments Initialize the set of published individuals init publications amp optional ABN abox name current abox ABN ABox name init publications 1 function Description Syntax Arguments Functional interface for init subscription init publications amp optional ABN abox name
173. t concepts for the specified concept in the given TBox atomic concept synonyms CN tbox CN tbox concept name TBox object List of concept names The name CN is included in the result Function concept equivalent p on page 101 concept descendants KRSS macro Description Syntax Arguments Values Remarks Gets all atomic concepts of a TBox which are subsumed by the specified concept concept descendants C optional TBN tbox name current tbox C TBN concept term TBox name List of name sets This macro return the transitive closure of the macro concept children 122 atomic concept descendants function Description Syntax Arguments Values Remarks Gets all atomic concepts of a TBox which are subsumed by the specified concept atomic concept descendants C thor C concept term tbox TBox object List of name sets Returns the transitive closure from the call of atomic concept children concept ancestors KRSS macro Description Syntax Arguments Values Remarks Gets all atomic concepts of a TBox which are subsuming the specified con cept concept ancestors C optional TBN tbox name current tbox C concept term TBN TBox name List of name sets This macro return the transitive closure of the macro concept parents atomic concept ancestors function Description Syntax Arguments
174. t gt lt oiled creationDate gt lt CDATA 2002 09 27T19 17 36Z gt lt o0iled creationDate gt lt oiled creator gt lt CDATA MO gt lt oiled creator gt lt rd type gt lt daml Class rdf about file C Ralf Ind Examples ex1 daml c gt lt rdf type gt lt rdf Description gt lt rdf Description rdf about file C Ralf Ind Examples ex1 daml j gt lt rdfs comment gt lt CDATA gt lt rdfs comment gt lt oiled creationDate gt lt CDATA 2002 09 27T19 09 36Z gt lt oiled creationDate gt lt oiled creator gt lt CDATA MO gt lt oiled creator gt lt rdf type rdf resource http www daml org 2001 03 daml oil Thing gt lt rdf Description gt lt rdf RDF gt Dealing with indviduals is done by an approximation such that reasoning is sound but must remain incomplete The following examples demonstrate the effects of the approximation Given this knowledge base asking for the role fillers of r w r t i returns nil Note that DAML names must be enclosed with bars individual fillers file C Ralf Ind Examples ex1 daml i file C Ralf Ind Examples ex1 daml R NIL Asking for the instances of j returns j concept instances file C Ralf Ind Examples ex1 daml1 j file C Ralf Ind Examples ex1 daml j The following knowledge base for the DAML version see file ex2 daml in the examples folder is inconsistent in knowledge base test implies c all r one
175. t tbox Arguments RN role name RN2 parent role name TBN TBox name 91 7 4 Concrete Domain Attribute Declaration define concrete domain attribute macro Description Defines a concrete domain attribute Syntax define concrete domain attribute AN key type domain Arguments AN _ attribute name type can be either bound to cardinal integer real complex or string The type must be supplied domain a concept describing the domain of the attribute Remarks Calls add role axioms Examples define concrete domain attribute has age type integer define concrete domain attribute has weight type real See also Macro signature on page 68 and Section 3 5 7 5 Assertions instance KRSS macro Description Builds a concept assertion asserts that an individual is an instance of a concept Syntax instance IN C Arguments IN individual name C concept term Examples instance Lucy Person instance Snoopy and Dog Cartoon Character 92 add concept assertion function Description Builds an assertion and adds it to an ABox Syntax add concept assertion abor IN C Arguments abor ABox object IN individual name C concept term Values abor Examples add concept assertion find abox peanuts characters Lucy Person add concept assertion find abox peanuts characters Snoopy and Dog Cartoon Character forget concept assertion function Description Retra
176. te exists restriction JA min min A z with z Z JA maz max A z JA z equal A z Real predicate exists restriction 4Ay An P P aexpr aexpr with P gt gt lt lt An all restriction of the form VA1 An P is currently not directly supported However it can be expressed as disjunction VA1 Lp U lt U YAn Lp U JA1 An P 48 3 2 Concept Axioms and Terminology RACER supports several kinds of concept axioms General concept inclusions GCIs state the subsumption relation between two concept terms DL notation Ci E Ca RACER syntax implies C C Concept equations state the equivalence between two concept terms DL notation Ci Ca RACER syntax equivalent C C3 Concept disjointness axioms state pairwise disjointness between several concepts Dis joint concepts do not have instances in common DL notation Cy E 7 C2U C3 U Ch Cy E A C3U M Cn Cn 1 E Cn RACER syntax disjoint Ci Cn Actually a concept equation C1 C gt can be expressed by the two GCIs Ci E Co and Cy E Ci The disjointness of the concepts C1 Cn can also be expressed by GCIs There are also separate forms for concept axioms with just concept names on their left hand sides These concept axioms implement special kinds of GCIs and concept equations But concept names are only a special kind of concept terms so these forms are just syntactic sugar They a
177. ted at the server computer By default these functions are not provided by the RACER Server If you would like your RACER Server to support these features startup RACER with the option u for unsafe If RACER is used in the server mode the option init lt filename gt defines an initial file to be processed before the server starts up For instance an initial knowledge base can be loaded into RACER before clients can connect Sometimes using the option verbose is useful for debugging purposes Use the option h to get the list of possible options and a short explanation The option n allows for removing the prex of the default namespace as dened for DAML les See Chapter 4 for details 2 6 Graphical Client Interfaces In this section we present graphical client interfaces for the RACER Server The examples require that RACER be started with the option u The first interface is the RICE sys tem which comes with the RACER distribution Afterwards a short presentation of the OilEd system Bechhofer et al 01 with RACER as a backend reasoner is given Then the coordinated use of OilEd and RICE is sketched 2 6 1 RICE RICE is an acronym for RACER Interactive Client Environment and has been de veloped by Ronald Cornet from the Academic Medical Center in Amsterdam RICE 23 is provided with source code and uses the JRACER system see above The exe cutable version is provided as a jar file Newer versions of RICE can be found at
178. th initialized signature key atomic concepts nil roles nil transitive roles nil features nil Cattributes nil individuals nil Cobjects nil atomic concepts is a list of all the concept names specifying C roles is a list of role declarations transitive roles is a list of transitive role declarations features is a list of feature declarations attributes is a list of attributes declarations individuals is a list of individual names objects is a list of object names Usually this macro is used at top of a file directly after the macro in knowledge base in tbox or in abox Actually it is not necessary in RACER to specify the signature but it helps to avoid errors due to typos Signature for a TBox signature atomic concepts Character Baseball Player roles has pet has dog parents has pet domain human range dog has coach feature t attributes integer has age real has weight Signature for an ABox signature individuals Charlie Brown Snoopy objects age of snoopy 67 Signature for a TBox and an ABox signature atomic concepts Character Baseball Player roles has pet has dog parents has pet domain human range dog has coach feature t attributes integer has age real has weight individuals Charlie Brown Snoopy objects age of snoopy See also Section Sample Session on page 15 and page 17 For role definiti
179. tion Syntax Arguments Values Checks if R is a feature in the specified TBox feature R optional TBN tbox name current tbox R TBN role term TBox name Returns t if the role R is a feature in TBN and nil otherwise cd attrib function ute p Description Syntax Arguments Values Checks if AN is a concrete domain attribute in the specified TBox cd attribute p AN optional tbox current tbox AN tbox attribute name TBox object Returns t if AN is a concrete domain attribute in thor and nil otherwise cd attrib ute macro Description Syntax Arguments Values Checks if AN is a concrete domain attribute in the specified TBox cd attribute AN amp optional TBN tbox name current tbox AN TBN attribute name TBox name Returns t if the role AN is a concrete domain attribute in TBN and nil otherwise 105 symmetric p function Description Syntax Arguments Values Checks if R is symmetric in the specified TBox symmetric p R optional tbox current tbox R tbox role term TBox object Returns t if the role R is symmetric in tbor and nil otherwise symmetric macro Description Syntax Arguments Values Checks if R is symmetric in the specified TBox symmetric R optional TBN tbox name current tbox R TBN role term TBox name Returns t if the
180. tions IN Individual name GNL List of group names ON Object name LCN List of concept names R Role term abor ABox object RN Role name tbor TBox object AN Attribute name n A natural number ABN ABox name real A real number TBN TBox name integer An integer number KBN knowledge base name string A string All names are Lisp symbols the concepts are symbols or lists Please note that for macros in contrast to functions the arguments should not be quoted 44 The API is designed to the following conventions For most of the services offered by RACER macro interfaces and function interfaces are provided For macro forms the TBox or ABox arguments are optional If no TBox or ABox is specified the current tbox or current abox is taken respectively However for the functional counterpart of a macro the TBox or ABox argument is not optional For functions which do not have macro coun terparts the TBox or ABox argument may or may not be optional Furthermore if an argument tbox or abox is specified in this documentation a name a symbol can be used as well Functions and macros are only distinguished in the Lisp version Macros do not evaluate their arguments If you use the RACER server you can use functions just like macros Arguments are never evaluated 3 RACER Knowledge Bases In description logic systems a knowledge base is consisting of a TBox and an ABox The conceptual knowledge is represented in the TBox and the knowledge about t
181. tions describe abox function Description Generates a description for the specified ABox Syntax describe abox amp optional abox current abox stream standard output Arguments abor ABox object stream open stream object Values abor The description is written to stream describe individual function Description Generates a description for the individual from the specified ABox Syntax describe individual N optional abor current abox stream standard output Arguments IN individual name abox ABox object stream open stream object Values IN The description is written to stream 138 10 3 The Racer Query Language RQL In this section of the manual we will describe an extended query language for Racer called RQL for Racer Query Language The RQL can be seen as a straightforward extension and combination of the ABox querying mechanisms already described in chapter 10 2 Users who are familiar with the basic ABox retrieval functions of Racer will easily understand the new RQL Unlike the ABox retrieval function described in Chapter 10 2 the RQL allows the use of variables within queries as well as much more complex queries The variables in the queries are to be bound against those ABox individuals that satisfy the specified query Queries will make use of concept and role terms also the current TBox is taken into account However it is possible to use ABox individuals in query expressions as well ABox
182. to be compatible with the KRSS individual p function Description Checks if IN is a name of an individual mentioned in an ABox aboz Syntax individual p IN amp optional abox current abox Arguments IN individual name abor ABox object Values Returns t if JN is a name of an individual and nil otherwise individual macro Description Checks if IN is a name of an individual mentioned in an ABox ABN Syntax individual IN optional ABN abox name current abox Arguments IN individual name ABN ABox name Values Returns t if JN is a name of an individual and nil otherwise cd object p function Description Checks if ON is a name of a concrete domain object mentioned in an ABox abo Syntax cd object p ON amp optional abor current abox Arguments ON concrete domain object name abor ABox object Values Returns t if ON is a name of a concrete domain object and nil otherwise 120 cd object macro Description Checks if ON is a name of a concrete domain object mentioned in an ABox ABN Syntax cd object ON optional ABN abox name current abox Arguments ON concrete domain object name ABN ABox name Values Returns t if ON is a name of a concrete domain object and nil otherwise 10 Retrieval If the retrieval refers to concept names RACER always returns a set of names for each concept name A so called name set contains all synonyms of
183. ts Values Gets all individuals from an ABox that are instances of the specified concept concept instances C optional ABN abox name current abox candidates C concept term ABN ABox name candidates a list of individual names List of individual names retrieve concept instances function Description Gets all individuals from an ABox that are instances of the specified concept Syntax retrieve concept instances C abor candidates Arguments C concept term abox ABox object candidates a list of individual names Values List of individual names individual fillers KRSS macro Description Gets all individuals that are fillers of a role for a specified individual Syntax individual fillers IN R optional ABN abox name current aboxx Arguments IN individual name of the predecessor R role term ABN ABox name Values List of individual names Examples individual fillers Charlie Brown has pet individual fillers Snoopy inv has pet 132 retrieve individual fillers function Description Gets all individuals that are fillers of a role for a specified individual Syntax retrieve individual fillers IN R abor Arguments IN individual name of the predecessor R role term abor ABox object Values List of individual names Examples retrieve individual fillers Charlie Brown has pet find abox peanuts characters individual attribute fillers macro D
184. ts are assumed to be atomic concepts 55 We recommend that TBoxes and ABoxes should be kept in separate files If an ABox is revised by reloading or reevaluating a file there is no need to recompute anything for the TBox However if the TBox is placed in the same file reevaluating a file presumably causes the TBox to be reinitialized and the axioms to be declared again Thus in order to answer an ABox query recomputations concerning the TBox might be necessary So if different ABoxes are to be tested they should probably be located separately from the associated TBoxes in order to save processing time During the development phase of a TBox it might be advantageous to call inference services directly For instance during the development phase of a TBox it might be useful to check which atomic concepts in the TBox are inconsistent by calling check tbox coherence This service is usually much faster than calling classify tbox However if an application prob lem can be solved for example by checking whether a certian ABox is consistent or not see the function abox consistent p it is not necessary to call either check tbox coherence or classify tbox For all queries RACER ensures that the knowledge bases are in the ap propriate states This behavior usually guarantees minimum runtimes for answering queries 3 9 Retraction and Incremental Additions RACER offer constructs for retracting TBox axioms see the function forget statement
185. uments Values Remarks Gets all roles from the TBox that the given role subsumes role descendants R optional TBN tbox name current tbox R role term TBN TBox name List of role terms This macro is the transitive closure of the macro role children atomic role descendants function Description Syntax Arguments Values Remarks Gets all roles from the TBox that the given role subsumes atomic role descendants R tbox R role term tbox TBox object List of role terms This function is the transitive closure of the function atomic role descendants role ancestors KRSS macro Description Syntax Arguments Values Gets all roles from the TBox that subsume the given role in the role hierar chy role ancestors R optional TBN tbox name current tboxx R role term TBN TBox name List of role terms 125 atomic role ancestors function Description Syntax Arguments Values Gets all roles from the TBox that subsume the given role in the role hierar chy atomic role ancestors R tbox R role term tbox TBox object List of role terms role children macro Description Syntax Arguments Values Remarks Gets all roles from the TBox that are directly subsumed by the given role in the role hierarchy role children R optional TBN tbox name current tbox R role term TBN TBox na
186. us for a very expressive description logic It offers reasoning services for multiple TBoxes and for multiple ABoxes as well The system implements the descrip tion logic ACCQHT p also known as SHTQ see Horrocks et al 2000 This is the basic logic ALC augmented with qualifying number restrictions role hierarchies inverse roles and transitive roles In addition to these basic features RACER also provides facilities for algebraic reasoning including concrete domains for dealing with e min max restrictions over the integers e linear polynomial in equations over the reals or cardinals with order relations e nonlinear multivariate polynomial in equations over complex numbers e equalities and inequalities of strings RACER supports the specification of general terminological axioms A TBox may contain general concept inclusions GCIs which state the subsumption relation between two con cept terms Multiple definitions or even cyclic definitions of concepts can be handled by RACER RACER implements the HTTP based quasi standard DIG for interconnecting DL systems with interfaces and applications using an XML based protocol Bechhofer 02 RACER also implements most of the functions specified in the older Knowledge Representation System Specification KRSS for details see Patel Schneider and Swartout 93 RACER has been initially developed at the University of Hamburg Germany RACER is actively supported and future releases are de
187. vailable in the RACER server version 176 16 What comes next Future releases of RACER will provide e Role equality in particular for the DAML interface e Feature chains for ALC D knowledge bases e Feature chain equality for ALCF D knowledge bases e Support for default reasoning and support for iteratively finding models for concepts and ABoxes e Support for additional datatypes in DAML and OWL e Support for complete reasoning on SHOQ knowledge bases e Option to switch off the unique name assumption in ABoxes e Support for exporting and importing knowledge bases to and from the XMI for mat used by UML based software engineering tools see Figure 30 Although UML can represent only part of e g DAML knowledge bases even just exporting class hiearchies using XMI might be interesting because with tools such as ArgoUML see Figure 30 Java code can be generated and models based on description logic may be used in Java based environments The order in this list says nothing about priority 177 WMS untitladMo da class diagram 1 use case diagiam 1 H fahe E parent B father having onlp sons H mother ala e 10 olf de A iherhaving only son E Figure 30 Concept hierarchy for the family TBox in ArgoUML 178 A Integrated Sample Knowledge Base This section shows an integrated version of the family knowledge base 333 the following forms are assumed to be contained in a 333 file RACER exa
188. veloped at Concordia University in Montreal Canada and at the University of Applied Sciences in Wedel near Hamburg Germany Given a TBox various kinds of queries can be answered Based on the logical semantics of the representation language different kinds of queries are defined as inference problems hence answering a query is called providing inference service As a summary we list only the most important ones here e Concept consistency w r t a TBox Is the set of objects described by a concept empty e Concept subsumption w r t a TBox Is there a subset relationship between the set of objects described by two concepts e Find all inconsistent concepts mentioned in a TBox Inconsistent concepts might be the result of modeling errors e Determine the parents and children of a concept w r t a TBox The parents of a concept are the most specific concept names mentioned in a TBox which subsume the concept The children of a concept are the most general concept names mentioned in a RACER stands for RenamedABox and Concept Expression Reasoner 11 TBox that the concept subsumes Considering all concept names in a TBox the parent or children relation defines a graph structure which is often referred to as taxonomy Note that some authors use the name taxonomy as a synonym for ontology Note that whenever a concept is needed as an argument for a query not only predefined names are possible If also an ABox is given among other
189. wise it returns nil Cyclic GCIs can be given either directly as a GCI or can implicitly result from processing for instance disjointness axioms tbox coherent p function Description Syntax Arguments Values Remarks This function checks if there are any unsatisfiable atomic concepts in the given TBox tbox coherent p amp optional tbox current tbox tbox TBox object Returns nil if there is an inconsistent atomic concept otherwise it returns t This function calls check tbox coherence if necessary tbox coherent macro Description Syntax Arguments Values Remarks Checks if there are any unsatisfiable atomic concepts in the current or spec ified TBox tbox coherent koptional TBN tbox name current tbox TBN TBox name Returns t if there is an inconsistent atomic concept otherwise it returns nil This macro uses tbox coherent p 111 get tbox language function Description Syntax Arguments Values Returns a specifier indicating the description logic language used in the ax ioms of a given TBox get tbox language amp optional TBN tbox name current tbox TBN TBox name The language is indicated with the quasi standard scheme using letters Note that the language is identified for selecting optimization techniques Since RACER does not exploit optimization techniques for sublanguages of ALC the language indicator starts
190. x concept equivalent C1 C2 koptional tbor current tbox C C2 concept term tbox TBox object Returns t if C and C are equivalent concepts in tbox and nil otherwise For testing whether two concept terms are equivalent with respect to a TBox thoz Function atomic concept synonyms on page 122 and function concept subsumes p on page 100 100 concept equivalent p function Description Checks if the two concepts are equivalent in the given TBox Syntax concept equivalent p C C thor Arguments Ci C2 concept terms tbor TBox object Values Returns t if C and C gt are equivalent concepts in tbox and nil otherwise Remarks For testing whether two concept terms are equivalent with respect to a TBozx tbox If the equality is to be tested without reference to a TBox nil can be used See also Function atomic concept synonyms on page 122 and function concept subsumes p on page 100 macro concept disjoint Description Syntax Arguments Values Remarks Checks if the two concepts are disjoint e g no individual can be an instance of both concepts concept disjoint C1 C2 amp optional thor current tbox Ci C2 concept term tbor TBox object Returns t if C and C are disjoint with respect to tbor and nil otherwise For testing whether two concept terms are disjoint with respect to a TBox tbox If the disjointness is to be tested without reference to a TBox
191. y 2 female gt lt daml disjointWith gt lt daml Class gt lt daml Class rdf about file c ralf family 2 person gt lt rdfs subClass0f gt lt daml Class gt lt daml intersection0f gt lt daml List gt lt daml first gt lt daml Class rdf about file c ralf family 2 human gt lt daml first gt lt daml rest gt lt daml List gt lt daml first gt lt daml Restriction gt lt daml onProperty rdf resource file c ralf family 2 has gender gt lt daml hasClass gt lt daml Class gt lt daml union0f gt lt daml List gt lt daml first gt lt daml Class rdf about file c ralf family 2 female gt lt daml first gt lt daml rest gt lt daml List gt lt daml first gt lt daml Class rdf about file c ralf family 2 male gt lt daml first gt lt daml rest gt lt daml nil gt lt daml rest gt lt daml List gt 182 lt daml rest gt lt daml List gt lt daml union0f gt lt daml Class gt lt daml hasClass gt lt daml Restriction gt lt daml first gt lt daml rest gt lt daml nil gt lt daml rest gt lt daml List gt lt daml rest gt lt daml List gt lt daml intersection0f gt lt daml Class gt lt rdfs subClassOf gt lt daml Class gt lt daml Class rdf about file c ralf family 2 woman gt lt rdfs subClassOf gt lt daml Class gt lt daml intersectionDf gt lt daml List gt lt daml first gt lt daml Class rdf
192. y and charles but makes the ABox inconsistent Due to our experience with users we would like to emphasize that most users take UNA for granted but are astonished to learn that OWA is assumed rather than CWA Due to the non monotonic nature of the closed world assumption and the ambiguities about what closing should actually mean in description logic inference systems usually there is no support for the closed world assumption However with the publish and subscribe interface of Racer users can achieve a local closed world LCW assumption see Section 12 2 5 The RACER Server The RACER Server is an executable file available for Linux and Windows It can be started from a shell or by double clicking the correspoding program icon in a graphics based envi ronment For instance the Windows version is shown in Figure 4 cx Racer u RACER Version 1 7 RACER Reasoner for boxes and Concept Expressions Renamed Supported description logic ALCQHIr lt D gt Copyright lt C gt 1998 2002 Volker Haarslev and Ralf Moeller RACER comes with ABSOLUTELY NO WARRANTY use at your own risk Commercial use is prohibited contact the authors for licensing RACER is running on IBM PC Compatible computer as node Unknown The EML RDF RDFS DAML parser is implemented with Wilbur developed by Ora Lassila For more information on Wilbur see http vilbur rdf sourceforge net The HTTP interface based on DIG is implemented with CL HTTP developed an

Download Pdf Manuals

image

Related Search

Related Contents

Manuale Unico Italiano Seiwa Chart-Plotters  XPS 15 Manual de serviço  Altec Lansing 1218A User's Manual  Indicaciones importantes sobre el catálogo y el índice de imágenes  D020709/02 - Assemblée nationale  ActionVoice Manual  Proteus A3 - フェローズジャパン  取扱説明書 めるてぃ すぃーつ (MeltySweets) 取扱説明書      

Copyright © All rights reserved.
Failed to retrieve file