- From: Dave Beckett <dave.beckett@bristol.ac.uk>
- Date: Thu, 21 Apr 2005 16:27:37 +0100
- To: "'RDF Data Access Working Group'" <public-rdf-dawg@w3.org>
Question: Is the WHERE {...} structure optional in sparql?
The grammar says yes and lookin in the WD I can see it's given as an
example with ASK,
So whereas CONSTRUCT, DESCRIBE and SELECT are all given examples
requiring WHERE { .... }, ASK has the format ASK { ...} and no WHERE.
Possibly ASK WHERE { ... } would be more consistent.
So thinking further, what does WHERE with an empty graph pattern {}
mean? I discussed this with EricP in Italy and we think it's the
same as query succeding and returning 1 result, and it's what Algae2
does.
Going through the query verbs:
1. SELECT * WHERE {}
returns 1 result[row] with no bindings
2. CONSTRUCT { :a :b :c } WHERE {}
returns the graph { :a :b :c}
3. ASK {}
returns true
4. DESCRIBE <uri> WHERE {}
Well nobody can tell what it returns :)
but it's probably the same as DESCRIBE <uri> for all cases.
and if WHERE {} is the same as omitting it, then the queries below
return the same results as the above:
1a. SELECT *
2a. CONSTRUCT { :a :b :c }
3a. ASK
4a. DESCRIBE <uri>
-- this one's already in the spec
Dave
Received on Thursday, 21 April 2005 15:31:06 UTC