首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用neo4j密码查找大多数符合给定连接条件的连接节点。例如:合著书籍的作者

使用neo4j密码查找大多数符合给定连接条件的连接节点。例如:合著书籍的作者
EN

Stack Overflow用户
提问于 2019-12-28 06:35:50
回答 1查看 153关注 0票数 0

有人能帮上这个奇怪的问题吗,否则的标准查询.

比方说我有一本书,每一本都和他们各自的作者有关系。

我想找到合作最多的作者(以及他们合作过的书籍),其中合作的数量不包括只与一本书相关的作者。

例如:

  • Author1已经写了3本书(书A、B、C和D),因此有资格被视为合著者。注:A是作者独写的,
  • Author2只有一本书(b本),因此不符合被算作为一本书的资格,因为它已经写了2本书(书b& c),并且可以计算。
  • 作者4已经写了2本书(书C& D),可以计数。

以上查询的结果应该是。

  • 作者1-合著计数2
  • 作者3-合著计数1
  • Author 4-合著计数1
  • B

h 119Book cH 220H 121Book DH 222f 223

注意:

  • Author 2将是ineligble (仅与人合著一本书)
  • Book A将是ineligble (只有一个作者)

如果书上有两个以上的作者,我可以很容易地返回一个书籍和作者的列表,但是我很难将任何一本书或者只有一个连接的作者与结果联系在一起。

EN

回答 1

Stack Overflow用户

发布于 2019-12-29 14:05:48

MATCH (c:Author)-[r:AUTHORED]->(:Book) WITH c, COUNT(r) as bookCount WHERE bookCount > 1 WITH COLLECT(c) as validAuthors MATCH (a1:Author)-[:AUTHORED]->(b:Book)<-[:AUTHORED]-(a2:Author) WHERE a2 IN validAuthors AND a1 in validAuthors RETURN a1.name as author, COUNT(DISTINCT b) as coAuthoredBookCount ORDER BY coAuthoredBookCount DESC

编辑: a1和a2 in validAuthors

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59508697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档