Skip to content

kraison/vivace-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A free competitor to Franz's AllegroGraph by Kevin Raison.

At the moment, this code is in a state of rapid flux.  Please don't expect 
it to behave consistently from one check-in to another.

The goal is to build a fast, robust, distributed graph database with optional
RDF semantics built-in.  The primary query language is Prolog (based on PAIP),
but I have plans to add Javascript and maybe Sparql at a later date.  At the
moment, the underlying storage engine relies on Kyoto Cabinet;  this is going
to change very soon.  I am working on a native SBCL memory mapped persistence
library that will give me some variation on btrees and hashes.  When this is
complete, the current performance issues with Vivace Graph should disappear.

The code checked-in as of 2010/09/30 works fairly well, but should be
considered alpha quality.  In order to get it working, you will need the
following:

SBCL 1.0.42 or higher: http://www.sbcl.org/platform-table.html
Kyoto Cabinet 1.2.14: http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.14.tar.gz
cl-skip-list: http://www.cliki.net/cl-skip-list
cl-kyoto-cabinet: http://github.com/kraison/cl-kyoto-cabinet
kyoto-persistence: http://github.com/kraison/kyoto-persistence
bordeaux-threads: http://common-lisp.net/project/bordeaux-threads/
usocket: http://common-lisp.net/project/usocket/
hunchentoot: http://weitz.de/hunchentoot/
cl-json: http://common-lisp.net/project/cl-json/
uuid: http://www.dardoria.net/software/uuid.html
cl-fad: http://weitz.de/cl-fad/
ieee-floats: http://common-lisp.net/project/ieee-floats/
parse-number: http://www.cliki.net/PARSE-NUMBER
cffi: http://common-lisp.net/project/cffi/
local-time: http://common-lisp.net/project/local-time/
date-calc: http://common-lisp.net/project/cl-date-calc/
py-configparser: http://common-lisp.net/project/py-configparser/
js: http://github.com/akapav/js
split-sequence: http://www.cliki.net/SPLIT-SEQUENCE


To get you started:

(asdf:oos 'asdf:load-op 'vivace-graph)
(in-package #:vivace-graph)
(make-new-graph :name "test graph" :location "/var/tmp")
(<- ("is-a" "Kevin" "human"))
(<- ("is-a" "Joe" "human"))
(<- ("is-a" "Fido" "dog"))
(<- ("likes" "Kevin" "Fido"))
(<- ("likes" "Joe" ?x) ("is-a" ?y "dog") ("likes" ?x ?y))
(select (?x ?y) ("likes" ?x ?y))
(get-triples :s "Kevin")
(get-triples :p "is-a")
(shutdown-graph *graph*)

About

SUPERSEDED BY https://github.com/kraison/vivace-graph-v2. Open source Common Lisp graph database / RDF store

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published