- From: Guus Schreiber <schreiber@cs.vu.nl>
- Date: Wed, 23 Apr 2003 23:14:04 +0100
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- CC: WebOnt WG <www-webont-wg@w3.org>
Peter F. Patel-Schneider wrote:
> From: Mike Dean <mdean@bbn.com>
> Subject: Re: Case for Reinstatement of Qualified Cardinality Restrictions
> Date: Wed, 23 Apr 2003 12:28:41 -0700
>
>
>>>>Agreed. I normally use multiple Restrictions with the same
>>>>value for onProperty.
>>>
>>>If you are doing this in the RDF encoding you are going to be unpleasantly
>>>surprised.
>>
>>Perhaps I should clarify with an example
>>
>> <owl:Class rdf:ID="Person">
>> <rdfs:subClassOf>
>> <owl:Restriction>
>> <owl:onProperty rdf:resource="#father"/>
>> <owl:allValuesFrom rdf:resource="#Person"/>
>> </owl:Restriction>
>> </rdfs:subClassOf>
>> <rdfs:subClassOf>
>> <owl:Restriction>
>> <owl:onProperty rdf:resource="#father"/>
>> <owl:cardinality>1</owl:cardinality>
>> </owl:Restriction>
>> </rdfs:subClassOf>
>> </owl:Class>
>>
>>Why is this a problem?
>>
>> Mike
>
>
> Sorry, I misread what you said. Your solution is fine. What doesn't work
> is
>
> <owl:Class rdf:ID="Person">
> <rdfs:subClassOf>
> <owl:Restriction>
> <owl:onProperty rdf:resource="#father"/>
> <owl:allValuesFrom rdf:resource="#Person"/>
> <owl:cardinality>1</owl:cardinality>
> </owl:Restriction>
> </rdfs:subClassOf>
> </owl:Class>
>
Agreed, but my and Jeff's point was: you cannot produce these triples
from the abstract syntax.
Whenn I wa rewriting this part of Reference, I ws first confused about
this, so I checked wuth you and others and my conclusion (wrong?) was
that one restriction instance should have exactly one "onProperty"
triple and exactly one constraint triple. Acordingly, Reference Sec. 3.1
states:
[[
Property restrictions have the following general form:
<owl:Restriction>
<owl:onProperty rdf:resource="(some property)" />
(precisely one value or cardinality constraint, see below)
</owl:Restriction>
]]
At some point a started writing an alternative version of owl.owl, using
OWL itlsef (instead of RDF schema) to define OWL. Maybe I should finish
this excercise. Here is a relevant fragment from this alternative
owl.owl file:
[[
<rdfs:Class rdf:ID="Restriction">
<rdfs:label>Restriction</rdfs:label>
<rdfs:subClassOf rdf:resource="#Class"/>
<rdfs:subClassOf>
<Restriction>
<onProperty rdf:resource="#onProperty"/>
<cardinality rdf:datatype="&xsd;nonNegativeInteger;">1</cardinality>
</Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<Restriction>
<onProperty rdf:resource="#propertyConstraint"/>
<cardinality rdf:datatype="&xsd;nonNegativeInteger;">1</cardinality>
</Restriction>
</rdfs:subClassOf>
</rdfs:Class>
]]
where "propertyConstraint is defined elsewhere as a superclass of the
various value and cardinality consraints.
Guus
>
> peter
>
--
NOTE: new affiliation per April 1, 2003
Free University Amsterdam, Computer Science
De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands
Tel: +31 20 444 7739/7718
E-mail: schreiber@cs.vu.nl
Home page: http://www.cs.vu.nl/~guus/ [under construction]
Received on Wednesday, 23 April 2003 18:14:02 UTC