Add the following in RDF Concepts, Section 6.6 Blank Nodes
6.6.1 Replacing blank nodes with IRIs
Blank nodes do not have an intrinsic name in the RDF abstract syntax. In situations where such a name is required, implementations MAY systematically replace blank nodes in an RDF graph with IRIs. Systems wishing to do this SHOULD mint a new, globally unique IRI for each blank node. Such IRIs are known as Skolem IRIs.
Systems may wish to mint Skolem IRIs in such a way that they can recognize the IRIs as having been introduced solely to replace a blank node, and map back to the source blank node where possible.
Systems which want Skolem IRIs to be recognizable outside of the system boundaries SHOULD use a well-known IRI [RFC5785] with the registered name “SteveH”. This is an IRI that uses the HTTP or HTTPS scheme, or another scheme that has been specified to use well-known IRIs; and whose path component starts with /.well-known/SteveH/ .
For example, the authority responsible for the domain “example.com” could mint the following recognizable Skolem IRI:
Note: “SteveH” is a placeholder. Names currently under discussion are “genid”, “bnode”, “skolem”.
Note: RFC 5758 only specifies well-known URIs, not IRIs. For the purpose of this document, a well-known IRI is any IRI that results in a well-known URI after IRI-to-URI mapping [RFC3987].
PatH Updated Proposal
Change wording to avoid the use of Skolem
(Intro text explaining the idea and motivation for replacing bnodes with URIs to be used as 'external' identifiers. This text could mention Skolemization in passing.)
Systems wishing to replace bNodes with URIs in this way, and expose those URis to external systems (eg in query results) SHOULD mint a new, globally unique URI for each bNode. Systems performing this replacement may wish to do so in such a way that they can recognise the URIs and map back to the source blank nodes where possible.
Systems which want a generated URI to be identifiable as having been introduced solely to replace a bNode SHOULD use the .well-known URI prefix with IANA as per RFC 5758. (Details TBD.)
Systems wishing to skolemise bNodes, and expose those skolem constants to external systems (e.g. in query results) SHOULD mint a "fresh" (globally unique) URI for each bNode. All systems performing skolemisation SHOULD do so in a way that they can recognise the constants once skolemised, and map back to the source bNodes where possible.
Change Proposal A:' Replace second sentence with: Systems performing skolemisation may wish to do so in a way that they can recognise the constants once skolemised, and map back to the source blank nodes where possible.
Specific Syntaxes for Indicating Skolem URIs
Systems which want their skolem constants to be identifiable by other systems SHOULD use the .well-known URI prefix.
(more details TBD)
Change Proposal B: Add the following: Systems that encounter skolem URIs generated by other systems SHOULD NOT assume that the skolem URIs are permanent.
- Comment: Not necessary. Instability is an issue, that's true, but let's see what happens. If we issue a WG Note soon, we can still update it later with more experience.