В спецификации SPARQL упоминается, что предложение FROM
может использоваться для указания набора данных .
Запрос SPARQL может указывать набор данных, который будет использоваться для сопоставления, с помощью предложения
FROM
и предложенияFROM NAMED
для описания набора данных RDF.
Что такое «набор данных» в контексте SPARQL? Я очень хорошо знаком с базами данных в целом и понимаю в принципе, что запрос данных, сформулированных на таком языке, как SQL, затем выполняется для набора данных для разрешения некоторого подмножества этого набора данных.
Я пытаюсь понять следующий запрос:
prefix cpmeta: <...some_domain>
select distinct
?uri
?label
?stationId
from <...some_domain>
from <...some_domain>
from <...some_domain>
from <...some_domain>
from named <...some_domain>
where {
{ ?uri rdfs:label ?label }
UNION
{ ?uri cpmeta:hasName ?label }
UNION
{
graph <...some_domain> {
?uri a cpmeta:Station .
?uri cpmeta:hasName ?label .
}
}
?uri cpmeta:hasStationId ?stationId
}
limit 100
Итак, из документации по спецификации я в принципе понимаю, что
- Указано 4 набора данных и (я думаю)
- Определен один "набор данных RDF"
Тем не мение. Запрос действительно выполняется (но с немного разными результатами), если я не использую предложения FROM
и FROM NAMED
:
prefix cpmeta: <...some_domain>
select distinct
?uri
?label
?stationId
where {
{ ?uri rdfs:label ?label }
UNION
{ ?uri cpmeta:hasName ?label }
UNION
{
graph <...some_domain> {
?uri a cpmeta:Station .
?uri cpmeta:hasName ?label .
}
}
?uri cpmeta:hasStationId ?stationId
}
limit 100
Так ясно ??? уже указан набор данных. Это через prefix
?
Вопросы:
- Почему
RDF dataset
идентифицируется иначе, чем обычный набор данных (FROM
противFROM NAMED
) - URI префикса фактически повторно используется в операторе
FROM
. В чем разница между префиксом и предложениемFROM
?
Этот вопрос - Указание набора данных в запросе SPARQL - показывает, как указать набор данных , но не объясняет, что это означает в контексте запроса SPARQL и, однако, в контексте того, что запрос SPARQL разрешается в фактические данные.
В этом вопросе - предложение FROM в запросах SPARQL - упоминается, что запрос SPARQL без предложения FROM выполняется для набора данных по умолчанию. Но тогда почему пропуск всех наборов данных по-прежнему приводит к данным, возвращаемым запросом?
FROM
фактически определено в документации: w3.org/TR / sparql11-query / # un namedGraph.If a query provides more than one FROM clause, providing more than one IRI to indicate the default graph, then the default graph is the RDF merge of the graphs obtained from representations of the resources identified by the given IRIs.
- person Zach Smith   schedule 21.02.2020