RE: Inferring Properties based on Types

>>> (?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