Re: Guide: Legal syntax?

On Tue, 2002-10-29 at 11:53, Peter F. Patel-Schneider wrote:
> 
> 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>

Hmm... just re-ordering the intersection/subclass stuff
makes it more appealing? Or am I missing something?

> 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>

I'm not a fan of this sort of sameClassAs style, but
I agree that the following is more clear:

> 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>

Yes, that's probably best.

Oops! You can't use the same ID twice like that (the
only difference between ID and about is that ID
can help you find "bugs" this way). Write
the second one:

   <owl:Class rdf:about="#WhiteBurgundy">
     ...

> 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
-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/

Received on Tuesday, 29 October 2002 13:01:49 UTC