Question: DAML cardinality restrictions

Dear all,

I hope you'll forgive a (probably very naive) question: In the DAML+OIL
walkthrough, we have the following example of a cardinality restriction
(plus another minCardinality restriction).

 <rdfs:subClassOf>
    <daml:Restriction daml:cardinality="1">
      <daml:onProperty rdf:resource="#hasFather"/>
    </daml:Restriction>
  </rdfs:subClassOf>
  <rdfs:subClassOf>
     <daml:Restriction>
       <daml:onProperty rdf:resource="#shoesize"/>
       <daml:minCardinality>1</daml:minCardinality>
     </daml:Restriction>
  </rdfs:subClassOf>

"This requires that any person must have exactly 1 father and at least
one shoe size. Again, this is done by first using a Restriction to
define an anonymous class (in this case the class of all things that
have exactly one father), and then demanding that Person is a subClassOf
this anonymous
class (i.e., demanding that every Person satisfies this Restriction)."

My question is: how can such a restriction (cardinality=1) be enforced
in practice, since we always deal with finite datasets - at some point
our family tree will run out and we shall have an instance of Person
without a corresponding Father instance.  Can one specify a
'placeholder' of some kind or is there some other solution? Or will such
data always cause a warning when validated against the ontology/schema?

David Allsopp
DERA Malvern
UK

-- 
/d{def}def/u{dup}d[0 -185 u 0 300 u]concat/q 5e-3 d/m{mul}d/z{A u m B u
m}d/r{rlineto}d/X -2 q 1{d/Y -2 q 2{d/A 0 d/B 0 d 64 -1 1{/f exch d/B
A/A z sub X add d B 2 m m Y add d z add 4 gt{exit}if/f 64 d}for f 64 div
setgray X Y moveto 0 q neg u 0 0 q u 0 r r r r fill/Y}for/X}for showpage

Received on Friday, 30 March 2001 04:09:36 UTC