Ho commesso l'errore di essere incoerente con i tipi di attributo. Per i nodi di tipo "persona", alcuni hanno una stringa per la proprietà "external_id" e alcuni hanno un int. Vorrei eliminare tutti i nodi in cui la proprietà è una stringa. La seguente query viene eseguita e sembra fornire una risposta corretta.Neo4j/Cypher Elimina con "Identificatore sconosciuto"
MATCH (n:person)
WHERE TOSTRING(n.external_id) = n.external_id
RETURN count(n)
Tuttavia, quando provo a cancellare quei nodi utilizzando la seguente query, ottengo "` n` identificatore sconosciuta.":
MATCH (n:person)
WHERE TOSTRING(n.external_id) = n.external_id
DELETE n
Sono nuovo di Neo4j e Cypher, ma questo sembra che dovrebbe essere piuttosto semplice. Ho già eliminato tutte le relazioni per questi nodi. Cosa mi manca qui?
Sembra un'eccezione parse, si può provare con 'DETACH DELETE' invece di' DELETE' –
sto usando Neo4j 2.2.5, così 'DETACH 'non è disponibile. Ma non penso che dovrebbe importare, i nodi che sto cercando di eliminare non hanno alcuna relazione. –
Bene, ho appena provato in 2.3.1 e senza DETACH DELETE non funzionava neanche. Creerò una versione 2.2.5 da verificare. –