2015-06-24 4 views
1

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

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

но, то Neo4j-гном плагин не кажется, существуют как документально. Ни Gradle линия:

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 и не обновил свои учебные пособия?

ответ

3

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

Обратите внимание, что Neo4j имеет , а не, изменив свою лицензионную структуру, чтобы это произошло. Он остается на основе GPL. Однако зависимости GPL'd НЕ упаковываются с бинарными дистрибутивами 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 является текущий релиз-кандидат для ГА, что производители тестируют свои реализации на данный момент. Я предполагаю, что вы настроили файл grapeConfig.xml, как описано в документации TinkerPop 3, что означает, что он настроен на просмотр локального каталога Maven .m2. Если это так, это должно заставить вашу команду :install работать, а также другие инструменты управления зависимостями.

+0

Awesome! Спасибо! Я просто загружал двоичные файлы/используя gradle для управления зависимостями. –

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