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

From: Neo <neo55592_at_hotmail.com>
Date: 26 May 2004 09:39:29 -0700
Message-ID: <4b45d3ad.0405260839.c21a8d_at_posting.google.com>


> If the requirements had even allowed two things of the same class to share
> the same name (e.g. two persons named 'john'), I would have asked for more
> information, because an RDBMS requires a possibility to identify each
> individual row in a table. (I don't know if XDb1 has such a requirement; I
> hope it does, because there is not much use in storing data about things
> if you have no way of knowing WHICH thing you're storing data about

XDb1 allows user to store two persons with the same properties (ie. named john) in db. If the user doesn't want this to happen, the burden falls upon the user to verify a similar thing does not already exist before creating new one. XDb1's NLI, GUI and API allow the user to do so. Below is psuedo code that allows user to limit entry to just one person named john.

// Find number of persons named john in db

   cntr = 0
   while ( pT = X("(person) john") ){
     cntr = cntr + 1;
   }

// If no persons named john exist, create one

   if (cntr == 0) {

     pJohn = T_create()
     T_relate(pJohn, rCls, pPerson)
     T_Name_relate(pJohn, "john")

   }

> if there are two persons named john in my office,
> what use is the statement 'john is 35' to me?)

If there are two or more johns in the db, XDb1's GUI responds 'john is ambigious, please select it'. Via code, user can determine that there are more than one john and can choose to modify none, all, or prompt user for further help. Received on Wed May 26 2004 - 18:39:29 CEST

Original text of this message