Привет У меня есть запрос SPARQL, который имеет это в пункте гдеОдно значение в котором положение
...
optional {
?v foo:thing ?something .
$dontgetthis
?v bar:somethingelse ?otherthing .
...
}
...
Теперь я получаю большую часть этого, за исключением одной вещи. Я не получаю $dontgetthis
. Что это значит? $dontgetthis
не используется нигде в запросе.
Означает ли это, что переменная может иметь префикс либо с долларом, либо с вопросительным знаком? Есть ли разница между этими двумя? –
Единственное отличие состоит в том, что один начинается с вопросительного знака, а другой начинается со знака доллара. '$ foo' и'? foo' - одна и та же переменная. (Свободно доступно онлайн, так что это не секретная информация или что-то еще) spec * явно * говорит так: * "** [4.1.3 Синтаксис для переменных запроса] (http://www.w3.org/TR/sparql11 -query/# QSynVariables) ** Переменная запроса помечена с помощью «?» или «$»; «?» или «$» не является частью имени переменной. В запросе $ abc и? abc идентифицирует ту же переменную. "* –
@JoshuaTaylor Но не' '' обычно используется для параметров запроса, то есть vars, которые будут связаны снаружи при выполнении запроса? –