Re: Ideas for World Hierarchy Example

From: Neo <neo55592_at_hotmail.com>
Date: 12 Jan 2007 23:42:11 -0800
Message-ID: <1168674131.681033.180710_at_51g2000cwl.googlegroups.com>


> Could you describe Vadim's relational lattice
> approach in layman's terms? Has it been implemented as an engine?

I went digging and here is what I found in one of your prior posts: The Relational Lattice algebra ("RL") consists of two generic operations on relations: natural join, written "&&", and inner union, written "||". It has been shown that the RL operations possess the following properties:

commutative: A && B = B && A

                     A || B = B || A
associative:    A && (B && C) = (A && B) && C
                     A || (B || C) = (A || B) || C
idempotent:    A && A = A
                     A || A = A
absorbtive:     (A && B) || B = B
                    (A || B) && B = B

When you first posted this, it's significance wasn't apparent to me. It now appears to be similar to the following in dbd.

(= (& A B) (& B A))
(= (| A B) (| B A))
(= (& A (& B C)) (& (& A B) C)
(= (| A (| B C)) (| (| A B) C)
(= (& A A) A)
(= (| A A) A)
(= (| (& A B) B) B)
(= (& (| A B) B) B)

where A and B can be any set of things returned by expressions. For examle, if you want A to be all doctors, replace A with (get doctor instance *). If you want B to be all persons who are female, replace B with (& (get person instance *) (get * gender female)). There maybe one significant difference, RL operates on relations, meaning all tuples probably need similar attributes; dbd operates on things, meaning each can have different attributes.

And now, quote of the day: "... And the fact that he has lots of requirements but he can't say what they specifically are, and that he has lots of solutions but he can't say specifically what they are either, moves him in to crank territory." Received on Sat Jan 13 2007 - 08:42:11 CET

Original text of this message