あなたが持っているか、グラフを変更する能力を獲得することができた場合は、に個人の年齢を抽出することもできます。(年齢は、あなたのデータに静的であるためにのみ動作)年齢・ノード。
APOC手順はここに助けることができcategorization refactoring procedureています。各年齢の人を取得する
そのように、あなただけのすべてに一致:年齢・ノード、およびget one connected node for each of themを。限りランダム各年齢層のための選択を行うよう
EDIT
、我々はランダムな指標を収集し、グラブのcybersamのアプローチを使用することができます。 APOC手順に
、我々はまた、コレクションからランダムにアイテムをつかむためにapoc.coll.randomItem()
を使用するオプションがあります。基本的には同じことをボンネットの下でやっています。次のようになります。
MATCH (age:Age)<-[:HasAge]-(p:Person)
RETURN age.age as age, apoc.coll.randomItem(collect(p)) as randomPerson
あなたが「特定の必要があると述べた
を
フルクエリ(人・ノード:年齢・ノードを(との関係で「年齢」プロパティ)を使用すると、個別の持っていると仮定した場合) 「ランダム要素の量」を別々の年齢に設定することで、上記のクエリを変更して年齢別にランダムな人物を収集し、apoc.coll.randomItems()
を使用して必要なランダムなエントリを多数取得することができます。
MATCH (age:Age)<-[:HasAge]-(p:Person)
WITH age, apoc.coll.randomItem(collect(p)) as randomPerson
RETURN apoc.coll.randomItems(collect(randomPerson), {numberOfItemsDesired}) as randomPeople
これは、サポートする必要があるか、1回限りのクエリですか?この種のクエリの高速実行をより良くサポートするために、モデルの変更を検討することもできます。 – InverseFalcon
データには年齢が固定されているか、生年月日にバインドされているため、時間が経過すると年齢が上がります。 – InverseFalcon
これは一般的な用途であり、データは静的です。私はデータベースをモデル化していないので、データ編成を変更することになります。 – rinderwahn