W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > January to March 2005

Re: Corrected sparqlx schema (sent the wrong one previously)

From: Kendall Clark <kendall@monkeyfist.com>
Date: Wed, 23 Mar 2005 10:45:38 -0500
To: "Seaborne, Andy" <andy.seaborne@hp.com>
Cc: DAWG Mailing List <public-rdf-dawg@w3.org>
Message-ID: <20050323154538.GB9558@monkeyfist.com>

On Wed, Mar 23, 2005 at 03:11:08PM +0000, Seaborne, Andy wrote:
> 
> 
> element query-pattern {
>     (group-pattern
>        | element pattern-group {
>            triple-pattern?            <<---- can be empty
>          }

Do you mean a pattern-group can be empty or a triple-pattern can be
empty? I assume the former, since an empty triple-pattern doesn't make
a lot of sense.

But, then, I can't make sense of serializing an empty pattern-group
either...?

>        | element dataset-constraint {
>            (uri | variable), (group-pattern)
>          }*
>         ^^^^ ????? why *

I assume trang set that cardinality to * because of sparqlx-23.xml in
the zip file, which serializes this query:

PREFIX  data:  <http://example.org/foaf/>
PREFIX  foaf:  <http://xmlns.com/foaf/0.1/>
PREFIX  rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?mbox ?age ?ppd
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:age ?age }
  }

Where there are two GRAPH constraints.

Kendall

PS--I include sparqlx-23.xml here for reference.

<?xml version="1.0" encoding="UTF-8"?>

<!--
PREFIX  data:  <http://example.org/foaf/>
PREFIX  foaf:  <http://xmlns.com/foaf/0.1/>
PREFIX  rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?mbox ?age ?ppd
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:age ?age }
  }    
-->
<rdf-query xmlns="http://www.w3.org/2001/sw/DataAccess/sparql-xml-syntax/">
    <select distinct="false" limit="">
        <variable name="age"></variable>
        <variable name="mbox"></variable>
        <variable name="ppd"></variable>
    </select>
    <query-pattern>
        <dataset-constraint>
            <!-- could be a dataset-constraint attr instead? -->
            <uri>http://example.org/foaf/aliceFoaf</uri>
            <group-pattern optional="false">
                <triple-pattern optional="false">
                    <subject>
                        <variable name="alice"></variable>
                    </subject>
                    <predicate>
                        <uri>http://xmlns.com/foaf/0.1/foaf/mbox</uri>
                    </predicate>
                    <object>
                        <uri>mailto:alice@work.example</uri>
                    </object>
                </triple-pattern>
                <triple-pattern>
                    <subject>
                        <variable name="alice"></variable>
                    </subject>
                    <predicate>
                        <uri>http://xmlns.com/foaf/0.1/foaf/knows</uri>
                    </predicate>
                    <object>
                        <variable name="whom"></variable>
                    </object>
                </triple-pattern>
                <triple-pattern>
                    <subject>
                        <variable name="whom"></variable>
                    </subject>
                    <predicate>
                        <uri>http://xmlns.com/foaf/0.1/foaf/mbox</uri>
                    </predicate>
                    <object>
                        <variable name="mbox"></variable>
                    </object>
                </triple-pattern>
                <triple-pattern>
                    <subject>
                        <variable name="whom"></variable>
                    </subject>
                    <predicate>
                        <uri>http://www.w3.org/2000/01/rdf-schema#seeAlso</uri>
                    </predicate>
                    <object>
                        <variable name="ppd"></variable>
                    </object>
                </triple-pattern>
                <triple-pattern>
                    <subject>
                        <variable name="ppd"></variable>
                    </subject>
                    <predicate>
                        <uri>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</uri>
                    </predicate>
                    <object>
                        <uri>http://xmlns.com/foaf/0.1/PersonalProfileDocument</uri>
                    </object>
                </triple-pattern>
            </group-pattern>
        </dataset-constraint>
        <dataset-constraint>
            <variable name="ppd"></variable>
            <group-pattern>
                <triple-pattern optional="false">
                    <subject>
                        <variable name="w"></variable>
                    </subject>
                    <predicate>
                        <uri>http://xmlns.com/foaf/0.1/foaf/mbox</uri>
                    </predicate>
                    <object>
                        <variable name="mbox"></variable>
                    </object>
                </triple-pattern>
                <triple-pattern optional="false">
                    <subject>
                        <variable name="w"></variable>
                    </subject>
                    <predicate>
                        <uri>http://xmlns.com/foaf/0.1/foaf/age</uri>
                    </predicate>
                    <object>
                        <variable name="age"></variable>
                    </object>
                </triple-pattern>
            </group-pattern>
        </dataset-constraint>
    </query-pattern>
</rdf-query>
Received on Wednesday, 23 March 2005 15:50:34 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:22 GMT