- From: Ian Davis <ian.davis@talis.com>
- Date: Wed, 12 Oct 2011 22:22:20 +0100
- To: RDF WG <public-rdf-wg@w3.org>
- Message-ID: <CAAiX05HHL8c+NpHNDKT6GU-dxz7Yhz=o+LZ-X=mgpZD9qcLHFw@mail.gmail.com>
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. S1) A Graph Store contains one (unnamed) slot holding a default Graph Container and zero or more named slots holding named Graph Containers. S1a) A Graph Store contains one (unnamed) default Graph Container and zero or more Graph Containers each associated with a IRI. 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. S3) The RDF Graphs in an RDF Dataset are the states of the Graph Containers contained in the 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. 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. 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 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> 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 -- Ian Davis, Chief Technology Officer, Talis Group Ltd. http://www.talis.com/ | Registered in England and Wales as 5382297
Received on Wednesday, 12 October 2011 21:22:48 UTC