1

...ええ、ええ、私は伝統的な結合が存在しないことを知っています。私は理論的にはフリーベースのクエリ方法論が実際に好きですが、実際に機能させるのに少し問題があります:)

2つの異なる「テーブル」からプルするMQLを介してFreebaseデータを取得するというばかげた単純な例を持っている人はいますか?特に、自動車のデータを取得しようとしています...たとえば、/ automotive/model_yearと/automotive/trim_levelの両方からフィールドを取得します。

私はドキュメントを読みました(実際には何時間も)。私のOLTP脳は見ているものを理解していないため、どこかでそのような例を正しく見ていて、見ていなかった可能性があります。

*注意* ...上記で使用している2つの「タイプ」は兄弟であり、親/子ではないことに注意してください。freebaseは兄弟ノード間でデータを結合することさえ許可しますか...私は親/子からプルするクエリの例を見ますが、私が思わない(または私がそれらを見落とした)兄弟からではありません。

4

1 に答える 1

1

基本的に、ユーザーの入力に応じてクエリを制限するだけではいけませんか?

ユーザーが年を選択すると、モデル年が一致するすべてのメーカーが取得されます。

[{
  "model_s": [{
    "model_years": [{
      "year": [{
        "type":    "/type/datetime",
        "value<":  "2010", // User input
        "value>=": "2009" // User input
      }],
      "type": "/automotive/model_year"
    }],
    "type": "/automotive/model"
  }],
  "id":   null,
  "name": null,
  "type": "/automotive/make"
}]​

メーカーが選択されていて、そのメーカーと年のモデルが必要な場合:

[{
  "model_years": [{
    "year": [{
      "type":    "/type/datetime",
      "value<":  "2010", // User input from above
      "value>=": "2009" // User input from above
    }],
    "type": "/automotive/model_year"
  }],
  "id":   null,
  "name": null,
  "type": "/automotive/model",
  "make": [{
    "id":   "/en/volkswagen", // User input
    "type": "/automotive/make"
  }]
}]​

それとも私はあなたの問題を正しく理解していませんでしたか?

于 2011-01-01T21:15:28.480 に答える