Blank nodes in the RDF graph are distinct but have no RDF URI reference identifier. It is sometimes required that the same graph blank node is referred to in the RDF/XML in multiple places, such as at the subject and object of several RDF triples. In this case, a blank node identifier can be given to the blank node for identifying it in the document.

Blank node identifiers in RDF/XML are scoped to the containing XML Information Set document information item. A blank node identifier is used on a node element to replace rdf:about="RDF URI reference" or on a property element to replace rdf:resource="RDF URI reference" with rdf:nodeID="blank node identifier" in both cases.

Example listing


    <http://www.w3.org/TR/rdf-syntax-grammar>    <http://purl.org/dc/elements/1.1/title>        "RDF/XML Syntax Specification (Revised)" .

    <http://www.w3.org/TR/rdf-syntax-grammar>    <http://example.org/stuff/1.0/editor>           _:DB .

    _:DB                                                                                <http://example.org/stuff/1.0/fullName>    "Dave Beckett" .

    _:DB                                                                                <http://example.org/stuff/1.0/homePage>   <http://purl.org/net/dajobe/> .


stating that: W3C Recommendation "RDF/XML Syntax Specification (Revised)" was written by Dave Backett, and that his homepage is http://purl.org/net/dajobe


In the example above and below  a blank node identifier "DB" is given to the editor. The second rdf:Description property element is about that blank node.

    <?xml version="1.0"?>     





        <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" dc:title="RDF/XML Syntax Specification (Revised)">

            <ex:editor rdf:nodeID="DB"/>


        <rdf:Description rdf:nodeID="DB" ex:fullName="Dave Beckett">

            <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>



Other information

A convention used by some linear representations of an RDF graph to allow several statements to reference the same unidentified resource is to use a blank node identifier, which is a local identifier that can be distinguished from all URIs and literals. When graphs are merged, their blank nodes must be kept distinct if meaning is to be preserved; this may call for re-allocation of blank node identifiers. Note that such blank node identifiers are not part of the RDF abstract syntax, and the representation of triples containing blank nodes is entirely dependent on the particular concrete syntax used.

Use in ISO 15926