views:

277

answers:

3

Hi All,

What is the difference between this 2 graph DB: Neo4j and AllegroGraph? Which is better for JAVA Web programming?

Thanks Erwin

+1  A: 

If you have no reason to choose RDF + SPARQL (which both products support), Neo4j provides a clean Java API for manipulating a property graph (nodes + relationships + properties on both). For web applications, I wrote up an example using Spring Framework, which also exists in a simplified version as a workshop.

Disclaimer: Obviously I'm on the Neo4j team, and I don't have any in-depth knowledge regarding AllegroGraph.

nawroth
+1  A: 

AllegroGraph has a java client library which supports 2 standard java semantic API's: Jena and Sesame. The client source is EPL on github. AG supports sparql, transactions, reasoning, geospatial, temporal, and graph analysis. There are no extra features specifically for web apps, but it would fit into any framework as a library.

(I work for Franz.)

Mike H
+1  A: 

I chose AllegroGraph over Neo4j because of its support for SPARQL queries. It seemed to me that the Neo4j approach of traversing a graph is less tidy, especially for more complex retrieval operations.

...and no, I have no affiliation with either organisation.

David
Neo4j supports RDF+SPARQL as well. And BTW [Gremlin](http://github.com/tinkerpop/gremlin) too.
nawroth
It might, but not as a core function. The blankness of the home page for that component speaks volumes about the level of support. http://components.neo4j.org/neo4j-rdf-sparql/
David