2017-04-02 57 views
0

我有一個節點類型Author,它通過關係類型WROTE鏈接到節點類型BookMagazine。我需要查找特定作者在單個查詢中寫入的所有書籍和雜誌,並且在查詢結果中,我希望能夠區分書籍和雜誌結果。如何返回節點類或在查詢結果中輸入Neo4j

我可以實現這一目標的一種方法是定義書籍和雜誌的單獨關係,並返回結果中的TYPE(relationship)值以匹配書籍和雜誌的結果。

MATCH (a:Author)-[r]->(i) WHERE TYPE(r) = 'WROTE_BOOK' OR TYPE(r) = 'WROTE_MAGAZINE' 
RETURN TYPE(r), i 

但是,我希望能夠做到這一點,而沒有單獨的WROTE關係。有沒有辦法在查詢結果中查詢節點類型或類?在上面的例子中,類似下面:

MATCH (a:Author)-[:WROTE]->(i) WHERE TYPE(i) = 'Book' OR TYPE(i) = 'MAGAZINE' 
RETURN TYPE(i), i 

看來,TYPE()功能只適用於關係,而不是節點。感謝您的幫助!

回答

2

類型用於關係,標籤用於節點。

MATCH (a:Author)-[:WROTE]->(i) WHERE labels(i) in ['Book','MAGAZINE'] 
RETURN labels(i), i 

如果您的作者只寫了雜誌和書籍,則不需要WHERE過濾器。

MATCH (a:Author)-[:WROTE]->(i) 
RETURN labels(i), i 
+0

謝謝@Tomaz!完美的作品! –

相關問題