Can I somehow reuse Gremlin GraphTraversals code when assigned to a variable?(当分配给变量时,我可以以某种方式重用Gremlin GraphTraversals代码吗?)
问题描述
我的GraphTraversals看起来像这样(attrGroup:
GraphTraversal<Vertex,Edge> attrGroupTraversal = some code generates it;
List<Vertex> attributeVs = attrGroupTraversal.inV().out(EdgeLabels.ContainsAttribute).toList();
List<Vertex> sourceVs = attrGroupTraversal.inV().out(EdgeLabels.ContainsSource).toList();
List<Vertex> targetVs = attrGroupTraversal.out(EdgeLabels.ContainsTarget).toList();
是否有方法可以重复使用attrGroupTraversal,这样我就不需要重新运行最初创建它的代码?
我收到:
:遍历策略已完成 并且无法再对遍历进行调制在org.apache.tinkerpop.gremlin.process.traversal.Traversal$Exceptions.traversalIsLocked(Traversal.java:245) 在… Org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.addStep(DefaultTraversal.java:274) 在org.apache.tinkerpop.gremlin.process.traversal.Traversal$Admin.addStep(Traversal.java:301) 在… Org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal$Admin.addStep(GraphTraversal.java:170) 在… Org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal.inV(GraphTraversal.java:384)
推荐答案
我建议您使用.clone()
原始遍历。
以下操作应该有效:
GraphTraversal<Vertex,Edge> attrGroupTraversal = some code generates it;
List<Vertex> attributeVs = attrGroupTraversal.clone().inV().out(EdgeLabels.ContainsAttribute).toList();
List<Vertex> sourceVs = attrGroupTraversal.clone().inV().out(EdgeLabels.ContainsSource).toList();
List<Vertex> targetVs = attrGroupTraversal.clone().out(EdgeLabels.ContainsTarget).toList();
另请参阅:Traversal component reuse,来自TinkerPop文档食谱。
这篇关于当分配给变量时,我可以以某种方式重用Gremlin GraphTraversals代码吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:当分配给变量时,我可以以某种方式重用Gremlin GraphTraversals代码吗?


基础教程推荐
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01