如何在sparql中获取匹配字符串的类?

时间:2016-01-20 04:40:32

标签: javascript sparql semantic-web ontology dbpedia

给定用户输入(例如“dog”)我需要在给定dbpedia本体的情况下找到所有(或至少一些)匹配类。我是语义学的新手,我发现的每一个例子都是关于三元组的具体价值观。我的意思是,我找到了检索以下内容的查询: 艾莉15岁 Phillipe 21岁

但我真正需要的是在给定字符串的情况下检索可能的类。例如,如果我搜索“文章”,我需要查询检索“电子商务产品,杂志文章,宪法文章,纸张”等内容...

我应该阅读什么才能找到这样的例子?您建议从javascript使用哪些库?无论是否需要特权代码,如greasemonkey或浏览器扩展

1 个答案:

答案 0 :(得分: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")) .仅搜索英文标签。