Re: Guide: Legal syntax?

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