2015-01-31 74 views

回答

4

我不認爲這是可能的純CYPHER查詢。下面是使用,我認爲將工作neo4j.rb一個解決方案:

# Assuming node1 already loaded 
node_query = Neo4j::Session.query.match(node: {neo_id: node1.neo_id}) 

types = node_query.match('node-[rel]-()').pluck('DISTINCT type(rel)') 

types.each do |type| 
    node_query.match('node-[rel]->(other)').with(:node, :rel, :other).create("node-[new_rel]->other").set('new_rel = rel').exec 
    node_query.match('node<-[rel]-(other)').with(:node, :rel, :other).create("node<-[new_rel]-other").set('new_rel = rel').exec 
end 
+0

我得到的類型,但隨後在每次循環我不知道如何指定new_rel其他節點。 再次感謝Brian;) – armedwing 2015-02-01 13:03:15

+0

只是編輯,因爲第二個查詢是在錯誤的方向,他們都需要一個'執行' – 2015-02-01 13:57:12

+0

另一個節點正在由'other'變量指定。這應該在'WITH'子句中傳遞,然後在'CREATE'子句中再次匹配。我可能會誤解...... – 2015-02-01 13:57:57

相關問題