| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Nearest Common Ancestor Report (XDb1's $1000 Challenge)
> 1) Neo owes Hugo $1000
> 2) The International Bank Account Number (IBAN) of Hugo's bank account
> is NL59 RABO 0118 3365 68.
Because RM solutions (1 and 2) thus far aren't 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). The data represents a thing that doesn't have an attribute and a thing that has an attribute with three values, each of different type.
Below is XDb1's script to model the above hierarchy (in older versions, the equivalent can be entered via the GUI or API):
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 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
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 a fairer comparison.
In all the measurements shown below, none of RM's solutions are normalized down to atomic symbols, where as XDb1's are.
Small Report Generation Summary (provided by Hugo)
-------------- -------- ----------------- -------------------------- 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 Unoptimized, debug version
Small Report Generation Summary (provided by Neo)
------------- -------- ----------------- -------------------------- RM#1 SqlSrvr7 65.0 500 Mhz Server RM#2 SqlSrvr7 68.9 500 Mhz Server RM#4 SqlSrvr7 152.13 500 Mhz Server XDb1 4.4.7 16 500 Mhz Server Unoptimized, 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)
------------- -------- ----------------- -------------------------- 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 PocketPCReceived on Fri Jun 04 2004 - 13:56:19 CDT
![]() |
![]() |