- From: Smith, Michael K <michael.smith@eds.com>
- Date: Fri, 1 Nov 2002 14:37:33 -0600
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>, "Smith, Michael K" <michael.smith@eds.com>
- Cc: www-webont-wg@w3.org
So, to confirm some XML syntax.
SubClassOf( TableWine,
intersectionOf( Wine,
restriction( hasSugar, hasValue( #Dry ))))
Becomes:
<owl:Class rdf:ID="TableWine">
<owl:subClassOf>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:subClassOf>
</owl:Class>
Which seem oddly asymmetric with
EquivalentClasses( TableWine,
intersectionOf( Wine,
restriction( hasSugar, hasValue( #Dry ))))
<owl:Class rdf:ID="TableWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
Which could equivalently be written (?)
<owl:Class rdf:ID="TableWine">
<owl:sameClassAs>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:sameClassAs>
</owl:Class>
-----Original Message-----
From: Peter F. Patel-Schneider [mailto:pfps@research.bell-labs.com]
Sent: Friday, November 01, 2002 10:48 AM
To: michael.smith@eds.com
Cc: www-webont-wg@w3.org
Subject: Re: comments on wine.owl
From: "Smith, Michael K" <michael.smith@eds.com>
Subject: RE: comments on wine.owl
Date: Fri, 1 Nov 2002 08:51:33 -0600
[...]
> ------------------------------------------------------------
> <!-- PFPS the sameClassAs that used to be here was wrong. Similar
problems
> occur elsewhere, I may not have caught them all. In general the OWL
> keywords should have an uppercase/lowercase alternation. -->
>
> > <owl:Class rdf:ID="WhiteWine">
> > <owl:intersectionOf rdf:parseType="Collection">
> > <owl:Class rdf:about="#Wine" />
> > <owl:Restriction>
> > <owl:onProperty rdf:resource="#hasColor" />
> > <owl:hasValue rdf:resource="#White" />
> > </owl:Restriction>
> > </owl:intersectionOf>
> > </owl:Class>
>
> I'm confused. I thought in your message
> (http://lists.w3.org/Archives/Public/www-webont-wg/2002Oct/0228.html)
> you prefered having these wrapped up in a sameClassAs.
Argh! I was WRONG. Yuk. I added in the sameClassAs there by mistake.
[...]
> ---------------------------------------------------------------
> <!-- PFPS this should really be a unionOf
> I think that this is a holdover from CLASSIC -->
CLASSIC does not have unionOf. Here is a great place for it, as it is even
suggested by the class name.
I would use:
<owl:Class rdf:ID="SemillonOrSauvignonBlanc">
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Semillon" />
<owl:Class rdf:about="#SavignonBlanc" />
</owl:unionOf>
</owl:Class>
<owl:Class rdf:ID="Semillon">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Medium" />
<owl:Item rdf:resource="#Full" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#SemillonGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="SauvignonBlanc">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Medium" />
<owl:Item rdf:resource="#Full" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#SauvignonBlancGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
Received on Friday, 1 November 2002 15:37:52 UTC