- From: Simon Reinhardt <simon.reinhardt@koeln.de>
- Date: Tue, 20 Apr 2010 21:38:17 +0200
- To: Pierre-Antoine Champin <swlists-040405@champin.net>
- CC: Katasonov Artem <Artem.Katasonov@vtt.fi>, "semantic-web@w3.org" <semantic-web@w3.org>
Pierre-Antoine Champin wrote: > The good thing with english is that you can easily swap from the > 'relation' view ("dates") to the 'reified' view ("couple"). In an > ontology, you have to *commit* (as in "ontological commitment") to a > particular representation, which really depends on the needs of your > application. You can also accept both representations, and add inference > rules that would state the equivalence between them : > > there is a ?couple involving ?john and ?mary > IF AND ONLY IF > ?john dates ?mary > > but not all ontology languages would be able to express it (I don't > think OWL is). In OWL 2 you can do that using property chains. Suppose you have a class ex:Couple representing your reified couple concept and a relation ex:coupleMember linking an ex:Couple to a foaf:Person (with the cardinality restricted to two if you want, although that might be problematic in combination with property chains, I'm not sure). Then you can declare that for the path going from a foaf:Person to an ex:Couple (using the inverse of ex:coupleMember) and then going from that ex:Couple to another foaf:Person (this time using ex:coupleMember itself) there exists a shortcut, namely ex:dates. In Turtle syntax: ex:dates a owl:ObjectProperty ; owl:propertyChainAxiom ([a owl:ObjectProperty ; owl:inverseOf ex:coupleMember] ex:coupleMember) . Regards, Simon
Received on Tuesday, 20 April 2010 19:38:52 UTC