was ist der Vorteil von RDF und Triple-Speicher zu Neo4j?
Neo4j ist eine wirklich schnelle und skalierbare Grafik-Datenbank, es scheint, dass es verwendet werden kann, die auf business-Projekten und es ist auch frei!
Zur gleichen Zeit gibt es keine RDF-triple-stores, die arbeiten auch mit großen Daten oder die Lieferung einer high-speed-Zugang. Und was mehr ist, Kostenlose RDF-triple-stores führen noch schlimmer.
Also, was ist der Vorteil von RDF und RDF-triple-stores zu Neo4j?
- "wirklich schnell", können Sie quantifizieren das? Zum Beispiel, die Geschwindigkeit beim laden... wie viele vertex|Kanten pro Sekunde ist 'richtig schnell'? "scale graph-Datenbank", können Sie quantifizieren das? Zum Beispiel, wie viele vertex|Kanten auf einem server mit X GB RAM?
- einfügen oder abrufen? Mit Pythonic Bindungen ist es nur zweimal langsamer, wenn verwendet, auf die Triplett-insertion im Vergleich zu einer optimierten SQLAchemy / SQLite-stack. Für die überquerung, wenn ich mich gut erinnern, es war gut über 1 M Kanten/Sekunde auf meinem persönlichen Rechner (6GB RAM), aber ich denke, es kann noch darüber hinaus gehen. Für das Reine Abfragen auf die relation (Knoten, Beziehungen, etc...), no4j server auf meiner Maschine ist gut über 1k Transaktion/s, selbst wenn die Datenbank ist immer in der Nähe von 1M indizierte Eigenschaften mit 100sk der Knoten und in der Nähe von M Beziehungen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Vorteil der Verwendung eines triple store für RDF anstatt Neo4j ist, dass das, was Sie sind entwickelt für. Neo4j ist ziemlich gut für viele Anwendungsfälle, aber in meiner Erfahrung, die seine performance für das laden und Abfragen von RDF ist nun unten alle für RDF-Datenbanken.
Es ist ein Trugschluss, dass RDF-Datenbanken nicht skalieren, oder nicht schnell. Sicher, Sie sind noch nicht bis zu der Leistung & scale Ebenen, relationale Datenbanken, aber Sie haben 50 Jahre Vorsprung. Viele triple-stores Waage in die Milliarden verdreifacht, bieten die "standard" - enterprise-features, und bieten große Leistung für viele Anwendungsfälle.
Wenn du gehst, um die Verwendung von RDF für ein Projekt, mit einem triple-store, es geht um die beste Leistung und features/APIs für die Arbeit mit RDF um Ihre Anwendung zu erstellen.
RDF-und SPARQL-standards sind, so haben Sie die Wahl zwischen mehreren Implementierungen, und migrieren Sie Ihre Daten aus einer RDF-store zu einem anderen.
Zusätzlich die version 1.1 von der SPARQL query language ist ziemlich anspruchsvoll (mehr Ausdruckskraft als die meisten SQL-Implementierungen) und können alle Arten von Abfragen erfordern würde, dass viel code geschrieben werden, in Neo4J.
Wenn Sie für graph-mining (z.B. graph-traversal) auf-oder Dreibettzimmer, neo4j ist eine gute Wahl. Für die großen triples, die Sie vielleicht nutzen möchten batchInserter und ist ziemlich schnell.
Ich habe Gerüchte gehört, es dauert ganzen Tag zum laden, 10M-Tripel in Neo4j (es ist tatsächlich der langsamste ist, weil es nicht gebaut, vor allem für RDF).
Sesam und 4Store sind die Schnellste, aber Jena hat eine leistungsfähige API.