我是gremlin api的新手,我想问一个有趣的用例。
我有一个如下图的图形
(Article1)-[refers_to]->(Company1)<-[refers_to]-(Article2)
(Article1)-[refers_to]->(Person1)<-[refers_to]-(Article2)
(Article1)-[refers_to]->(Person2)<-[refers_to]-(Article2)
..
(Article1)-[refers_to]->(Company1)<-[refers_to]-(Article3)
..
我的目标是确定“ Article”类型的顶点与“ Article1”类型的另一个顶点共有多个X顶点。
关于前面的示例: -我将获得{Article1,Article2}作为具有大于2(在本例中为3)公共索引的元组 -我将排除{Article1,Article3},因为该元组仅共享1个公共顶点。
对此任务有何建议?
谢谢 罗布
答案 0 :(得分:0)
假设Article1
/ Article2
是顶点的ids
,refers_to
是边的label
:
g.V('Article1').as('source').out('refers_to').as('middle_v').in('refers_to').where(neq('source')).as('target').select('middle_v', 'target').groupCount().by(select('target')).unfold().where(select(values).is(gt(2)))