顯然,似乎下面的WHERE子句不起作用,因爲我們在查詢中有兩個關係(WorksAt和ResponsibleFor)。如果只有一種關係,那麼這就像魔術一樣工作。在下面的查詢中,查詢返回部門科學中的所有課程,但它不會過濾未由Maria Smith授課的課程。我想要做的只是獲得在科學部門工作的瑪麗亞史密斯教授的課程。 我遇到了WITH和Start Clause,它們似乎是潛在的候選子句,它使得它可以在將查詢的一部分發送給另一部分之前過濾掉其中的一部分。
http://neo4j.com/docs/stable/query-with.html
但我還沒有能夠把握這個概念呢。任何人尋求幫助?在Neo4j中使用多個關係中的Where子句
MATCH (d:Department)<-[w:WorksAt]-(t:Tutor)-[r:ResponsibleFor]->(c:Courses)
WHERE d.name='Science'
AND t.name='Maria Smith'
return c,r
看起來不錯。嘗試返回*而不是c,r –
除此之外,你確定所有的情況都符合標籤,屬性和關係類型嗎? –
@DaveBennett返回*將帶來與返回c,r相同的結果。此外,標籤,屬性和關係類型與案例相匹配,因爲我知道Neo4j Cypher查詢不區分大小寫,而且查詢語法不區分大小寫,但也包含我們放入的值 – Sike12