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 !
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 !
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 ?