unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* Fwd: A (Graph?) database for GNU
@ 2014-01-03  6:43 amz3
  0 siblings, 0 replies; only message in thread
From: amz3 @ 2014-01-03  6:43 UTC (permalink / raw)
  To: Guile User

Héllo,


I foward to you (guile-user) this message that might be of interest,



-------- Original Message --------
Subject: A (Graph?) database for GNU
Date: 2014-01-01 15:38
 From: amz3 <amz3@hypermove.net>
To: gnu-misc-discuss@gnu.org

Héllo all,


First, I know that it's not welcomed to ask people to write free 
softwares but I lake time and knowledge for this one. I think that 
someone else can be happy to code such a thing that's why I bring it to 
GNU community attention.

As far as I know there is no database in GNU except gdbm 
(http://www.gnu.org.ua/software/gdbm/) but it lakes a lot of the 
features needed to build reliable programs on top of it among which 
transactions.

To my mind, if a database has to be built for GNU it must be an ACID 
graph database (graphdbs). This is the kind of database that solve the 
general problem:

- it's relational
- schema free

To be fully reliable transactions must be able to span over several 
elements.

Graph databases share a lot with object oriented (OO) databases. OO 
databases are not as good as graphdbs for relational data.

There is already several free graph databases that meets those criteria 
http://www.neo4j.org/ is the most popular, http://www.orientdb.org/ is 
another one (mvcc based). Both are written in Java. Recently, Oracle 
claimed to have it too.

Manyfolds reasons allow me to think that such a database written in C 
will be a very useful and very successful project. *I warmly recommend 
any GNU hacker with interest in this particular domain to consider such 
a project*.

I did some research and experiments in Python, I only highlight things 
that can be useful:

- Notes about the design of a graph database 
http://hypermove.net/notes/projects/graphitidb.html
- A graph database written on top of berkley db, with an introduction to 
graphdbs API https://github.com/python-graph-lovestory/ajgu-graphdb
- A graph database server written in Java with Scheme and Python 
scripting powers 
https://github.com/python-graph-lovestory/Java-GraphitiDB
- Documentation of Blueprints' Python bindings, with an introduction to 
graphdbs API 
https://python-graph-lovestory.readthedocs.org/en/latest/blueprints.html
- Not written by me, functional DSL/API for graphdbs 
https://github.com/tinkerpop/gremlin/wiki

Sadly or not, I have no application that can show of the capabilities of 
graph databases. Like I said above graphdbs solve the general problem, 
so any project can use graphdbs: web, non-web and else. This doesn't 
mean that it is the best solution for a given a problem (e.g. log 
structured data) but in a lot of situation it is a better solution 
because it's more flexible. And always the best solution when 
prototyping.

Here is list of possible projects involving graph that will help 
popularize graphdbs:

1) graph datastructure using the glib
2) graph datastructure for Guile
3) persistent/functional graph datastructure for Guile (cf. 
https://github.com/ijp/fectors)
4) graph database on top of gdbm (in Guile?)
5) graph database on top of berkleydb in Guile
6) an embeddable ACID graph database with Guile bindings
7) a ACID graph database server with at least Guile querying support

Spread the word!

Comments welcome!  :)



Thanks,

-- 
amz3 ~ http://hypermove.net/



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-01-03  6:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-03  6:43 Fwd: A (Graph?) database for GNU amz3

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).