OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

regrep-semantic message

[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]