比方說,我們有兩個節點n和mNeo4j Cypher:如何設置關係的StartNode或endNode?
是否有可能對正作爲的StartNode N- [R]所有的關係設定M能夠作爲的StartNode - >()
的關係可以有不同類型。
是否有可能只使用一個密碼請求?
比方說,我們有兩個節點n和mNeo4j Cypher:如何設置關係的StartNode或endNode?
是否有可能對正作爲的StartNode N- [R]所有的關係設定M能夠作爲的StartNode - >()
的關係可以有不同類型。
是否有可能只使用一個密碼請求?
不,您不能爲某個關係重新分配啓動節點。你可以做的是刪除這種關係,然後創建新的關係指向你想要的關係。
例如:
MATCH (n { id: "startpoint"})-[r]->(), (m {id: "endpoint"})
MERGE (n)-[:newRelationship]->(m)
DELETE r;
該查詢將不得不如果:newRelationship
類型可以改變取決於r
示例數據得到更爲複雜:
CREATE CONSTRAINT ON (city:City) ASSERT city.name IS UNIQUE;
CREATE CONSTRAINT ON (state:State) ASSERT state.name IS UNIQUE;
MERGE (pb:City {name: 'Paderborn'})
MERGE (state1:State {name: 'Bavaria'})
MERGE (state2:State {name: 'North Rhine-Westphalia'})
MERGE (pb)-[:LOCATED_IN]->(state1);
下面的語句將刪除現有的關係並創建一個新的:
MATCH (n { name: "Paderborn"})-[r]->(), (state {name: "Bavaria"})
MERGE (n)-[:LOCATED_IN]->(state)
DELETE r;
謝謝。此查詢不會執行任務,因爲它將m設置爲endNode而不是StartNode。無論如何,我正在尋找一種可以將關係類型考慮在內的查詢。 – Hugo 2015-03-04 14:09:44
是否可以根據現有關係的類型來設置新關係的類型,所有這些都在一個密碼請求中? – Hugo 2015-03-04 14:12:14
否 - 再次,您不會通過密碼重新分配關係類型;您創建您需要的正確類型的關係,然後根據需要刪除舊的關係類型。我相信只有屬性和關係的價值可以改變。 – FrobberOfBits 2015-03-04 14:15:30