2014-02-10 83 views
1

假設您有一個提及「土耳其」和「伊斯坦布爾」的文檔,並且想要提取這些關鍵字並將其與Wikipedia文章相匹配。但對於「火雞」,它可能意味着土耳其的國家或土耳其的鳥。那麼是否有可能使用第二個關鍵詞伊斯坦布爾來衡量「土耳其」與右邊之間的「距離」。所以:使用SPARQL和DBPedia測量話題之間的距離

伊斯坦布爾 - >土耳其的國家 - >關閉。

伊斯坦布爾 - >火雞鳥 - >遙遠。

解釋我的意思是距離更遠:據我所知SPARQL可以遍歷圖形,而DBPedia是一種(知識)圖形,所以我正在尋找的距離可能在圖形中。

回答

2

如果資源之間存在唯一路徑,則可以在SPARQL中找到兩個資源之間路徑的長度。 (現在已在很多地方對此進行了描述;例如,this answerCalculate length of path between nodes?)。但是,如果存在多個加入端點的路徑,則不能使用該技術,因爲它通過對資源之間的路徑上的節點進行計數,所以如果有多個路徑,它不會很有用。

在DBpedia中,任何一對資源之間可能有很多路徑,所以使用這種指標相當困難。但是,您可以使用的另一種方法是查找最接近的公共超類,並使用基於此的指標。該方法已在this answerfinding common superclass and length of path in class hierarchies中進行了討論。

+0

好的,這可能是我可以使用的東西。我使用SPARQLWrapper遇到一個奇怪的問題。可能是主題,但你有一個想法,爲什麼在Virtuoso中完全相同的查詢顯示如下: [link](http://screencast.com/t/aCSkqkdQZ) 然後在SPARQLWrapper中: [鏈接](http: //screencast.com/t/Rs2dy1uGtT) –

+0

@MariusLian嗯,不,我不知道。有時候,Virtuoso端點會施加超時和內存限制,所以這可能是在不同時間獲得不同結果的原因。 –