1 回答
TA贡献1777条经验 获得超10个赞
Lambda 无法序列化,这就是您收到该异常的原因。此外,Neptune 不支持lambda ,因此您的方法无论如何都行不通。您使用 TinkerGraph 进行的实验之所以有效,是因为它没有任何这些限制。
我不确定你能做些什么来解决这个问题,因为你提到了:
我确实需要一种方法来确定遍历被中断的原因。
也许你可以constant()以某种方式使用?
gremlin> g = TinkerFactory.createModern().traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.V().has('person','name','marko').fold().coalesce(unfold(), constant('Not Found'))
==>v[1]
gremlin> g.V().has('person','name','x').fold().coalesce(unfold(), constant('Not Found'))
==>Not Found
我不确定这是否会完美运行,因为你想
保持图形不变
根据您编写 Gremlin 的方式,这在 TinkerGraph 中甚至行不通。constant()不是将被识别为回滚事务的方法的“错误条件”。也许这只是需要注意的事情。根据您的逻辑的复杂程度,您最终可能会得到一些非常难以阅读的 Gremlin。您可能需要重新考虑您的方法。
添加回答
举报