[om-list] synergy (was Re: Recursive Belief Contexts / Comparative schema modelling)

Luke Call lacall at onemodel.org
Fri Oct 10 08:42:24 EDT 2003


Mark Butler wrote:
 > Schema is probably not a very good word for what someone believes
 > another person believes, so I have decided to use the word context
 > instead,
 > ....

I think i agree; I've been thinking that context would also determine 
which vocabulary something like OM would use to choose which word 
associated with an entity becomes its "name" that is most meaningful to 
a particular use, as well as which belief system (which set of ideas 
linked, which at a lower level means which entities are linked to which 
others, and what they represent, etc) takes effect for a given simulation.


And Mark later wrote:
 > ....
> one can represent a statements like this:
> 
>    He doubts that she really said that
>    She doubts that she really said that
> 
> I plan to store everything in noun counceptual form, where objects, attributes, and relations are all concepts, relations can relate any concept, and attributes can describe any concept.  So in this case:
> 
> (1) "He"  - A person
> (2) "She" - A person
> (3) "that" :  An unspecified statement
> (4) "She said that" - A temporal relation between (2) and (3)
> (5) "He doubts that she really said that"  - An evaluative relation between (1) and (4)
> (6) "She doubts that she said that" - An evalative relation between (2) and (4) 
 > ....

I think we had an exchange about how to represent belief in OM a year or 
more ago on this list (but I'm not going to look it up right at this 
moment...). I think our ideas converge, in looking at your 1-6.  It 
would be really great if we could start now sharing a schema and code 
base that goes with it. What would you think of looking over my .01 
version .zip file on the onemodel.org web site, particularly at the 
PostgreSQLDatabase.java file, and whatever interests you in branching 
out thru the code dependencies from there, and see if there is (OR COULD 
BE!) an overlap here that we can begin to take advantage of in some way. 
(I have tweaked it a bit since that release so I'd have to post my 
latest stuff if you find opp'ty for collaboration in what's there now.)


> I have one serious problem, however - if everything is stored in a relation, the lists of which relationships a concept participates in can get very long, especially for evaluating entities.  For processing purposes, I need very fast lookup of a very small fraction of those relationships , and that cannot be done with a linear scan of thousands of relationships. 

Would an rdbms index be inadequate? I imagine that someone, somewhere, 
may have already solved this problem. Either way, when the data grows 
too much, find better algorithms for processing data underneath, but the 
code which uses the database doesn't have to change because the 
abstractions between them hide that stuff. Maybe I haven't taken time to 
digest  what you're saying well enough.

Either way, some kind of synergy between your work and and mine now or 
in the future would be absolutely excellent, and it might be worth both 
of our being flexible enough to make it happen.

('Course, as a aside, I wrote the stuff in java and will soon be also 
using Scheme or Python as well, at least for test scripting, maybe other 
things, and I don't know if that will suit you. I believe at this point 
(at least for my goals, dunno 'bout yours) that my getting something to 
work before the next ice age is infinitely more valuable than 
performance or anything like it. And as Knuth or someone says "premature 
optimization is the root of all evil.")

Thoughts? This is some hasty writing this morning, on my part, but 
you'll see where I'm headed....

Many thanks, Mark & Tom.

Luke

(ps--I'm looking at Scheme again because now that SISC is implemented in 
Java, can call Java classes & libs, and they've started doing SRFI's and 
SLIB, the lack of real-world-useful libraries that scheme had in the 
early 90's may be largely gone; also I've got past the idea that Scheme 
+ OM = using FramerD, which slowed me down because I started thinking in 
FramerD's terms instead of my own, and wasting time reading FramerD 
internals code, and that line of thinking didn't get me where I needed 
to go at the time...)





More information about the om-list mailing list