2016-03-26 6 views
0

Ich möchte einige Knoten speichern, die ganze Zahlen haben, wie mache ich neo4j verstehen, dass die Zeichen, die ich sende, ganze Zahlen sind.Wie füge ich der Neo4j Node-Eigenschaft ganzzahlige Werte hinzu, indem ich cypher verwende?

Ich versuchte

MATCH (a:Venture_capital),(b:Organization) 
WHERE a.name = "Google" AND int(b.from) = "2004" AND String(b.member) = "John L. Hennessy" 
CREATE (a)-[:board_members]->(b)-[:organization]->(a)

und

MATCH (a:Venture_capital),(b:Organization) 
WHERE a.name = "Google" AND b.from = int("2004") AND b.member = String("John L. Hennessy") 
CREATE (a)-[:board_members]->(b)-[:organization]->(a)

Beide sind nicht funktioniert. :(

Wie soll ich das tun

Neo4j mich Datetime und räumliche Daten standardmäßig zu speichern, ist es nicht möglich, die seltsam

+0

Können Sie genauer beschreiben, wie genau sie nicht funktionieren? Treten Fehler oder unerwartetes Verhalten auf oder ...? – Castaglia

+0

Sie sagen "Ich möchte einige Knoten speichern, die Integer haben", und dennoch sind die Knoten gemäß Ihrer Cypher-Abfrage bereits vorhanden. Enthält die Eigenschaft 'from' eine Ganzzahl oder eine Zeichenfolge? Und was meinst du mit "Senden" - ist "2004" ein Beispiel dafür, was du "sendest"? – cybersam

Antwort

1

Verwenden toInt(string)

MATCH (a:Venture_capital),(b:Organization) 
WHERE a.name = "Google" AND b.from = toInt("2004") 
    AND b.member = "John L. Hennessy" 
CREATE (a)-[:board_members]->(b)-[:organization]->(a) 
+0

Sind diese Werte wirklich als Ganzzahlen oder Longs gespeichert? – manonthemat

+0

@manonthemat Neo4j verwendet intern 64 Bit lange und doppelte Werte, daher ist der Funktionsname 'toInt()' irreführend. – InverseFalcon

Verwandte Themen