2015-02-27 15 views
12

In Neo4j 2.1.6 habe ich Knoten, die in Bezug auf eine bestimmte Eigenschaft, inputID, nicht eindeutig sind.Wie entfernt man Neo4j-Knoten mit doppelten Eigenschaften?

Mit Cypher, wie entferne ich alle Knoten, die Duplikate in Bezug auf eine bestimmte Eigenschaft sind, so dass nur Uniques?

Ich habe versucht, die folgenden ...

MATCH (n:Input) 
WITH n.inputID, collect(n) AS nodes 
WHERE size(nodes) > 1 
FOREACH (n in tail(nodes) | DELETE n) 

... aber es führt zu ...

Expression in WITH must be aliased (use AS) (line 2, column 6) 
"WITH n.inputID, collect(n) AS nodes" 
    ^

Danke,

G

Antwort

15

Du bist Aliasing nicht WITH Variable. Ändern Sie dies:

WITH n.inputID, collect(n) AS nodes 

Um dies:

WITH n.inputID AS inputID, collect(n) AS nodes 
2

Wie Sie richtig herausgefunden, mit Schwanz auf einer Sammlung lassen Sie die Duplikate entfernen, vergessen Sie nicht, Beziehungen zu entfernen, bevor der Knoten (DETACH) und alias das Feld als FrobberOfBits erwähnt:

MATCH (n:Input) 
WITH n.inputID AS inputID, collect(n) AS nodes 
WHERE size(nodes) > 1 
FOREACH (n in tail(nodes) | DETACH DELETE n) 
+0

Dies bietet keine Antwort auf die Frage. Sobald Sie genug [Reputation] (https://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (https://stackoverflow.com/help/privileges/comment); Stattdessen [geben Sie Antworten, die keine Klärung durch den Fragesteller erfordern] (https://meta.stackexchange.com/questions/214173/why-doe-i-need-50-reputation-to-comment-what-can- i-do-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/16455407) –

+0

Ja, ich wollte auf FrobberOfBits Antwort kommentieren, um das "DETACH" -Bit hinzuzufügen, aber ich kann aufgrund der Reputation nicht kommentieren, ich habe das als eine Notiz, aber einige "Liam" entfernt meine Notiz. –

Verwandte Themen