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: Eric Prud'hommeaux <eric@w3.org>
Date: Sat, 23 Dec 2017 13:16:41 -0500
To: Victor Porton <porton@narod.ru>
Cc: semantic-web <semantic-web@w3.org>
Message-ID: <20171223181640.GR17888@w3.org>
* Victor Porton <porton@narod.ru> [2017-12-23 18:09+0200]
> 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.

I think you're better off being explicit about the semantics of your
list elements. People will make better use of it when it has
consistent behavior across encodings. It's always tempting to make
RDF easy on the eyes but the data model is really supposed to be about
clarifying semantics.


> My question: Is it OK (or a heresy) to do different thing for a blank
> node rather than for an explicit IRI?

There are OWL constructs in which you want to make sure that a node
has no other references. In these cases, the OWL RDF binding requires
that some node be a bnode. (As far as I know, OWL is the only popular
data structure which employs this but it could certainly be used
elsewhere.)

Apart from this case, yeah, it's typically heresy to make a
distinction between bnodes and IRIs. Beyond the idealogical notion
they both stand for RDF nodes, practically, it's a bit impolite to
users to say that they can't substitute bnodes with IRIs in order to
get a stable identifier. (This is quite useful in debugging.)


> 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?
> 

-- 
-ericP

office: +1.617.599.3509
mobile: +33.6.80.80.35.59

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.

There are subtle nuances encoded in font variation and clever layout
which can only be seen by printing this message on high-clay paper.
Received on Saturday, 23 December 2017 18:16:53 UTC

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