[
Lists Home |
Date Index |
Thread Index
]
Didier I want to discuss the differences between my example and yours a
bit more:
I started with:
<Person xmlns="http://example.org/ex">
<SSN rdf:resource="uuid:ssn:1112223344"/>
<hasIncomeOf>1000000</hasIncomeOf>
<ownsHouse>
<House>
<hasAddress>1234 West Ridge Road</hasAddress>
</House>
</ownsHouse>
</Person>
and Didier then asked about (simplified):
<object xmlns="http://example.org/ex">
<SSN rdf:resource="uuid:ssn:1112223344"/>
<hasIncomeOf>1000000</hasIncomeOf>
<ownsHouse>
<House>
<hasAddress>1234 West Ridge Road</hasAddress>
</House>
</ownsHouse>
</object>
Using OWL what can we tell about this <object>
First let's define <SSN>
<owl:InverseFunctionalProperty rdf:ID="SSN">
<rdfs:domain rdf:resource="#Person" />
<owl:inverseOf rdf:resource="#SSNof" />
</owl:InverseFunctionalProperty>
and now suppose there is more information somewhere else.
<rdf:Description rdf:ID="Jimmy">
<SSN rdf:resource="uuid:ssn:1112223344" />
</rdf:Description>
OK, now we can make the inferences:
_:1 rdf:type ex:Person .
_:1 owl:sameIndividualAs ex:Jimmy .
that is, because these "objects" share the same SSN (which is an
inverse functional property) we know that
a) they are identical, hence the formerly blank node can be labeled
with the URI
b) the anonymous node is of type "Person" (because the domain of SSN is
"Person")
So a *huge* difference between syntactic schemas (DTDs, RELAXNG, XSD)
and Ontologies is that syntactic schemas restrict the syntax that they
are valid with respect to, where as an ontology allows the system to
make inferences about what we are talking about.
Jonathan
|