W3C home > Mailing lists > Public > public-rdf-wg@w3.org > October 2011

Re: Strawpoll proposals on terminology

From: Richard Cyganiak <richard@cyganiak.de>
Date: Thu, 13 Oct 2011 12:03:45 +0100
Cc: RDF WG <public-rdf-wg@w3.org>
Message-Id: <D9EA3F77-41C5-4F26-8A0B-C04DC85E24E1@cyganiak.de>
To: Ian Davis <ian.davis@talis.com>
On 12 Oct 2011, at 22:22, Ian Davis wrote:
> I think we would get understand the extent of consensus in the group if we ran some strawpolls on usage of our terminology with some concrete statements
> 
> I restated some definitions from SPARQL 1.1 using explicit RDF Graph and RDF Container terminology. I also extended the idea of explaining in prose what certain SPARQL queries mean. I finally threw in a few statements that push the boundaries of what we discussed today.
> 
> S0) The state of a Graph Container is an RDF Graph.

+1

> S1) A Graph Store contains one (unnamed) slot holding a default Graph Container and zero or more named slots holding named Graph Containers.

If the *slots* are named, then it is unnecessary to say that the graph container in the slot is named.

Also, graph stores as defined in SPARQL contain *RDF graphs*, not graph containers. Graph stores are manipulated by replacing the graph in one slot with a different graph.

> S1a) A Graph Store contains one (unnamed) default Graph Container and zero or more Graph Containers each associated with a IRI.

Doesn't really make sense to me. This for example seems to preclude the same graph container might act as a named graph *and* as the default.

> S2) An RDF Dataset is a set { G, (<u1>, G1), (<u2>, G2),... (<un>, Gn) } where G and each Gi are RDF Graphs and each <ui> is an IRI. 

+1

> S3) The RDF Graphs in an RDF Dataset are the states of the Graph Containers contained in the Graph Store.

See my remarks on S1. I'd say: An RDF dataset is a static snapshot of a graph store.

> The following all assume <g> is associated with a Graph Container in the Graph Store
> 
> S4) When we write SELECT * WHERE { GRAPH <g> {?s ?p ?o} } we mean the SPARQL engine should retrieve the RDF Graph that is the state of the Graph Container that <g> is associated with and evaluate the graph pattern against the RDF Graph.

SPARQL evaluation doesn't need to refer to graph stores or graph containers at all. SPARQL evaluation is defined over static snapshots (RDF dataset).

> S5) When we write INSERT DATA { GRAPH <g> { :s :p :o } }  we mean the SPARQL engine should retrieve the RDF Graph that is the state of the Graph Container that <g> is associated with, perform an RDF-Merge operation between that RDF Graph and :s :p :o and set the state of <g> to be the resulting graph.

See my remark on S1) above. Otherwise ok.

> S6) When we write DELETE DATA { GRAPH <g> { :s :p :o } } we mean the SPARQL engine set the state of the Graph Container that <g> is associated with to the empty RDF Graph

No, not at all. Did you mean to write {?s ?p ?o}?

> S7) When we write SELECT * WHERE { GRAPH <g> {?s ?p ?o} } the triple <g> rdf:type :GraphContainer is true for some <g>
> 
> S7a) When we write SELECT * WHERE { GRAPH <g> {?s ?p ?o} } the triple <g> rdf:type :GraphContainer is true for all <g>

What? Why would *writing a query* assert the truth of a triple???

> S8) When ASK WHERE { GRAPH <g> { :s :p :o } } evaluates to true and <g> is an http IRI then at some time in the past an HTTP GET request to <g> has returned a document that when parsed results in a graph that contains the triple :s :p :o

-1

Best,
Richard
Received on Thursday, 13 October 2011 11:04:17 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:45 GMT