【问题标题】:create a DBPEDIA sparql创建一个 DBPEDIA sparql
【发布时间】: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() 函数完成很多事情,也许值得一试

标签: sparql lookup dbpedia


【解决方案1】:

您可以从这个查询开始,它会返回所有在抽象属性中包含您的关键字的资源:

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

您可以将http://dbpedia.org/ontology/abstract 视为 Dbpedia 中任何资源的描述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多