首页 > 解决方案 > 在 TinkerGraph 中使用字符串 ID

问题描述

我在 Tinkergraph 上指向一些 .Net 代码,用于测试目的,在部署时使用 Neptune。我们的 Neptune 数据库使用字符串作为 ID(总是 UUID,但字符串对象)

当我从控制台查询图形功能时(我使用标准 docker 图像并进行了一些调整),我看到:-

NumericIds: true,
StringIds: true,
UuidIds: true

我一直无法找到一种方法来让图表使用字符串作为 ID。我管理的最好的方法是将其切换到 UUID。

gremlin.tinkergraph.vertexIdManager=UUID

gremlin.tinkergraph.edgeIdManager=UUID

gremlin.tinkergraph.vertexPropertyIdManager=UUID

这可以工作,但这意味着我不得不将原始 C# 代码中的大量转换更改为 .ToString() 并围绕使用动态的代码做一些额外的工作。

理想情况下,我希望返回的 Id 是字符串,而不是 System.Guid。

我查看了 IdManagers 的 Java 代码,但看不到 STRING 代码。默认实现中有一个吗?

标签: c#.netgremlin-servertinkergraph

解决方案


而不是指定 UUID 或 LONG 使用 ANY 来启用带有 TinkerGraph 的字符串 ID。

可能的值在此文件中定义:https ://tinkerpop.apache.org/javadocs/current/full/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.DefaultIdManager.html


推荐阅读