gremlin - 如何找到与其他顶点共享许多连接的顶点
问题描述
我是 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)
..
我的目标是识别与“Article1”类型的另一个顶点具有多个 X 顶点的“Article”类型的顶点。
关于前面的示例: - 我将获得 {Article1,Article2} 作为具有超过 2 个(在本例中为 3 个)公共索引的元组 - 我将排除 {Article1,Article3} 因为该元组仅共享 1 个公共顶点。
对这个任务有什么建议吗?
谢谢罗伯
解决方案
假设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)))
推荐阅读
- django - 如何检查一个字段是否与Django Form中的另一个字段匹配
- reactjs - 在哪里放置转换 PDF 功能?
- php - 我们如何在 Laravel 中实现自定义的仅 API 身份验证
- arrays - 快速将字符串类型数组转换为浮点类型数组无法将“字符串”类型的值分配给“双”类型的下标
- r - 正则表达式正在工作,但代码看起来很糟糕
- asp.net-core - 向 IFormFile MVC 添加更多数据
- python - 我可以在没有 cmap/颜色映射的情况下使用 matplotlibs imshow 吗?
- git - 在提交更改时,我经常看到并提交不同的冗余文件。有没有办法来解决这个问题?
- html - 有没有一种方法可以在没有额外 CSS 文件的情况下制作 Textarea 全屏?
- django - Django 根据重复频率每周、每月或每年自动重新发布数据