我在我的开发机器上为tinkerpop / gremlin-server设置了一个Docker容器。
我有一个使用Gremlin.Net版本3.4.1的.NET Core应用程序
我使用IGremlinClient并在传递以下查询以添加顶点时连接到本地主机泊坞窗:
g.addV("Root").property(id,"56b7ddc6-7629-42d4-b748-bfbce0992f13")
然后我得到了错误:
ScriptEvaluationError: For input string: "56b7ddc6-7629-42d4-b748-bfbce0992f13"
当我使用gremlin控制台运行查询时,会添加顶点:
gremlin> g.addV("Root").property(id,"56b7ddc6-7629-42d4-b748-bfbce0992f13")
==>v[56b7ddc6-7629-42d4-b748-bfbce0992f13]
在应用程序中运行IGremlinClient时,如何创建一个以字符串为ID的新顶点?
答案 0 :(得分:2)
由于您使用的是默认的Gremlin Server Docker容器,因此托管的TinkerGraph会获得此configuration:
gremlin.graph=org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph
gremlin.tinkergraph.vertexIdManager=LONG
IdManager
设置为LONG
,因此它将仅接受可强制转换为long
的输入值。您应该将设置更改为UUID
,也许是给定要发送的字符串,或者是ANY
。您可以阅读有关这些选项here的更多信息。
作为旁注,我同意错误消息没有帮助。请注意,它是improved的下一版本3.4.3 / 3.3.8。