【发布时间】:2017-04-16 08:41:26
【问题描述】:
我正在使用 dbpedia 中的查找(例如 http://lookup.dbpedia.org/api/search.asmx/KeywordSearch?QueryString=all%20by%20myself)来提取包含文本“我自己”的所有结果,但现在我只想提取那些描述中包含“Eric Carmen”或更好的结果,如果它可以进行模糊选择,例如在描述中同时选择“Eric Carmen”和“Eric Karmen”。任何人都可以为此构建一个 SPARQL 吗?我在这张图片中附上了上述网址的结果。我附上了来自 stackoverflow Work around to query DBpedia for two keywords 的另一个查询的答案,以帮助您理解。
【问题讨论】:
-
DBpedia Lookup 是 RDF 资源的简单全文索引,不支持模糊匹配。 SPARQL 是 RDF 的查询语言,不支持模糊匹配。一些三元存储支持 Lucene 等 IR 系统,但 DBpedia 托管在 Virtuoso 上,不支持模糊匹配。您可以将 DBpedia 加载到您唯一具有扩展全文搜索和模糊匹配的三重存储中。
-
假设我们不使用模糊匹配,那么 SPARQL 代码会是怎样的呢?
-
这取决于 1) 您使用的三重存储和 2) 您通过“描述”表示的 RDF 属性。
-
你可以用 REGEX() 函数完成很多事情,也许值得一试