- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Wed, 23 Mar 2005 09:46:48 +0000
- To: kendall@monkeyfist.com
- CC: DAWG Mailing List <public-rdf-dawg@w3.org>
Kendall Clark wrote:
> On Tue, Mar 22, 2005 at 06:06:25PM +0000, Seaborne, Andy wrote:
>
>
>>I had a quick scan (and will look more later). 2 (related) comments:
>
>
> Thanks for looking, Andy.
>
>
>>1/ the handling of optional by an attribute. It seem more systematic to
>>define a tag c.f.:
>
>
> Hmm, perhaps. The element v. attribute thing is endless, of course, I
> just thought that saying a thing is optional is an attribute of that
> thing, rather than something that relates one or things together,
> which is what a UNION is.
>
> I think it's 12 of one, 15 of the other. -shrug-
OPTIONAL is a graph operator just like the others. UNION could be done as an
attribute. It's just consistentcy.
>
>
>>2/ Basic patterns and triple patterns
>>
>>Something like { ?s ?p ?o } can be viewed as a single triple pattern or it
>>can be a single triple pattern in a group.
>
>
> Yes, I struggled with understanding this bit of the SPARQL
> grammar. I'm not sure I favor one or the other ways of looking at it;
> in my view, the XML serialization should definitely be the tail and
> the end-user syntax should be the dog.
And they are both the tail of the defns in rq23 :-)
In rq23, triples patterns only play a role to basic patterns. This is much more
explciit in the new syntax than the old.
>
>
>>The view as group-triples makes more sense to me because of the extension
>>to { ?s ?p ?o . ?a ?b ?c . } - that is a group of two triple patterns (a
>>basic pattern).
>
>
> Right.
>
>
>>If pattern-groups are the only thing that can have triple patterns then
>>there is no need for a schema to have to cope with triple pattern or group
>>at each point.
>>
>>pattern-groups also hold constriants, optional, GRAPHs.
>>
>>I think this is close to the examples - a bit further away from the schema
>>with it's tpattern and gpattern.
>
>
> Sorry, I don't understand what you mean here.
Well - I'm assuming the examples are better guidance than the schema. I found
things in the schema which I didn't expect (prefixes - I think of them as merely
part of shorthand for URIs - if you wish to round trip both syntaxes in a human
readable way, then they migh tbe needed but for query meaning, they aren't) and
things that weren't in examples (tpattern, gpattern).
>
>
>>It does introduce an extra level of XML but it makes it much easier to
>>process because of the regularity. In compensation, it loses an atrribute
>>and makes the schema simpler (less variability).
>
>
> Loses the optional attribute you mean?
>
>
>>The top of query is always a pattern-group (like the {} round a query
>>pattern in the human syntax).
>
>
> Yeah, this is definitely the part of the grammar I had the most
> trouble with (save for arbitrary expressions as constraints).
>
> I'll rethink it again with yr comments in mind.
>
> Kendall
In ARQ, there is a command line tool "qparse" that prints out query structure -
the output type is "plain" or "debug". I wrote that output format because in,
old syntax, the variation in triple pattern vs graph patterns needed checking.
Andy
Received on Wednesday, 23 March 2005 09:49:27 UTC