Sparql без ключевого слова FROM - PullRequest
       16

Sparql без ключевого слова FROM

4 голосов
/ 09 сентября 2011

Рад, если кто-то может уточнить.

Я всегда читал, что SQL и SPARQL очень похожи. Тем не менее, много раз я видел запрос sparql без ключевого слова FROM. Вы предполагаете, что вам нужно запросить источник данных «ОТ» где-то в базе данных например, как ведет себя SQL.

Пример

PREFIX foaf:  <http://xmlns.com/foaf/0.1/>
SELECT ?name
WHERE 
{
    ?person foaf:name ?name .
}

Откуда он знает, где искать? Как и в SQL, посмотрите в Database1 - table1

Приветствия

Ответы [ 2 ]

3 голосов
/ 09 сентября 2011

Запросы SPARQL выполняются для набора данных RDF , который состоит из двух частей:

  • Отдельный график по умолчанию : набор троек без имени, прикрепленного к ним
  • Ноль или более именованные графы : набор троек, идентифицируемых именем

Вы можете указать график для запроса, используя необязательные предложения FROM или FROM NAMED. Взгляните на Указание наборов данных RDF . Если вы пропустите эти предложения, то запрос будет выполнен на графике по умолчанию.


Хранение графиков и наборов данных RDF зависит от реализации. Например, используя Jena ARQ , вы используете QueryExecutionFactory и можете инициализировать его двумя способами:

  • , передавая Model, который становится графиком по умолчанию, для которого выполняются запросы
  • , передавая Dataset, который может содержать один график по умолчанию и несколько именованных графов

Примеры кода для Jena ARQ доступны здесь . Другая реализация может отличаться.

2 голосов
/ 09 сентября 2011

Это ближе к «взгляду на Database1, все таблицы».

Поскольку все данные в RDF являются тройными (или четырехугольными, если вы так смотрите на мир), вы можете запрашивать все, что у вас есть, в однойиди, не беспокоясь о различиях в схемах.

...