小编Ged*_*ort的帖子

使用SPARQL通过其字符串名称检索DBpedia资源,但不知道其类型

如此问题中显示的标题类似,我想通过知道其名称的一部分来检索dbpedia资源.我是一个初学者,当谈到SPARQL等,但在关注的例子对我帮助很大,因为笔者搜索了"罗马尼亚",而该人回答他迷上了一个SPARQL要求做的工作.这很好,但这就是事情.

在这个例子中,他们已经"知道"罗马尼亚是一个国家,因此

    ?c a dbpedia-owl:Country ;
Run Code Online (Sandbox Code Playgroud)

在WHERE子句中.完整的sparql请求正在

    SELECT ?c
    WHERE {
    ?c a dbpedia-owl:Country ;
    foaf:name "Romania"@en .
    FILTER NOT EXISTS {?c dbpedia-owl:dissolutionYear ?y}
    } 
Run Code Online (Sandbox Code Playgroud)

但是,这个问题并不十分完整地回答我们的需求,因此寻找其名称的任何资源,在"名称"作为一个资源,或它的一部分的实际名称,不管它的(RDF:)类型.目标是搜索"任何东西",只知道名称或其中的一部分.

我一直在做一些研究,问你们这个问题之前,我已经知道这个问题"这个名字的一部分"可以用BIF功能来解决(糟糕的方法,因为它不是SparQL兼容),或CONTAINS子句,但我找不到任何展示如何使用它的例子.

现在让我们假设在dbpedia资源中有一个"单词"来搜索,该单词将是来自某个用户的输入.我们称之为"输入".

我想,这个请求看起来像:

   SELECT ?something WHERE
   {
    ?something a (dbpedia Resource).
    CONTAINS(?something,"INPUT")
   }
Run Code Online (Sandbox Code Playgroud)

我的主要问题是两个主要方面:

  1. 有没有描述Dbpedia资源类型的东西?我认为这不是本体论或其他任何东西.通过knwoing我想搜索所有资源,找到一个匹配...
  2. 我将提供的特定名称,或一些字符串.我认为过滤器选项,但是这将意味着让所有的资源,然后通过自己的名字筛选他们,他们已经retreived后,这将是,我想,没有这么完美.

那么,有没有人知道这个"主查询"通过提供其名称或其中的一部分来获取资源?(一个例子是提供"奥巴马",并且不仅为巴拉克而且为米歇尔获得结果).

先感谢您.

rdf full-text-search foaf sparql dbpedia

11
推荐指数
1
解决办法
3828
查看次数

标签 统计

dbpedia ×1

foaf ×1

full-text-search ×1

rdf ×1

sparql ×1