Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph 为什么这个查询超时了?_Graph_Cassandra_Datastax_Gremlin - Fatal编程技术网

Graph 为什么这个查询超时了?

Graph 为什么这个查询超时了?,graph,cassandra,datastax,gremlin,Graph,Cassandra,Datastax,Gremlin,我正在尝试更新顶点及其所有子对象。我不知道为什么会超时 v = g.V().has('a', 'id', '1').next()" "v.property('status', '0')" "g.V(v).out('e').repeat(property('status', '0'))" 我假设您想用“0”的“状态”更新顶点及其所有子对象,如果是这样,则只需执行以下操作: g.V().has('a','id','1') property('status','0'). repeat(out

我正在尝试更新顶点及其所有子对象。我不知道为什么会超时

v = g.V().has('a', 'id', '1').next()"
"v.property('status', '0')"
"g.V(v).out('e').repeat(property('status', '0'))"

我假设您想用“0”的“状态”更新顶点及其所有子对象,如果是这样,则只需执行以下操作:

g.V().has('a','id','1')
  property('status','0').
  repeat(out('e').property('status','0'))

至于它可能超时的原因,您可以更仔细地查看您的数据,看看是否在某个地方有一个循环(例如,孩子是否以某种方式指向祖先?)。我也会考虑用<代码> >()(代码)>或“代码>时间()>代码来设置一个限制,以查看是否可以遍历遍历的深度。 我假设您希望使用“0”的“状态”更新顶点及其所有子节点,如果是这样,则只需执行以下操作:

g.V().has('a','id','1')
  property('status','0').
  repeat(out('e').property('status','0'))

至于它可能超时的原因,您可以更仔细地查看您的数据,看看是否在某个地方有一个循环(例如,孩子是否以某种方式指向祖先?)。我也会考虑用<代码> >()(代码)>或“代码>时间()>代码来设置一个限制,以查看是否可以遍历遍历的深度。 看起来超时是因为我的查询。一旦我更新了你所拥有的,它就不再超时了。我想知道为什么会是这样。嗯-我猜
g.V().repeat(_())
从技术上讲是一个无限循环-你在遍历过程中也有同样的循环,因为你只是不断更新同一顶点上的属性。我在顶点/子节点上调用repeat,对吗?为什么这是一个无限循环?g、 V(V).out('e')将给我一个子元素列表,我可以称之为repeat on?否-您所遍历的不仅仅是“id”为“1”的第一个顶点的子元素。原始遍历循环中唯一的一部分是调用
property()
,因此第一个子顶点点击该
repeat()
,并无休止地更新该顶点上的“status”属性,因为
property()
只返回发送回
repeat()的相同顶点
一次又一次地循环。注意我是如何将
移出('e')
repeat()
-这就是最大的区别。
repeat()
在遍历最后一个子循环并结束循环后,实际上已经没有地方可去了
g.V().repeat(使用TinkerGraph的副作用{println(it.get().id()+“”+it.loops)}
将非常容易地向您显示无休止的循环。看起来超时是因为我的查询。一旦我更新了你所拥有的,它就不再超时了。我想知道为什么会是这样。嗯-我猜
g.V().repeat(_())
从技术上讲是一个无限循环-你在遍历过程中也有同样的循环,因为你只是不断更新同一顶点上的属性。我在顶点/子节点上调用repeat,对吗?为什么这是一个无限循环?g、 V(V).out('e')将给我一个子元素列表,我可以称之为repeat on?否-您所遍历的不仅仅是“id”为“1”的第一个顶点的子元素。原始遍历循环中唯一的一部分是调用
property()
,因此第一个子顶点点击该
repeat()
,并无休止地更新该顶点上的“status”属性,因为
property()
只返回发送回
repeat()的相同顶点
一次又一次地循环。注意我是如何将
移出('e')
repeat()
-这就是最大的区别。
repeat()
在遍历最后一个子循环并结束循环后,实际上已经没有地方可去了
g.V().repeat(使用TinkerGraph的副作用{println(it.get().id()+“”+it.loops)}
将非常容易地向您显示无休止的循环。