RE: Restriction and rules

Just a few comments, snipping large chunks ...
> What does an owl:Restriction denote?
a class

>
> It seems to me that following the above, named restrictions would
> allow one
> to assert that all individuals that satisfy one set of conditions also
> satisfy some other set of conditions, which starts to look a bit
> like a rule:
>
>     <owl:Restriction rdf:about="#Mortal">
>       <owl:onProperty rdf:resource="#lifespan" />
>       <owl:hasValue rdf:resource="#finite" />
>     </owl:Restriction>
>
>     <owl:Class rdf:about="#Man">
>       <rdfs:subClassOf rdf:resource="#Mortal" />
>     </owl:Class>
>
>     <owl:Restriction about="#Man" >
>       <owl:onProperty rdf:resource="#parent" />
>       <owl:minCardinality
>         rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
>     </owl:Restriction>
>
>     <rdf:Description rdf:about="#Socrates" />
>       <parent rdf:Resource="#Sophroniscus" />
>     </rdf:Description>
>
> Would appear to be sufficient to deduce from the fact that Socrates has a
> parent that he also has a finite lifespan.

Yes - however even in full it is better to do this with a more DL like
syntax
e.g.
<owl:Class rdf:about="#Mortal">
  <owl:equivalentClass>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="#lifespan" />
>       <owl:hasValue rdf:resource="#finite" />
>     </owl:Restriction>

because if two people build two named restrictions with the same name but
different restrictions you get semantic grabage: i.e. the assertion that
every combination of onProperty and the other triple identifies the same
class of things.

>
> My questions to which I'm trying to find answers are:
> (a) given named owl:Restrictions, do we really need a separate rules
> language (cf. DAML-rules)?
> (b) does OWL-full allow named restrictions?
YES

>
> Digging further, it occurs to me that it does not matter if restrictions
> cannot be labelled.  Isn't the same effect achieved by:
>
>     <owl:Class rdf:about="#Foo"
>       <owl:equivalentClass>
>         <owl:Restriction>
>           :
>         </owl:Restriction>
>       </owl:equivalentClass>
>     </owl:Class>
>
> This suggests to me that the ability of OWL to express rules may
> be limited
> only by the kinds of conditions that can be used as restrictions.  For
> example, Pan and Horrocks mention a putative
> <owl:BinaryRestriction> class [2].
>
> [2]
http://www.cs.man.ac.uk/~horrocks/Publications/download/2003/PaHo03a.pdf


Doing fancy stuff in restrictions is very hard.
Without any named variables life is tough.
Rules languages tend to add variables.

Jeremy

Received on Tuesday, 4 November 2003 10:10:45 UTC