Bonjour 
Dans une requête SparQL je souhaite effectuer un filtre sur les POI pour ne récupérer que ceux modifiés récemment, avec l’attribut lastUpdateDatatourisme. Voici un example de requête reproduisant le problème :
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX core: <https://www.datatourisme.fr/ontology/core#>
CONSTRUCT {
?pointOfInterest rdf:type <urn:resource>.
} WHERE {
?pointOfInterest core:lastUpdateDatatourisme ?lastUpdateDateTime.
FILTER(?lastUpdateDateTime >= xsd:dateTime(NOW() - "P30D"^^xsd:dayTimeDuration))
}
Celui-ci est censé filtrer les POI en ne gardant que ceux dont la dernière mise à jour date de moins de 30 jours, mais je n’ai aucun résultat en retour (avec le boutton « Prévisualisation des résultat » de l’éditeur de flux). La requête fonctionne lorsqu’on remplace l’expression par une date fixe, de la façon suivante :
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX core: <https://www.datatourisme.fr/ontology/core#>
CONSTRUCT {
?pointOfInterest rdf:type <urn:resource>.
} WHERE {
?pointOfInterest core:lastUpdateDatatourisme ?lastUpdateDateTime.
FILTER(?lastUpdateDateTime >= "2024-04-15T00:00:00.000"^^xsd:dateTime)
}
Existe-t-il un moyen pour construire une date en fonction de now(), et de comparer cette date à un attribut d’un POI ?
Cordialement,
