graph snippetcypher - Beziehung Traversal vs Bestellung nach Eigenschaft
Ich habe eine Form mit einer Liste von Punkten.
Ich habe folgende Anforderungen:
1) abrufen einen geordneten Satzes von Punkten;
2) einfügen/einen Punkt entfernen und die Reihenfolge der übrigen Punkte erhalten
ich dies erreichen kann:
A) Punkt hat eine Sequenz Integer-Eigenschaft, die verwendet werden könnte, um Auftrag;
B) Fügen Sie eine: NEXT-Beziehung zwischen den einzelnen Punkten hinzu, um eine verknüpfte Liste zu erstellen.
Ich bin neu bei Neo4j, also nicht sicher welcher Ansatz vorzuziehen ist, um die Anforderungen zu erfüllen?
Für die erste Anforderung, schrieb ich die folgenden Abfragen und die Leistung für die Traversal gefunden, schlecht zu sein, aber ich bin sicher, es ist eine schlecht konstruierte Abfrage:
//A) 146 ms
Match (s:Shape {id: "1-700-y11-1.1.I"})-[:POINTS]->(p:Point)
return p
order by p.sequence;
//B) Timeout! Bad query I know, but dont know the right way to go about it!
Match path=(s:Shape {id: "1-700-y11-1.1.I"})-[:POINTS]->(p1:Point)-[:NEXT*]->(p2:Point)
return collect(p1, p2);