Neo4j Cypher查询:如何显示与一个特定类别的所有关系

Neo4j Cypher查询:如何显示与一个特定类别的所有关系,neo4j,graph-databases,Neo4j,Graph Databases,我正在开发一个应用程序,它是一家书店的后端。在neo4j应用程序中,我想写一个查询,它将向我显示所有相关书籍的一个类别。就像如果我有一个幻想,我会看到所有有幻想类别的书。我试图操纵它 MATCH p=()-[r:HAS_CATEGORY]>()返回p LIMIT 25但我没有成功看到我需要的结果。我也想了解,例如,如果我想看到更多的类别和相关的书籍。我用的是最后一本Neo4j。如果我理解正确,你是从一本给定的书开始的,想看看同一类别的所有书吗 比如: MATCH p=(b:Book {id: "

我正在开发一个应用程序,它是一家书店的后端。在neo4j应用程序中,我想写一个查询,它将向我显示所有相关书籍的一个类别。就像如果我有一个幻想,我会看到所有有幻想类别的书。我试图操纵它
MATCH p=()-[r:HAS_CATEGORY]>()返回p LIMIT 25
但我没有成功看到我需要的结果。我也想了解,例如,如果我想看到更多的类别和相关的书籍。我用的是最后一本Neo4j。

如果我理解正确,你是从一本给定的书开始的,想看看同一类别的所有书吗

比如:

MATCH p=(b:Book {id: "xxx"})-[:HAS_CATEGORY]->(c:Category)<-[:HAS_CATEGORY]-(o:Book) WHERE o <> b
RETURN p

MATCH p=(b:Book{id:“xxx”})-[:HAS_CATEGORY]->(c:CATEGORY)如果您的数据模型如下所示:

(:Book)-[:HAS_CATEGORY]->(:Category {name: 'name-of-category'})
然后,这里是一个密码查询,用于获取所有具有“scfi”`类别的
Book
节点:

MATCH (b:Book)-[:HAS_CATEGORY]->(:Category {name: 'SciFi'})
RETURN b;

这并没有给我任何结果,我想我在GraphDB上做错了什么。在关系部分下,我只看到2个,但没有has_类别。但是我的书有一个分类。那么,如何添加一个类别呢?我没有任何结果使用类别来编写查询,因为它在我的数据库中。我写了这个'MATCH p=(:Book)-[r:HAS_CATEGORY]->(:CATEGORY{name:'Horror'})返回p LIMIT 25',但写这个'MATCH p=()-[r:HAS_CATEGORY]->()返回p',显示所有类别和指向该类别的书籍。我写错了什么,只看到了一个类别和所有相关的书籍?