Scrivere una query Freebase MQL che ottiene tutto torna su un determinato argomento?
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?
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).