On 6/5/07, Steve Harris <[EMAIL PROTECTED]> wrote:
On 5 Jun 2007, at 06:55, Andrew Newman wrote: > On 6/5/07, Steve Harris <[EMAIL PROTECTED]> wrote: > Isn't it just outer union? And isn't outer union just part of SQL 92. > And isn't SQL 92 implemented by most (all?) databases.In a sense. You can expand any SPARQL UNION into a set of SQL UNIONs, but SQLs UNION doesn't allow you to explicitly write :x :y ?z { ?z :p ?q } UNION { ?z :r ?q } where the ?z-s are scoped to the whole expression and the ?q-s are scoped to the block. In relational the equivalent would be to join two expressions, each of two joins and use rho to unify the variables. But, I personally wouldn't write it that way.
So OUTER JOIN is a set operation not a join operation - so they are differently scoped in SQL too (I think). A good example (page 3): http://www2.sas.com/proceedings/sugi31/242-31.pdf
