Freebase Query with "JOINS" - PullRequest
       9

Freebase Query with "JOINS"

1 голос
/ 01 января 2011

... Да, да, я знаю, что традиционных объединений не существует.Мне на самом деле нравится методология запросов freebase в теории, просто возникла небольшая проблема с тем, чтобы она действительно работала для меня:«?В частности, я пытаюсь получить данные об автомобилях ... так, например, извлекаю поля из / automotive / model_year и /automotive/trim_level.

Я прочитал документацию (на самом деле, несколько часов)Существует явная возможность, что я где-то смотрю прямо на такой пример и просто не вижу его, потому что мой мозг OLTP просто не понимает того, что видит.

* Примечание * ..что два «типа», с которыми я работаю выше, это братья и сестры, а не родитель / ребенок.Позволяет ли freebase даже объединять данные между узлами-братьями ... Я вижу примеры запросов, извлекаемых из родителя / потомка, но не из братьев и сестер, я не думаю (или я их упустил).

1 Ответ

1 голос
/ 02 января 2011

По сути, не могли бы вы не просто ограничить запросы в соответствии с вводом пользователя?

Когда пользователь выбирает год, вы получаете все марки с соответствующим модельным годом:

[{
  "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"
  }]
}]​

Или я просто не правильно понял вашу проблему?

...