dbTalk Databases Forums  

Demo: Things in Hierarchies (w/o RM/SQL)

comp.databases.object comp.databases.object


Discuss Demo: Things in Hierarchies (w/o RM/SQL) in the comp.databases.object forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Neo
 
Posts: n/a

Default Demo: Things in Hierarchies (w/o RM/SQL) - 11-01-2004 , 10:22 PM






Below XDb2 script creates/queries things that represent john and mary
in two hierarchies. In the first hierarchy, john and mary have parents
adam and eve and their parent is god. In the second hierarchy, john
and mary are part of mars and venus respectively, which are part of
the universe.

// Create god and persons
CREATE2 *god.cls = thing;
CREATE2 *person.cls = thing;
CREATE2 *adam.cls = person;
CREATE2 *eve.cls = person;
CREATE2 *john.cls = person;
CREATE2 *mary.cls = person;

// Create god's children hierarchy
CREATE2 god.child = adam;
CREATE2 god.child = eve;
CREATE2 adam.child = john;
CREATE2 adam.child = mary;
CREATE2 eve.child = john;
CREATE2 eve.child = mary;

// Create universe and planets
CREATE2 *universe.cls = thing;
CREATE2 *planet.cls = thing;
CREATE2 *mars.cls = planet;
CREATE2 *venus.cls = planet;

// Create universe's part hierarchy
CREATE2 universe.part = mars;
CREATE2 universe.part = venus;
CREATE2 mars.part = john;
CREATE2 venus.part = mary;

// Traverse god's children recursively
SELECTR god.child;

// Traverse god's distinct children recursively
SELECTRD god.child;

// Traverse universe's parts recursively
SELECTR universe.part;

// Find persons whose parent is adam and is part of mars.
// Finds john
SELECT2 %.cls=person & %.parent=adam & mars.part=%;

// Find persons whose parent is eve and is part of a planet.
// Finds john and mary
SELECT2 %.cls=person & %.parent=eve & (planet.inst=%).part=%;
SELECT2 %.cls=person & %.parent=eve & (%.cls=planet).part=%;
SELECT2 %.cls=person & %.parent=eve & %.asm=(%.cls=planet);

// Find john and mary with various queries
SELECT2 %.cls=person & eve.child=%;
SELECT2 eve.child=% & %.cls=person;
SELECT2 %.cls=person & %.parent=eve;
SELECT2 %.parent=eve;
SELECT2 eve.child=%;

// Find persons whose parent's parent is god
// and the person is part of any planet
SELECT2 %.cls=person & %.parent=(%.parent=god) &
(%.cls=planet).part=%;

Note: cls/inst are abbreviations for class/instance.
asm/part are abbreviations for assembly/part.

Reply With Quote
  #2  
Old   
Hugo Kornelis
 
Posts: n/a

Default Re: Demo: Things in Hierarchies (w/o RM/SQL) - 11-02-2004 , 02:43 AM






On 1 Nov 2004 20:22:21 -0800, Neo wrote:

Quote:
Below XDb2 script creates/queries things that represent john and mary
in two hierarchies. In the first hierarchy, john and mary have parents
adam and eve and their parent is god. In the second hierarchy, john
and mary are part of mars and venus respectively, which are part of
the universe.
(snip)

Hi Neo,

The children of Adam and Eve were not called John and Mary, but Cain and
Abel. Obviously, your knowledge of theological literature is only
marginally better than your knowledge about relational theory.


WARNING to anybody reading this: before deciding to do business with this
person who hides behind the nickname Neo, be warned that he is a cheater
who doesn't keep his promises. http://tinyurl.com/yvm5g


Best, Hugo
--

(Remove _NO_ and _SPAM_ to get my e-mail address)


Reply With Quote
  #3  
Old   
Neo
 
Posts: n/a

Default Re: Demo: Things in Hierarchies (w/o RM/SQL) - 11-03-2004 , 12:03 PM



Quote:
The children of Adam and Eve were not called John and Mary,
but Cain and Abel.
I do not assert who are the children of adam and eve. They are
arbitrary things in the example. Feel free to substitute those things
that don't irritate you.

Quote:
Obviously, your knowledge of theological literature is only
marginally better than your knowledge about relational theory.
I do not assert to be an expert in your theology or relational theory.

I DO assert your RM Sol#1 and #2 failed the challenge because they
were not able to represent things in hierarchies without NULLs or
redundancy and were slower at generating the desired report. Because
your solutions were not generic, they could not represent the
following data without NULLs or redundancy:

Case1: 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).

Case2: john isa person. john's color is brown. mary isa person. mary's
color is brown. brown is a person.

Besides being non-generic and requiring NULLs, your solutions were
slower. As shown by the measurements made below, even when executed on
a 5.6 times slower 233 Mhz Pocket PC, XDb1 generated the small common
ancestor report nearly twice as fast as your non-normalized,
non-generic SQL Server 2000 Solution running on a 1,300 MHz desktop.

Small Report Generation Summary (provided by Hugo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
-------------- -------- ----------------- --------------------------
RM#1 SqlSrvr2K 14.3 1.3 Ghz PC Unnormalized, non-generic
RM#2 SqlSrvr2K 11.0 1.3 Ghz PC Unnormalized, non-generic


Small Report Generation Summary (provided by Neo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#1 SqlSrvr7 65.0 500 Mhz Server Unnormalized, non-generic
RM#2 SqlSrvr7 68.9 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 1.632 500 Mhz Server Normalized, generic
XDb1 4.5.9 6.561 233 MHz PocketPC Normalized, generic


Large Report (28,940 rows) Generation Summary (provided by Neo)
200 Goat Hierarchy (5 generations x 40 goats/generation,
each goat having two parents, except 1st gen).
---------------------------------------------------------------------
Solution Time(sec) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 40.5 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 2.9 500 Mhz Server Normalized, generic
XDb1 4.5.9 16.971 233 Mhz PocketPC Normalized, generic


Larger Report (276,620 rows) Generation Summary (provided by Neo).
400 Goat Hierarchy (10 gen x 40 goats/gen),
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 105 min 500 Mhz Srvr, NT Avg of 2 runs, UnNrm,UnGen
XDb1 4.5.10 44 min 500 Mhz Srvr, NT Avg of 2 runs, Norm, gener
XDb1 4.5.10 57 min 450 Mhz PC, 98 1 run, Normalized, generic
XDb1 4.5.10 195 min 233 Mhz PocketPC 1 run, Normalized, generic

Quote:
Neo ... is a cheater
Please show that Neo is a cheater, by meeting the challenge and
posting a faster RM Solution that is generic enough to handle the
above two cases, is NULL-less and doesn't require redundant data.


Reply With Quote
  #4  
Old   
Alan
 
Posts: n/a

Default Re: Demo: Things in Hierarchies (w/o RM/SQL) - 11-03-2004 , 12:45 PM




"Neo" <neo55592 (AT) hotmail (DOT) com> wrote

Quote:
The children of Adam and Eve were not called John and Mary,
but Cain and Abel.

I do not assert who are the children of adam and eve. They are
arbitrary things in the example. Feel free to substitute those things
that don't irritate you.

Obviously, your knowledge of theological literature is only
marginally better than your knowledge about relational theory.

I do not assert to be an expert in your theology or relational theory.

I DO assert your RM Sol#1 and #2 failed the challenge because they
were not able to represent things in hierarchies without NULLs or
redundancy and were slower at generating the desired report. Because
your solutions were not generic, they could not represent the
following data without NULLs or redundancy:

Case1: 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).

Case2: john isa person. john's color is brown. mary isa person. mary's
color is brown. brown is a person.

Besides being non-generic and requiring NULLs, your solutions were
slower. As shown by the measurements made below, even when executed on
a 5.6 times slower 233 Mhz Pocket PC, XDb1 generated the small common
ancestor report nearly twice as fast as your non-normalized,
non-generic SQL Server 2000 Solution running on a 1,300 MHz desktop.

Small Report Generation Summary (provided by Hugo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
-------------- -------- ----------------- --------------------------
RM#1 SqlSrvr2K 14.3 1.3 Ghz PC Unnormalized, non-generic
RM#2 SqlSrvr2K 11.0 1.3 Ghz PC Unnormalized, non-generic


Small Report Generation Summary (provided by Neo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#1 SqlSrvr7 65.0 500 Mhz Server Unnormalized, non-generic
RM#2 SqlSrvr7 68.9 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 1.632 500 Mhz Server Normalized, generic
XDb1 4.5.9 6.561 233 MHz PocketPC Normalized, generic


Large Report (28,940 rows) Generation Summary (provided by Neo)
200 Goat Hierarchy (5 generations x 40 goats/generation,
each goat having two parents, except 1st gen).
---------------------------------------------------------------------
Solution Time(sec) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 40.5 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 2.9 500 Mhz Server Normalized, generic
XDb1 4.5.9 16.971 233 Mhz PocketPC Normalized, generic


Larger Report (276,620 rows) Generation Summary (provided by Neo).
400 Goat Hierarchy (10 gen x 40 goats/gen),
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 105 min 500 Mhz Srvr, NT Avg of 2 runs, UnNrm,UnGen
XDb1 4.5.10 44 min 500 Mhz Srvr, NT Avg of 2 runs, Norm, gener
XDb1 4.5.10 57 min 450 Mhz PC, 98 1 run, Normalized, generic
XDb1 4.5.10 195 min 233 Mhz PocketPC 1 run, Normalized, generic

Neo ... is a cheater

Please show that Neo is a cheater, by meeting the challenge and
posting a faster RM Solution that is generic enough to handle the
above two cases, is NULL-less and doesn't require redundant data.
Based on Neo's track record of not paying when Neo loses, why would anyone
waste their time trying to meet Neo's challenge? Neo is not a cheater, he is
a deadbeat. And proven wrong. And stubborn. And not getting any more replies
from me on this. Have a nice life.




Reply With Quote
  #5  
Old   
Gene Wirchenko
 
Posts: n/a

Default Re: Demo: Things in Hierarchies (w/o RM/SQL) - 11-03-2004 , 02:19 PM



"Alan" <alan (AT) erols (DOT) com> wrote:

[snip]

Quote:
Based on Neo's track record of not paying when Neo loses, why would anyone
waste their time trying to meet Neo's challenge? Neo is not a cheater, he is
^
Insert "just". Neo did change the rules after the fact. That
makes him a cheater.

Quote:
a deadbeat. And proven wrong. And stubborn. And not getting any more replies
from me on this. Have a nice life.
We could add fraud to that, too. It was so pleasant while he was
gone.

Sincerely,

Gene Wirchenko

Computerese Irregular Verb Conjugation:
I have preferences.
You have biases.
He/She has prejudices.


Reply With Quote
  #6  
Old   
Hugo Kornelis
 
Posts: n/a

Default Re: Demo: Things in Hierarchies (w/o RM/SQL) - 11-03-2004 , 03:45 PM



On 3 Nov 2004 10:03:46 -0800, Neo wrote:

(snip)
Quote:
I DO assert your RM Sol#1 and #2 failed the challenge because they
(snip)
Please show that Neo is a cheater, by meeting the challenge and
(snip)

Yadda yadda yadda. We've been over this countless times; I have no urge at
all to repeat that again.

In case anyone is still interested in this debate, they can follow the
link I provided, have a cup of coffee and read all the 275 messages we
(and several others) exchanged on this subject. Then, everyone can decide
for him- or herself what's true: my statement that I met the challenge and
you attempted to change the rules afterwards, or your statement that I
failed to meet the challenge.

Best, Hugo
--

(Remove _NO_ and _SPAM_ to get my e-mail address)


Reply With Quote
  #7  
Old   
Dawn M. Wolthuis
 
Posts: n/a

Default Re: Demo: Things in Hierarchies (w/o RM/SQL) - 11-03-2004 , 08:13 PM



"Hugo Kornelis" <hugo (AT) pe_NO_rFact (DOT) in_SPAM_fo> wrote

Quote:
On 3 Nov 2004 10:03:46 -0800, Neo wrote:

(snip)
I DO assert your RM Sol#1 and #2 failed the challenge because they
(snip)
Please show that Neo is a cheater, by meeting the challenge and
(snip)

Yadda yadda yadda. We've been over this countless times; I have no urge at
all to repeat that again.

In case anyone is still interested in this debate, they can follow the
link I provided, have a cup of coffee and read all the 275 messages we
(and several others) exchanged on this subject. Then, everyone can decide
for him- or herself what's true: my statement that I met the challenge and
you attempted to change the rules afterwards, or your statement that I
failed to meet the challenge.
And, for the record, I don't think anyone on the list thought Neo was in the
right in refusing to pay Hugo the dollars after Hugo clearly met the
challenge. I'm surprised he is willing to post in this forum again since
most of us are no longer willing to listen after that episode. --dawn

Quote:
Best, Hugo
--

(Remove _NO_ and _SPAM_ to get my e-mail address)



Reply With Quote
  #8  
Old   
Neo
 
Posts: n/a

Default Re: Demo: Things in Hierarchies (w/o RM/SQL) - 11-04-2004 , 11:50 AM



Quote:
... Neo loses ..
Please show Neo loses by using Hugo's solutions to represent the
following without NULLs or redundant data.

Case1: 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).

Case2: john isa person. john's color is brown. mary isa person. mary's
color is brown. brown is a person.

Please show Neo loses by using Hugo's RM Sol#1 or #2 to generate the
Small Report in not more than twice the time it takes XDb1 on the same
system. As shown by the measurements made below, even when executed on
a 5.6 times slower 233 Mhz Pocket PC, XDb1 generated the small common
ancestor report nearly twice as fast as Hugo's non-normalized,
non-generic SQL Server 2000 Solution running on a 1,300 MHz desktop.
Please run XDb1 and Hugo's RM#2 solution on your system and post the
measurements showing that Neo loses.


Small Report Generation Summary (provided by Hugo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
-------------- -------- ----------------- --------------------------
RM#1 SqlSrvr2K 14.3 1.3 Ghz PC Unnormalized, non-generic
RM#2 SqlSrvr2K 11.0 1.3 Ghz PC Unnormalized, non-generic


Small Report Generation Summary (provided by Neo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#1 SqlSrvr7 65.0 500 Mhz Server Unnormalized, non-generic
RM#2 SqlSrvr7 68.9 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 1.632 500 Mhz Server Normalized, generic
XDb1 4.5.9 6.561 233 MHz PocketPC Normalized, generic


Large Report (28,940 rows) Generation Summary (provided by Neo)
200 Goat Hierarchy (5 generations x 40 goats/generation,
each goat having two parents, except 1st gen).
---------------------------------------------------------------------
Solution Time(sec) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 40.5 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 2.9 500 Mhz Server Normalized, generic
XDb1 4.5.9 16.971 233 Mhz PocketPC Normalized, generic


Larger Report (276,620 rows) Generation Summary (provided by Neo).
400 Goat Hierarchy (10 gen x 40 goats/gen),
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 105 min 500 Mhz Srvr, NT Avg of 2 runs, UnNrm,UnGen
XDb1 4.5.10 44 min 500 Mhz Srvr, NT Avg of 2 runs, Norm, gener
XDb1 4.5.10 57 min 450 Mhz PC, 98 1 run, Normalized, generic
XDb1 4.5.10 195 min 233 Mhz PocketPC 1 run, Normalized, generic


Reply With Quote
  #9  
Old   
Neo
 
Posts: n/a

Default Re: Demo: Things in Hierarchies (w/o RM/SQL) - 11-04-2004 , 11:54 AM



Quote:
...fraud...
Please show Neo is a fraud by using Hugo's solutions to represent the
following without NULLs or redundant data.

Case1: 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).

Case2: john isa person. john's color is brown. mary isa person. mary's
color is brown. brown is a person.

Please show Neo is a fraud by using Hugo's RM Sol#1 or #2 to generate
the Small Report in not more than twice the time it takes XDb1 on the
same system. As shown by the measurements made below, even when
executed on a 5.6 times slower 233 Mhz Pocket PC, XDb1 generated the
small common ancestor report nearly twice as fast as Hugo's
non-normalized, non-generic SQL Server 2000 Solution running on a
1,300 MHz desktop. Please run XDb1 and Hugo's RM#2 solution on your
system and post the measurements exposing Neo as a fraud.


Small Report Generation Summary (provided by Hugo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
-------------- -------- ----------------- --------------------------
RM#1 SqlSrvr2K 14.3 1.3 Ghz PC Unnormalized, non-generic
RM#2 SqlSrvr2K 11.0 1.3 Ghz PC Unnormalized, non-generic


Small Report Generation Summary (provided by Neo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#1 SqlSrvr7 65.0 500 Mhz Server Unnormalized, non-generic
RM#2 SqlSrvr7 68.9 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 1.632 500 Mhz Server Normalized, generic
XDb1 4.5.9 6.561 233 MHz PocketPC Normalized, generic


Large Report (28,940 rows) Generation Summary (provided by Neo)
200 Goat Hierarchy (5 generations x 40 goats/generation,
each goat having two parents, except 1st gen).
---------------------------------------------------------------------
Solution Time(sec) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 40.5 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 2.9 500 Mhz Server Normalized, generic
XDb1 4.5.9 16.971 233 Mhz PocketPC Normalized, generic


Larger Report (276,620 rows) Generation Summary (provided by Neo).
400 Goat Hierarchy (10 gen x 40 goats/gen),
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 105 min 500 Mhz Srvr, NT Avg of 2 runs, UnNrm,UnGen
XDb1 4.5.10 44 min 500 Mhz Srvr, NT Avg of 2 runs, Norm, gener
XDb1 4.5.10 57 min 450 Mhz PC, 98 1 run, Normalized, generic
XDb1 4.5.10 195 min 233 Mhz PocketPC 1 run, Normalized, generic


Reply With Quote
  #10  
Old   
Neo
 
Posts: n/a

Default Re: Demo: Things in Hierarchies (w/o RM/SQL) - 11-04-2004 , 12:02 PM



Quote:
Yadda yadda yadda. We've been over this countless times;
I have no urge at all to repeat that again.
But then why do you insist on bring it up repeatedly?


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.