Pregunta

Estoy tratando de escribir una consulta SPARQL donde quiero filtrar en el cuadrado de algo, pero simplemente no puedo averiguar cómo cuadrar un número ( x 2 ) (excepto multiplicándolo consigo mismo, por supuesto). Adiviné una función de raíz cuadrada llamada math: sqrt () que funciona, pero parece que no existe nada como math: pow .

¿Cómo obtengo el cuadrado de algo en SPARQL y, lo que es más importante, dónde puedo leer sobre esto y otras funciones matemáticas como math: sqrt en SPARQL?

Nota: esto está relacionado con mi pregunta anterior: Búsqueda inversa de geoetiquetado de wikipedia .

¿Fue útil?

Solución

Han pasado algunos años y el SPARQL 1.1 Query Language ha sido publicado. Incluye muchas más funciones integradas que el lenguaje de consulta SPARQL original. Además de muchas funciones en cadenas, términos RDF, & amp; c., Hay una serie de funciones numéricas (los números de sección indican la sección en el estándar vinculado):

  

Todavía no hay aquí la función square , y la forma más rápida de implementarlo es usar * , por lo que la respuesta de laalto sigue en pie. Los operadores que admite SPARQL se describen en 17.3 Mapeo de operadores , y para XPath la aritmética sigue siendo el conjunto de + , - , * y / .

Otros consejos

SPARQL admite algunas funciones aritméticas XPath como + - * / . Se describen en especificación SPARQL .

La función de alimentación no es compatible con la especificación. Y, en cualquier caso, x * x es una forma más eficiente de calcular cuadrados de lo que sería pow (x, 2) .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top