【问题标题】:Preserve detailed Gremlin error message when running Gremlin query with eval()使用 eval() 运行 Gremlin 查询时保留详细的 Gremlin 错误消息
【发布时间】:2018-10-24 05:49:25
【问题描述】:

在我的脚本中,我执行以下操作:
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"}

在使用 eval("querystring") 方法进行 Gremlin 查询时,有没有办法保留详细的错误消息
我需要将许多字符串连接到一个查询中,这就是原因。
此外,详细的错误消息让我可以捕捉到这样的错误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 连接的官方文档。

【问题讨论】:

  • 你能分享更多关于你在这两种情况下如何与海王星互动的细节吗?解析时意外的 EOF(,第 1 行)看起来像一个格式错误的请求。
  • @KarthikRajan 我已经更新了有关如何使用 gremlin_python 导入 Neptune 并与 Neptune 交互的详细信息

标签: gremlin gremlin-server amazon-neptune


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多