clojure食人魔添加顶点
我正在使用Clojure/Ogre在Tinkergraph中添加顶点。由于我对这项技术非常陌生,我想我可能错过了一些东西 以下是我尝试过的:clojure食人魔添加顶点,clojure,gremlin,tinkerpop,gremlin-server,Clojure,Gremlin,Tinkerpop,Gremlin Server,我正在使用Clojure/Ogre在Tinkergraph中添加顶点。由于我对这项技术非常陌生,我想我可能错过了一些东西 以下是我尝试过的: (def graph (open-graph {(graph/GRAPH) (.getName org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph)})) (def g (traversal graph)) (traverse g (add-V :person) (propert
(def graph (open-graph {(graph/GRAPH) (.getName org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph)}))
(def g (traversal graph))
(traverse g (add-V :person) (property :name "Dave"))
在这些步骤之后,当我键入“graph”时,我没有看到添加顶点-输出如下所示:
(traverse g (add-V :person) (property :name "Dave") (iterate!))
#对象[org.apache.tinkerpop.gremlin.tinkergraph.structure.tinkergraph 0x710f92c7“tinkergraph[顶点:0边:0]”
我想很简单的一步是错过了什么,但无法找出它
非常感谢您抽出时间。期待解决方案
非常感谢斯蒂芬!如果你不介意的话,我还有一个问题。 在您的评论之后,我添加了如下代码:
(def dave (traverse g (add-V :person) (property :name "Dave") (iterate!)))
(def josh (traverse g (add-V :person) (property :name "Josh") (iterate!)))
在这之后,现在我想在dave和josh之间增加一个优势。
我试过:
返回时出错。
我在这里又少了什么?
提前谢谢 不管你使用什么编程语言,你总是需要。换句话说,您需要一个遍历终止步骤,如
iterate()
,`toList(),等等。有关这些步骤的列表,请参见“遍历”部分,但基本上您只需要执行以下操作:
(traverse g (add-V :person) (property :name "Dave") (iterate!))
注意,
迭代代码>不返回遍历的结果。它只是消耗它。如果需要遍历的结果,则需要查看其他终止符步骤。在您拥有的特定情况下,您希望拥有顶点
对象,因此,您可能会使用下一步代码>您可能还对Clojure文档列表感兴趣:谢谢Stephen!我还有一个问题要问,这是原问题的补充。请看一下,如果可以,请告诉我。更新我的答案-使用下一步
basicallyStephen,我尝试过(TraverseGV(add-E:friends)(从dave)(到ted)(下一步!),它返回以下错误:org.apache.tinkerpop.gremlin.process.traversal.traversal$Exceptions/traversalIsLocked(traversal.java:299)处的执行错误(IllegalStateException)。遍历策略已完成,无法再调节遍历。我打算使用下一步在add-V
调用中的code>,它将执行遍历并从中获取第一个也是唯一一个项,并分别将其推入dave/josh。你就是这么做的吗?您可以继续使用迭代在add-E
上选择code>,因为您不在乎返回结果。Stephen,这很有效!非常感谢你的帮助!