Поддержка степени (возведения в степень) и других математических функций в SPARQL.

StackOverflow https://stackoverflow.com/questions/1401401

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top