2016-07-25 5 views
0

Ich baute ein Diagramm mit neo4j. Wenn ich mit der folgenden Chiffreabfrage suchte, ergab es kein Ergebnis.neo4j cypher Abfrage kann nicht mit der Eigenschaft arbeiten

MATCH (n:node) 
where n.prop='pro1' 
RETURN n 
LIMIT 25 

Ich bin mir sicher n.prop='pro1' existiert. Und die Abfrage funktioniert.

MATCH (n:node) 
where exists(n.prop) 
RETURN n 
LIMIT 25 

Warum gibt die zweite Abfrage ein Ergebnis zurück, aber das erste nicht?

+0

Bei diesen Problemen ist es sinnvoll, die Abfragen (einschließlich der Datenübernahme) mit den tatsächlichen Daten zu vergleichen. Können Sie die Daten des Knotens, mit dem Sie übereinstimmen möchten, kopieren/einfügen? – InverseFalcon

Antwort

0

Sie müssen möglicherweise ein paar Plausibilitätsprüfungen durchführen, in diesen Situationen sind die üblichen Täter Tippfehler, Falschpassungen oder ähnliches. Es hört sich so an, als würdest du diese schon durchmachen, aber es tut nicht weh, zurückzugehen und jeden zu überprüfen.

Aber wenn es so ist, wie du sagst, ist die Beschriftung auf deinem Match korrekt, der Fall und die Schreibweise des Prop-Schlüssels sind korrekt, dann muss etwas mit dem Wert der Eigenschaft selbst sein.

Ein paar Dinge zu suchen ...

  • Korrekte Rechtschreibung + Fall
  • Jedes zusätzliches Leerzeichen in dem Wert, der Ihr Spiel verursachen würde
  • Überprüfen, ob das Zeichen am Ende zum Scheitern verurteilt ist eine „eins“ oder der Kleinbuchstabe „l“

und wenn alles noch gut aussieht, es testen wieder in Neo4j ... können Sie versuchen, STARTS WITH in Ihrem WHERE clau mit wollen se. Als letzten Ausweg versuchen Sie, eine MERGE mit einem: Knoten mit der Requisite als was Sie erwarten, aber mit einer ON CREATE zu setzen einige zusätzliche Flag auf dem neuen Knoten, wenn es erstellt wird (nur als eine Gesundheitscheck und Sie haben also etwas, das Ihnen hilft, zwischen dem bestehenden Knoten und jedem neuen Knoten, der erstellt werden soll, zu unterscheiden.

+0

Es scheint, dass hinter "pro1" ein Leerzeichen steht. Ich rekonstruiere den Graphen und es funktioniert. Vielen Dank! – Bing