【问题标题】:Add multiple edges in a single gremlin query using vertex ids使用顶点 ID 在单个 gremlin 查询中添加多条边
【发布时间】:2018-02-11 12:57:52
【问题描述】:

我在我的应用程序中使用 gremlin REST 服务器,我想在单个查询中为一个顶点创建多个边。我有从哪里创建边缘到单个顶点的顶点 ID 列表。

例如- g.V(12,13,14,15).addEdge('uses', g.V(100))

我尝试了许多遍历步骤,但无法使其正常工作。

【问题讨论】:

    标签: groovy gremlin tinkerpop tinkerpop3 gremlin-server


    【解决方案1】:

    您应该查看addE() step - 这是您可以做到的一个示例:

    gremlin> graph = TinkerFactory.createModern()
    ==>tinkergraph[vertices:6 edges:6]
    gremlin> g = graph.traversal()
    ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
    gremlin> g.V(2,3,4,5,6).as('a').V(1).addE('likes').to('a')
    ==>e[13][1-likes->2]
    ==>e[14][1-likes->3]
    ==>e[15][1-likes->4]
    ==>e[16][1-likes->5]
    ==>e[17][1-likes->6]
    

    【讨论】:

    • gremlin> gV().hasLabel('earms_user') ==>v[19660804192] ==>v[24576008272] ==>v[19660804216] ==>v[19660804248] gremlin> gV().hasLabel('earms_group') ==>v[18432004112] ==>v[20889604240] gremlin> gV(19660804192,24576008272,19660804216).as('a').V(18432004112).addE(' eu_eg').to('a') 方法没有签名:org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.V() 适用于参数类型:(java.lang.Long) 值: [18432004112] 可能的解决方案:by(groovy.lang.Closure), is(java.lang.Object), any(), sum(), min(), max()
    • gremlin> graph2 = TinkerFactory.createModern() ==>tinkergraph[vertices:6 edges:6] gremlin> g = graph2.traversal() ==>graphtraversalsource[tinkergraph[vertices:6 edges: 6],标准] gremlin> gV(2,3,4,5,6).as('a').V(1).addE('likes').to('a') 方法没有签名: org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.V() 适用于参数类型:(java.lang.Integer) 值:[1] 可能的解决方案:by(groovy.lang.Closure) , is(java.lang.Object), any(), sum(), min(), max()
    • 你使用什么图实现?以及什么版本的 tinkerpop?
    • 使用它来工作 - link。这是正确的吗?
    • 我正在使用titan graph db和tinkerpop3。
    猜你喜欢
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 2021-12-07
    • 2019-07-26
    • 1970-01-01
    • 2019-01-14
    • 2020-11-08
    相关资源
    最近更新 更多