【问题标题】:Gremlin-Groovy SyntaxGremlin-Groovy 语法
【发布时间】:2017-03-31 05:51:20
【问题描述】:

我正在使用 Gremlin-Groovy 查询 AWS 托管的图形数据库(DynamoDB 上的 Titan)。我可以通过以下查询来查询一个人的外向关注关系:

"gremlin": "g.V().has(p0,p1).out(p2)",
"bindings": {
    "p0": "PersonId",
    "p1": "b72a0ff5-21ca-4c71-9c47-20bef36ac277",
    "p2": "follow"
 }

我还希望能够计算此查询生成的每个关注的关注数​​量。是否可以在一个查询中完成?

【问题讨论】:

    标签: groovy amazon-dynamodb titan gremlin


    【解决方案1】:

    这是你可以做到的一种方法:

    gremlin> graph = TinkerGraph.open()
    ==>tinkergraph[vertices:0 edges:0]
    gremlin> g = graph.traversal()
    ==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
    gremlin> g.addV(id,'a').as('a').
    ......1>   addV(id,'b').as('b').
    ......2>   addV(id,'c').as('c').
    ......3>   addV(id,'d').as('d').
    ......4>   addV(id,'e').as('e').
    ......5>   addV(id,'f').as('f').
    ......6>   addV(id,'g').as('g').
    ......7>   addE('follows').from('a').to('b').
    ......8>   addE('follows').from('b').to('c').
    ......9>   addE('follows').from('b').to('d').
    .....10>   addE('follows').from('a').to('e').
    .....11>   addE('follows').from('a').to('f').
    .....12>   addE('follows').from('f').to('g').iterate()
    gremlin> g.V().has(id,'a').out('follows').
    ......1>   group().by().by(out('follows').count())
    ==>[v[b]:2,v[e]:0,v[f]:1]
    

    您可以看到最后一行返回一个Map,其中“a”跟随的人顶点是键,值表示他们每个跟随的人的数量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-28
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-10
      • 1970-01-01
      相关资源
      最近更新 更多