Con i dati in tale formato non è possibile filtrare su un intervallo di esso senza aggiungere un extension function personalizzato a ARQ (che è destinato agli utenti avanzati) poiché è necessario analizzare e interpretare la stringa di data e ora.
Ciò che invece dovresti fare è tradurre i tuoi dati nel formato di data ora standard xsd:dateTime
che tutte le implementazioni SPARQL devono supportare. Vedere la specifica XML Schema Part 2: Datatypes per i dettagli di questo formato.
tua specifica data di esempio potrebbe tradurre come segue:
2014-05-23T10:20:13+05:30
E si deve assicurare che si dichiara di essere un letterale tipizzato di tipo xsd:dateTime
quando lo si utilizza nei dati e query. Ad esempio, nel leggibile sintassi Turtle RDF:
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <http://example.org> .
:subject :date "2014-05-23T10:20:13+05:30"^^xsd:dateTime .
È quindi possibile scrivere una query SPARQL che filtra da intervallo di date in questo modo:
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org>
SELECT *
WHERE
{
?s :date ?date .
FILTER (?date > "2014-05-23T10:20:13+05:30"^^xsd:dateTime)
}
Questo trova tutti i record in cui ?date
è dopo la data indicata
e supponiamo di voler solo applicare l'intervallo nel filtro con la proprietà della stringa di tipi supponiamo che l'età sia memorizzata come stringa. poi? – cooljohny
I commenti sono per chiarimenti sulla domanda specifica, se hai una domanda a parte allora dovresti chiederla come tale. Leggi anche [Espressioni e valori di prova] (http://www.w3.org/TR/sparql11-query/#expressions) nella specifica SPARQL se non hai già – RobV
Quando scrivo la query sopra riportata, viene visualizzato un errore: Non risolto nome prefisso: xsd: dateTime e quando non lo si specifica nuovamente restituisce l'errore: Eccezione formato datatype: "2014-06-08T14: 26: 39 + 0530" ^^ xsd: dateTime. Cosa devo fare? – cooljohny