Proposed edits for ISSUE-107 - blank nodes (this time with some content)

This is a proposal to finish off the work done for ISSUE-107, revised
definition of blank nodes, in the core WG documents.

The WG has realized that blank nodes can be shared between RDF graphs under
certain conditions.   The Semantics document reflects this understanding by
no longer requiring that blank nodes are standardized apart when combining
RDF graphs.  The Concepts document needs changes to reflect this
understanding, and its technical embodiment in Semantics.

There are a few clean-ups needed in Semantics:
1/ The first paragraph of Issue 1, in Section 3, can be removed, as there is
no notion of blank node scoping.
2/ Issue 2, in Section 3, can also be removed.  The preceeding sentence
should be changed to
    Graphs share blank nodes only if they are derived from graphs
    described by documents or other structures (such as the data
    structures in an RDF store) that explicitly provide for the sharing
    of blank nodes between different RDF graphs.  Simply downloading a
    web document does not mean that the blank nodes in a resulting RDF
    graph is the same as the blank nodes coming from other downloads of
    the same document.
3/ In Section 4, under Blank Nodes, change the last sentence to
    Blank nodes themselves differ from other nodes in not being assigned
    a denotation by an interpretation, reflecting the intuition that
    they have no 'global' meaning.
4/ In Section 4, under Intuitive Summary, change "in the scope" to "in the
graph".

The required changes to Concepts are as follows:


3.4 Blank Nodes

Blank nodes are disjoint from IRIs and literals.  Otherwise, the set of
possible blank nodes is arbitrary.  RDF makes no reference to any internal
structure of blank nodes.

Note:
Blank node identifiers are local identifiers that are used in some concrete
RDF syntaxes and RDF store implementations. Blank node identifiers are
always locally scoped to the document or RDF store, and are not persistent
or portable identifiers for blank nodes. Blank node identifiers are not part
of the RDF abstract syntax, but are entirely dependent on the concrete
syntax or implementation. The syntactic restrictions on blank node
identifiers, if any, therefore also depend on the concrete RDF syntax or
implementation.  Implementations that handle blank node identifiers in
concrete syntaxes need to be careful not to create the same blank node from
multiple occurences of the same blank node identifier except in situations
where this is supported by the syntax.

In the RDF 1.0 specification, it was assumed that different RDF graphs
should not share blank nodes, so any "accidentally" shared blank nodes had
to be specially handled when combining (merging) RDF graphs.  In practice,
RDF stores produce RDF graphs that do share blank nodes so their operations
do not follow the specification.  Further, RDF datasets contain RDF graphs
that can share blank nodes.  For these reasons, blank nodes are no longer
treated specially when combining RDF graphs.  It is up to implementations to
ensure that they do not accidentally produce indistinguishable data
structures for different blank nodes or otherwise make identifications
between different blank nodes.


A Changes between RDF 2004 and RDF 1.1

Earlier versions of RDF assumed that blank nodes should not be shared
between RDF graphs and so combining RDF graphs involved modifying any shared
blank nodes.  RDF graphs can now, under certain circumstances, share blank
nodes, and this modification of blank nodes when combining RDF graphs is no
longer required.

On Wed, Apr 17, 2013 at 9:55 AM, Peter Patel-Schneider
<pfpschneider@gmail.com> wrote:
>

Received on Wednesday, 17 April 2013 16:56:39 UTC