44

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,

Nachiket
  • 6,021
  • 6
  • 41
  • 47
  • 6
    Just so it's clear, the premise of this question ("Why not Neo4j?") is no longer valid, as Neo4j community is now GPL, not AGPL, making it a good choice for startups/etc. $ becomes involved if you need support, monitoring, or high-availability. – Matt Luongo Jan 12 '12 at 19:47
  • 4
    I'm not aware of any startups that would bet their entire business on using a database that didn't have high-availability or support. – marknuzz Jul 05 '12 at 22:03
  • 1
    @Nuzzolilo, So stable business/companies should put their business on new kind of databases not startups? I was experimenting, prototyping a product, Isn't that what startup does, initially? Have you used Neo4J in production? And how do you know that Neo4J don't have high availability? – Nachiket Jul 06 '12 at 06:50
  • High availability has been around for quite a while in Neo4j by now: http://docs.neo4j.org/chunked/stable/ha.html – nawroth Jul 31 '13 at 11:39
  • 3
    Price for neo4J: http://www.neotechnology.com/price-list/ If you need professional things like High Availability or clustering, 24000€ per instance and year. Eah!!! – angelcervera Aug 17 '13 at 19:38

8 Answers8

30

OrientDB (old link) appears to support graph storage in much the same was as Neo4j

Bombe
  • 81,643
  • 20
  • 123
  • 127
Reid
  • 309
  • 1
  • 3
  • 2
  • 4
    OrientDB (http://www.orientechnologies.com) handles graphs natively, it's really fast and supports Blueprints (https://github.com/tinkerpop/blueprints/wiki) as Neo4J, that is something close to a standard for GraphDB, so you can run all the Tinkerpop (http://www.tinkerpop.com) stack: Gremlin language (https://github.com/tinkerpop/gremlin/wiki), Rexster (https://github.com/tinkerpop/rexster/wiki) to access via HTTP/RESTful calls, etc. But OrientDB is commercial friendly since it uses Apache 2 license: free for any usage. – Lvca Nov 04 '10 at 00:14
  • 1
    From what I read, if you want HA with OrientDB, you need to implement it with Hazelcast, which also has different licensing and support models. – rayseaward Aug 28 '13 at 15:04
  • @rayseaward Can you elaborate shortly what sort of licenses/licensing concerns does Hazelcast introduce? – Tuukka Mustonen Jan 31 '14 at 11:22
  • 1
    Actually Hazelcast has the same license as for OrientDB: Apache2, so no problem on that. – Lvca Nov 20 '14 at 20:53
12

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
  • 29,022
  • 11
  • 55
  • 82
  • 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 Nov 18 '09 at 09:49
  • 1
    I don't think RDF really counts as a custom format since it's a W3C standard! Would you call HTML a custom format? ;-) – RobV Nov 15 '10 at 09:07
  • 2
    @RobV: This answer is a year old, in current environment I'd venture to say that this answer is rather irrelevant since the NoSQL movement has sort of redefined the whole question. Of course the term "graph" is misleading in general here too since it can either be what most think as drawing or that mathematical theory that NoSQL is all about. :) Anyway, yes, I'd dare to say that HTML is a custom format. Not a very good one but still... :) – Esko Nov 15 '10 at 09:42
12

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

Johannes Ernst
  • 3,072
  • 3
  • 42
  • 56
9

I suggest you to use Blueprints from tinkerpop, they allow you to use a graphDB of your choice (also from Neo4j and OrientDB). And they also provide an extension to use the db as rdf repository (using Sesame Sail).

user993478
  • 91
  • 1
  • 1
7

Well, Neo4j is Open Source under the GPLv3 for the Community Edition and AGPL for the Advanced and Enterprise editions.

For more info, please look at http://neo4j.org/licensing-guide/

/peter neubauer, part of the Neo4j team.

Peter Neubauer
  • 6,311
  • 1
  • 21
  • 24
Peter Neubauer
  • 1,700
  • 1
  • 13
  • 11
  • 2
    Hi Peter, Thanks for detailed response. I have already created prototype apps with Neo4J. & I liked it, Thats why I am looking for alternative of Neo4J. :) The only hurdle I am facing is licensing. Because, It is possible that my service/product can get 1M nodes very fast (I am storing everything in Neo4J Db), and still my revenue may not be started. So, please send me pricelist for review. And I get scared when I have to contact Sales person, thats why I didnt tried, because Neo4J pricing contact says= "Sales person" :)) – Nachiket Nov 18 '09 at 11:00
  • By the way my email is nachiket[at]logicwind(dot)com – Nachiket Nov 18 '09 at 11:10
  • 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 Dec 17 '09 at 19:57
  • 3
    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 – Peter Neubauer Oct 18 '10 at 10:32
  • 1
    @user83490 - Peter, I was just about to fix the answer regarding your comment, but realized that your are on the [Neo4j team](http://neo4j.org/community/team/) as well - couldn't you just motivate your colleague to fix his post? In this regard I'd also suggest updating your user name(s), which will make disclosing your affiliation with this great open source project much easier and trustworthy in fact (see [faq](http://stackoverflow.com/faq) section _May I promote products or websites I am affiliated with here_?); not to speak of improving communication UX both ways on the side ;) – Steffen Opel Feb 02 '11 at 12:25
  • Sorry for being late - what post are you referring to? Would love to fix. – Peter Neubauer Oct 19 '11 at 08:41
  • Would love to read Neo4j licensing guide, though the link you have provided in this answer is pointing to 404 page, could you provide a new one? I were not able to find it on Neo4j site. – Mikle Garin Mar 23 '15 at 09:00
5

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
  • 28,022
  • 11
  • 77
  • 119
  • Actually, I am working on user relationship for social website (friends, friends of friends and recommendation like "you might know him" ) – Nachiket Nov 18 '09 at 09:44
  • 1
    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 Nov 18 '09 at 09:56
2

Also take a look at ArrangoDB. A lovely multi-model database.

https://www.arangodb.com/

EDIT : Must say that I'm falling more and more in love with Arrango :)

Jakob Vad Nielsen
  • 722
  • 1
  • 7
  • 13
1

I know, it's been a while, but, today, I was asking myself the same question, and I found OhmDB Seems to be for lightweight purposes.

Overnuts
  • 783
  • 5
  • 17