2009-03-29 3 views
2

Ich möchte eine Abfrage schreiben, die wieder alles bekommt, die über ein Thema bekannt ist (benötigt nur eine Ebene tief sein.Schreiben Sie eine Freebase MQL-Abfrage, die alles über ein bestimmtes Thema zurückbringt?

Wenn im Freebase MQL Editor sie für das folgende Beispiel geben arbeiten „Alles, was wir wissen, über Jimi Hendrix“ :

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

das Problem ist, dass die Abfrage auf eine Art „/ Musik/Künstler“ gebunden ist und nur Eigenschaften immer wieder, die auf diese Art beziehen Wenn Sie die Abfrage ändern, um einen anderen Typ Sie eine bekommen zu verwenden. völlig anderer Ergebnissatz

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

Wie kann ich eine Abfrage schreiben, die wirklich alles zurückbekommt, was Freebase über Jimi Hendrix weiß?

Antwort

3

Die Freebase Thema API könnte sein, was Sie nach:

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

Das Thema API werden alle Eigenschaften in direktem Zusammenhang mit einem Thema in der Grafik greifen. Die API umschließt eine Reihe von MQL-Abfragen, um alle Daten und Ausgaben in JSON abzurufen.

Google "Freebase Thema HTTP API" für weitere Informationen.

+0

Der Link tot ist (wie alle Freebase Links). Aus diesem Grund ist es wichtig, den zugrunde liegenden Inhalt in die Antwort selbst aufzunehmen. – airlok

4

Um dies zu tun, werden Sie eine erweiterte Art der Abfrage benötigen, die an den zugrunde liegenden Links (/ Typ/link), die die Freebase Graphen bilden aussieht. Jeder Link hat eine Quelle, ein Ziel und eine Eigenschaft zugeordnet und sie können wie folgt abgefragt werden:

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

Diese sind die ausgehenden Links genannt und die meisten Werte darstellen, die Sie in der Regel in der Freebase UI sehen, aber Sie können auch die Quelle und das Ziel tauschen eine Liste der eingehenden Links Links zu erhalten:

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

diese Links sind Eigenschaften zu anderen Themen, die Jimi Hendrix, als ihr Wert beziehen und diese Werte sind nicht alle auf der Freebase dargestellt Jimi Hendrix Seite, um die Menge der Informationen auf einem überschaubaren Niveau zu halten.

2

Nach einer Weile dachten wir, dies ist ein typischer Anwendungsfall, so stellen wir eine neue API, dies zu tun:

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

Dies wird Ihnen alle Eigenschaften von den oben genannten Anfragen erhalten, wie auch als Mediatoren und andere Leckereien.

Beachten Sie, dass wenn Sie alle Eigenschaften von allen Themen in Freebase möchten, sollten Sie die data dumps und nicht die Laufzeitabfrage Sprache verwenden (es wird viel schneller sein).

Verwandte Themen