如此问题中显示的标题类似,我想通过知道其名称的一部分来检索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)
我的主要问题是两个主要方面:
那么,有没有人知道这个"主查询"通过提供其名称或其中的一部分来获取资源?(一个例子是提供"奥巴马",并且不仅为巴拉克而且为米歇尔获得结果).
先感谢您.