2016-01-20 70 views
0

給出用戶輸入(例如「狗」)我需要找到所有(或至少一些)給定dbpedia本體的匹配類。我是語義學的新手,我發現每個例子都是關於三胞胎的具體價值。我的意思是,我發現查詢檢索喜歡的東西: 艾莉年齡15 菲利普年齡21如何獲得與sparql中的字符串匹配的類?

但我真正需要的是檢索給一個字符串可能的類。例如,如果我搜索「文章」,我需要一個查詢檢索像「電子商務產品,雜誌文章,憲法文章,論文」等的查詢...

我應該閱讀什麼來找到這樣的例子?你推薦什麼圖書館消費這從JavaScript?不管是否有必要像Greasemonkey的或瀏覽器擴展

回答

0

我不能對任何JavaScript庫幫助,但一個SPARQL查詢來提取基於某種給定文本類特權代碼看起來是這樣的 -

select distinct ?concept ?label where { 
    ?concept a <http://www.w3.org/2002/07/owl#Class> . 
    ?concept rdfs:label ?label . 
    FILTER(regex(?label, "Dog", "i")) . 
    FILTER(langMatches(lang(?label),"EN")) . 
} LIMIT 100 

此查詢將提取任何具有確切名稱Dog的類。這個查詢需要適應更高級的搜索,但應該給你一個起點。

注意:我有意添加FILTER(langMatches(lang(?label),"EN")) .來搜索英文標籤。

+1

**正則表達式**在這裏不合適且效率低下。有一個[**包含**](https://www.w3.org/TR/sparql11-query/#func-contains)函數來檢查字符串包含。 –

相關問題