0

在我的脚本中,我执行以下操作:
eval("query")
并获得:
unexpected EOF while parsing (<string>, line 1)

在 Jupyter 我做:
query
并得到:

GremlinServerError: 499: {"requestId":"2602387d-f9a1-4478-a90d-3612d1943b71","code":"ConstraintViolationException","detailedMessage":"Vertex with id already exists: ba48297665fc3da684627c0fcb3bb1fd6738e7ad8eb8768528123904b240aaa7b21f66624de1fea84c87e5e2707995fe52435f1fb5fc4c2f9eaf85a605c6877a"}

有没有办法在使用该方法进行 Gremlin 查询时保留详细的错误消息eval("querystring")
我需要将许多字符串连接到一个查询中,这就是原因。
此外,详细的错误消息使我能够捕捉到这样的错误ConstraintViolationException

详细信息:
我正在使用 Python 与 Neptune 进行交互。
我在脚本的开头有这个:
from gremlin_python import statics
statics.load_statics(globals())
from gremlin_python.structure.graph import Graph
from gremlin_python.process.graph_traversal import __
from gremlin_python.process.strategies import *
from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
它来自关于如何连接 Python 的官方文档。

4

1 回答 1

0

问题中没有足够的信息来为这个问题提供一个好的答案。只要您使用完全相同的代码,您在客户端程序和 Jupyter 笔记本之间看到的错误消息应该没有区别。从您的消息中,我怀疑您的实验之间的序列化程序或协议(websocket 与 HTTP)存在差异。序列化程序和协议之间的响应格式(可能还有错误格式)不同,所以这可能是您应该开始寻找的地方。

于 2019-06-18T06:34:20.820 回答