Re: Modelling Complex Sentences

From: Neo <neo55592_at_hotmail.com>
Date: 6 May 2006 13:22:05 -0700
Message-ID: <1146946925.072243.227930_at_y43g2000cwc.googlegroups.com>


> A node. Similar to many things, I take it -- but what is it?

You can think of it as a super-charged, multi-dimensional relation running on nitro :)

> > I call it a
> > "node" mainly because it becomes part of a network (yeah I know, I am
> > re-inventing the network data model). The remaining elements are called
> > parameters. The new function can have 0 to many parameters. The first
> > parameter (if present) is a string that symbolizes a word that names
> > the thing being represented.
>
> The head-scratching starts here: expression?
> function? elements? no parameters? no mention of arguments?

Excuse my sloppy use of standard terminology. An expression in dbd starts with "(" and ends with corresponding "). Within the parentheses are elements separated by at least one white space. The first and last elements within the expression can be adjacent to the parantheses. Any element can itself be a sub expression. Below is the prototype for an expresssion with the new function:

(new arg1 arg2 arg3 ...)

When actually called, arg1, arg2, arg3 ... are replaced by parameter1, parameter2, parameter3, ...

>"(new)" does something;

It create a node the will be used to represent something. RMDBs create a tuple to represent something using the INSERT command.

> "(new 'p1')" does something;

In addition to creating a new node, the node is related to its name which is a word whose symbols are 'p1'. The first parameter names the new node.

"(new 'p1' 'p2')" does something else.

In addition to creating a new node and relating it to its name, the node is classified by an existing node which represents the thing named by 'p2'. If such as classifying node does not exist, it is created. Parameters after p2, if present, also classify the new thing in a manner similar to p2.

Since people complained that dbd's scripts were too long, the script used the extend form of new function to make it shorter. Here is the more verbose form of the script for (new 'red' 'color') assuming the node representing color did not already exist.

(create (new) name (word+ 'red'))
(create (new) name (word+ 'color'))
(create color instance red)

> Words like expression, function, parameter, element, and argument
> are being tossed into the mix without any sort of definition -- and,
> believe me, having seen these words used in a variety of languages,
> I can imagine *boatloads* of definitions for each. What are yours?

See above.

> > Good observation. When a new db is created, dbms enters basic things
> > which includes "attribute" and "verb".
>
> I'm trying to stick with this: What question is being asked? And what
> answer might the user expect?

Thanks, your precise questions are helpful.

> > Select selects a "node" that represents that specified by parameters
> > which in this case is a relationship. This is similar to SELECT * FROM
> > T_Relationships WHERE subject=bright, verb=modify, object=color;
>
> Okay, you've got to stop saying "similar to the RM CREATE, INSERT,
> DELETE" -- 'cause there ain't none.

Excuse my sloppy use of terminology, I meant similar to CREATE, INSERT, UPDATE, DELETE commands which are typically found in implementations of the Relational Data Model.

>>> I'm not throwing rocks.
>>
>> Then what does the comment "For some reason the phrase 'box of rocks'
>> keeps popping into my thoughts." mean?
>
> Because of that nonsense about "normalization... reduces performance,"
> "the time it takes to normalized data," and "the time it takes to retrieve
> normalized data."...

In general, the amount of processing time to simply enter a value for some attribute, is less than the amount of time needed to first lookup the value (ie in a lookup table) and then enter a reference to it. In general, the same is true to when retrieving data. See normalized vs unnormalized data in tables below:

T_Color
ID, Name
45, red

T_CarWithNormalizedData
Name, ColorID
corvette, 45

T_CarWithUnNormalizedData
Name, Color
corvette, red

> ... The "no response" to questions about "data mgmt."

This is incorrect. My post on Apr 30 in thread titled "Storing data and code in a Db with LISP-like interface" near thread # 206 includes a response to your question. I don't see the grounds for you inferring that I am "a box of rocks".

> How does one know what a dbd expression means?

By reading the comments prior to the expressions. How would you prefer to know what a dbd expression means?

> > > I mean, comment after comment says "create,"
> > > but I can't figure out what's being created.
>
> See, I'm trying to hang here a bit longer. You seem to have something
> on your mind and I'm enough of an optimist to think that, perhaps,
> you're just having trouble finding the words you need to explain your idea.

When you use an RMDB, you typically use the CREATE/INSERT commands to create something in the db to represent something. The create function in dbd is conceptually equivalent. Received on Sat May 06 2006 - 22:22:05 CEST

Original text of this message