Power (возведение в степень) и поддержка других математических функций в SPARQL - PullRequest
5 голосов
/ 09 сентября 2009

Я пытаюсь написать запрос SPARQL, в котором я хочу отфильтровать по квадрату чего-то, но я просто не могу понять, как возвести в квадрат число ( x 2 ) (кроме умножения его на себя, конечно). Я угадал функцию квадратного корня под названием math:sqrt(), которая работает, но ничего похожего на math:pow не существует.

Как получить квадрат чего-то в SPARQL и, что более важно, где я могу прочитать об этом и других математических функциях, таких как math:sqrt в SPARQL?

Примечание: это связано с моим предыдущим вопросом: Обратный поиск в геофаге википедии .

Ответы [ 2 ]

3 голосов
/ 10 сентября 2009

SPARQL поддерживает некоторые арифметические функции XPath, такие как + - * /. Они описаны в SPARQL спецификации .

Функция питания не поддерживается спецификацией. И в любом случае x*x является более эффективным способом вычисления квадратов, чем pow(x,2).

2 голосов
/ 20 сентября 2013

Прошло несколько лет, и SPARQL 1.1 Query Language был опубликован. Он включает в себя намного больше встроенных функций, чем исходный язык запросов SPARQL. В дополнение к множеству функций для строк, терминов RDF и т. Д., Существует ряд числовых функций (номера разделов указывают раздел в связанном стандарте):

Здесь все еще нет функции square, и самый быстрый способ реализовать это будет использовать *, поэтому ответ Лалто все еще остается в силе. Операторы, которые поддерживает SPARQL, описаны в 17.3 Операторское сопоставление , а для XPath арифметика по-прежнему представляет собой набор +, -, * и /.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...