- From: David Booth <david@dbooth.org>
- Date: Sat, 23 Dec 2017 13:06:43 -0500
- To: semantic-web@w3.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