Re: not enough rows, too many rows, and joins

From: Neo <neo55592_at_hotmail.com>
Date: 23 Feb 2005 10:20:35 -0800
Message-ID: <1109182835.775715.71310_at_g14g2000cwa.googlegroups.com>


Following script models persons owning vehicles with an experimental db
(XDb2).

// Create item in directory to organize things.
(CREATE *person.item ~in = dir)
(CREATE *gender.item ~in = dir)
(CREATE *age.item ~in = dir)
(CREATE *vehicle.item ~in = dir)
(CREATE *car.item ~in = dir)
(CREATE *bicycle.item ~in = dir)
(CREATE *color.item ~in = dir)

// Create verb "own"
(CREATE *own.cls = verb)

// Create persons with owned vehicles
(CREATE *harry.cls = person

          & it.gender = +male
          & it.age = +34
          & it.own = (CREATE *.cls = vehicle
                          & it.cls = bicycle
                          & it.color = +green)
          & it.own = (CREATE *.cls = vehicle
                          & it.cls = car
                          & it.color = +red))

(CREATE *george.cls = person
& it.gender = +male & it.age = +23 & it.own = (CREATE *.cls = vehicle & it.cls = bicycle & it.color = +black))
(CREATE *priscilla.cls = person
& it.gender = +female & it.age = +51 & it.own = (CREATE *.cls = vehicle & it.cls = car & it.color = +blue))
(CREATE *sharon.cls = person
& it.gender = +female & it.age = +20)

// Find persons owning vehicles.
// Finds harry, george and prisilla.
(SELECT *.cls = person & *.own = (*.cls = vehicle))

// Find persons owning cars.
// Finds harry and prisilla.
(SELECT *.cls = person & *.own = (*.cls = car))

// Find persons owning bicycles.
// Finds harry and george.
(SELECT *.cls = person & *.own = (*.cls = bicycle))
Received on Wed Feb 23 2005 - 19:20:35 CET

Original text of this message