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

From: Neo <neo55592_at_hotmail.com>
Date: 3 Jun 2004 18:35:31 -0700
Message-ID: <4b45d3ad.0406031735.39895ff6_at_posting.google.com>


> I changed my model ...now down to 11.0 ms ...
> ... better than the 16 ms that XDb1 needs...

Because RM solutions (1, 2 and 4) thus far aren't nearly as normalized or generic as XDb1's, they fail under a broader scope of data. Below is such data:

Enter a small hierarchy of 3 things, where god is the parent of an unnamed person, and god is also the parent of a person with three names (string 'john', integer 100, decimal 3.14). Although the data may not seem sensible, think of it in a broader scope: a thing which doesn't have an attribute and a thing which has an attribute with three values, each of different type.

Below is XDb1's script to model the above hierarchy (older versions of XDb1 will not process the below sentences correctly; however, the equivalent can be accomplished via their GUI or API or the db can be downloaded from website):

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.        (equal to '* isChildOf god.')

* isa person.        (another unnamed person)
*'s name is john.

*'s name is 100.
*'s name is 3.14.

*'s parent god.

Right-clicking on god and selecting 'Anc Report' generates the following where the unnamed thing's classes (and attributes, if any) are printed, and all values for name of the second person are printed.

Common 'parent' Report for 'god'

ThingX  ThingY          CmnAnc  Dist
person  john 100 3.14   god        2

Time Elapsed: 0.906550 msec

RM solutions thus far, lack the normalization and genericness to represent the above data. If RM's solution could be updated to accommodate the above, we will be one step closer to making an apple-to-apple comparison. Received on Fri Jun 04 2004 - 03:35:31 CEST

Original text of this message