- From: Andrew Newman <andrewfnewman@gmail.com>
- Date: Tue, 18 Mar 2008 10:55:30 +1000
- To: andy.seaborne@hp.com, "Lee Feigenbaum" <lee@thefigtrees.net>
- Cc: "Arjohn Kampman" <arjohn.kampman@aduna-software.com>, "public-rdf-dawg-comments@w3.org" <public-rdf-dawg-comments@w3.org>
Here it is, one more time from the top...I hope someone follows my reasoning enough to at least point out the mistake I'm making. The definition in 5.2.1 "one solution that does not bind any variables" seems to be contradictory of the definition of the universal set/universal relation and the definition in 12.3 and it's not what happens when you use it in ARQ. So is the empty group pattern a good name, is it really empty - it has a cardinality of 1 - isn't the *really* empty set (or multiset) have a cardinality of 0 and is trivially false/empty set? Furthermore, does it really not bind to any variables? When you use it in a query: SELECT ?x WHERE {{}} You get back: {?x -> {}} You add ?a, ?b, ?c and so on and you get back those binding to {} as well - so that would suggest to me that it binds to every variable - rather than not binding to any variable. If it is binding to everything then it is consistent (with my idea) of the universal set. A related question is why bother? Why not return trivially true back instead of binding it to any variables at all - isn't that equivalent? If it is the universal set then UNIONing it with anything - it should also be trivially true - if it contains all possible bindings then UNIONing it with anything returns itself. Much like TRUE OR X in boolean logic - it doesn't matter what X is - because with OR you don't even have to look at X you just return TRUE. If it's not, how can it be the identity of JOIN? What is happening when JOINing with the empty group pattern? Isn't it finding a ì1 from Ù0 that is compatible with ì2 in Ù2? Again, the identity of JOIN is something that is binding to everything - rather than something that doesn't. Like I said, this is only to make it consistent with boolean, set, bag or relational algebra. I'm not sure anyone knows exactly what an algebra is so this behavior might be arbitrary. The added confusion is that I don't understand the current SPARQL result of UNIONing {} in SPARQL as you end up with something that is neither a usual result nor an identity but a combination of the two (which is where the conversation started). It seems to be correct/valid to keep collecting these empty sets (unless you eliminate them with a distinct), what does that mean? I haven't seen a mixture of this kind so it'd be useful if there were a few pointers or explanation around it because I think it is different to most other algebras.
Received on Tuesday, 18 March 2008 00:56:03 UTC