Как экспортировать удаленный граф в json с помощью tinkerpop gremlin и neptune? - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь экспортировать весь удаленный граф в json. Когда я использую следующий код, это приводит к пустому файлу. Я использую Gremlin-драйвер 3.3.2, так как это та же версия в базе данных подчиненных графов, AWS Neptune.

var traversal = EmptyGraph.instance().traversal().withRemote(DriverRemoteConnection.using(getCluster()))
traversal.getGraph().io(graphson()).writeGraph("my-graph.json");

Как можно заполнить график данными, чтобы его можно было экспортировать?

Ответы [ 3 ]

1 голос
/ 03 июля 2019

Я также разместил это в списке пользователей Gremlin.

Вот некоторый код, который сделает это за вас с Neptune и должен работать с большинством реализаций Gremlin Server, я бы подумал.

https://github.com/awslabs/amazon-neptune-tools/tree/master/neptune-export

Результаты экспорта могут быть использованы для загрузки через оптовый загрузчик Neptune, если вы решили экспортировать как CSV.

Надеюсь, что это полезно

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

С размещенными графами, включая Нептун, нередко бывает, что они не предоставляют объект Graph или не предоставляют доступ к классам io ()..

1 голос
/ 01 июля 2019

Шаг Gremlin io () не поддерживается в Нептуне. Здесь - документация Neptune, в которой говорится о другом различии между реализацией Gremlin на Amazon Neptune и реализацией TinkerPop.

0 голосов
/ 04 июля 2019

Взяв на вооружение ценную обратную связь от Ankit и Kelvin, я сконцентрировался на использовании локального сервера gremlin для обработки данных.

Получив данные на локально работающем сервере, сгенерировав сценарий gremlin из модели сущностей в памяти, я получил к ним доступ через консоль Gremlin и запустил следующее:

~/apache-tinkerpop-gremlin-console-3.3.7/bin/gremlin.sh
gremlin> :remote connect tinkerpop.server conf/remote.yaml
gremlin> :> graph.io(graphson()).writeGraph("my-graph.json")
==>null

Это поместит файл my-graph.json в /opt/gremlin-server/ в контейнере Docker. Я извлек его, используя docker cp $(docker container ls -q):/opt/gremlin-server/my-graph.json .

Затем я могу использовать эти данные, чтобы заполнить тестовый контейнер gremlin-server для запуска интеграционных тестов с базой данных графов.

...