[om-list] synergy

Mark Butler butlerm at middle.net
Fri Oct 10 16:27:34 EDT 2003


Luke:

My current genealogy project that has to integrate with a large C++ code 
base, so I really couldn't do it in Java even if I wanted to.  However, 
it would be nice to be moving in the direction of a common data model, 
so if you would create a standalone commented description of your 
database tables, I would be glad to compare to what I am doing and offer 
suggestions for convergence.

Regrettably, most relational databases do not perform particularly well 
for graph intensive applications like family history, at least in 
client/server mode due to the high latency required for each edge 
traversal.   My current project uses an external file format, but 
someday a real transactional database will be required.  I suppose a 
relational database might work if a middle tier that aggregated several 
graph edges for a single client request was implemented.

This is an area where web services excel - Over wide area networks with 
high latency, the extra XML processing time is negligible compared to 
the enormous latency savings gained by effectively bundling a large 
number of lower level requests in one higher level one. 

We will probably need a distributed network protocol at some point (to 
implement the "One" in "One Model"), but I suggest that we start with a 
comparative data modelling discussion. 

 - Mark


Luke Call wrote:

>
> 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...)
>
>
> _______________________________________________
> om-list mailing list
> om-list at onemodel.org
> http://www.pairlist.net/mailman/listinfo/om-list
>





More information about the om-list mailing list