Re: declaredAs

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