Ich habe 2 Knoten in Grafik-Datenbank, Herkunft Flughafen und Zielflughafen erstellt. Es ist durch eine Eigenschaft mit dem Namen 'delayed_by' verbunden.Wie Aggregatfunktionen für mehrere Spalten mit Cypher-Abfrage in Neo4j zu tun
MATCH (origin:origin_airport {name: row.ORIGIN}),
(destination:dest_airport {name: row.DEST})
CREATE (origin)-[:delayed_by {carr_delay: row.carr_delay}]->(destination)
CREATE (origin)-[:delayed_by {weather_delay: row.weather_delay}]->
(destination)
CREATE (origin)-[:delayed_by {nas_delay: row.nas_delay}]->(destination)
delayed_by enthält den Wert, der aufgrund von Trägerverzögerung, Wetterverzögerung und NAS-Verzögerung verursacht wird. Hier muss ich nach Herkunft und Ziel gruppieren und den Durchschnittswert der Summe aller 3 Verzögerungen mit Hilfe der Abfrage in Neo4j berechnen. Darstellen in tabellarischer Form, meine Eingabedatei des Formats wird, wie unten beschrieben:
ORIGIN DEST carr_delay weather_delay nas_delay
ABE ATL 492 56 56
ABE DTW 412 0 47
ABQ ATL 181 0 218
Ich erwarte das Ergebnis im folgende Format.
ORIGIN DEST Avg_delay
ABE ATL 201.33
ABE DTW 153
ABQ ATL 133
Ich bin mit der folgenden Abfrage:
MATCH (oa:origin_airport)-[d:delayed_by]->(da:dest_airport)
RETURN oa.name AS Origin, da.name AS Destination,
AVG((toFloat(d.carr_delay))+(toFloat(d.weather_delay))+
(toFloat(d.nas_delay))) As avg_delay
ORDER BY avg_delay DESC
LIMIT 10
Aber Nullwert für Avg_delay bekommen.
ORIGIN DEST Avg_delay
ABE ATL NULL
ABE DTW NULL
ABQ ATL NULL
Wenn ich versuchte, das Modell zu ändern, erhalte ich einen Fehler und es akzeptiert kein "Typ" "Wert" -Format. Ich habe meinen Fehler in einem anderen Beitrag erklärt. http://stackoverflow.com/questions/37899643/how-to-associate-multiple-value-to-a-property-using-cypher-queries-in-neo4j – SRS