- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Tue, 31 Jul 2012 09:11:30 +0100
- To: public-rdf-dawg-comments@w3.org
On 30/07/12 23:18, David Booth wrote: > Suppose I LOAD a single file of NTriples into a named graph foo:, and > that file contains some duplicate triples such as: > > _:bnode <http://example/ppp> <http://example/vvv> . > _:bnode <http://example/ppp> <http://example/vvv> . > _:bnode <http://example/ppp> <http://example/vvv> . > > According to the RDF Semantics, an RDF graph is a *set* of triples. > Hence, AFAIK the above file represents an RDF graph containing *one* > triple, and the graph is lean. Yes - it is a graph of one triple. (The fact it is lean is not relevant) > If I then query that named graph as follows, how many solutions should I > get? > > SELECT * WHERE { GRAPH foo: { ?s ?p ?v } } > > Is the SPARQL server permitted to return more than one solution (i.e., > duplicates) in this case? No. And SELECT (count(*) AS ?C) WHERE { GRAPH foo: { ?s ?p ?v } } returns a single row with ?C=1 > I am aware of the DISTINCT keyword, but I always understood it as being > intended for situations where the query could generate multiple > candidate solutions, which is not the situation in this case. It seems > a little weird if a SPARQL server might return multiple solutions in > this case, but would it still be conforming to the SPARQL spec if it > did? > > Thanks You may wish to consider the mailing list public-sparql-dev@w3.org for general questions about SPARQL and its implementation. Andy
Received on Tuesday, 31 July 2012 08:12:25 UTC