W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > October to December 2004

Re: Another alternative to OR

From: Steve Harris <S.W.Harris@ecs.soton.ac.uk>
Date: Mon, 11 Oct 2004 10:02:38 +0100
To: DAWG public list <public-rdf-dawg@w3.org>
Message-ID: <20041011090238.GB18954@login.ecs.soton.ac.uk>

On Mon, Oct 11, 2004 at 09:44:50AM +0100, Andy Seaborne wrote:
> Suppose this is a library with its own accession system and the query is
> doing the simple thing of accession number to title and author
> 
> SELECT ?title ?author
> WHERE   (?x lib:accession ?n)
>         (?n lib:number "123.456.789")
>         { (?x dc10:title ?title) OR (?x dc11:title ?title) }
>         { (?x dc10:creator ?author) OR (?x dc11:creator ?author) }

Surely you would expand this as:

SELECT ?title ?author
WHERE   (?x lib:accession ?n)
        (?n lib:number "123.456.789")
        (?x ?title ?title)
        (?x ?creator ?author)
AND ?title == dc10:title || ?title == dc11:title
    ?creator == dc10:creator || ?creator == dc11:creator

The point I was making is that union queries offer an additional way of
expressing disjunctive expressions without going into territory that is
unexplored by SQL engines and optimisers.

I dont buy the argument that its better to let application writers express
the queries in whatever way takes thier fancy (ie. too much rope) and then
optimise it later. I can see a future where I spend a lot of my time
explaining to users how to rewrite thier queries to make them perform
better.

- Steve
Received on Monday, 11 October 2004 09:02:41 GMT

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