W3C home > Mailing lists > Public > semantic-web@w3.org > December 2017

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

From: David Booth <david@dbooth.org>
Date: Sat, 23 Dec 2017 13:06:43 -0500
To: semantic-web@w3.org
Message-ID: <47cd8c10-b90a-05a0-3ee2-ca6d62b1d901@dbooth.org>

On 12/23/2017 12:00 PM, Victor Porton wrote:
> On Sat, 2017-12-23 at 18:09 +0200, Victor Porton wrote:
>> I want to have a structure like this (in Turtle):
>> http://we.example.org rdfs:seeAlso
>>    (<http://x1.example.org> <http://x2.example.org>) .
>> 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:
>> http://we.example.org rdfs:seeAlso (
>>    [ :iri <http://x1.example.org> ; :transformation: false ]
>>    [ :iri <http://x2.example.org> ; :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:
>> http://we.example.org rdfs:seeAlso
>>    ([ :iri <http://x1.example.org> ] [
>> :iri <http://x2.example.org> ]) .
>> what seems not concise enough.
>> What to do?
> It seems that this is indeed a heresy:
>>From https://www.w3.org/TR/rdf11-concepts/
> 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.

I think you may be slightly misunderstanding the purpose of Skolem URIs. 
  There is a key phrase in the above quote: "provided that the Skolem 
IRIs do not occur anywhere else".  When it says "anywhere else", it 
really means it: a Skolem URI must not appear anywhere else in the 
entire universe -- not only in your graph!  The idea behind that phrase 
is that the Skolem URI is not intended to have any pre-existing meaning 
associated with it.  In contrast, in your example the URIs that you use 
( <http://x1.example.org> <http://x2.example.org> ) presumably *do* have 
pre-existing meaning associated with them, so they do not qualify as 
Skolem URIs.

I hope that helps.

David Booth
Received on Saturday, 23 December 2017 18:07:06 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:50:51 UTC