我有一个包含多个订单及其各自购买(称为产品)的数据集。订单链接到他们购买的产品。对于给定的产品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的订单,第二个查询仅返回“链接”产品。我无法获得每个“链接”产品的出现次数。有人有建议吗?预先感谢...
答案 0 :(得分:0)
这是经典的推荐查询。基本上,您只缺少最后一步:
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()