- From: Smith, Michael K <michael.smith@eds.com>
- Date: Thu, 12 Dec 2002 09:39:23 -0600
- To: Dan Connolly <connolly@w3.org>, www-webont-wg@w3.org
Thanks, Dan. Will plug it in (or something like it).
- Mike
Michael K. Smith, Ph.D., P.E.
EDS - Austin Innovation Centre
98 San Jacinto, #500
Austin, TX 78701
* phone: +01-512-404-6683
* mailto:michael.smith@eds.com
-----Original Message-----
From: Dan Connolly [mailto:connolly@w3.org]
Sent: Wednesday, December 11, 2002 3:56 PM
To: www-webont-wg@w3.org
Subject: GUIDE: 5.9 malformed restrictions: "don't do that"
"Issue 5.9 - malformed D+O restrictions
ACTION: Write-up a few sentences for the guide (Dan Connolly)"
-- 7Nov
http://lists.w3.org/Archives/Public/www-webont-wg/2002Nov/0119.html
Basically I want to make sure the relevant
section of the guide...
http://www.w3.org/TR/2002/WD-owl-guide-20021104/#PropertyRestrictions
says to don't do this:
[[[
Recall that malformed OWL restrictions are things like
_:x owl:onProperty ex:pa .
_:x owl:onProperty ex:pb .
_:x owl:minCardinality xsd:integer"5" .
_:x owl:allValuesFrom ex:ca .
]]]
http://lists.w3.org/Archives/Public/www-webont-wg/2002Oct/0329.html
<-
http://www.w3.org/2001/sw/WebOnt/webont-issues.html#I5.9-Malformed-DAML-OIL-
Restrictions
Starting from the example there...
--------
<owl:Class rdf:ID="Vintage">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasVintageYear"/>
<owl:cardinality>1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
--------
To make my point, we need to be talking
about more than one property... so...
We can give cardinalities to multiple properties:
<owl:Class rdf:ID="Vintage">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasVintageYear"/>
<owl:cardinality>1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasExpiryYear"/>
<owl:cardinality>1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
This says that Vintage is a subclass of each of
two restrictions: one that limits the cardinality
of hasVintageYear to 1, and another that limits
the cardinality of hasExpiryYear to 1.
then here's the point:
Note that this cannot be abbreviated as:
<owl:Class rdf:ID="Vintage">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasVintageYear"/>
<owl:cardinality>1</owl:cardinality>
<owl:onProperty rdf:resource="#hasExpiryYear"/>
<owl:cardinality>1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
i.e. do not try to combine multiple restrictions.
The semantics are almost certainly not what
you meant.
Does that make sense, Mike and GUIDE folks?
p.s. nit: "Here we define Burgundy wine to be dry wines."
the word 'define' suggests that all dry wines
are Burgundy; not so, since you used subClassOf.
suggest: "Here we declare that all Burgundy wines
are dry."
--
Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Thursday, 12 December 2002 10:39:45 UTC