“RDF systems” and empty graphs (was: Re: Making progress on graphs)

On 15 May 2012, at 14:11, Sandro Hawke wrote:
> Is there something wrong with an RDF system that doesn't implement blank
> nodes?  

Well, that is a topic better left for another day.

> Or wont store triples which use literals with datatypes?

(All literals have datatypes in RDF 1.1.)

I wouldn't find it very useful. It wouldn't be able to store a good number of interesting RDF graphs. It wouldn't interoperate well with other RDF systems. Users may well complain and call it broken.

> If so, how would you characterize what is wrong with it, in terms of
> conformance?

Artefacts conform to specifications. In the absence of a specification that claims to define “RDF systems” we cannot talk about RDF systems in terms of conformance.

We could point out that it cannot store the RDF graphs serialized in many conforming RDF/XML documents, and that it doesn't pass the RDF test cases.

RDF Concepts, the spec that defines what blank nodes are, doesn't define conformance criteria for “systems” but only for other specs. RDF/XML, SPARQL, RDF Semantics and so on all are specs that conform to RDF Concepts (modulo 2004 vs. 1.1 issues).

The closest we have to a spec that defines an “RDF system” is SPARQL Update, which normatively defines “graph stores”. The definition requires implementation of blank nodes and literals, so our RDF system could not be a conforming graph store.

Returning to the topic: The definition of “graph store” does not require, but allows, implementation of empty graphs. So, a system that implements empty graphs is a conforming graph store (assuming it meets the other criteria in SPARQL Update). A system that doesn't implement them is a conforming graph store too (assuming it meets the other criteria). This is of course not so good for interoperability between graph stores, but it is a compromise the SPARQL WG made in order to accommodate different kinds of implementations.


>   -- Sandro

Received on Tuesday, 15 May 2012 13:46:29 UTC