Closing RDF containers

It occurs to me that OWL provides a way to close RDF containers, now that a 
common superproperty is defined for rdf:_1, rdf:_2, etc.

E.g., using Notation3,

[[
test:threeElementContainer a owl:Class ;
   rdfs:subClassOf
     rdfs:Container,
     [ a owl:Restriction ;
       owl:onProperty rdf:_1 ;
       owl:cardinality "1"^^xsd:nonNegativeInteger ],
     [ a owl:Restriction ;
       owl:onProperty rdf:_2 ;
       owl:cardinality "1"^^xsd:nonNegativeInteger ],
     [ a owl:Restriction ;
       owl:onProperty rdf:_3 ;
       owl:cardinality "1"^^xsd:nonNegativeInteger ],
     [ a owl:Restriction ;
       owl:onProperty rdfs:member ;
       owl:maxCardinality "3"^^xsd:nonNegativeInteger ] .
]]

This seems to me to be sufficient to enforce that any RDF container 
declared to be an instance of test:threeElementContainer must have:
   exactly one value for each of rdf:_1, rdf:_2, rdf:_3, and
   no values for any other properties rdf:_nn.

#g


------------
Graham Klyne
For email:
http://www.ninebynine.org/#Contact

Received on Monday, 10 November 2003 13:23:54 UTC