- From: Dave Beckett <dave.beckett@bristol.ac.uk>
- Date: Tue, 10 Dec 2002 11:33:23 +0000
- To: Simon Raboczi <raboczi@PIsoftware.com>
- cc: www-rdf-interest@w3.org
>>>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