- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Tue, 29 Oct 2002 12:53:42 -0500 (EST)
- To: michael.smith@eds.com
- Cc: www-webont-wg@w3.org
From: "Smith, Michael K" <michael.smith@eds.com>
Subject: Guide: Legal syntax?
Date: Tue, 29 Oct 2002 11:22:43 -0600
> The question arose in our breakout session on the Guide as to whether the
> following is syntactically legal.  I had simply assumed it was.  The issue
> is that we are combining what the abstract syntax labels a 'complete' class
> equivalence with a 'partial' one.  E.g. white Burgundies are exactly the
> intersection of Burgundy and WhiteWine AND white Burgundies are a subClass
> of things made from the Chardonnay grape.
> 
>  <owl:Class rdf:ID="WhiteBurgundy">
>     <owl:intersectionOf rdf:parseType="Collection">
>       <owl:Class rdf:about="#Burgundy" />
>       <owl:Class rdf:about="#WhiteWine" />
>     </owl:intersectionOf>
>     <rdfs:subClassOf>
>       <owl:Restriction>
>         <owl:onProperty rdf:resource="#madeFromVarietal" />
>         <owl:hasValue rdf:resource="#ChardonnayGrape" />
>       </owl:Restriction>
>     </rdfs:subClassOf>
>   </owl:Class>
> 
> As far as the XML syntax schema that Peter sent out, this looks fine, modulo
> tag names like owl:SubClassOf.
> 
> - Mike
I believe that this would result in a reasonable collection of n-triples.
Whether such constructs should show up in examples is a different matter.
For stylistic reasons I would prefer
  <owl:Class rdf:ID="WhiteBurgundy">
     <rdfs:subClassOf>
       <owl:Restriction>
         <owl:onProperty rdf:resource="#madeFromVarietal" />
         <owl:hasValue rdf:resource="#ChardonnayGrape" />
       </owl:Restriction>
     </rdfs:subClassOf>
     <owl:intersectionOf rdf:parseType="Collection">
       <owl:Class rdf:about="#Burgundy" />
       <owl:Class rdf:about="#WhiteWine" />
     </owl:intersectionOf>
   </owl:Class>
but even better would be 
  <owl:Class rdf:ID="WhiteBurgundy">
     <rdfs:subClassOf>
       <owl:Restriction>
         <owl:onProperty rdf:resource="#madeFromVarietal" />
         <owl:hasValue rdf:resource="#ChardonnayGrape" />
       </owl:Restriction>
     </rdfs:subClassOf>
     <owl:sameClassAs>
       <owl:intersectionOf rdf:parseType="Collection">
         <owl:Class rdf:about="#Burgundy" />
         <owl:Class rdf:about="#WhiteWine" />
       </owl:intersectionOf>
     </owl:sameClassAs>
   </owl:Class>
or
  <owl:Class rdf:ID="WhiteBurgundy">
     <owl:sameClassAs>
       <owl:intersectionOf rdf:parseType="Collection">
         <owl:Class rdf:about="#Burgundy" />
         <owl:Class rdf:about="#WhiteWine" />
       </owl:intersectionOf>
     </owl:sameClassAs>
   </owl:Class>
  <owl:Class rdf:ID="WhiteBurgundy">
     <rdfs:subClassOf>
       <owl:Restriction>
         <owl:onProperty rdf:resource="#madeFromVarietal" />
         <owl:hasValue rdf:resource="#ChardonnayGrape" />
       </owl:Restriction>
     </rdfs:subClassOf>
   </owl:Class>
peter
> 
> As far as the XML syntax schema that Peter sent out, this looks fine, modulo
> tag names like owl:SubClassOf.
> 
> - Mike
This does not match the XML schema I put out, but that is a different
story.
peter
Received on Tuesday, 29 October 2002 12:53:55 UTC