VivaceGraph version 3. Open source Common Lisp graph database & Prolog implementation. Supersedes http://github.com/kraison/vivace-graph-v2.
Common Lisp
Permalink
Failed to load latest commit information.
LICENSE initial import Jan 23, 2014
README.md Update README.md Sep 23, 2016
allocator.lisp move all logging to log4cl Mar 24, 2016
backup.lisp fix bug in replication Apr 15, 2016
buffer-pool.lisp push from private repo. allocator fixes. replication fixes. misc impr… Apr 25, 2014
chart.lisp initial import Jan 23, 2014
clos.lisp misc schema bug fixes Jan 28, 2014
conditions.lisp fix view locking & inheritance issues Aug 22, 2016
cursors.lisp initial import Jan 23, 2014
edge.lisp fix view locking & inheritance issues Aug 22, 2016
example.lisp fix view locking & inheritance issues Aug 22, 2016
functor.lisp initial import Jan 23, 2014
gc.lisp fix view locking & inheritance issues Aug 22, 2016
globals.lisp add bit-vector serialization Sep 30, 2016
graph-class.lisp move all logging to log4cl Mar 24, 2016
graph-db.asd #13 Add PUT methods Sep 28, 2016
graph.lisp fix bug in replication Apr 15, 2016
guid.lisp initial import Jan 23, 2014
index-list.lisp move all logging to log4cl Mar 24, 2016
index-vector.lisp initial import Jan 23, 2014
index.lisp switch to alexandria's define-constant to silence redefinition warnings Mar 27, 2014
interface.lisp push from private repo; includes Xach's work on transactions and many… Dec 2, 2014
linear-hash.lisp move all logging to log4cl Mar 24, 2016
mmap.lisp move all logging to log4cl Mar 24, 2016
node-class.lisp Fixing #10 Jun 2, 2016
package.lisp #13 add procedure calls for REST Sep 29, 2016
pcons.lisp initial import Jan 23, 2014
pmem.lisp switch to alexandria's define-constant to silence redefinition warnings Mar 27, 2014
primitive-node.lisp fix view locking & inheritance issues Aug 22, 2016
prolog-functors.lisp fix bug in prolog versions of invoke-view Jun 18, 2015
prologc.lisp Adding support for #9 Jun 1, 2016
pstruct.lisp initial import Jan 23, 2014
queue.lisp initial import Jan 23, 2014
random.lisp initial import Jan 23, 2014
replication.lisp push from private repo; includes Xach's work on transactions and many… Dec 2, 2014
rest.lisp #13 add simple auth to REST Sep 29, 2016
rw-lock.lisp fix view locking & inheritance issues Aug 22, 2016
schema.lisp Working on #13 Sep 27, 2016
serialize.lisp add bit-vector serialization Sep 30, 2016
skip-list-cursors.lisp initial import Jan 23, 2014
skip-list.lisp fix view locking & inheritance issues Aug 22, 2016
srn.lisp initial import Jan 23, 2014
stats.lisp initial import Jan 23, 2014
test-lhash.lisp initial import Jan 23, 2014
test-mop.lisp initial import Jan 23, 2014
test.lisp initial import Jan 23, 2014
transaction-log-streaming.lisp move all logging to log4cl Mar 24, 2016
transaction-restore.lisp fix bug in replication Apr 15, 2016
transaction-streaming.lisp fix bug in replication Apr 15, 2016
transactions.lisp fix view locking & inheritance issues Aug 22, 2016
traverse.lisp add neo4j-style traversal method; fix #5 Jan 11, 2016
txn-log.lisp move all logging to log4cl Mar 24, 2016
type-index.lisp push from private repo; includes Xach's work on transactions and many… Dec 2, 2014
utilities.lisp Adding support for #9 Jun 1, 2016
uuid.lisp initial import Jan 23, 2014
ve-index.lisp move all logging to log4cl Mar 24, 2016
vertex.lisp push from private repo; includes Xach's work on transactions and many… Dec 2, 2014
vev-index.lisp push from private repo; includes Xach's work on transactions and many… Dec 2, 2014
views.lisp Fix #12 by adding a :write-p option to map-view Sep 23, 2016
xach-test.lisp push from private repo; includes Xach's work on transactions and many… Dec 2, 2014

README.md

VivaceGraph

VivaceGraph is an open source graph database written in pure Common Lisp.

VG takes design inspiration from CouchDB, neo4j and AllegroGraph. It implements an ACID-compliant object graph model with user-defined indexes and map-reduce views. It also implements a master / slave replication scheme for redundancy and horizontal read scaling. Querying the graph is accomplished via a number of Lisp methods or via a Prolog-like query language.

It currently only works with SBCL versions >= 1.045, though it would not take much work to port it to other Common Lisp implementations.

To get started, please see example.lisp.