- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Wed, 23 Mar 2005 15:55:55 +0000
- To: kendall@monkeyfist.com
- CC: DAWG Mailing List <public-rdf-dawg@w3.org>
Kendall Clark wrote: > 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...? pattern-group. { pattern } UNION {} is "pattern OR true". Andy > > >> | 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: I'd do that as a group with two GRAPHs in it rather than special casing it. Andy > > 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:58:31 UTC