2016-04-11 1 views
0
MATCH (a:poigroup) 
-[r:parameter]-> 
(b:pointname)-[c:section]-> 
(d:linepoiset_linepoi)-[actual:actual_value_Z1]->(e:ye04_a1) 
Return r,c,actual ORDER BY e.a1_number DESC LIMIT 1 

Es kann funktionieren.Neo4j - Wie benutzt man Ordnung?

Aber ich will diese

MATCH (a:poigroup)-[r:parameter]-> 
(b:pointname)-[c:section]-> 
(d:linepoiset_linepoi)-[actual:actual_value_Z1]-> 
(e:ye04_a1), 
(d:linepoiset_linepoi)-[s:set_value_Z1]->(f:ye04_a131) 
Return r,c,actual,s ORDER BY e.a1_number DESC LIMIT 1 

mögen, aber es funktioniert nicht

Wie es slove?

+0

Was bedeutet 'nicht '? Was ist das Ergebnis? –

Antwort

0

Ich denke, Bestellung funktioniert nicht intuitiv, wenn Sie MATCH mehrere Pfade. Sie können die Abfrage nach oben wie folgt aufgeteilt:

MATCH (a:poigroup)-[r:parameter]-> 
(b:pointname)-[c:section]-> 
(d:linepoiset_linepoi)-[actual:actual_value_Z1]-> 
(e:ye04_a1) 
WITH r,c,actual,d ORDER BY e.a1_number DESC LIMIT 1 
MATCH (d:linepoiset_linepoi)-[s:set_value_Z1]->(f:ye04_a131) 
RETURN whatever you want to return 

Dies wird zunächst MATCHpoigroup-ye04_a1 und nur das Ergebnis mit dem höchsten a1_number Wert zurück. Sie verwenden dann das linepiset_linepo von diesem Ergebnis zu MATCH zu ye04_a131.

Sie können RETURN alles aus der WITH Anweisung.

+0

Es kann Arbeit sein! Vielen Dank. –

+0

Aber ich habe eine neue Frage. Kannst du es auch? http://stackoverflow.com/questions/36548691/neo4j-how-to-use-limit –