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

From: Hugo Kornelis <hugo_at_pe_NO_rFact.in_SPAM_fo>
Date: Tue, 18 May 2004 23:00:00 +0200
Message-ID: <bjtka0dkk3ckbqhakcv02d4m8dfu9o2brv_at_4ax.com>


On 18 May 2004 13:18:40 -0700, Neo wrote:

>> My guess is that XDb1 would accept the following without complaining:
>> person isa thing.
>> john isa person.
>> mary isa person.
>> neo isa john.
>>
>> XDb1 will probably gladly store it - but what does it mean?
>
>At the db level, it would mean exactly the same as:
> t1 isa t.
> t2 isa t1.
> t3 isa t1.
> t4 isa t2.
>
>At the db level, it doesn't care what the app is trying to encode. It
>is upto the app to ensure the data has relavence to something. It
>could mean the following:
>
> vehicle isa thing.
> car isa vehicle.
> bus isa vehicle.
> corvette isa car.

The English-like language you use in all XDb1 examples uses exactly the same construction for modifying the meaning of the data ("vehicle isa thing. / person isa thing." as opposed to "vehicle isa thing. / person isa vehicle." and for modifying the data itself ("john isa person.")

The choice to use one syntax for modifying both intension and extension, as opposed to the clear seperation of DML and DDL in SQL, gives me the impression that end users of XDb1 databases will be allowed to use this language to modify both the intension and the extension at will. While that may be acceptable in some situations, it usually isn't,

OTOH, you sometimes write that the app should check things, like in the above quote. That can only be done if the english-like language is not made available to end users. But in that case, why would you bother to use that language in the first place?

>If Neo is a cloned from John, then even your example above could have
>meaning.

 :-)

Best, Hugo

-- 

(Remove _NO_ and _SPAM_ to get my e-mail address)
Received on Tue May 18 2004 - 23:00:00 CEST

Original text of this message