On Nov 18, 2014 11:13 AM, "Joseph Kiegel" <[log in to unmask]> wrote:
> In RDF 1.1 Concepts and Abstract Syntax, section 3.4, we find: "Blank node identifiers . are always locally scoped to the file or RDF store, and are not persistent or portable identifiers for blank nodes". [...] Isn't it true, then, that blank node identifiers, which are valid at Library A, are not defined when they get to Library B? This seems like a problem.
> Is the use of blank nodes consistent with BIBFRAME's function as a carrier?
What the specification means is that a blank node _:x that refers to some thing in an RDF file transferred from A to B may not refer to the same thing except during in the one use of that file.
It may not be the name of the thing in the stores at A *or* B, and if the same file is ingested twice, it could refer to two different things that happen to have the same values for the stated properties.
Blank node identifiers are essentially variables (in SPARQL they are an alternative syntax for variables)...
Suppose we have the following file:
_:x rdf:type :Weasel.
_:x :favoriteEggType :Chicken .
This says that there is something that is a Weasel and whose favorite type of egg is Chicken.
If we see this twice, we cannot tell how many chicken pickin Weasels we have.
A different file could use _:x to refer to some Chicken.