- From: Andrew Newman <andrewfnewman@gmail.com>
- Date: Sun, 23 Mar 2008 20:18:55 +1000
- To: "Arjohn Kampman" <arjohn.kampman@aduna-software.com>
- Cc: "Seaborne, Andy" <andy.seaborne@hp.com>, "Richard Newman" <rnewman@twinql.com>, "Lee Feigenbaum" <lee@thefigtrees.net>, "public-rdf-dawg-comments@w3.org" <public-rdf-dawg-comments@w3.org>
On 21/03/2008, Arjohn Kampman <arjohn.kampman@aduna-software.com> wrote: > Hi Andrew, others, > > I finally received Date's book "Logic and Databases" that you were > refering to, and which more or less sparked this discussion. Reading > through Date's definitions and comparing them with your reasoning, I > think that you've misinterpreted parts of Date's definitions. > Specifically, you /seem/ to think (please correct me if I'm wrong) that > U, the universal relation is the same as DEE and 0, the empty set, is > the same as DUM. Here's my understanding: > > U and 0 are both typed relations of some type T. U contains all possible > tuples of this type, whereas 0 contains zero tuples of this type. Note > that this means that these relations actually (can) have attributes. DEE > and DUM are specific types of U and 0, namely the ones with zero > attributes. > I think the term date uses is isomorphism - I'm sayings there is one between sets, bags, an untyped and typed and relational algebra (page 246). The reason I think there is an isomorphism for U and 0 for DEE and DUM is taken from page 261: "As I showed earlier, the identity element with respect to intersection is the universal relation of the pertinent type. But join is a generalized intersection; in particular, it doesn't require its operands to be of the same type, and indeed they usually aren't. As direct consequence of this fact, join has was might be called a general identity element namely, TABLE_DEE, which is the unique relation with no attributes and exactly one tuple (necessarily the empty tuple). To elaborate: If A is a relation of type T and U is the corresponding universal relation, then it's certainly true that the join of A and U is equal to A. But the join of A and TABLE_DEE is also equal to A, and this latter equality is guaranteed to hold no matter what the type of A happens to be. This, we might resonably say that join (i.e., <AND>) has both (a) a specific identity element for each specific relation type and (b) a generic identity element, TABLE_DEE, that's independent of relation type" Hopefully, you can see why I interpreted this to mean that DEE and U and the next paragraph likewise make DUM and 0 to be isomorphic. Now he doesn't actually say that DEE UNION A = DEE but I don't think he needs to (given the previous definitions). Likewise, chapter 12 goes into the "The Theory of Bags" which again goes with creating a boolean algebra for bags (I've also seen similar work in BQL for example) - and again he's creating similar isomorphisms. The only worrying aspect I had was with the definition of complement but so far that doesn't seem to have come up - and I think in SPARQL it's well defined. > For the generic identity elements DEE and DUM, Date only says that DEE > is the identity for joins and DUM is the identity for union. I.e.: > A * DEE = A > A + DUM = A > The definition for all this begins on page 258. The other identities appear on page 260 - items 5 and 6. After the above quote he does mention that Tutorial D supports generalized form of intersection but won't support a generalized for of union and only significant for theorectial reasons. This may well hold for untyped generalized operations in Tutorial D but it doesn't change it in the following chapters like bags. > As an empty graph pattern "{}" corresponds to DEE and a false graph > pattern "{filter(false)}" corresponds to DUM, the SPARQL algebra seems > to be in line with Date's definitions. > I'd disagree - even if I'm wrong about the untyped relational identities - he's goes on further in chapter 12 to define the *same* identities for bags. > I hope that I don't add to the confusion here and that I'm actually > clearing things up. > Me too.
Received on Sunday, 23 March 2008 10:19:35 UTC