2014-06-17 99 views
1

我是Freebase中的新成員,我有一個簡單的問題。我想使用Freebase KB來查找兩個實體之間的關係。例如,如果我有名稱實體「華盛頓」和「美國」,我想向Freebase發送一個查詢,並在無關聯的情況下得到: 位置/位置/資本或空值。查找Freebase中兩個實體之間的關係

非常感謝。

+0

您是否找到解決方案? – Anish

回答

0

如果你只想去一層(即最近的鄰居),如果你使用在線版本的Freebase,使用反射API是非常簡單的。如果您使用的是批量下載,則需要使用您正在使用的任何查詢引擎(可能是SPARQL,除非您將RDF轉換爲其他內容)。

如果你想找到最短的路徑(es),無論它們是誰,它們就會變成圖形搜索算法。

編輯:

[{ 
    "type": "/location/administrative_division_capital_relationship", 
    "capital": [{ 
    "id": null 
    }], 
    "administrative_division": [{ 
    "id": null 
    }], 
    "limit": 1 
}] 

注意,華盛頓特區,因爲數據是不是在這個遊離鹼會返回null:如果你只是想找到議會大廈,您可以在此查詢您的ID填寫。

如果您需要處理任意屬性,則需要使用反射。請參閱https://developers.google.com/freebase/mql/ch03#reflection

+0

謝謝湯姆,但你可以給我一個查詢建議嗎?我正在使用在線API來訪問Freebase,並且讓我說我希望上面提到的(位置/位置/包含)必須在實體之間達到最大3級距離。我有Guid的實體,所以我可以通過GUID進行搜索 – user2831355

相關問題