- 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>
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 UTC