1

「ジョン」と呼ばれる少なくとも2人の(異なる)俳優が演じたすべての映画を手に入れたいとしましょう。

クエリの例

[{
  "type":"/film/film",
  "name":null,
  "limit":10,
  "/film/film/initial_release_date":"2005"
  "starring":[{
    "a:actor": [{
       "type": "/film/actor",
       "name": null,
       "name~=": "John",
    }],
    "b:actor": [{
       "type": "/film/actor",
       "name": null,
       "name~=": "John",
    }]
  }]
}]

サンプルクエリを実行すると、「ジョン」が1つだけ含まれている映画が一覧表示されることがわかります。子が重複しているこれらの結果を除外するようにクエリを修正するにはどうすればよいですか?

4

1 に答える 1

3

一般に、フィルタリングはクライアント側で行う必要があります。MQLのクエリは、クエリの一部が一般的なグラフではなく別の部分を参照できないという点で「ツリーのような」ものです。

この場合、複数の「ジョン」が演じている映画を探すことができます。ただし、MQLでは「count」などの派生プロパティでフィルタリングできないため、カウントに基づいて逆ソートし、最初のエントリに「count」が当たるとすぐに処理を停止するのが最善の方法です。 :1。ただし、1935年の固定リリース日を削除すると(MQLで並べ替えるとパフォーマンスが低下します)、そのクエリはタイムアウトになるため、単純なクライアント側のフィルタリングにとどまっている可能性があります。

于 2013-01-01T22:47:47.583 に答える