- From: Steve Harris <S.W.Harris@ecs.soton.ac.uk>
- Date: Tue, 5 Oct 2004 14:21:10 +0100
- To: DAWG public list <public-rdf-dawg@w3.org>
Another systatic alternative to the inline disjunctive exressions I dislike so much :) is UNION queries, which have been discussed a little, as "multiple queries per request", "multiple WHEREs" or something similar. So SELECT ?name WHERE { (?x foo:name ?name) } OR { (?x bar:hasName ?name) } could be writen as: SELECT ?name WHERE (?x foo:name ?name) UNION WHERE (?x bar:hasName ?name) or some other equivalent (you wany want to repeat the SELECT). This has the advantage over OR that it doesnt explode the query complexity, and doesnt have such complicated interactions with OPTIONAL, as every allowed combination of disjunctive expressions has to be spellt out. The query evaluator can simply execute each match in turn, or it may optimise it if it wishes to get more performance. The downside is that it will make the queries more verbose if you have a complicated disjunctive expression. - Steve
Received on Tuesday, 5 October 2004 13:21:16 UTC