DATAtourisme

Comment l'api faire la recherche des donnees?


#1

Bonjour

je veux savoir si la “api” utilise une similarité sémantique lors de leurs recherches?

merci


#2

Bonjour,

L’api permet de faire une recherche par filtre sur des propriétés/types de ressources, ou une recherche de texte libre (“full text search”).

L’ontologie de DATAtourisme contient des classes hiérarchiques et des éléments de thésaurus transverses. Le format de donnée Linked Open Data dans un tripleStore (Blazegraph par exemple) est particulièrement adapté pour définir des similarités sémantiques. Il “suffit” d’aligner l’ontologie qui vous intéresse avec celle de DATAtourisme puis d’activer l’inférence (Ontologique ou par requête).

Exemple d’inférence par requête : Si vous voulez aligner schema:PublicSwimmingPool avec la classe de POI de DATAtourisme dt:SwimmingPool, vous pouvez exécuter la requête SPARQL suivante :

    insert {
      ?poi a dt:SwimmingPool.      
    }
    where {
      ?poi a schema:PublicSwimmingPool.
    }

Vous pouvez ensuite interroger votre base de donnée en demandant toutes les dt:SwimmingPool et vous récupérerez automatiquement les schema:PublicSwimmingPool avec.

Cordialement.


#3

merci , mais Je voudrais savoir la méthode de recherche utilisée par l’API DATAtourisme pour répondre à des requêtes de filtrage “FILTER”?".


#4

Bonjour,

L’API traduit vos requêtes GraphQL en requête SPARQL.
Dans la réponse de l’API à la requête exécutée vous trouverez (en plus des résultats) la requête SPARQL qui a été utilisée.

Cette requête se trouve dans l’entrée query de la réponse. Pour plus d’information voici la documentation -> https://datatourisme.frama.io/api/#/api/fields

Les filtres sur les propriétés sont principalement traduis en triplets dans la clause where de la requête SPARQL.

Exemple :
Un filtre qui sélectionne uniquement les événements se déroulant le dimanche produira dans la clause where de la requête SPARQL les triplets suivants :

?poi dt:takesPlaceAt ?5cdbfdb8e07d9. ## se déroule sur la période ?5cdbfdb8e07d9
?5cdbfdb8e07d9 dt:appliesOnDay ?5cdbfdb8e08dc. ## la période s'applique sur le jour ?5cdbfdb8e08dc
VALUES ?5cdbfdb8e08dc { schema:Sunday } ## le jour ?5cdbfdb8e08dc à la valeur dimanche

Cordialement.