Potência (exponenciação) e outros apoios função matemática em SPARQL
-
05-07-2019 - |
Pergunta
Eu estou tentando escrever uma consulta SPARQL onde eu quero filtro na praça de algo, mas eu sou simplesmente incapaz de descobrir como a quadratura um número ( x 2 ) (exceto multiplicando-o com a própria, é claro). Imaginei uma função raiz quadrada chamado math:sqrt()
que funciona, mas nada como math:pow
parece existir.
Como faço para obter o quadrado de algo em SPARQL e, mais importante, onde posso ler sobre ele e outras funções matemáticas, como math:sqrt
em SPARQL?
Nota: Isso está relacionado à minha pergunta anterior:. reverso wikipedia geotagging pesquisa
Solução
Agora é alguns anos mais tarde eo SPARQL Query Language 1.1 tem sido Publicados. Ele inclui muitos mais built-in funções do que a linguagem de consulta SPARQL originais. . Além de lotes de funções em cordas, termos RDF, & c, há uma série de funções numéricas (os números de seção indicar a seção no padrão ligado):
Ainda há nenhuma função square
aqui, ea maneira mais rápida de implementar que estará usando *
, então resposta de laalto ainda stands. Os operadores que SPARQL suportes são descritos no 17,3 Operador Mapeamento , e para XPath aritmética ainda é apenas o conjunto de +
, -
, *
e /
.
Outras dicas
SPARQL suporta alguns XPath funções aritméticas tais como + - * /
. Eles são descritos no SPARQL especificação .
A função de potência não é suportado pela especificação. E em qualquer caso x*x
é a maneira mais eficiente para quadrados de computação do que pow(x,2)
seria.