2009-09-09 14 views
5

Estoy tratando de escribir una consulta SPARQL donde quiero filtrar en el cuadrado de algo, pero simplemente no puedo encontrar la forma de cuadrar un número (x) (excepto al multiplicarlo consigo mismo, por supuesto). Adiviné una función de raíz cuadrada llamada math:sqrt() que funciona, pero nada como math:pow parece existir.Potencia (exponenciación) y otro soporte de función matemática en SPARQL

¿Cómo puedo obtener el cuadrado de algo en SPARQL y, más importante, ¿dónde puedo leer sobre él y otras funciones matemáticas tales como math:sqrt en SPARQL?

Nota: Esto está relacionado con mi pregunta anterior: Reverse wikipedia geotagging lookup.

Respuesta

2

Han pasado unos años más tarde y se ha publicado SPARQL 1.1 Query Language. Incluye muchas más funciones incorporadas que el lenguaje de consulta SPARQL original. . Además de una gran cantidad de funciones en las cadenas, términos RDF, & c, hay un número de funciones numéricas (los números de sección indican la sección en la norma vinculado):

Todavía no hay ninguna función de square aquí, y la manera más rápida de implementar que va a utilizar *, por lo laalto's answer sigue en pie. Los operadores que admite SPARQL se describen en 17.3 Operator Mapping, y para la aritmética XPath sigue siendo solo el conjunto de +, -, * y /.

+0

Gracias por la actualización :) –

3

SPARQL admite algunas funciones aritméticas de XPath como + - * /. Se describen en el SPARQL spec.

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

+0

Hola. Gracias. ¿Qué pasa con la especificación de otras funciones matemáticas, como la raíz cuadrada (matemática: sqrt parece funcionar bien) y las funciones trigonométricas sin, y cos? Actualicé la pregunta un poco. –

+0

Esas serían extensiones específicas de la implementación, no parte del núcleo SPARQL. – laalto

+0

¿Dónde encontraría documentación sobre estas extensiones específicas de la implementación? –

Cuestiones relacionadas