Re: Blank reified statements

>>>Simon Raboczi said:
> 
> It seems to me that there's no way in the WD syntax to combine the
> functions of rdf:nodeID to create blank nodes, and rdf:ID to reify
> statements.  Thus, the only way to reify a statement without giving
> it a URI is by writing out the entire reification explicitly.
> 
> Perhaps an rdf:statementID construct is needed...?

It is not really needed.

You can use rdf:nodeID anywhere rdf:about or rdf:resource is (was in
RDF M&S) allowed.

 nodeElement      ... attributes == ... idAttr | nodeIdAttr | aboutAttr ...
   -- http://www.w3.org/TR/rdf-syntax-grammar/#nodeElement

 emptyPropertyElt ... attributes == ... resourceAttr | nodeIdAttr ...
   -- http://www.w3.org/TR/rdf-syntax-grammar/#emptyPropertyElt

so just use rdf:bagID (on node elements) and rdf:ID (on property
elements) along with rdf:nodeID, and things will work as before.


> <rdf:Description rdf:nodeID="subject">
>   <ex:property rdf:statementID="statement" rdf:nodeID="object"/>
> </rdf:Description>

rather, use:
 <rdf:Description rdf:nodeID="subject">
   <ex:property rdf:ID="statement" rdf:nodeID="object"/>
 </rdf:Description>

where 'statement' gives a URI for the triple:
   _:subject ex:property _:object .

where ex: is some namespace URI not given here.

<snip/>

> For symmetry, one might also want rdf:statementBagID to generate a
> blank rdf:Bag of reified statements in the spirit of rdf:bagID.

Nope, rdf:bagID works just fine there too, for example:

  <rdf:Description rdf:nodeID="subject" rdf:bagID="bag">
    <ex:property>value</ex:property>
  </rdf:Description>


More on this with examples at
  2.17 Reifying Statements - rdf:bagID and rdf:ID
  http://www.w3.org/TR/rdf-syntax-grammar/#section-Syntax-reifying

Cheers

Dave

Received on Tuesday, 10 December 2002 06:33:42 UTC