varias una superponer studio puntos punto marcar lineas graficos graficas graficar grafica graph neo4j semantics graph-databases triplestore

graph - una - ¿Cuál es la diferencia entre triplestores y bases de datos de gráficos?



superponer graficas en r (3)

Las tiendas Triples son bases de datos de gráficos. RDF es un gráfico. De acuerdo, las tiendas triples tienden a no almacenar la información internamente como un gráfico; eso no es óptimo para responder preguntas, pero todavía son bases de datos de gráficos.

Preferirías algo como neo4j si estás interesado en un ecosistema basado en los estándares W3C. Hace que la interoperabilidad con otros sistemas basados ​​en RDF sea trivial, y hace que recoger todo y mudarse a una tienda triple diferente sea bastante sencillo.

Hay tres almacenes (bases de datos semánticas) y hay bases de datos de gráficos de propósito general.

Ambos se basan en los conceptos similares de vincular un "elemento" a otro a través de una relación. Los almacenes triples admiten RDF y SPARQL los consulta, pero dichos complementos se pueden implementar (y se implementan) también en las bases de datos de gráficos de propósito general.

¿Cuál es la diferencia fundamental que te haría preferir un db / triplestore semántico a una base de datos de gráficos de uso general como neo4j?


Mis 2 centavos.

Neo4j se incluye en la categoría de Gráfico de propiedades. Apoyan las relaciones dirigidas y cada relación tiene solo dos nodos; el nodo de inicio y el nodo final. Los nodos y las relaciones pueden almacenar datos arbitrarios en forma de pares clave-valor. Sin embargo, no pueden soportar relaciones 3-arias. es decir, no puede tener un borde que conecte más de dos nodos, es decir, un tipo de hiperdetección . Sin embargo, puede emular una relación 3-ary en los gráficos de propiedades creando nodos de unión. Puedes ver cómo implementar esto en neo4j aquí .

Los almacenes triples tienen un lenguaje de consulta estandarizado en forma de SPARQL, pero aún no existe ningún estándar para consultar otras bases de datos de gráficos. RDF es el estándar para importar / exportar desde tiendas triples.


Para empezar, básicamente, todas las estructuras de datos pueden proyectarse más o menos dolorosamente en cualquier motor de almacenamiento subyacente (o incluso su sistema de archivos y archivos de texto). La razón para elegir un determinado modelo de datos y back-end de almacenamiento son en mi humilde opinión:

  • sus preferencias de desarrollo y modelado
  • el rendimiento de tiempo de ejecución esperado para insertar, almacenar y consultar su modelo.

Como se mencionó anteriormente, ambos RDBMS y TripleStores tienden a ser útiles en tiempo de ejecución en el cruce "superficial" de atravesar JOIN o SparQL, y hacen mucho trabajo en cachés o vistas preparadas, etc. Las bases de datos de gráficos (únicamente Neo4j) colocan la estructura gráfica en realidad capa de almacenamiento y perseguir punteros (con varias optimizaciones) en el nivel de registro de nodo. Por lo tanto, al atravesar el gráfico, no necesita tocar más que su subgráfico actual hasta la capa de almacenamiento, y así poder recorrer partes de los datos sin tocar todo el gráfico, lo que resulta en un rendimiento constante para una serie de escenarios interesantes. .