- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Thu, 9 Aug 2007 19:07:13 +0100
- To: "John McClure" <jmcclure@hypergrove.com>
- Cc: Owl Dev <public-owl-dev@w3.org>
On 9 Aug 2007, at 18:56, John McClure wrote: > Sorry to interrupt this fascinating conversation but I have a related > question... if I can speak in XML for a moment... > > Are not assertions indicated by rdf:about, and declarations by rdf:ID? No. > I have > the understanding that the 'best practice' trend has been to make > all statements > to be rdf:about some subject, with an rdf:ID declaration of the > subject treated > as, if you will, a virtual axiom. rdf:ID is best understood as syntactic sugar for rdf:about. It has no effect in the model. <rdf:Description rdf:about="#foo"/> and <rdf:Description rdf:ID="foo"/> Produce exactly the same node. So: <rdf:Description rdf:about="#foo"> <bar><rdf:Description rdf:ID="foo"/></bar> <rdf:Desecription> and <rdf:Description rdf:ID="foo"> <bar><rdf:Description rdf:about="#foo"/></bar> <rdf:Desecription> State exactly the same thing (assuming namespaces blah bal hblah) ns:foo :bar ns:foo. If you combined both those fragments into a single document you'd get a parse error because of the restriction on IDs, but that has no significant consequence at all. It's a bad constraint too, because it *looks* like it should be significant. It really really really isn't. > Given this, I don't understand the need for a > new predicate that distinguishes between assertive & declarative > axioms. > > <Class rdf:about='yourClass'/> <!-- an assertion --> > <Class rdf:ID='myClass'> <!-- a declaration--> > <subClassOf rdf:resource='yourClass'/> > </Class> > > I don't know how to express this distinction in the triples syntax > so common to > the postings.. Yeah, that exactly doesn't do anything :) It's a wart. Cheers, Bijan.
Received on Thursday, 9 August 2007 18:06:01 UTC