特定のラベルの頂点を特定のフィールド (「displayName」であると仮定)によって複数のグループにグループ化し、グループの数をnに制限し、各グループ内のアイテムの数もnに制限するグレムリン クエリを実行しようとしています。
それを達成する方法はありますか?
group().by() はアイテムのリストを返すので、 unfold() を使用してから、内側のアイテムに制限を適用してみました。返されるグループの数を制限することはできましたが、各グループのアイテムの数を制限することはできませんでした。
グループの数を制限するために使用したクエリは次のとおりです。
gV().hasLabel('customLabel').group().by('displayName').unfold().limit(n)
// Expected result:(if n == 2)
[
{
"displayName1": [
{ // item 1 in first group
},
{ // item 2 in first group
}
]
},
{
"displayName2": [
{ // item 1 in second group
},
{ // item 2 in second group
}
]
}
]
// Actual result: (when n == 2)
[
{
"displayName1": [
{ // item 1 in first group
},
{ // item 2 in first group
},
... // all the items are included in the result
]
},
{
"displayName2": [
{ // item 1 in second group
},
{ // item 2 in second group
},
... // all the items are included in the result
]
}
]
現在、上記のクエリでは、「displayName1」と「displayName2」の 2 つのグループしか取得できませんが、それぞれのグループには、期待どおり 2 つだけでなく、すべてのアイテムが含まれています。