Gremlin 查询每个连接顶点的边数
我有一个数据集,其中包含几个订单及其各自的购买(称为产品)。订单链接到他们购买的产品。对于给定的产品P1,我希望获得所有“链接”产品(即与P1以相同订单购买的产品)的列表,以及出现次数(即购买这些“链接”产品的订单数量) 在gremlin中,我已经构建了一个图表,将所有订单连接到它们各自的购买。我正在使用Cosmos DB,以防这很重要。我能够查询购买P1的所有订单:Gremlin 查询每个连接顶点的边数,gremlin,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')
我还可以查询所有链接的产品:
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()