Невозможно установить gremlin-neo4j через оболочку gremlin

Итак, я прохожу учебное пособие по началу работы с TinkerPop 3.0. Я получил базовый API для работы с TinkerGraph, и я перехожу к тому, чтобы попытаться установить интерфейс с моим локальным экземпляром Neo4j (Community 2.2.2). Я работаю над учебником здесь:

http://tinkerpop.incubator.apache.org/docs/3.0.0.M9-incubating/

но плагин neo4j-gremlin, по-видимому, не существует, как описано. Ни одна линия градл:

compile group : 'org.apache.tinkerpop', name: 'neo4j-gremlin', version: '3.0.0.M9-incubating'

, ни следующая попытка через гремлин шпунтовая оболочка:

gremlin> :plugin list
==>tinkerpop.server[active]
==>tinkerpop.gephi
==>tinkerpop.utilities[active]
==>tinkerpop.sugar
==>tinkerpop.tinkergraph[active]
gremlin> :install org.apache.tinkerpop neo4j-gremlin 3.0.0.M9-incubating
Error grabbing Grapes -- [unresolved dependency: org.apache.tinkerpop#neo4j-gremlin;3.0.0.M9-incubating: not found]
Display stack trace? [yN] y
java.lang.RuntimeException: Error grabbing Grapes -- [unresolved     dependency: org.apache.tinkerpop#neo4j-gremlin;3.0.0.M9-incubating: not found] 

кажется, работает, потому что никто не может разрешить зависимость. Проблема сохраняется, если M9 заменяется обратно, по крайней мере, на M7, или если я пытаюсь получить 3.0.0-SNAPSHOT. TinkerPop только что прекратил поддержку Neo4j и не обновил их учебники?

1 ответ

Решение

Я предполагаю, что есть некоторое несоответствие между документацией и тем, где Neo4j стоит с точки зрения официального релиза. Neo4j был удален из хранилища вокруг M7 в то время, когда TinkerPop начал выпускать релизы в рамках Apache Software Foundation (учитывая конфликты лицензий). Он был добавлен обратно в хранилище после выпуска M9, поскольку проблемы с лицензией были решены. В настоящее время Apache одобряет упаковку Neo4j, что позволяет официально включить его в состав следующего выпуска, который должен быть GA.

Обратите внимание, что Neo4j не изменил свою структуру лицензирования, чтобы это произошло. Это остается на основе GPL. Однако зависимости GPL НЕ упакованы с бинарными дистрибутивами TinkerPop, а исходные дистрибутивы также не содержат зависимостей GPL. На самом деле это интересная модель, для достижения которой потребовалось немало сотрудничества со всеми сторонами.

На самом деле довольно легко обойти эту проблему, но она включает в себя создание TinkerPop из исходного кода. Следующие команды должны сделать это:

git clone https://github.com/apache/incubator-tinkerpop.git
cd incubator-tinkerpop
git checkout tags/3.0.0-incubating-rc1
mvn clean install -DskipTests -DincludeNeo4j

Обратите внимание, что 3.0.0-incubating-rc1 является текущим кандидатом на выпуск GA, с которым производители сейчас тестируют свои реализации. Я предполагаю, что вы настроили grapeConfig.xml файл, как описано в документации TinkerPop 3, что означает, что он настроен на просмотр вашего локального Maven .m2 каталог. Если это так, это должно получить ваш :install команда для работы, а также другие инструменты управления зависимостями.

Другие вопросы по тегам