如何使用 tinkerpop gremlin 和 neptune 将远程图形导出到 json?
How do I export a remote graph to json using tinkerpop gremlin and neptune?
我正在尝试将整个远程图导出到 json。当我使用以下代码时,它会生成一个空文件。我使用的是 Gremlin-driver 3.3.2,因为这与底层图形数据库 AWS Neptune 中的版本相同。
var traversal = EmptyGraph.instance().traversal().withRemote(DriverRemoteConnection.using(getCluster()))
traversal.getGraph().io(graphson()).writeGraph("my-graph.json");
应该如何用数据填充图形以便可以导出?
Neptune 不支持 Gremlin io( ) 步骤。 Here 是 Neptune 的文档,其中讨论了 Gremlin 的 Amazon Neptune 实现与 TinkerPop 实现之间的其他区别。
我也将其发布到 Gremlin 用户列表中。
这里有一些代码可以使用 Neptune 为您完成,并且应该适用于我认为的大多数 Gremlin 服务器实现。
https://github.com/awslabs/amazon-neptune-tools/tree/master/neptune-export
如果您选择导出为 CSV,导出的结果可用于通过 Neptune 的批量加载程序加载。
希望有用
如果这超出了你的需要,希望它至少能给你一些帮助。
对于包括 Neptune 在内的托管图,通常会发现它们不公开 Graph 对象或不提供对 io() 的访问权限 类。
利用 on-board Ankit 和 Kelvin 的宝贵 feed-back,我专注于使用本地 gremlin 服务器来处理 w运行gling 数据。
一旦我在本地 运行 服务器中获得数据,通过从 in-memory 实体模型生成 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 测试容器,以针对图形数据库进行 运行 集成测试。
neptune-export 不支持直接导出到 S3。您必须导出到本地文件系统,然后单独将文件复制到 S3。
我正在尝试将整个远程图导出到 json。当我使用以下代码时,它会生成一个空文件。我使用的是 Gremlin-driver 3.3.2,因为这与底层图形数据库 AWS Neptune 中的版本相同。
var traversal = EmptyGraph.instance().traversal().withRemote(DriverRemoteConnection.using(getCluster()))
traversal.getGraph().io(graphson()).writeGraph("my-graph.json");
应该如何用数据填充图形以便可以导出?
Neptune 不支持 Gremlin io( ) 步骤。 Here 是 Neptune 的文档,其中讨论了 Gremlin 的 Amazon Neptune 实现与 TinkerPop 实现之间的其他区别。
我也将其发布到 Gremlin 用户列表中。
这里有一些代码可以使用 Neptune 为您完成,并且应该适用于我认为的大多数 Gremlin 服务器实现。
https://github.com/awslabs/amazon-neptune-tools/tree/master/neptune-export
如果您选择导出为 CSV,导出的结果可用于通过 Neptune 的批量加载程序加载。
希望有用
如果这超出了你的需要,希望它至少能给你一些帮助。
对于包括 Neptune 在内的托管图,通常会发现它们不公开 Graph 对象或不提供对 io() 的访问权限 类。
利用 on-board Ankit 和 Kelvin 的宝贵 feed-back,我专注于使用本地 gremlin 服务器来处理 w运行gling 数据。
一旦我在本地 运行 服务器中获得数据,通过从 in-memory 实体模型生成 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 测试容器,以针对图形数据库进行 运行 集成测试。
neptune-export 不支持直接导出到 S3。您必须导出到本地文件系统,然后单独将文件复制到 S3。