2012-07-27 143 views
1

我想獲得freebase資源的uri而不是字面值的人的出生地點。Freebase查詢返回rdf:資源uri

我GET看起來像這樣...

https://www.googleapis.com/freebase/v1/mqlread?query={%22/people/person/place_of_birth%22:null,%22id%22:%22/en/bob_dylan%22} 

返回這個結果......

{ 
"result": { 
"/people/person/place_of_birth": "Duluth", 
"id": "/en/bob_dylan" 
} 
} 

是有可能改變的get PARAMS返回RDF:資源URI?

<fb:people.person.place_of_birth rdf:resource="http://rdf.freebase.com/ns/en.tilden"/> 

在此先感謝

+0

你是從兩個不同的例子中剪切粘貼的嗎?提爾登和德盧斯不在同一個地方。 – 2012-07-27 17:18:39

回答

3

更改您的查詢

{ 
    "id": "/en/bob_dylan", 
    "/people/person/place_of_birth": { 
    "id": null 
    } 
}​ 

將意味着你回來/en/duluth而不是名稱 「德盧斯」。使用googleapis.com託管的新Freebase API,您可能會獲得/m/0h1k6而不是/en/duluth;然而這些是相同的。

從那裏,移動到RDF資源URI應該很容易。但是請注意,Freebase團隊已經不贊成使用RDF URI,並且沒有正式承諾生成類似替換的替代品,因此在依賴此服務之前您需要小心。

+0

請注意,如果您沒有取回MID,則應該更改查詢以詢問它而不是ID,因爲這是推薦用作穩定外部標識符的內容。 http://rdf.freebase.com/ns/m.0h1k6 – 2012-07-27 17:21:55

+0

爲了澄清,我們已棄用/ en IDs,這意味着所有當前/ en ID將繼續工作,但它們將在Freebase中不再強調UI並且不會創建新的/ en ID。/en URIs和/ m URIs之間的映射都可以從sameas.org獲得,因此您可以輕鬆移動兩個命名方案。 – 2012-07-27 17:59:31

+0

謝謝你philip - 完美 – AttikAttak 2012-08-02 11:36:10