2009-11-18 7 views
37

Saludos,
¿Hay alguna base de datos de código abierto disponible que no sea Neo4J?Base de datos de gráficos en Java (que no sea Neo4J)

NOTA:¿Por qué no Neo4J?
Neo4J es de código abierto, pero cuenta primitivas (número de nodos, relaciones & propiedades). Si lo está usando para uso comercial. Y no tiene ninguna información directa de precios en el sitio web oficial. por lo que puede haber un posible bloqueo de proveedor (aunque acabo de comenzar mi empresa, y no tengo presupuesto para gastar dinero en software de todos modos). Por lo tanto, está fuera de opción.

Saludos,

+5

Sólo así que está claro, la premisa de esta pregunta ("¿Por qué no Neo4j?") Hay más válido, ya que la comunidad Neo4j ahora es GPL, no AGPL, lo que la convierte en una buena opción para startups/etc. $ se involucra si necesita ayuda, monitoreo o alta disponibilidad. –

+3

No tengo conocimiento de ninguna startup que apueste a su negocio entero al uso de una base de datos que no tiene alta disponibilidad o soporte. – Nuzzolilo

+1

@Nuzzolilo, ¿Entonces las empresas/negocios estables deberían poner su negocio en un nuevo tipo de bases de datos, no en nuevas empresas? Estaba experimentando, creando un prototipo de un producto, ¿no es eso lo que hace la startup, inicialmente? ¿Has usado Neo4J en producción? ¿Y cómo sabes que Neo4J no tiene alta disponibilidad? – Nachiket

Respuesta

9

Como dijo RobV, si sus gráficos se pueden representar en casi cualquier formato personalizado como RDF o DOT language, ¡está de enhorabuena! He aquí varias opciones que tiene:

  • RDF: Jena - considerada como la aplicación de facto de RDF para Java, sin embargo, tiene sus rarezas, como el uso intensivo de iteradores.
  • RDF: Protégé - Si no usa Jena (e incluso si lo hace) pero desea utilizar RDF, Protégé es la herramienta para usted. Básicamente es un editor de ontologías realmente bien hecho que hace que manejar los datos de gráficos sea muy sencillo. También utiliza una jerarquía de complementos similar a Eclipse y hay muchos complementos disponibles para que pueda agregar cosas como OWL ontologies fácilmente.
  • DOT: GraphViz - Otra herramienta muy popular, GraphViz puede generar gráficos del lenguaje DOT. Muy poderoso, un poco complicado de aprender pero también potencialmente todo lo que necesitas.

Por supuesto, si se ajusta al perfil de su empresa, puede desarrollar la suya y comenzar a venderla como un producto.

+0

Gracias por la información y la sugerencia de venderlo como producto, Por cierto, la venta de un software/tecnología para chicos de software es difícil. :) Es mejor iniciar el proyecto de código abierto en lugar de venderlo. – Nachiket

+1

+1 para DOT y GraphViz - cosas maravillosas. – duffymo

+1

¡No creo que RDF realmente cuente como un formato personalizado ya que es un estándar W3C! ¿Llamarías a HTML un formato personalizado? ;-) – RobV

5

Si sus gráficos podrían ser representados como grafos RDF podría usarse Jena, ya que es totalmente gratuito y de código abierto

http://jena.sourceforge.net

Si eso es de ninguna manera útil para usted depende sobre por qué necesita una base de datos de Gráficos y qué tipo de Gráficos necesita almacenar en ella.

+0

En realidad, estoy trabajando en la relación de usuario para el sitio web social (amigos, amigos de amigos y recomendaciones como "tal vez lo conozcan") – Nachiket

+1

Entonces debería echar un vistazo a ambos FOAF http://www.foaf-project.org/ y SIOC http://sioc-project.org si aún no los conoce, estos son dos vocabularios populares de RDF, FOAF describe a las personas y sus relaciones, mientras que SIOC se usa para describir todo tipo de contenido de la comunidad en línea. FOAF ya se utiliza en los principales sitios web como LiveJournal – RobV

+0

gracias por su información compañero! – Nachiket

7

Bueno, Neo4j es de código abierto bajo la GPLv3 para Community Edition y AGPL para las ediciones Advanced y Enterprise.

Para obtener más información, por favor vaya a http://neo4j.org/licensing-guide/

/Peter Neubauer, parte del equipo Neo4j.

+2

Hola Peter, gracias por tu respuesta detallada. Ya creé prototipos de aplicaciones con Neo4J. Y me gustó, es por eso que estoy buscando una alternativa de Neo4J. :) El único obstáculo que estoy enfrentando es la licencia. Porque, es posible que mi servicio/producto pueda obtener nodos de 1M muy rápido (estoy almacenando todo en Neo4J Db), y aún así mis ingresos pueden no iniciarse. Por lo tanto, envíenme una lista de precios para su revisión. Y me asusto cuando tengo que contactar al vendedor, por eso no lo intenté, porque el contacto de precios Neo4J dice = "Vendedor" :)) – Nachiket

+0

Por cierto, mi correo electrónico es nachiket [at] logicwind (dot) com – Nachiket

+0

entonces esta licencia dual, digamos una fuente abierta construida sobre neo4j, y ese proyecto está bajo una licencia más liberal (para el comercio) que permite a las compañías usarlo de forma gratuita ... ¿cómo afecta la licencia de neo4j a esas compañías? aunque no sean conscientes del hecho de que están usando neo4j indirectamente – deepblue

30

OrientDB (old link) parece apoyar el gráfico de almacenamiento de la misma era como Neo4j

+4

OrientDB (http://www.orientechnologies.com) maneja los gráficos de forma nativa, es muy rápido y es compatible con Blueprints (https://github.com/tinkerpop/blueprints/wiki) como Neo4J, eso es algo parecido a un estándar para GraphDB , para que pueda ejecutar todo el stack de Tinkerpop (http://www.tinkerpop.com): lenguaje de Gremlin (https://github.com/tinkerpop/gremlin/wiki), Rexster (https://github.com/tinkerpop/rexster/wiki) para acceder a través de HTTP/llamadas RESTful, etc. Pero OrientDB es comercialmente amigable ya que usa la licencia Apache 2: gratis para cualquier uso. – Lvca

+1

Por lo que leí, si quiere HA con OrientDB, debe implementarlo con Hazelcast, que también tiene diferentes modelos de licencia y soporte. – rayseaward

+0

@rayseaward ¿Puede explicar en breve qué tipo de licencias/licencias plantea Hazelcast? –

9

Sugiero que usted utilice Blueprints de Tinkerpop, que le permiten utilizar una graphDB de su elección (también de Neo4j y OrientDB). Y también proporcionan una extensión para usar el db como repositorio rdf (utilizando Sesame Sail).

1

Lo sé, ha pasado un tiempo, pero, hoy, me estaba haciendo la misma pregunta, y encontré OhmDB Parece ser para propósitos livianos.

1

También echa un vistazo a ArrangoDB. Una encantadora base de datos de modelos múltiples.

https://www.arangodb.com/

EDIT: Hay que decir que estoy cayendo cada vez más en el amor con Arrango :)

Cuestiones relacionadas