[vivace-graph-devel] vivace-graph todo list

Kevin Raison raison at chatsubo.net
Tue Feb 1 05:15:23 UTC 2011


The major things that need to be done to satisfy my personal requirements:

1.  Stabilize transaction logging.
     I am actively working on this;  it should be stable within the next 
week or two.

2,  Add reciprocal reasoning. (eg. has-child implies has-parent)

3.  Fix lexical env issues between Prolog and Lisp.
     Currently, to import a Lisp variable into Prolog, it must be 
declared SPECIAL.  This is because the Prolog implementation is based on 
Norvig's PAIP, which uses eval.  A better solution should be found.

4.  While triples are thread safe, Prolog may or may not be.  This 
should be investigated and fixed where necessary.

5.  Currently, all data must fit in RAM and is persisted via 
snapshotting and transaction logging.  I would like to add a second 
option where, as in a standard database, data can be stored in a 
disk-based structure. B+Trees?  Fractal Prefetching B+Trees 
(http://reports-archive.adm.cs.cmu.edu/anon/2002/CMU-CS-02-115.pdf)? 
Something else?  I am open to discussion.

6.  Implement a protocol for submitting queries over the network.

7.  Factor out the certainty factors code, making CFs triples in their 
own right rather than a mutable field in the triple structure.

8.  Spend some time on the text indexing piece;  it currently uses my 
cl-skip-list, but should be moved into a btree.

9.  Maybe do some more RDF-related stuff (Sparql, N-Triples parser / 
loader, etc.)

Anything else?

-Kevin




More information about the vivace-graph-devel mailing list