Re: Another attempt...

On 26/03/2008, Arjohn Kampman <arjohn.kampman@aduna-software.com> wrote:
>  > 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"
>  >
>
> I read the same paragraph and already guessed that this is where your
>  interpretation came from. However, I still think that this
>  interpretation is incorrect. Isomorphisms exists between the univeral
>  and empty relations in various algebras, but I doubt that they exist
>  between DEE/DUM and U/0, respectively.
>

I don't know what else that last sentence could by Date could mean -
maybe you could explain it but I read it as "JOIN has both a specific
and a generic identity type".  I take it to mean that there is generic
identity.  And I have worked through it myself - to show that it is
isomorphic with the identities in those other algebras.  If you can
show an example of where the isomorphism breaks down - this might be
out of scope for the list though.

Having gone through SPARQL thoroughly now with Andy off list, it is
clear that SPARQL is not isomorphic with boolean algebra and it's
definition of compatibility is not consistent with boolean or
relational algebra - so I'm not going to try to make the assertion
that SPARQL has an isomorphism with set, bag or relational algebras
anymore (more to come).  You may continue to do that but I'm convinced
now that it's not.

In SPARQL this is okay:
select *
where { { ?s ?p ?o } . { ?a ?b ?c } }

This causes a cross product of results (which I'm going to suggest a
test is added) - in relational algebra this returns 0 results - there
must be at least one shared variable for the JOIN to proceed in a
relational JOIN.

This is one of the reasons I think that DEE/DUM are U/0 too - as DUM
causes JOIN failure and results in DUM in relational algebra.  In
SPARQL the empty bindings (what might be considered 0 or DUM) is the
join identity - which is the opposite to relational algebra.

> >>  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'm sorry, but I can only find definitions for U and 0, I can't find any
>  equivalences of DEE and DUM. Can you point me to a specific page and/or
>  paragraph?
>

I was talking about U and 0 on page 269 - you're right there is no DEE
or DUM to do with bags - I don't think Date would ever use those terms
with respect to bags.

Received on Tuesday, 25 March 2008 17:22:17 UTC