查询每个连接顶点的边数

  • 本文关键字:顶点 连接 查询 gremlin
  • 更新时间 :
  • 英文 :


我有一个数据集,其中包含多个订单及其各自的购买(称为产品(。订单与他们购买的产品相关联。对于给定的产品 P1,我想获得所有"链接"产品(即在与 P1 相同的订单中购买的产品(的列表以及出现次数(即购买这些"链接"产品的订单数量(

在 gremlin,我已经构建了一个将所有订单与其各自购买联系起来的图表。我正在使用Cosmos DB,以防万一很重要。我可以查询购买P1的所有订单:

g.V().hasLabel('PRODUCT').has('id', '2').in('purchased')

我还能够查询所有链接的产品:

g.V().hasLabel('PRODUCT').has('id','2').in('purchased').out('purchased')
但是,第一个查询仅

返回购买 P1 的订单,第二个查询仅返回"链接"产品。我无法获得每个"链接"产品的出现次数。有人有什么建议吗?提前感谢...

这是一个经典的建议查询。基本上,您只错过了最后一步:

g.V().has('PRODUCT','id','2').
  in('purchased').
  out('purchased').
  groupCount()

但是,您可能不希望在结果中包含初始产品:

g.V().has('PRODUCT','id','2').as('a').
  in('purchased').
  out('purchased').
    where(neq('a')).
  groupCount()

最新更新