Graph Database in Java (other than Neo4J)

35,315

Solution 1

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.

Solution 2

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

Solution 3

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

Solution 4

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).

Solution 5

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.

Share:
35,315
Nachiket
Author by

Nachiket

I am fulltime Mobile and web developer. Github • oDesk • PeoplePerHour I believe: "Javascript is the future." Path travelled: Java -> Java EE -> Spring -> Java 3D -> Javascript/Css/Html -> Actionscript3 -> Android -> Javascript (Mootools) -> GWT -> Java/Spring/JMS/Javascript -> Node -> iOS/Android -> Javascript (Backbone / Meteor / Mootools etc.)

Updated on July 09, 2022

Comments

  • Nachiket
    Nachiket almost 2 years

    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,

    • Matt Luongo
      Matt Luongo over 12 years
      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.
    • marknuzz
      marknuzz almost 12 years
      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.
    • Nachiket
      Nachiket almost 12 years
      @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?
    • titto.sebastian
      titto.sebastian almost 11 years
      High availability has been around for quite a while in Neo4j by now: docs.neo4j.org/chunked/stable/ha.html
    • angelcervera
      angelcervera almost 11 years
      Price for neo4J: neotechnology.com/price-list If you need professional things like High Availability or clustering, 24000€ per instance and year. Eah!!!
  • Nachiket
    Nachiket over 14 years
    Actually, I am working on user relationship for social website (friends, friends of friends and recommendation like "you might know him" )
  • Nachiket
    Nachiket over 14 years
    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 .
  • RobV
    RobV over 14 years
    Then you should take a look at both FOAF foaf-project.org and SIOC 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
  • Nachiket
    Nachiket over 14 years
    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
    Nachiket over 14 years
    By the way my email is nachiket[at]logicwind(dot)com
  • deepblue
    deepblue over 14 years
    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
  • Peter Neubauer
    Peter Neubauer over 13 years
    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 neotechnology.com/price-list /peter neubauer
  • Lvca
    Lvca over 13 years
    OrientDB (orientechnologies.com) handles graphs natively, it's really fast and supports Blueprints (github.com/tinkerpop/blueprints/wiki) as Neo4J, that is something close to a standard for GraphDB, so you can run all the Tinkerpop (tinkerpop.com) stack: Gremlin language (github.com/tinkerpop/gremlin/wiki), Rexster (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.
  • RobV
    RobV over 13 years
    I don't think RDF really counts as a custom format since it's a W3C standard! Would you call HTML a custom format? ;-)
  • Esko
    Esko over 13 years
    @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... :)
  • Steffen Opel
    Steffen Opel over 13 years
    @user83490 - Peter, I was just about to fix the answer regarding your comment, but realized that your are on the Neo4j 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 section May I promote products or websites I am affiliated with here?); not to speak of improving communication UX both ways on the side ;)
  • Peter Neubauer
    Peter Neubauer over 12 years
    Sorry for being late - what post are you referring to? Would love to fix.
  • rayseaward
    rayseaward almost 11 years
    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.
  • Tuukka Mustonen
    Tuukka Mustonen over 10 years
    @rayseaward Can you elaborate shortly what sort of licenses/licensing concerns does Hazelcast introduce?
  • Lvca
    Lvca over 9 years
    Actually Hazelcast has the same license as for OrientDB: Apache2, so no problem on that.
  • Mikle Garin
    Mikle Garin over 9 years
    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.