Написать MQL-запрос Freebase, который возвращает все о заданной теме? - PullRequest
2 голосов
/ 29 марта 2009

Я хочу написать запрос, который возвращает все, что известно о теме (требуется только один уровень глубины.

При работе в FreeBase MQL Editor они приводят следующий пример для «Все, что мы знаем о Джими Хендриксе»:

{
  "*" : null,
  "name" : "Jimi Hendrix",
  "type" : "/music/artist"
}

Проблема в том, что запрос связан с типом "/ music / artist" и получает только те свойства, которые относятся к этому типу. Если вы измените запрос на использование другого типа, вы получите совершенно другой набор результатов.

{
  "*" : null,
  "name" : "Jimi Hendrix",
  "type" : "/people/person"
}

Как мне написать запрос, который действительно возвращает все, что Freebase знает о Джими Хендриксе?

Ответы [ 3 ]

4 голосов
/ 29 марта 2009

Для этого вам понадобится более сложный тип запроса, который просматривает базовые ссылки (/ type / link), составляющие график Freebase. Каждая ссылка имеет источник, цель и назначенное ей свойство, и их можно запросить так:

[
  {
    "master_property" : null,
    "source" : {
      "id" : "/en/jimi_hendrix"
    },
    "target" : null,
    "target_value" : null,
    "type" : "/type/link"
  }
]

Они называются исходящими ссылками и представляют большинство значений, которые вы обычно видите в пользовательском интерфейсе Freebase, но вы также можете поменять местами источник и цель, чтобы получить список входящих ссылок:

[
  {
    "master_property" : null,
    "source" : null,
    "target" : {
      "id" : "/en/jimi_hendrix"
    },
    "type" : "/type/link"
  }
]

Эти ссылки включают свойства по другим темам, которые ссылаются на Джими Хендрикса как их значение, и эти значения не все показаны на странице Freebase Jimi Hendrix, чтобы поддерживать объем информации на управляемом уровне.

3 голосов
/ 01 августа 2010

API Темы Freebase может быть тем, что вам нужно:

http://www.freebase.com/experimental/topic/standard?id=/en/jimi_hendrix

API темы захватит все свойства, непосредственно связанные с темой в графе. API оборачивает серию запросов MQL, чтобы получить все данные и выходные данные в формате JSON.

Google " Freebase Topic HTTP API " для получения дополнительной информации.

2 голосов
/ 23 июня 2011

Через некоторое время мы решили, что это типичный вариант использования, поэтому мы представили совершенно новый API для этого:

http://www.freebase.com/docs/topic_api

Это даст вам все свойства из вышеупомянутых запросов, а также посредников и другие вкусности.

Обратите внимание, что если вам нужны все свойства из ВСЕХ тем в Freebase, вы должны использовать дампы данных , а не язык запросов во время выполнения (это будет во много раз быстрее).

...