2016-12-01 72 views
0

我在dbpedia中使用lookup(例如http://lookup.dbpedia.org/api/search.asmx/KeywordSearch?QueryString=all%20by%20myself)来提取包含文本“All by myself”的所有结果,但现在我只想提取描述中包含单词“Eric Carmen”或如果能够进行模糊选择,例如在描述中选择“Eric Carmen”和“Eric Karmen”,那么效果会更好。任何人都可以为此构建一个SPARQL?我在这张图片中附加了上述url的结果。我附上了来自stackoverflow Work around to query DBpedia for two keywords的另一个查询的答案,以帮助您理解。 enter image description here创建一个DBPEDIA sparql

+1

DBpedia Lookup是RDF资源的简单全文索引,不支持模糊匹配。 SPARQL是RDF的查询语言,不支持模糊匹配。一些三重商店支持像Lucene这样的红外系统,但DBpedia托管在Virtuoso上,它不支持模糊匹配。您可以将DBpedia加载到您的唯一三重商店中,该商店通过模糊匹配扩展了全文搜索。 – AKSW

+0

假设我们不使用模糊匹配,那么SPARQL代码会如何呢? –

+0

这取决于1)您使用的三重商店和2)您所描述的RDF属性。 – AKSW

回答

0

你可以用这个查询返回包含在抽象属性关键字的所有资源开始:

SELECT Distinct * 
Where 
{   
    ?resource dbo:abstract ?abstract.  
    Filter langMatches(lang(?abstract),"EN").   
    ?abstract bif:contains "Eric_Carmen".  
} 

你可以考虑http://dbpedia.org/ontology/abstract在DBpedia中的任何资源的描述。