- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Mon, 12 Nov 2007 11:27:30 +0000
- To: "alan gebert" <alan.gebert@gmail.com>
- Cc: public-sparql-dev@w3.org
Alan,
Couple of things.
1. SPARQL has the concept of a default dataset. A service can bring
its own default dataset. If no FROM NAMED is given, then the default
dataset is used. If FROM NAMED is given, then it overrides the default
dataset. Hence, the two queries you present below would perhaps not be
equivalent, because the first one overrides the default dataset with
two explicitly loaded named graphs, while the second one uses the
default dataset.
2. The GRAPH syntax allows queries such as
SELECT ?graph WHERE { GRAPH ?graph {} }
This lists the names of all named graphs in the dataset.
3. The triple-style syntax with GRAPH is compatible with Turtle and
N3, while the quad-style syntax is not.
4. Personally I find the triple-style syntax with GRAPH much more
readable than the quad-style syntax. YMMV.
Richard
On 10 Nov 2007, at 03:59, alan gebert wrote:
>
> Hi all,
>
> I assume there is a perfectly good reason for this... but I would
> really like to understand it thouroughly
>
> Why was there a need to use the NAMED and FROM NAMED graph syntax
> instead of extending sparql to use quads?
> ( by attaching an extra iri to statements patterns, for example ).
>
> The following two queries should be equivalent... right?
>
> SELECT ?mbox ?nick ?ppd
> FROM NAMED <http://example.org/foaf/aliceFoaf>
> FROM NAMED <http://example.org/foaf/bobFoaf>
> WHERE
> {
> GRAPH data:aliceFoaf
> {
> ?alice foaf:mbox <mailto:alice@work.example> ;
> foaf:knows ?whom .
> ?whom foaf:mbox ?mbox ;
> rdfs:seeAlso ?ppd .
> ?ppd a foaf:PersonalProfileDocument .
> } .
> GRAPH ?ppd
> {
> ?w foaf:mbox ?mbox ;
> foaf:nick ?nick
> }
> }
>
>
>
>
>
> SELECT ?mbox ?nick ?ppd
> WHERE
> {
> ?alice foaf:mbox <mailto:alice@work.example> data:aliceFoaf;
> foaf:knows ?whom data:aliceFoaf .
> ?whom foaf:mbox ?mbox data:aliceFoaf ;
> rdfs:seeAlso ?ppd data:aliceFoaf.
> ?ppd a foaf:PersonalProfileDocument data:aliceFoaf .
> ?w foaf:mbox ?mbox ?ppd ;
> foaf:nick ?nick ?ppd
> }
>
>
> Thanks,
> A
>
>
>
Received on Monday, 12 November 2007 11:27:47 UTC