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

From: Neo <neo55592_at_hotmail.com>
Date: 17 May 2004 17:52:49 -0700
Message-ID: <4b45d3ad.0405171652.550cae1d_at_posting.google.com>


> Furthermore, you seem to desire the possibility to enter untyped data,
> which is of course impossible in a strong-typed language. I do present
> "sort of" a way to do this in a relational database, but I'd never use a
> kludge even remotely like this for real. Just as I consider XDb1 to be
> completely worthless for any real problem, for exactly this same reason.
> Remove types, and nothing prevents your user from entering "banana" as
> John's age.

All things in XDb1 are typed/classified. In XDb1, thing is the most general class. Person's class is thing (person isa thing).

John's class is person (john isa person). 
Mary's class is person (mary isa person).
Color's class is thing (color isa thing).
Red's class is color (red isa color).
Dog's class is thing (dog isa thing).
Fido's class is dog (fido isa dog). Etc... Except for thing (which is the root),
can you name any thing in an XDb1 database that isn't classified?

In RM, classification can be accomplished similarly. By adding a row in a table named T_Person, one effectively classifies that row as a person. I think you may be confusing or limiting typing to hardware types (ie bit, byte and integer, etc). XDb1's data model doesn't require hardware to have bit, byte or integer and is implemented as such.

Any thing in XDb1 can have multiple classifications. For example, we can further classify John as a doctor in addition to being a person (john isa doctor). Also if user provides 35, XDb1/application can classify it as both an integer and age. If user provides 35.1, XDb1/application can classify it as both a decimal and age. If user provides 35 & 1/3, XDb1/application can classify it as both a fraction and age. If user provides thirty-five, XDb1/application can classify it as both a word and age. If user provides "over-the-hill", XDb1/application can classify it as both an expression and age.

You are correct in that XDb1 does not automatically validate "basic" classes such as bit, byte and integer. In XDb1, bits, bytes, integer are currently classifications whose rules need to be implemented by the user. In the future they (along with other common classifications such as color and person) might be provided.

Suppose in the future, user creates type X. X has nothing to do with hardware bits, bytes or integers and is not built into the db. What will validate that x1 is a X in RM? It will be application logic just as it is in XDb1 (even for bit, byte and integer since XDb1 doesn't require them). Received on Tue May 18 2004 - 02:52:49 CEST

Original text of this message