Re: Can I assume that blank node is not replaceable by a IRI?

On Sat, 2017-12-23 at 18:09 +0200, Victor Porton wrote:
> I want to have a structure like this (in Turtle):
> rdfs:seeAlso
>   (<> <>) .
> But sometimes I want my seeAlso to be conditional, so I could specify
> that some of the seeAlso resources are used only in "transformation"
> mode or only in "validation" mode, like this:
> rdfs:seeAlso (
>   [ :iri <> ; :transformation: false ]
>   [ :iri <> ; :validation: false ]
> ) .
> However in this case I use a blank node instead of a IRI.
> My question: Is it OK (or a heresy) to do different thing for a blank
> node rather than for an explicit IRI?
> Isn't there the invariant that if blank nodes are replaced with unique
> IRIs then the meaning should not change? (And the above does NOT
> conform to this invariant.)
> If to conform to this variant, the first example would become instead:
> rdfs:seeAlso
>   ([ :iri <> ] [
> :iri <> ]) .
> what seems not concise enough.
> What to do?

It seems that this is indeed a heresy:


In situations where stronger identification is needed, systems may
systematically replace some or all of the blank nodes in an RDF graph
with IRIs. Systems wishing to do this should mint a new, globally
unique IRI (a Skolem IRI) for each blank node so replaced.

This transformation does not appreciably change the meaning of an RDF
graph, provided that the Skolem IRIs do not occur anywhere else. It
does however permit the possibility of other graphs subsequently using
the Skolem IRIs, which is not possible for blank nodes.

Systems may wish to mint Skolem IRIs in such a way that they can
recognize the IRIs as having been introduced solely to replace blank
nodes. This allows a system to map IRIs back to blank nodes if needed.

Received on Saturday, 23 December 2017 17:01:42 UTC