On 27/01/15 17:11, Stian Soiland-Reyes wrote:
I agree that "local scope" should be clarified
"local scope" is a piece of terminology used only for RDF syntax. Once
away from syntax, there is no "scope" to a blank node.
It is described in:
http://www.w3.org/TR/rdf11-concepts/#section-blank-nodes
The scope is the file for the purposes of reading that file once.
A bnode "_:a" is the same bNode everywhere in that file at the time it
is read (i.e. parsed).
If the file is read twice, "_:a" generates a different blank nodes.
The only things you can do with blank nodes are:
* Create a new one ("a fresh one"), different from every other blank node.
* See if it is the same as another (java's .equals) because all RDF
terms are distinguishable [1].
* Put them in triples and hence into graphs.
That has the implications that they can be put into several datastructures.
The description in the javadoc:
"""
They are always locally scoped to the file or RDF store
"""
is not right. They are not scoped to the RDF store.
The nearest concept is that one store must have created it in the first
place but once created, the blank node is just a thing and a rather
simple, boring thing at that.
This analogy might help (or not):
There is a table with 4 metal spheres on it in a line across it. Each
sphere is exactly kind of material, the same mass, the same colour and
the same shininess. You can ask "is that sphere the same as that other
one?" by pointing to two of them. If you put them in a bag, shake the
bag and take one out, you can't tell whether this chosen one is the same
as the one that was on the right-hand end of the line.
Andy
[1] http://www.w3.org/TR/rdf11-concepts/#section-rdf-graph
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org