W3C home > Mailing lists > Public > public-rdf-wg@w3.org > November 2012

Re: B-scopes

From: Antoine Zimmermann <antoine.zimmermann@emse.fr>
Date: Sat, 17 Nov 2012 11:27:43 +0100
Message-ID: <50A7669F.9010606@emse.fr>
To: Richard Cyganiak <richard@cyganiak.de>
CC: RDF Working Group WG <public-rdf-wg@w3.org>
I don't find this really useful, and even confusing. Like Andy, I see 
this as an implementation approach.

(id,scope) is just a complicated way of defining a globally unique 
identifier for a bnode.

What I would say instead is the following:

Bnodes are drawn from an infinite set. Each bnode has a label being a 
UNICODE string, different from all other bnode labels. So when one draws 
a bnode, one can tell which bnode it is.
Serialisation syntaxes that rely on bnode identifiers are in fact 
identifying the exact bnode they use.

And everything stays the same. No other changes are required.

It especially clarifies what this sentence means:

Given two blank nodes, it is possible to determine whether or not they 
are the same.

In RDF 2004, this sentence was never really implemented anywhere. If you 
got a bunch of triples, then another bunch of triples, you could not say 
which bnode of the first bunch were the same or different as the bnodes 
of the second bunch.

There are cases when you want to split a graph into subgraphs, in which 
case you must know what bnodes actually appear in each subgraph. To get 
back the full graph from the subgraphs, it is required that you use set 
union, not merge. This requires that the bnodes are all identified in 
the same way across the subgraphs.

Notice that a bnode label does not denote anything in terms of the 
formal semantics, so it has nothing to do with an IRI, and nothing to do 
with a skolem IRI. The label is only there to tell which bnode is used. 
It's an existential variable name and it can be replaced by any other 
variable name without changing the meaning of a graph.

Fresh bnode may be defined formally as follows:

Given a set of RDF graphs Sg, the triples of which containing a set Sb 
of bnodes, a fresh bnode with respect to Sg is a bnode b not in Sb.

Of course, when we say "new", it has to be new wrt something predefined, 
thus the notion of "fresh bnode with respect to a set of RDF graphs".


Le 14/11/2012 12:02, Richard Cyganiak a écrit :
> Following recent discussions, I've written up a proposal to change
> the design of blank nodes in RDF by explicitly introducing scoped
> blank node identifiers into the abstract syntax.
> http://www.w3.org/2011/rdf-wg/wiki/User:Rcygania2/B-Scopes
> Requirements:
> • Consistency with all resolutions the WG has made so far • No
> changes to other specs beyond Concepts and Semantics required • No
> changes to conforming implementations required
> All further details are in the wiki.
> Comments welcome.
> Best, Richard

Antoine Zimmermann
ISCOD / LSTI - Institut Henri Fayol
École Nationale Supérieure des Mines de Saint-Étienne
158 cours Fauriel
42023 Saint-Étienne Cedex 2
Tél:+33(0)4 77 42 66 03
Fax:+33(0)4 77 42 66 66
Received on Saturday, 17 November 2012 10:28:14 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:04:23 UTC