2016-09-20 4 views
1

Я пытаюсь получить трубопровод и работает со следующей установкой:Gremlin: Blazegraph Remote

  • Blazegraph 2.1.1 (удаленные)
  • Tinkerpop 2 (bigdata-чертежи 2.0.0, BlazeGraph- Gremlin 1.0.0, bigdata-ядро 2.0.0)
  • Язык: Java

я смог использовать API для BluePrints создания и удаления вершин и ребер. Я хотел бы придерживаться Tinkerpop как можно больше для всех операций с графами. Я не смог найти API для:

  1. операции с резьбой по ThreadedTransactionalGraph.
  2. обход с использованием GremlinPipeline.

У меня есть следующие вопросы:

  1. Есть ли сроки, когда ТР3 для удаленной версии Blazegraph будет доступна?
  2. Есть ли планы поддержать следующее в ближайшем будущем?

    a. Чертежи ThreadedTransactionalGraph

    b. GremlinPipeline API

  3. Каковы предлагаемые альтернативы для 2a и 2b?


Я попробовал функцию getFeatures граф предоставляет и получает следующий список:

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 

Моя главная забота здесь является то, что я не имею права работать с GremlinPipeline при запросе в Blazegraph с дистанционным управлением.

У меня есть существующий API, работающий на OrientDB, и я хочу перейти на Blazegraph. Должен ли я изменить все свои прочитанные материалы (запросы Гремлина), чтобы использовать Blazegraph или есть способ использовать Tinkerpop 2 вместе с GremlinPipeline?

+1

Я не использовал Blazegraph, но разве это не то, что вы ищете? https://github.com/blazegraph/tinkerpop3 –

+1

Как указал Джейсон, я думаю, что вы ищете плагин [gremlin]) (https://github.com/blazegraph/tinkerpop3) для blazegraph. Я использовал его, и я могу подтвердить, что он поддерживает Threaded Transactions. –

+0

Похоже, вы должны добавить это как ответ @FilipeTeixeira :) –

ответ

1

Как указал Джейсон в отношении Tinkerpop 3, вы должны посмотреть плагин this.

Однако в своем комментарии я ошибался, поддерживая транзакции с резьбой. Blazegraph с использованием TP3 на данный момент не поддерживает ThreadedTranactions, но поддерживает ConcurrentAccess, а также транзакции Tinkerpop. Даже если потоки должны ждать друг друга.

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

возвращается:

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

Что касается статуса этой поддержки на Blazegraph ТР2 или ТР3 вы должны поднять вопрос с ними.

Смежные вопросы