Так что я довольно новичок в SPARQL. Я знаю, что если операторы не могут быть использованы таким образом в SPARQL, но мне было интересно, есть ли какой-нибудь способ сделать то, что я хочу сделать, sh, который заключается в сопоставлении с другим графовым шаблоном на основе значения привязки.
SELECT ...
WHERE {
// ...set ?x to some count
IF (?x = 0) {
// series of graph patterns
}
ELSE {
// different series of graph patterns
}
}
Большинство примеров, которые я видел, просто состояли из установки значения специфической привязки c на основе оператора if, что я не пытаюсь сделать. Графовый шаблон в else является дорогим в вычислительном отношении, и я не хочу его запускать, если в этом нет необходимости.