Talk:Blank node

Latest comment: 6 months ago by Andy Dingley
WikiProject iconDatabases Start‑class (inactive)
WikiProject iconThis article is within the scope of WikiProject Databases, a project which is currently considered to be inactive.
StartThis article has been rated as Start-class on Wikipedia's content assessment scale.

What's missing here is some kind of discussion of how to identify/refer to blank nodes outside the graph/document it resides in. --LarsMarius (talk) 09:45, 15 December 2011 (UTC)Reply

Broadly, you can't. That's one reason they're called "anonymous nodes". In the first example, "John has a friend born the 21st of April" there's just no way to refer to this friend outside of this pair of predicates. We might know they're a foaf:Person (although best-friend could be a foaf2:Dog instead) and we know the obvious two relations to Jon and birthdate, but that's still a huge potential range with absolutely no way to identify our anonymous node any further. Andy Dingley (talk) 09:59, 15 December 2011 (UTC)Reply
Well, that's not 100% true, because some SPARQL engines provide ways to do it. However, the question should be understood more broadly. Concise Bounded Descriptions, for example, are designed to deal with this problem, and there are other approaches as well. Anyway, this stuff should be in the article, and not here. --LarsMarius (talk) 19:21, 16 December 2011 (UTC)Reply
I would disagree in that case that it's "outside" the graph.
Even in the case where John has two friends with the same birthdate, it's still possible to refer to the two anonymous nodes and to distinguish them - either by rdf:nodeID [1] or by rdf:_n for containers [2]. However these can only be applied within that graph. If there are two graphs describing friends of an identifiable and identical John, we would be unable to state that these anonymous nodes referred to the same person. With the aid of a reasoner and some further information (maybe a property with unique cardinality, such as SSN) then we might be able to do this, but in general anonymous nodes remain anonymous and can't have their equivalence tested. Andy Dingley (talk) 10:57, 17 December 2011 (UTC)Reply
To find blank nodes from outside a graph Generel skolemization is a commonly discussed way and the replacing of blank nodes with well-known IRIs is a standard. R Focke (talk) 20:28, 29 October 2023 (UTC)Reply
Good points, but those are really additional mechanisms invented to get round this limitation, rather than a claim that it isn't. Andy Dingley (talk) 20:55, 29 October 2023 (UTC)Reply

Please get rid of the RDF/XML and use Turtle for the examples! edit

RDF/XML is notoriously hard (for humans) to read, and misleads people into thinking that RDF is merely a kind of XML. -- DBooth (talk) 02:23, 16 September 2012 (UTC)Reply

Agreed, we could use some other serialisation here. However I would still keep the RDF/XML version (but not placed first), as there's still a legacy of it about. Andy Dingley (talk) 09:24, 16 September 2012 (UTC)Reply