[SPARQL] Comparer deux dates

Salut les geeks,

Ceux qui me connaissent imagineront bien que ce thread n’est pas une initiative personnelle ; c’est pour une amie qui, sous Sparql, aimerait comparer deux dates.

Par exemple FILTER ( ?dateA < ?dateB) tout en contrôlant que la différence entre les 2 dates soit de plus de 70 ans. Un truc du genre ?dateA - ?dateB > 70…

Si ça vous parle et que vous avez des pistes, gloire à vous ! :slight_smile:

Si besoin : un exemple de données sur lesquelles elle travaille, http://bibliographic…y/BB3478848.rdf

Ultra merci d’avance !

Je ne pense pas que ce soit réalisable avec une requête SPARQL classique.
Peut-être avec la notation SPIN (définir une fonction dateDifference).

Edit : à tester quand même en spécifiant le type xsd:date pour les deux variables.
Sinon y’a de la doc pour SPIN ici.

Une feuille xslt qui transforme ta requête sur des dates en requête sur des chaînes de caractère ? Rien qu’en le disant j’ai envie de gerber mais on sait jamais…

Edit :

En y repensant un peu moins crade, un xslt qui transforme les dates en des nombres de secondes depuis Epoch ?

Edit 2 :

Regarde du côté des fonctions sur les dates ici : http://www.w3schools…h_functions.asp

Edit 3 :

Quoi que vues les données du fichier RDF, même Epoch risque de faire trop jeune ! :stuck_out_tongue:

Edit 4 :

Du coup, une représentation YYYYMMDDHH24MISS qui est lexicalement triable.

(This was my last Edit… I will now let your thread free to run !)

ok en fait je fais ca avec python, qui ne supporte pas encore SPARQL 1.1 - et qui ne permet pas de définir de nouvelles fonctions SPARQL… j’en déduis que ce n’est pas possible ?