Как использовать Gremlin в Neo4j для Windows или лучшие альтернативы? - PullRequest
0 голосов
/ 08 февраля 2019

В настоящее время я занимаюсь исследованием графовых баз данных.Требованием было то, что он должен иметь стабильные привязки с C # / .NET, и должен иметь возможность использовать в производстве.Поэтому я наткнулся на Neo4j с драйвером сообщества .NET.Это здорово, но мне нужно пройти через древовидный императив, который мог быть достигнут только с помощью Traversal Framework Neo4j.Потом я наткнулся на Гремлин / Тинкерпоп.Я знаю, что Neo4j поддерживает Tinkerpop (или хотя бы в предыдущих версиях).Я испробовал несколько подходов для достижения этой цели, но, похоже, ни один из них не работает.

Итак, мой вопрос: есть ли возможность использовать Gremlin для Neo4j 3.5.0 (в Windows 10)?И как этого достичь?А если это уже невозможно?Знаете ли вы какие-либо альтернативы (CosmosDB стоит дорого для доказательства концепции)?

Заранее спасибо!

Йероен

1 Ответ

0 голосов
/ 08 февраля 2019

Эта проблема почти всегда сводится к одной из двух вещей:

  1. Версия Neo4j - вы должны подключиться к версии Neo4j, которая совместима с версией, связанной с зависимостью neo4j-gremlin, которая на данный момент составляет 3.2.3.Есть попытка обновить здесь .Если 3.2.3 не работает с версией, которую вы используете, у вас будут проблемы (то есть те же проблемы, что и у вас, если вы попытаетесь использовать Neo4j 3.2.3 с этой более новой версией).
  2. Путь кбаза данных - открытие базы данных требует, чтобы Гремлин мог ее найти.Для начала подумайте о том, чтобы скопировать каталог базы данных Neo4j куда-нибудь менее «странный» и попытаться подключить его.Затем, как только это подтвердится как работающее, выясните, какие пути Windows могут быть причиной проблемы.Некоторые поиски в списке рассылки gremlin-users должны выявить решения многих из этих проблем, поскольку эта проблема уже возникала раньше - вот недавний , например .

Вотрабочий пример:

gremlin> graph = Neo4jGraph.open('c:\\tmp\\neo4j')
==>neo4jgraph[community single [c:\tmp\neo4j]]
gremlin> g = graph.traversal()
==>graphtraversalsource[neo4jgraph[community single [c:\tmp\neo4j]], standard]
gremlin> g.addV('person').property('name','stephen')
==>v[0]
gremlin> g.V()
==>v[0]
...