Domanda

Sto cercando di scrivere una query SPARQL in cui voglio filtrare il quadrato di qualcosa, ma non riesco semplicemente a capire come quadrare un numero ( x 2 ) (tranne moltiplicandolo con se stesso, ovviamente). Ho indovinato una funzione di radice quadrata chiamata math: sqrt () che funziona, ma nulla di simile a math: pow sembra esistere.

Come posso ottenere il quadrato di qualcosa in SPARQL e, cosa più importante, dove posso leggere a riguardo e altre funzioni matematiche come math: sqrt in SPARQL?

Nota: questo è legato alla mia domanda precedente: Ricerca inversa geotagging di Wikipedia .

È stato utile?

Soluzione

Sono passati alcuni anni e il SPARQL 1.1 Query Language è stato pubblicato. Include molte più funzioni integrate rispetto al linguaggio di query SPARQL originale. Oltre a molte funzioni su stringhe, termini RDF e altri, ci sono un numero di funzioni numeriche (i numeri di sezione indicano la sezione nello standard collegato):

  

Non esiste ancora alcuna funzione square e il modo più rapido per implementare che utilizzerà * , quindi la risposta di Laalto è ancora valida. Gli operatori supportati da SPARQL sono descritti in 17.3 Mappatura operatore e per XPath l'aritmetica è ancora solo l'insieme di + , - , * e / .

Altri suggerimenti

SPARQL supporta alcune funzioni aritmetiche di XPath come + - * / . Sono descritti nelle SPARQL spec .

La funzione di alimentazione non è supportata dalle specifiche. E in ogni caso x * x è un modo più efficiente per calcolare i quadrati rispetto a pow (x, 2) .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top