Scrivere una query Freebase MQL che ottiene tutto torna su un determinato argomento?

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

  •  22-08-2019
  •  | 
  •  

Domanda

Voglio scrivere una query che ottiene indietro tutto ciò che è noto su un argomento (ha solo bisogno di essere di un livello profondo.

Quando si lavora in Freebase MQL Editor danno il seguente esempio per "Tutto quello che sappiamo A proposito di Jimi Hendrix ":

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

Il problema è che la query è associato a un tipo di "/ music / artista" e sta ottenendo soltanto di nuovo le proprietà che si riferiscono a quel tipo. Se si modifica la query per utilizzare un diverso tipo si ottiene un completamente diverso set di risultati.

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

Come faccio a scrivere una query che ottiene davvero indietro tutto ciò che sa di Freebase Jimi Hendrix?

È stato utile?

Soluzione

Il Freebase Discussione API potrebbe essere quello che stai dopo:

http://www.freebase.com/experimental/ argomento / Standard? id = / it / jimi_hendrix

L'API argomento sarà afferrare tutte le proprietà direttamente correlate a un argomento nel grafico. L'API avvolge una serie di domande MQL per ottenere tutti i dati e le uscite in JSON.

Google " Freebase Discussione HTTP API " per ulteriori informazioni.

Altri suggerimenti

Per fare questo avrete bisogno di un tipo più avanzato di query che esamina i link sottostanti (/ tipo / link) che compongono il grafico Freebase. Ogni link ha una fonte, un obiettivo e una proprietà ad essa assegnati e possono essere interrogato in questo modo:

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

Questi sono chiamati i link in uscita e rappresentano la maggior parte dei valori che di solito si vedono in Freebase interfaccia utente, ma si possono anche scambiare l'origine e la destinazione per ottenere un elenco di link in entrata link a questo:

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

Questi link sono proprietà su altri argomenti che fanno riferimento a Jimi Hendrix come il loro valore e questi valori non tutti sono mostrati nella pagina Freebase Jimi Hendrix per mantenere il volume di informazioni a un livello gestibile.

Dopo un po ', abbiamo pensato che questo è un tipico caso d'uso, in modo da introdurre una nuova API per fare questo:

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

Questo ti porterà tutte le proprietà delle query di cui sopra, così come mediatori e altre chicche.

Si noti che se si desidera che tutti gli oggetti di tutti gli argomenti Freebase, si dovrebbe utilizzare la discariche di dati e non il linguaggio di query in fase di esecuzione (sarà molto più veloce).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top