Могу ли я объединить локальный и удаленный набор данных в запросе SPARQL? - PullRequest
6 голосов
/ 27 октября 2011

Я читал о SPARQL и RDF, и, пожалуйста, исправьте меня, если мои рассуждения об этих технологиях здесь неверны.

Предполагается, что у нас есть локальная база данных SPARQL с именем LOCAL .. и URL-адрес удаленного RDF-файла с именем URL_RDF. Могу ли я написать скрипт, скажем на PHP, который будет выполнять запрос SPARQL, как этот?

Псевдокод.

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

Другими словами, можно ли объединить источники в запросе SPARQL следующим образом (удаленный файл + локальная база данных)?

1 Ответ

7 голосов
/ 27 октября 2011

Вы можете сделать это, используя функции федерации в 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.

...