Re: Case for Reinstatement of Qualified Cardinality Restrictions

Peter pointed out that in OWL Full (but not OWL DL or OWL Lite) the
following restriction:

<owl:Restriction>
  <owl:onProperty rdf:resource="&eg;hasDigit"/>
  <owl:cardinality rdf:datatype="&xsd;int">5</owl:cardinality>
  <owl:allValuesFrom rdf:resource="&eg;Digit" />
  <owl:someValuesFrom rdf:resource="&eg;Finger" />
</owl:Restriction>

implies that the extension of the following three Restrictions are the
same:

> > <owl:Restriction>
> >   <owl:onProperty rdf:resource="&eg;hasDigit"/>
> >   <owl:cardinality rdf:datatype="&xsd;int">5</owl:cardinality>
> > </owl:Restriction>
> >
> > <owl:Restriction>
> >   <owl:onProperty rdf:resource="&eg;hasDigit"/>
> >   <owl:allValuesFrom rdf:resource="&eg;Digit" />
> > </owl:Restriction>
> >
> > <owl:Restriction>
> >   <owl:onProperty rdf:resource="&eg;hasDigit"/>
> >   <owl:someValuesFrom rdf:resource="&eg;Finger" />
> > </owl:Restriction>
> 

I didn't see this at first, but found it helpful to do an example. Since
this is a subtle point, I thought I'd share it with the rest of the WG.

First, let's convert the example to triple form (note, I've taken some
liberties regarding namespaces and such). We'll label each triple with a
letter for easy reference.:

(A) _1 rdf:type Restriction
(B) _1 owl:onProperty hasDigit
(C) _1 owl:cardinality 5
(D) _1 owl:allValuesFrom Digit
(E) _1 owl:someValuesFrom Finger

Section 5 of S&AS (RDF Compatible Semantics) contains a table called
"Conditions on OWL restrictions" (seventh table from the top). This
table defines CEXT(x) (the extension of the restriction _1 in this
case).

Triples B and D match the first condition, thus CEXT(x) = the resources
u such that if there is a triple u hasDigit v, then v is of type Digit.

Triples B and E match the second condition, thus CEXT(x) = the resources
u such that there is a triple u hasDigit v, where v is of type Finger.

At first glance, it seems to be doing what we want. However in both
these cases, x="_1", so we are defining CEXT(_1) twice. Since a class
can only have one extension, then this means that the two extensions
must be equal, which is probably an unintended consequence. In this
case, our restriction says that anything whose digits are all Digits
automatically has 5 of them, and also has at least one finger, because
the three sets: "things with 5 hasDigit objects," "things that only have
Digits as hasDigit objects" and "things that have a Finger" must be the
same. Note this is unintended because things other than the HumanHand
(e.g., the CartoonHand) may have only three digits.

Jeff

"Peter F. Patel-Schneider" wrote:
> 
> From: Jeff Heflin <heflin@cse.lehigh.edu>
> Subject: Re: Case for Reinstatement of Qualified Cardinality Restrictions
> Date: Thu, 24 Apr 2003 15:46:04 -0400
> 
> > Sorry, this issue keeps nagging at me...
> >
> > I looked at Sect. 5 of S&AS (RDF-compatible semantics) and it seems that
> > it gives semantics to Restriction resources that have some combination
> > of cardinality, someValuesFrom and allValuesFrom properties, such as in
> > the example below.
> >
> > <owl:Restriction>
> >   <owl:onProperty rdf:resource="&eg;hasDigit"/>
> >   <owl:cardinality rdf:datatype="&xsd;int">5</owl:cardinality>
> >   <owl:allValuesFrom rdf:resource="&eg;Digit" />
> >   <owl:someValuesFrom rdf:resource="&eg;Finger" />
> > </owl:Restriction>
> >
> > Furthermore, it looks like the semantics would be the same as if you had
> > an intersection of:
> >
> > <owl:Restriction>
> >   <owl:onProperty rdf:resource="&eg;hasDigit"/>
> >   <owl:cardinality rdf:datatype="&xsd;int">5</owl:cardinality>
> > </owl:Restriction>
> >
> > <owl:Restriction>
> >   <owl:onProperty rdf:resource="&eg;hasDigit"/>
> >   <owl:allValuesFrom rdf:resource="&eg;Digit" />
> > </owl:Restriction>
> >
> > <owl:Restriction>
> >   <owl:onProperty rdf:resource="&eg;hasDigit"/>
> >   <owl:someValuesFrom rdf:resource="&eg;Finger" />
> > </owl:Restriction>
> 
> No.  It is different.  The first implies that the extension of the three
> just above are all the same.
> 
> > The reason is that in the section called "Conditions on OWL
> > restrictions" the semantics for each of these types of restrictions only
> > depends on having two triples (onProperty and something else) with the
> > same subject, and these conditions are met in the "jumbo restriction"
> > above.
> >
> > However, this seems to contradict Section 4 (Mapping to RDF Graphs)
> > which does not provide a translation into the "jumbo restriction" and
> > therefore implies that it doesn't have semantics, and also isn't even
> > valid syntax.
> 
> No, all that this indicates is that the first is not in OWL DL.
> 
> > This is very confusing. I thought the mapping to RDF defined the RDF
> > syntax, but that doesn't seem to be the case.  Does it just define the
> > syntax for OWL DL, and not OWL Full?
> 
> The mapping to RDF defines the syntax for OWL DL and OWL Lite.
> 
> > Even if this was the case, it would
> > seem that the RDF combatible semantics and the abstract semantics
> > disagree on what constitutes an OWL DL graph (take this Restriction case
> > as an example). Is it the case that the RDF compatible semantics only
> > apply to some subset of RDF graphs as determined by the transformation
> > in Section 4?
> 
> The RDF-compatible smenatics applies for all RDF graphs.
> 
> > Help, I think my brain is about to explode. :-(
> 
> Welcome to the wonderful world of triples.  :-)
> 
> > Jeff
> 
> peter

Received on Friday, 25 April 2003 17:59:24 UTC