0

jqassistant で作成したグラフのクエリを見つけようとしています。しかし、私はそれを理解することはできません。私のデータは次のようになります。

アーティファクトを表すノードがいくつかあります: (各行はノードです)

ネームバージョン
===================
プロジェクトワン 001
プロジェクトツー 001
プロジェクトワン 002
プロジェクトツー 002
プロジェクトワン 009
プロジェクトワン 004
プロジェクトワン 029
プロジェクトツー 003
プロジェクトツー 010

私のクエリが返す必要があるのは、次の 2 つのノードです。

プロジェクトワン 029
プロジェクトツー 010

したがって、このノードの最新バージョンを名前で区別したいと思います。DISTINCT と ORDER BY の使用方法は知っていますが、これら 2 つを組み合わせて目的の出力を得る方法がわかりません。何か案は?

私の最終的な目標は、最新バージョンをマークすることです。次に、最新としてマークされていないアーティファクトに依存するすべての最新のアーティファクトを指摘したいと思います。

これに到達するための別の可能な解決策は、先行者のチェーンを作成することです。その後、前任者が入っていないすべてのアーティファクトが最新バージョンになります。しかし、それは私が最新のものを選択する際に抱えているのと同じ問題を意味します.

4

1 に答える 1

2

関連するすべてのノードにFooラベルがあると仮定すると、クエリは非常に単純です。

MATCH (n:Foo)
RETURN n.name, MAX(n.version);

MAX集計関数は、個別の名前ごとに最大バージョンを見つけます。

于 2016-03-30T18:19:49.270 に答える