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

Re: A different take on b-scopes (ISSUE-107)

From: Antoine Zimmermann <antoine.zimmermann@emse.fr>
Date: Thu, 22 Nov 2012 10:28:47 +0100
Message-ID: <50ADF04F.7010302@emse.fr>
To: Richard Cyganiak <richard@cyganiak.de>
CC: RDF Working Group WG <public-rdf-wg@w3.org>
Yes, it's going in the right direction and I like it much better than
before. But still some issues: the proposal has some unsaid assumptions 
that makes it a bit sloppy.

1. A scope is mutable. Bnodes id can be added to it, thus the notion of 
fresh bnodes;
2. A scope is associated to an RDF graph, thus the notion of copying a 
graph into a scope, and merging towards a scope.

I had a hard time making sense of the two paragraphs before the note but 
here is a proposal. At some places it may be a bit too heavy in trying 
to be precise, so we can consider removing parts if accepted.

A /blank node identifier/ is a Unicode string that identifies a blank 
node within some local context, called a /scope/. A /scope/ is a mutable 
entity that comprises:
  - a finite set of /blank node identifiers/;
  - an RDF graph;
  - a 1 to 1 mapping (bijection) between the set of identifiers and the 
set of blank nodes in the RDF graph.

Scopes are subject to the following constraints:
  - in any state of affairs, different scopes map their identifiers to 
disjoint sets of blank nodes;
  - every RDF document forms its own scope, where the RDF graph of the 
scope is the one serialised in the document;
  - scope boundaries outside of RDF documents (for example, in RDF 
stores) are implementation-dependent;
  - other specifications MAY impose additional rules, including 
constraints on the syntax of a scope's blank node identifiers.

If a scope maps a blank node identifier to a given blank node, the 
identifier is said to /identify/ the blank node. A blank node that is 
identified by a blank node identifier in a scope is said to /belong/ to 
the scope.

A /fresh blank node/ is a blank node that does not belong to any scope.

A /copy/ of a given RDF graph is an isomorphic RDF graph that only 
contains fresh blank nodes. An RDF graph is /copied into a scope/ by 
adding all the triples of a copy of the graph to the target scope's 
graph, and extending the mapping by introducing new identifiers mapped 
to the fresh nodes. If the given RDF graph belongs to a scope (its 
source), and none of the source's blank node identifiers are used in the 
target scope, copying into a scope can be achieved by simply re-using 
the same blank node identifiers in the new scope.

The merge of two RDF graphs can be obtained by copying both graphs into 
a target empty scope. In this case, the merge will be the target scope's 
RDF graph after the copies.

Remark: in RDF 2004, merge is a math operation, so it does not involve 
changes of state, copy, etc. It's also a "semantic" operation, in the 
sense that the merge of a set of graphs is the only RDF graph (up to 
isomorphism) that is simple-equivalent to the set of graphs.

If we keep it this way in RDF 1.1, and I hope we do, then what concepts 
says about merge should not be presented as a definition but rather a 
way to *do* a merge. Thus, my words say "the merge can be obtained by etc."


Le 22/11/2012 00:48, Richard Cyganiak a écrit :
> So here's a modified proposal. (The old one is still further down on
> the same page.)
> http://www.w3.org/2011/rdf-wg/wiki/User:Rcygania2/B-Scopes
> What this does:
> * Takes an old 2004-style definition of blank nodes * Adds a new
> subsection on “blank node identifiers and scopes” * Defines scopes
> more formally by saying that they have an associated “1:1 mapping
> (bijection) between blank node identifiers and blank nodes”
> The goal was to make scopes an add-on to the definition of blank
> nodes, rather than baking them right into the definition. I may be
> wrong but that seemed to be at the heart of both Antoine's and Andy's
> concerns.
> If this changes anyone's view of the whole thing (in a good or bad
> direction), then please comment.
> The new proposal keeps the following bit, which Antoine and Andy may
> also have objected to, but which for me is the key sentence to the
> whole endeavour:
> “The sets of blank nodes in any two scopes are disjoint.”
> If you think that this sentence shouldn't be there, then I'd really
> like to hear the case argued, because I don't understand the reason
> for this objection.
> 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 Thursday, 22 November 2012 09:29:22 UTC

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