- From: Pat Hayes <phayes@ihmc.us>
- Date: Mon, 12 Nov 2012 02:29:31 -0600
- To: Richard Cyganiak <richard@cyganiak.de>
- Cc: RDF Working Group WG <public-rdf-wg@w3.org>
On Nov 9, 2012, at 9:49 AM, Richard Cyganiak wrote: > RDF Concepts has a pretty much re-written section on Blank Nodes: > http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#section-blank-nodes > > > For reference, here's what Concepts says informatively about blank nodes in the Introduction (I didn't change anything there): > > [[ > Unlike IRIs and literals, blank nodes do not denote specific resources. Statements involving blank nodes say that something with the given relationships exists, without explicitly naming it. > ]] > http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#resources-and-statements > > > Then here's the new normative text: > > [[ > The *blank nodes* in an RDF graph are drawn from some arbitrary infinite > set that fulfils the following conditions: > > • It is disjoint from the set of IRIs and the set of all literals. > • Equality within the set is well-defined (*blank node equality*). > > Allocating a *fresh blank node* is the action of drawing a new node from the set. I don't think that last sentence makes sense. How does one perform an action on a set? And what counts as a "new" element of a set? Sets don't live in an operational space where things happen to them at times. > ]] > http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#section-blank-nodes > > > For comparison, this was the old text: > > [[ > The blank nodes in an RDF graph are drawn from an infinite set. This set is disjoint from the set of all IRIs and the set of all literals. Otherwise, this set of blank nodes is arbitrary. > > Given two blank nodes, it is possible to determine whether or not they are the same. Besides that, RDF makes no reference to any internal structure of blank nodes. > ]] > http://www.w3.org/TR/rdf-concepts/#section-blank-nodes > > > The normative text is followed by an informative note: > > [[ > *Blank node identifiers* are local identifiers that are used in some concrete RDF syntaxes or RDF store implementations. They are always locally scoped to the file 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. > ]] > > I have now added some more sentences: > > [[ > Since RDF systems generally refer to blank nodes only via such local identifiers, it is necessary to “standardize apart” the blank node identifiers when incorporating data that originates from an external source. This may be done by systematically replacing the blank node identifiers in incoming data with freshly allocated blank node identifiers. Unfortunately, this idea of standardizing apart applies to the blank nodes themselves, not just to their identifiers. (Because there is nothing in the curent abstract RDF model that prevents two distinct graphs from "accidentally" sharing a blank node.) We could fix this problem by changing the abstract structure of graphs and blank nodes along the lines suggested in http://www.slideshare.net/PatHayes/rdf-redux, but this would require us to take a nontrivial action and make a nontrivial change to RDF, so it is unlikely to happen :-) Barring this, it is misleading to imply that standardizing apart (and the distinction between unioning and merging) is only of concern to bnode identifiers. Pat > ]] > > > I believe this resolves ISSUE-107, hence I'm marking it PENDINGREVIEW. > http://www.w3.org/2011/rdf-wg/track/issues/107 > > Best, > Richard > ------------------------------------------------------------ IHMC (850)434 8903 or (650)494 3973 40 South Alcaniz St. (850)202 4416 office Pensacola (850)202 4440 fax FL 32502 (850)291 0667 mobile phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes
Received on Monday, 12 November 2012 08:30:00 UTC