【问题标题】:How to get all dereferenced links of sparql query result如何获取sparql查询结果的所有取消引用链接
【发布时间】:2014-09-26 04:42:11
【问题描述】:

我想使用 its sparql 端点从 dbpedia 下载一些实体配置文件。我的查询是:

PREFIX rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dbpedia:   <http://dbpedia.org/ontology/>
select ?x where {?x rdf:type dbpedia:Drug} LIMIT 100

上述查询的结果是实体配置文件的一些链接。对于dereferencing,我必须点击每个链接。我想取消引用所有实体配置文件并在本地计算机中另存为数据集。我想稍后在我的项目中使用这个数据集。那么我怎样才能下载这个实体配置文件呢?有没有 sparql 命令?

【问题讨论】:

  • 为什么要准确下载每个 URL 的页面?这没有任何意义。此外,如果 URL 实际上只是一个唯一 ID 并且不能使用 HTTP 解析,您想做什么(经常发生)?
  • 尊敬的@Arsham 根据关联数据原则,每个 url 必须具有取消引用的能力。我需要下载 Link Descovery 任务的所有数据集。我希望我的任务没有网络延迟和其他一些与网络相关的问题。
  • 在 Internet 的早期,资源仅由 URL(统一资源定位器)引用,人们期望 URL 可用于通过某些方式定位和检索电子文档传输协议。然而,随着时间的推移,标识符也可以指代不可检索的资源已被接受。更广泛的术语 URI 开始用于表示任何类型的资源的标识符,包括 非信息资源。假设可以取消引用 URI 以提供有关资源的信息,通常是不安全的。
  • 举个例子,即使你的结果集中的这个链接linkrdf:type,它也不会给你任何关于person的信息

标签: rdf sparql semantic-web owl


【解决方案1】:

如果您想获取有关 ?x 的所有 RDF 数据(相当于取消引用所有 URI),您可以将 SPARQL 查询更改为:

 PREFIX rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
 PREFIX dbpedia:   <http://dbpedia.org/ontology/>
 DESCRIBE ?x where {?x rdf:type dbpedia:Drug} LIMIT 100

事实上,解除对 URI 的引用(经常)被服务器转换为 SPARQL 查询。查询通常具有以下形式:

 DESCRIBE <URI>

【讨论】:

  • 你救了我的命。谢谢!
  • 这将在大多数端点上给出合理的结果,但未指定 describe 查询返回的内容。为了使这个健壮,OP 可能需要construct where { ?s ?p ?o ; a dbpedia-owl:Drug }
  • 确实 DESCRIBE 查询结果取决于实际执行。但是,您的提案将返回更少的数据,因为 Virtuoso 实现还包括传入链接:)
猜你喜欢
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 2021-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多