(Verwendung Neo4j 3.x und die neo4j.v1 Python Treiber)Merging Knoten auf dem Weg eine (Verbindung) Berechnen von Eigenschaften der Beziehung
Ich habe eine Spur aus einer verknüpften Liste von Knoten, die jeweils eine Darstellung eines (lon, lat) Koordinatenpaar.
(A)-[:NEXT]->(B)-[:NEXT]->(C) etc. with properties lon, lat on each node
Frage 1
Der direkte Abstand zwischen den Koordinaten von zwei benachbarten Knoten, z.B. (0,0) und (1,1), könnte als "distance" -Eigenschaft der Beziehung - [: NEXT {distance: 1,41421}] -> zwischen den beiden benachbarten Knoten hinzugefügt werden. Wie konntest du das tun, da ich Tausende solcher Knoten habe?
Frage 2
Ganze Segmente dieser verknüpften Liste von Knoten, die durch eine einzige ersetzt werden könnte - [: NEXT] -> Beziehung mit dem „Abstand“ Eigenschaft als die Summe aller die Abstände zwischen benachbarten Knoten der ursprünglichen Liste. Wie könnte dies effizient für Tausende oder mehr Knoten getan werden?
(A)-[:NEXT {distance: 1}]->(B)-...->(D)-[:NEXT {distance: 1}]->(E) (A)-[:NEXT {distance: 4}}->(E)
Vielen Dank für Ihre Unterstützung und Hinweise.
Brilliant, das ist sehr hilfreich. Ich danke dir sehr! Side Question: Wenn ich einige seltsame Metriken und, sagen wir, Raum-Zeit-Koordinaten hätte, wie würden Sie Ihre Entfernungsberechnung implementieren? Als gespeicherte Prozedur? Ich bin froh, dass Neo4j 3.x native Unterstützung für Geodienste bietet, aber man weiß nie ... – user3650713
Ja, wenn Sie ein bisschen Java machen können, würde ich mit Verfahren gehen –