views:

1569

answers:

5

Greetings,
Is there any open source graph database available other than Neo4J??

NOTE: Why not Neo4J?
Neo4J is opensource, but counts primitives (number of nodes,relationships & properties). If you are using it for commercial use. And does not have any straight forward information of pricing on official website. so there can be potential vendor lock-in (Although I have just started my company, and don't have budget to spent money on software anyway.) so It is out of option.

Regards,

A: 

If your Graphs could be represented as RDF graphs then you could use Jena since that is entirely free and open source

http://jena.sourceforge.net

Whether that's in any way useful to you depends on why you need a Graph database and what type of Graphs you need to store in it.

RobV
Actually, I am working on user relationship for social website (friends, friends of friends and recommendation like "you might know him" )
Nachiket
Then you should take a look at both FOAF http://www.foaf-project.org/ and SIOC http://sioc-project.org if you aren't already aware of them - these are two popular RDF vocabularies, FOAF describes people and their relationships while SIOC is used to describe all kinds of online community content. FOAF is already used on major websites like LiveJournal
RobV
thanks for information buddy!
Nachiket
+3  A: 

As RobV said, if your graphs can be represented in just about any custom format such as RDF or DOT language, you're in luck! Here's various options you have:

  • RDF: Jena - Considered to be the de facto implementation of RDF for Java, however it has it's oddities such as heavy usage of Iterators.
  • RDF: Protégé - If you don't use Jena (and even if you would) but would like to use RDF, Protégé is the tool for you. It's basically a really well done ontology editor which makes handling the graph data a breeze. It also uses a plugin hierarchy similar to Eclipse and there's loads of plugins available so you can plugin stuff like OWL ontologies easily.
  • DOT: GraphViz - Another very popular tool, GraphViz can generate graphs from DOT language. Very powerful, a bit tricky to learn but also potentially all you need.

Of course if it fits your company's profile, you could develop your own and start selling it as a product.

Esko
Thanks for info and suggestion of selling it as product,By the way, Selling a software/technology to software guys is hard. :)Better to start opensource project rather than selling .
Nachiket
+1 for DOT and GraphViz - wonderful stuff.
duffymo
+5  A: 

Well, Neo4j is Open Source. The AGPL is certainly protecting the continuing development of a software by pulling in money from projects that do not openly want to contribute to the project to keep development going. A more reality-adjusted version of GPL2 that has brought up projects like Linux and MySQL. However 1M primitives are free of charge (for your convenience in starting up and beta), and I will send you the pricelist which you will find is not outrageous in its pricing. We are considering putting the prices on the Neo Technology website but have not decided on the best strategy to communicate, sorry for the confusion.

Then, Neo4j has a SPARQL API which avoids vendor lock-in. But sadly, there is absolutely no good declarative graph query abstraction layer that will let you do all the cool graph operations you want to do - especially variable length path calculations like "Find the medium path length between this and some other entity" etc. Once we have something good (hopefully very soon) we will open source it and put the API under a less viral license to foster the whole Graph Database community and avoid vendor lock-in.

We are actively working on such a possibility that will have influences of both SPARQL for describing Graph patterns, XPath for describing traversing patterns, and JavaScript/JSON for providing an easy syntax for expressing complex traversers (currently available in Ruby, Java, Python etc).

Disclaimer: I am part of the Neo Technology team.

Nachiket
By the way my email is nachiket[at]logicwind(dot)com
Nachiket
so this dual license, say an open source builds on top of neo4j, and that project is under a more liberal(for commerce) license that allows companies to use it free of charge... how does neo4j's license affect those companies? even though they might not be aware of the fact that they're using neo4j indirectly
deepblue
Btw, the data restrictions don't apply anymore, the Neo commercial versions are now purely based on features, not on data, and the first instance is free even for commercial use. That should be even more startup - friendly, see http://neotechnology.com/price-list /peter neubauer
A: 

Wikipedia lists some other alternatives: http://en.wikipedia.org/wiki/Graph_database

Johannes Ernst
+1  A: 

OrientDB appears to support graph storage in much the same was as Neo4j

Reid