2017-10-15 85 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

相關問題