2012-10-23 64 views

回答

-1

除非它們提供某種API,否則您唯一的選擇就是「屏幕抓取」頁面 - 換句話說,使用curl(或其他方法)加載頁面,然後搜索「dbpedia-owl:language」並獲取後面的字符串(dbpedia:French_language)並解析它以使其更好看。

+0

哦,來吧,向下滾動到頁腳,並按照各種API的鏈接! – Bergi

2

讓我們從頭開始,因爲你沒有說你嘗試過什麼。

DBpedia是關於所謂的資源的信息數據庫:從作爲RDF三元組存儲的維基百科文章導出的事實。資源由URI標識; DBpedia使用表格http://dbpedia.org/resource/*,其中*http://en.wikipedia.org/wiki/*中的*相同。

所以DBpedia有關於資源http://dbpedia.org/resource/France的事實。如果您在瀏覽器中查找此資源,您將被重定向到http://dbpedia.org/page/France,因爲法國不能在您的瀏覽器中顯示,但其描述可以。

在DBpedia中衆所周知的事實是

<http://dbpedia.org/resource/France> <http://dbpedia.org/ontology/language> <http://dbpedia.org/resource/French_language> 

基本上說, 「法國[的]語言[是]法語。」

爲了通過API獲得這個事實,可以使用標準的RDF查詢語言和協議SPARQLDBpedia SPARQL endpoint是向DBpedia發送SPARQL查詢的地方,它有一個Web表單,可讓您輸入和提交查詢。如果你只是想顯示什麼語言是在法國講一個HTML表,在使用默認值形式的設置和使用方法:

select ?language ?languageName 
where { 
    dbpedia:France dbpedia-owl:language ?language . 
    ?language rdfs:label ?languageName . 
} 

這意味着:「給我的資源(s)表示,法國使用的語言,和名字。「
dbpedia:France<http://dbpedia.org/resource/France>的簡稱,dbpedia-owl:language<http://dbpedia.org/ontology/language>的簡稱。

如果你想國家和在這些國家使用的語言,使用方法:

select distinct ?country ?language 
where { 
    ?country a dbpedia-owl:Country . 
    ?country dbpedia-owl:language ?language . 
} 
LIMIT 100 

這意味着:「給我,是國家資源的100種組合,而這些國家的語言使用的資源。 「

我忽略了一些細微之處,但這應該讓你開始。

相關問題