【问题标题】:Multiple edge creation - Gremlin REST server多重边缘创建 - Gremlin REST 服务器
【发布时间】:2017-07-17 15:01:26
【问题描述】:

我正在使用一个简单的 Gremlin RESTful 服务器,并且在 POST 请求中发送简单的命令。例如,如果我想创建边(以我的特定格式),我有以下模板:

const nodeCommandFormat = "graph.addVertex('%s', '%s', 'evid', '%s');";

使用这样的链接命令发送一个长字符串可以正常工作,所有边缘都已创建。我的问题是:为什么它不适用于边缘创建?到目前为止,我尝试了这两个命令:

const newEdgeCommandFormat = "g.V().has('evid', '%s').addE('next').to(g.V().has('evid', '%s')).property('count', 1);";

x = g.V().has('evid', ...).next(); y = g.V().has('evid', ...).next(); x.addEdge('next', y, 'count', 1);

但是,如果我像这样连接 100 个命令,则只会创建与最后一个命令对应的边。这是为什么?另一方面,我也收到这样的错误:

  • 使用第一种类型的边缘创建n:[WARN] HttpGremlinEndpointHandler - 无效请求 - 以 500 内部服务器错误响应,并且提供的遍历器未映射到值:v[3091]->[TinkerGraphStep(vertex ,[evid.eq(6ba0b28797dd79a2ee198d8ff280c4ff)])]
  • 使用第二种边创建方式:java.util.NoSuchElementException 在 org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.next(DefaultTraversal.java:204)

如何使用 Gremlin REST 服务器实现动态边缘创建?

附:我所有的节点都有“evid”属性(event-id),它是一个对象的 md5 值。我将其用作节点的标识符。

谢谢!

【问题讨论】:

    标签: javascript gremlin tinkerpop tinkerpop3 gremlin-server


    【解决方案1】:

    .iterate() 你的遍历。这在“前 5 分钟”部分末尾的 Getting Started tutorial 中突出显示。

    【讨论】:

      猜你喜欢
      • 2016-08-28
      • 1970-01-01
      • 2019-03-01
      • 2017-07-05
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多