rdf:nodeID on properties for refiication

This is from the "giving yourself more work" category.

It does not address a last call issue and is thus optional.

Privately, I've been asked if rdf:nodeID could be allowed on
properties so that statements could be reified with a blank node
identifier rather than a URI being required.

i.e. Presently allowed:

----------------------------------------------------------------------
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:ex="http://example.org/vocab#">
  <rdf:Description rdf:about="http://example.org/node">

    <ex:foo rdf:ID="abc">foo</ex:foo>

  </rdf:Description>
</rdf:RDF>
----------------------------------------------------------------------


making the 4 reification triples with reified node with URI <baseURI#abc>

<baseURI#abc> rdf:type rdf:Statement .
<baseURI#abc> rdf:subject <http://example.org/node> .
<baseURI#abc> rdf:predicate <http://example.org/vocab#foo> .
<baseURI#abc> rdf:object "foo" .


Presently forbidden:
----------------------------------------------------------------------
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:ex="http://example.org/vocab#">
  <rdf:Description rdf:about="http://example.org/node">

    <ex:foo rdf:nodeID="rei">foo</ex:foo>

  </rdf:Description>
</rdf:RDF>
----------------------------------------------------------------------

making the 4 reification triples with blank node ID _:abc

_:rei rdf:type rdf:Statement .
_:rei rdf:subject <http://example.org/node> .
_:rei rdf:predicate <http://example.org/vocab#foo> .
_:rei rdf:object "foo" .


Pros:
  Flexibility
  Consistency
  No need to invent a URI

Cons:
  Another change
  3 places to put rdf:nodeID - will this confuse?


This would have low syntax doc impact, but would need some minor new
words.

In terms of implementing, I don't see it as too hard.

Dave

Received on Monday, 7 April 2003 10:29:59 UTC