【发布时间】:2019-02-09 03:07:37
【问题描述】:
我正在过滤多个属性并获取一个节点,因此如果有多个 filter 与 and 和 or 连接。 2 工作正常,但从 3 日开始它似乎崩溃了。
以下是错误的简化演示。
与filter
gremlin> g.V().filter(has("name", "marko"))
==>v[1]
gremlin> g.V().filter(has("name", "marko")).and().filter(has("name", "marko"))
==>v[1]
gremlin> g.V().filter(has("name", "marko")).and().filter(has("name", "marko")).and().filter(has("name", "marko"))
java.util.ConcurrentModificationException
Type ':help' or ':h' for help.
Display stack trace? [yN]
没有filter
gremlin> g.V().has("name", "marko")
==>v[1]
gremlin> g.V().has("name", "marko").and().has("name", "marko")
==>v[1]
gremlin> g.V().has("name", "marko").and().has("name", "marko").and().has("name", "marko")
java.util.ConcurrentModificationException
Type ':help' or ':h' for help.
Display stack trace? [yN]
dummy-name 是不存在的东西。仍然会因不同的错误而崩溃
gremlin> g.V().hasLabel("dummy-name").filter(has("name", "a").or().has("name", "b").or().has("name", "c"))
java.lang.ArrayIndexOutOfBoundsException
Type ':help' or ':h' for help.
Display stack trace? [yN]y
java.lang.ArrayIndexOutOfBoundsException
当连接到 NEO4J 并使用 filter 时,它会抛出我
test_gremlin.py", line 49, in execut_final_query
results = future_results.result()
File "/usr/lib/python3.6/concurrent/futures/_base.py", line 432, in result
return self.__get_result()
File "/usr/lib/python3.6/concurrent/futures/_base.py", line 384, in __get_result
raise self._exception
File "/home/admin-12/.local/lib/python3.6/site-packages/gremlin_python/driver/resultset.py", line 81, in cb
f.result()
File "/usr/lib/python3.6/concurrent/futures/_base.py", line 425, in result
return self.__get_result()
File "/usr/lib/python3.6/concurrent/futures/_base.py", line 384, in __get_result
raise self._exception
File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/home/admin-12/.local/lib/python3.6/site-packages/gremlin_python/driver/connection.py", line 77, in _receive
self._protocol.data_received(data, self._results)
File "/home/admin-12/.local/lib/python3.6/site-packages/gremlin_python/driver/protocol.py", line 106, in data_received
"{0}: {1}".format(status_code, data["status"]["message"]))
gremlin_python.driver.protocol.GremlinServerError: 597: None
我是否写错了查询?还是这是一个错误?
版本:Gremlin 3.3.1
【问题讨论】:
-
这似乎工作
g.V().filter(__.or(has("name", "marko"), has("name", "marko"), has("name", "marko")))但我不能这样做a和b或c和d
标签: gremlin tinkerpop3 gremlin-server