我可以在SPARQL查询中组合本地和远程数据集吗?

时间:2011-10-27 15:30:51

标签: database w3c rdf sparql

我一直在阅读有关SPARQL和RDF的内容,如果我对这些技术的推理错误,请纠正我。

假设我们有一个名为LOCAL的本地SPARQL数据库..以及名为URL_RDF的远程RDF文件的url。我可以在PHP中编写一个脚本,这样可以执行这样的SPARQL查询吗?

伪代码。

SELECT * FROM LOCAL,URL_RDF WHERE LOCAL.id=URL_RDF.id

换句话说,我可以在SPARQL查询中组合这样的源(远程文件+本地数据库)吗?

1 个答案:

答案 0 :(得分:7)

您可以使用SPARQL 1.1中的联合功能执行此操作。这些在http://www.w3.org/TR/sparql11-federated-query中有描述,但为了让您快速了解它的外观,您的示例查询将是这样的(仍然是伪代码):

SELECT * WHERE {
  # the local part of the query
  ?s ?p ?id

  SERVICE <http://url/to/remote/data> {
    # The remote part of the query
    ?x ?y ?id
  }
}

请注意,URL必须指向SPARQL端点,即可以响应SPARQL查询的服务器,而不仅仅是远程RDF文件。

相关问题