【问题标题】:Capture path of all accessed nodes in arbitrary Gremlin query在任意 Gremlin 查询中捕获所有访问节点的路径
【发布时间】:2021-11-02 15:28:08
【问题描述】:

假设我有一个我无法控制的任意 Gremlin 查询作为输入,以及我运行它的图形数据库,我如何捕获图中所有访问节点的路径,例如,我如何查看任意查询需要图表的某些部分?

澄清: 如果我任意运行,如何在查询运行时捕获所有访问的数据,不仅是结果,还包括查询期间访问的所有数据。

【问题讨论】:

    标签: gremlin


    【解决方案1】:

    不同的数据库可能已经解释了计划选项,这些选项可以让您深入了解查询将如何运行,但真正了解 Gremlin 查询需要在图中访问什么的唯一方法是运行它。如果您知道图表的架构,您可能会编写一些代码来分析查询,以查看用于估计查询将触及什么的各种步骤和标签,但我不知道有任何现有的工具可以做到这一点。

    【讨论】:

    • 运行查询是没问题的,但是我运行时如何捕获图表中需要的所有部分?
    • 并非所有 Gremlin 查询都会返回它们接触到的所有内容。在某些情况下,向查询添加path 步骤将返回所有被触及的内容,但实际上它完全取决于查询。例如,如果查询是g.V().out().out(),它将只返回最终顶点,但g.V().out().out().path() 将返回访问过的每个顶点。但是对于像g.V().out().out().count() 这样的查询,这个技巧是行不通的。
    • 是的,没错,那么如何获取查询所需的所有数据路径?
    • 不做查询重写真的没有简单的方法。
    • 有没有办法调试查询,因为它正在运行以记录所有访问的节点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多