Gremlin-Python Подключение к существующему JanusGraph

Я создал график, используя консоль gremlin

gremlin> ConfiguredGraphFactory.graphNames
==>MYGRAPH
gremlin> ConfiguredGraphFactory.getConfiguration('MYGRAPH')
==>storage.backend=cql
==>graph.graphname=MYGRAPH
==>storage.hostname=127.0.0.1
==>Template_Configuration=false
gremlin> g.V().properties()
==>vp[name->SFO]
==>vp[country->USA]
==>vp[name->ALD]
==>vp[country->IND]
==>vp[name->BLR]
==>vp[country->IND]
gremlin>

Я хочу соединиться с MYGRAPH, используя gremlin-python. Может кто-нибудь, пожалуйста, скажите мне, как получить доступ к графу с именем "MYGRAPH", используя gremlin-python.

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

1 ответ

Решение

Прежде всего вам нужно установить несколько jar-файлов для JanusGraph для обработки скриптов gremlin-python:

./bin/gremlin-server.sh -i org.apache.tinkerpop gremlin-python 3.2.9

Обратите внимание, что версия gremlin-python, которую вы устанавливаете, должна соответствовать версии Tinkerpop, с которой совместим JanusGraph. Вы можете найти информацию о совместимости на странице релизов JanusGraph. Например, JanusGraph 0.2.2 совместим с Tinkerpop 3.2.9.

Далее вам нужно запустить сервер JanusGraph с помощью ConfiguredGraphFactory. Вам просто нужно использовать файл conf/gremlin-server/gremlin-server-configuration.yaml из раздела.

bin/gremlin-server.sh conf/gremlin-server/gremlin-server-configuration.yaml

Этот файл отличается от традиционного conf/gremlin-server/gremlin-server.yaml в этих нескольких строчках

graphManager: org.janusgraph.graphdb.management.JanusGraphManager
graphs: {
  ConfigurationManagementGraph: conf/janusgraph-cql-configurationgraph.properties
}

Тогда нам нужно загрузить график MYGRAPH во время сценария инициализации сервера. Пожалуйста, создайте сценарий инициализации scripts/init.groovy, Здесь вы можете загрузить столько графиков, сколько захотите.

def globals = [:]
myGraph = ConfiguredGraphFactory.open("MYGRAPH")
globals << [myGraphTraversal : myGraph.traversal()]

Убедитесь, что этот скрипт выполняется, когда сервер gremlin запускается в conf/gremlin-server/gremlin-server-configuration.yaml

scriptEngines: {
  gremlin-groovy: {
    imports: [java.lang.Math],
    staticImports: [java.lang.Math.PI],
    scripts: [scripts/init.groovy]}}

Наконец, в вашем проекте Python установите пакет gremlin-python, соответствующий версии Tinkerpop вашей версии JanusGraph. В случае JanusGraph 0.2.2 это версия 3.2.9.

pip install gremlin-python==3.2.9

Запустите оболочку Python и начните писать код:

>>> from gremlin_python import statics
>>> from gremlin_python.structure.graph import Graph
>>> from gremlin_python.process.graph_traversal import __
>>> from gremlin_python.process.strategies import *
>>> from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection

>>> graph = Graph()
>>> myGraphTraversal = graph.traversal().withRemote(DriverRemoteConnection('ws://localhost:8182/gremlin','myGraphTraversal'))
>>> myGraphTraversal.V().count()
Другие вопросы по тегам