2017-10-15 83 views
0

我正在研究一个应用程序,它是书店的后端。在neo4j应用程序中,我想编写一个查询,它会显示与所有相关书籍有关的一个类别。就像我有幻想一样,我会看到所有有幻想类的书。我试图操纵这个 MATCH p=()-[r:HAS_CATEGORY]->() RETURN p LIMIT 25但我没有看到我需要的结果。我也想了解,例如,如果我想看到更多的类别和书相关。我正在使用最后一个Neo4j。Cypher查询:如何显示所有关系到一个特定的类别

回答

1

如果我理解正确的东西,你是从一本书开始,并希望看到同一类别的所有书籍?

喜欢的东西:

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

希望这有助于。

问候, 汤姆

0

如果你的数据模型看起来是这样的:

(:Book)-[:HAS_CATEGORY]->(:Category {name: 'name-of-category'}) 

那么这里是一个暗号查询来获取所有Book节点的“科幻”`类别:

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

这不会给我任何结果,我想我对GraphDB做了一些错误。在关系部分下,我只看到2个,但没有看到has_category。但是我已经有了一个类别的书。那么如何添加一个类别? – Jakub

+0

我没有任何结果使用类别Horror编写您的查询,因为它在我的数据库中。我写了这个'MATCH p =(:Book) - [r:HAS_CATEGORY] - >(:Category {name:'Horror'})RETURN p LIMIT 25' 但是写这个MATCH p =() - [r:HAS_CATEGORY ] - >()返回p'显示所有类别和指向该类别的书籍。我写错了只看到与所有相关书籍的一个类别? – Jakub

相关问题