Re: Nearest Common Ancestor Report (XDb1's $1000 Challenge)

From: Neo <neo55592_at_hotmail.com>
Date: 5 Jun 2004 13:28:52 -0700
Message-ID: <4b45d3ad.0406051228.19373fc5_at_posting.google.com>


> It is just grand to know that Neo can be relied on
> if you do not wish to be paid.

Please post how to create the report for the following data which is one of "any hierarchy", with either RM Sol#1 or #2 "from normalized and NULL-less data" [normalized meaning either eliminating or replacing redundant things (data/schema) within the db with an appropriate non-data dependent reference/link (IDs in RM) to the one and only original]:

A Three Thing Parent/Child Hierarchy



God is the parent of an unnamed person. God is also the parent of second person with three names (string 'john', integer 100, decimal 3.14).

The first person represents a thing that doesn't have a particular attribute and the second person represents a thing that has an attribute with three values, each of different type. Below is the equivalent XDb1 script:

string isa thing.
integer isa thing.
decimal isa thing.

john isa name.
john isa string.

100 isa name.
100 isa integer.

3.14 isa name.
3.14 isa decimal.

god isa thing.

person isa thing.

* isa person.        (an unnamed person)
* parent god.        

* isa person.        (another unnamed person)
*'s name is john.    (assign first name)
*'s name is 100.     (assign second name)
*'s name is 3.14. (assign third name) *'s parent god.

Below is XDb1's report for the above hierarchy:

Common 'parent' Report for 'god'

ThingX   ThingY          CmnAnc  Dist
person   john 100 3.14   god        2

Time Elapsed: 0.906550 msec

In measurements made thus far,
RM's solutions are not as generic or normalized as XDb1's.

Small Report Generation Summary (provided by Hugo)



Solution Time(ms) Platform Notes
-------------- --------  ----------------- --------------------------
RM#1 SqlSrvr2K  14.3     1.3 Ghz PC
RM#2 SqlSrvr2K  11.0     1.3 Ghz PC
XDb1 4.4.7      16       1.3 Ghz PC        Debug version


Small Report Generation Summary (provided by Neo)



Solution Time(ms) Platform Notes
-------------  --------  ----------------- --------------------------
RM#1 SqlSrvr7   65.0     500 Mhz Server
RM#2 SqlSrvr7   68.9     500 Mhz Server
XDb1 4.4.7      16       500 Mhz Server    Debug version
XDb1 4.5.7       1.632   500 Mhz Server
XDb1 4.5.9       6.561   233 MHz PocketPC


Large Report (28,940 rows) Generation Summary (provided by Neo)



Solution Time(sec) Platform Notes
-------------  --------  ----------------- --------------------------
RM#1 SqlSrvr7   15.2     500 Mhz Server
XDb1 4.5.7       2.9     500 Mhz Server
XDb1 4.5.9      16.971   233 Mhz PocketPC
Received on Sat Jun 05 2004 - 22:28:52 CEST

Original text of this message