Ich versuche eine Abfrage für mein Diagramm zu finden, das ich von jqassistant erstellt habe. Aber ich kann es einfach nicht herausfinden. Meine Daten sieht wie folgt aus:Neo4j Cypher Abfrage mit Subselect
Ich habe mehrere Knoten, die ein Artefakt darstellt: (Jede Zeile ist ein Knoten)
name version =================== projectOne 001 projectTwo 001 projectOne 002 projectTwo 002 projectOne 009 projectOne 004 projectOne 029 projectTwo 003 projectTwo 010
Was meine Abfrage zurückgeben sollte, ist zwei Knoten:
projectOne 029 projectTwo 010
Also ich möchte die neueste Version dieses Knotens nach Namen unterscheiden. Ich weiß, wie man DISTINCT und ORDER BY benutzt, aber ich kann einfach nicht herausfinden, wie man diese beiden kombiniert, um die gewünschte Ausgabe zu erhalten. Irgendwelche Ideen?
Mein letztes Ziel ist es, die neuesten Versionen zu markieren. Dann möchte ich auf jedes neuere Artefakt hinweisen, das von Artefakten abhängt, die nicht als neu markiert sind.
Eine andere mögliche Lösung, um dies zu erreichen, wäre eine Kette von Vorgängern zu erstellen. Dann wäre jedes Artefakt ohne ankommenden Vorgänger die neueste Version. Aber das bedeutet dasselbe Problem wie bei der Auswahl der neuesten.
Oh. Sieht ganz einfach aus. Ich werde es später am Abend ausprobieren und die Antwort markieren, wenn es funktioniert. Danke im Voraus. – romixch
Awsome! Vielen Dank! – romixch
Schöne und einfache Lösung! Beachten Sie, dass dies nur funktioniert, wenn das Versionsattribut Ihrer Artefakte eine natürliche Reihenfolge erzeugt, d. H. Wenn Sie ein anderes Versionierungsschema wie 1.10.0 verwenden, können die Dinge brechen. –