[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: draft explanation of Semantic enhanced registry queries
SCM SC: Here is some material to chew on regarding mixing DL reasoning into reg/rep queries. It is rough, not complete, and not in the form of use cases. None-the-less it would help me toward my action item if I could get feedback on this. ==================================================================== Reasoning in support of Reg/Rep queries: If we were to store Semantic Content in OWL DL form, we would have the power of Description Logic classification available for use in querying both the Semantic Content itself as well as other RegRep content linked to that Semantic Content. This latter bit will require some careful thought, though. DL classification is where a reasoner determines the following: 1) which classes in an ontology are subclasses of a class specified by some complete description, that is - a description containing necessary and sufficient conditions for membership. Some examples of this from [1] are "Bus Drivers are Drivers" and "Drivers are Grown Ups." 2) which instances can be classified as members of the class specified by a complete description. Some examples of this from [1] are "Pete is a Person, Spike is an Animal." Reasoning supporting type 1 classification is called TBox (Terminology Box) reasoning. Reasoning supporting type 2 classification is called ABox (Assertion Box) reasoning. Some DL reasoners such as FaCT support only TBox reasoning* while others such as Racer support both types. I have been using the term "restriction" within SCM SC discusssions to refer to a complete description in OWL. My assertion has been that we could compose DL classification with an SQL-style query by putting a restriction in place of one or more of the query parameters. If a registry query is of the form: SELECT <attribute*> FROM <extent> WHERE <condition> ORDER BY <attribute> Then a restriction (via reference to a definition in an OWL ontology or by description in place) could be used to define the extent for this query in place of something like a class/table name. This would allow a registry user to choose his level of abstraction for a query or to specify an extent for the query which was not defined in any schema or ontology in the repository. (It should also be apparent that a restriction could be used in place of a WHERE clause as well.) An example of this which references OWL classes defined by the ontology in [1] might read: SELECT firstName, lastName FROM OWLrdf/xml <owl:equivalentClass rdf:resource="http://cohse.semanticweb.org/ontologies/people#grownup"/> WHERE home = "Rockville" ORDERED BY lastName An example of a restriction which could be used to retrieve duck instances would be: FROM <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#hasPart"/> </owl:onProperty> <owl:someValuesFrom> <owl:Class rdf:ID="Bill"/> </owl:someValuesFrom> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:about="#hasPart"/> <owl:someValuesFrom> <owl:Class rdf:ID="Tail"/> </owl:someValuesFrom> </owl:Restriction> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:ID="hasWalk"/> </owl:onProperty> <owl:hasValue> <Walk rdf:ID="Waddle"/> </owl:hasValue> </owl:Restriction> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:ID="hasSound"/> </owl:onProperty> <owl:hasValue> <Walk rdf:ID="Quack"/> </owl:hasValue> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> * FaCT++ provides a function to simulate ABox reasoning in certain cases by redefining the instances as classes. [1] OWL Reasoning Examples http://owl.man.ac.uk/2003/why/latest/ ==================================================================== -Evan
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]