Escreva uma consulta MQL do FreeBase que recupere tudo sobre um determinado tópico?

StackOverflow https://stackoverflow.com/questions/694037

  •  22-08-2019
  •  | 
  •  

Pergunta

Quero escrever uma consulta que recupere tudo o que se sabe sobre um tópico (só precisa ter um nível de profundidade.

Ao trabalhar no Editor MQL do Freebase Eles dão o seguinte exemplo para "tudo o que sabemos sobre Jimi Hendrix":

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

O problema é que a consulta está vinculada a um tipo "/música/artista" e está apenas recuperando propriedades relacionadas a esse tipo. Se você alterar a consulta para usar um tipo diferente, obterá um conjunto de resultados totalmente diferente.

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

Como posso escrever uma consulta que realmente recupere tudo o que a FreeBase conhece sobre Jimi Hendrix?

Foi útil?

Solução

A API de tópico do freeBase pode ser o que você procura:

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

A API do tópico pegará todas as propriedades diretamente relacionadas a um tópico no gráfico. A API envolve uma série de consultas MQL para obter todos os dados e saídas no JSON.

Google "API http tópico HTTP" para mais informações.

Outras dicas

Para fazer isso, você precisará de um tipo mais avançado de consulta que analise os links subjacentes (/tipo/link) que compõem o gráfico da base de free. Cada link tem uma fonte, um alvo e uma propriedade atribuída a ele e eles podem ser consultados assim:

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

Eles são chamados de links de saída e representam a maioria dos valores que você costuma ver na interface do usuário da Base FreeBase, mas também pode trocar a fonte e o destino para obter uma lista de links de entrada, links isto:

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

Esses links incluem propriedades em outros tópicos que se referem a Jimi Hendrix como seu valor e esses valores não são todos mostrados na página da Base Jimi Hendrix para manter o volume de informações em um nível gerenciável.

Depois de um tempo, achamos que este é um caso de uso típico, por isso introduzimos uma API totalmente nova para fazer isso:

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

Isso fará com que todas as propriedades das consultas acima, bem como mediadores e outras guloseimas.

Observe que, se você deseja todas as propriedades de todos os tópicos da Frebase, você deve usar o dumps de dados E não a linguagem de consulta em tempo de execução (será muitas vezes mais rápida).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top