2016-09-20 3 views
1

Ich versuche, die Pipeline und läuft mit dem folgenden Setup zu bekommen:Gremlin: Blazegraph Fern

  • Blazegraph 2.1.1 (remote)
  • Tinkerpop 2 (bigdata-Pläne 2.0.0 BlazeGraph- gremlin 1.0.0, bigdata-Core 2.0.0)
  • Sprache: Java

ich habe es gelungen, die Baupläne API für das Erstellen und Löschen von Ecken und Kanten zu verwenden. Ich würde gerne bei Tinkerpop so viel wie möglich für alle Grafikoperationen bleiben. Ich konnte keine APIs für:

  1. Thread-Transaktionen über ThreadedTransactionalGraph finden.
  2. Traversalen mit GremlinPipeline.

ich folgende Fragen:

  1. Gibt es einen Zeitplan auf, wenn TP3 für die Remote-Version von Blazegraph verfügbar wäre?
  2. Gibt es Pläne, in naher Zukunft Folgendes zu unterstützen?

    a. Baupläne ThreadedTransactionalGraph

    b. GremlinPipeline API

  3. Was sind die vorgeschlagenen Alternativen für 2a und 2b?


Ich habe versucht, die getFeatures Funktion der Graph stellt und es wird die folgende Liste:

supportsDuplicateEdges: true 
supportsSelfLoops: true 
supportsSerializableObjectProperty: false 
supportsBooleanProperty: true 
supportsDoubleProperty: true 
supportsFloatProperty: true 
supportsIntegerProperty: true 
supportsPrimitiveArrayProperty: true 
supportsUniformListProperty: true 
supportsMixedListProperty: true 
supportsLongProperty: true 
supportsMapProperty: false 
supportsStringProperty: true 
ignoresSuppliedIds: false 
isPersistent: true 
isWrapper: false 
supportsIndices: true 
supportsVertexIndex: false 
supportsEdgeIndex: false 
supportsKeyIndices: true 
supportsVertexKeyIndex: true 
supportsEdgeKeyIndex: true 
supportsEdgeIteration: true 
supportsVertexIteration: true 
supportsEdgeRetrieval: true 
supportsVertexProperties: true 
supportsEdgeProperties: true 
supportsTransactions: false 
supportsThreadedTransactions: false 

Meine große Sorge hier ist, dass ich nicht mit GremlinPipeline arbeiten bin erlaubt beim Abfragen in Blazegraph mit Fernbedienung.

Ich habe eine vorhandene API auf OrientDB ausgeführt und möchte nach Blazegraph migrieren. Muss ich alle meine gelesenen Sachen (Gremlin-Abfragen) ändern, um Blazegraph zu verwenden oder gibt es eine Möglichkeit, Tinkerpop 2 zusammen mit GremlinPipeline zu verwenden?

+1

Ich habe Blazegraph nicht verwendet, aber ist das nicht wonach Sie suchen? https://github.com/blazegraph/tinkerpop3 –

+1

Als Jason wies darauf hin, ich denke, Sie suchen nach dem [Gremlin]) (https://github.com/blazegraph/tinkerpop3) Plugin für Blazegraph. Ich habe es verwendet und kann bestätigen, dass Threading-Transaktionen unterstützt werden. –

+0

Klingt so, als ob Sie das als Antwort @FilipeTeixeira hinzufügen sollten :) –

Antwort

1

Wie Jason in Bezug auf Tinkerpop 3 wies, sollten Sie sich this Plugin anschauen.

In meinem Kommentar war ich jedoch falsch, es unterstützt Thread-Transaktionen. Blazegraph, das TP3 verwendet, unterstützt im Moment ThreadedTranactions nicht, unterstützt aber ConcurrentAccess sowie Tinkerpop Transactions. Auch wenn Threads aufeinander warten müssen.

BlazeGraphEmbedded graph = BlazeGraphFactory.open("test.jnl"); 
graph.features(); 

kehrt:

FEATURES 
GraphFeatures 
-- Computer: false 
-- Persistence: true 
-- ConcurrentAccess: true 
-- Transactions: true 
-- ThreadedTransactions: false 

In Bezug auf den Status dieser Unterstützung auf Blazegraph TP2 oder TP3 Sie mit ihnen ein Problem aufwerfen sollte.