- From: John McClure <jmcclure@hypergrove.com>
- Date: Mon, 8 Oct 2007 12:01:26 -0700
- To: "Owl Dev" <public-owl-dev@w3.org>
>>> (?x :hasSibling ?y)
>>> :Male(?y)
>>> =>
>>> (?x :hasBrother ?y)
>
>It isn't possible in either OWL or OWL 1.1.
What? I must not understand WHY this is being said, because I'm now hearing that
this simple requirement is somehow ambiguous enough that a special, exceedingly
complicated set of axioms is required using OWL 1.1 keywords! Can someone
explain the problems in more layman terms? With RDF/XML as below, a reasoner
should identify Paul as brother of John -- if it can't, without all the
rigamorol outlined in recent posts (manman?), then SOMETHING seems terribly
wrong here. If you know a link that provides layman explanation(s) that would
be great too. Thanks.
<owl:Class rdf:ID="HumanBeing"/>
<owl:Class rdf:ID="HumanMale">
<rdfs:subClassOf rdf:resource='#HumanBeing'/>
</owl:Class>
<owl:ObjectProperty rdf:ID='sibling'>
<rdfs:domain rdf:resource='#HumanBeing'/>
<rdfs:range rdf:resource='#HumanBeing'/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID='brother'>
<rdfs:domain rdf:resource='#HumanBeing'/>
<rdfs:range rdf:resource='#HumanMale'/>
<rdfs:subPropertyOf rdf:resource='#sibling'/>
</owl:ObjectProperty>
<HumanBeing rdf:ID='John'/>
<sibling>
<HumanMale rdf:ID='Paul'/>
</sibling>
</HumanBeing>
Received on Monday, 8 October 2007 19:16:13 UTC