ScriptEvalutionError:对于输入字符串“”:在将字符串作为ID提供时

时间:2019-07-11 09:22:04

标签: gremlin gremlin-server tinkergraph

我在我的开发机器上为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的新顶点?

1 个答案:

答案 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。