エラーなく次のサイファークエリを書き込むにはどうすればよいですか?neo4jノードとの関係を作成しようとしました
Match (n: {id :"someid"}),(x {id:"otherId"})
OPTIONAL MATCH (n)-[]->(t:Other)
merge x-[]->(t)`
問題はt
はnullにして病気のエラーを取得することcanceがあるということです。 Expected to find a node at t but found nothing Some(null)
これは完全なクエリです:
MATCH (traveler:${labels.N_TRAVELER} {id: {traveler}.id})
OPTIONAL MATCH (traveler)-[r:${labels.R_TRAVELER_LATEST_EVENT}]->(prev:${labels.N_EVENT})
OPTIONAL MATCH (interest:${labels.N_INTERESTS}) WHERE interest.id IN {interests}
DELETE r
MERGE (traveler)-[:${labels.R_TRAVELER_LATEST_EVENT}]->(trip:${labels.N_TRIP_EVENT})
ON CREATE SET trip={trip}
MERGE (traveler)-[:${labels.R_TRAVELER_WRITE_TRIP}]->(trip)
MERGE (trip)-[:${labels.R_TRIP_INTEREST}]->(interest)
WITH trip, collect(prev) as prevs
UNWIND prevs as prev
MERGE (trip)-[:${labels.R_EVENT_PREV_EVENT}]->(prev)
WITH trip
RETURN properties(trip) as trip`
すべてlabels.
だけです文字列.. {interests}
はIDの配列です
基本的にはトリップのリンクされたリスト
「UNWIND」の部分は、私が必要としていることとその作業ですが、それ以上の優雅な解決法はありません。 tがnullでないか、それとも何かのようなマージのようなものですか? – tubu13
現在、Cypherには条件付きのビットがありません。私は今、もっとエレガントなものを見ていないのだろうか? –
何かが正しくない..関係は作成されているが、その後は 'n return n'を実行して空を返す? – tubu13