DATAtourisme

Exemple concret en php


#1

Bonjour,

Afin de nous aider à entrevoir une possibilité d’utilisation de la base Datatourisme pour le commun des mortels, serait-il possible que vous nous fournissiez un petit script php complet avec un jeu de données test, qui permettrait :
De lister un ensemble de POI avec un filtre (par exemple la ville)
=> affichage type liste des expos à Nantes.
Puis pour chaque event (POI) proposer un affichage détaillé de l’ensemble des caractéristiques du POI.
ça permettrait vraiment de comprendre la complexité ou non de la base dans le cadre d’une telle utilisation.

Un grand merci par avance.


#2

Bonjour,

La section démarrage rapide de la documentation de l’API détaille toutes les étapes pour mettre en place un script PHP qui utilise les données d’un flux sémantique téléchargé sur DATAtourisme.

N’hésitez pas à nous pointer les parties qui ne seraient pas suffisament claires.

Cordialement,


#3

Bonjour et merci pour votre retour.
L’exemple en question se contente en effet de faire un var_dump du résultat :

Ma question était d’avantage orientée sur l’exploitation de $result.

En effet à la lecture des différents posts du forum, il me semble que le projet Datatourisme soit parfaitement adapté pour le stockage des données, mais pas réellement exploitable pour leur utilisation du fait des innombrables exceptions à prendre en compte pour chaque attribut (noeud ?).

De fait je me demandais si en tant que concepteur du systeme, vous parveniez à exploiter la data en sortie, de façon satisfaisante.

Pour une utilisation “basique” à savoir lister les evenements et pouvoir afficher dans une app ou un site web, le détail des informations de chaque POI, quelle voie proposez vous ?

Un exemple de traitement pour afficher une liste de POI puis en afficher le nom, la date, les infos de contact, la position, l’image principale, lien vers le site web, etc, etc, serait idéal.

J’ai peur que celà soit tout simplement impossible à exploiter sans développer une véritable usine à gaz qui prendrait en compte chaque exception pour chaque champ, soit au final une infinité d’exceptions.

Merci pour votre éclairage.


#4

Bonjour,

A travers l’API vous récupérez un objet Json hiérarchique traditionnel. En Php cet objet Json est représenté sous forme d’un tableau associatif.

  • Si vous voulez effectuer un traitement particulier sur une propriété spécifique il faut tester son existence.
  • Si vous voulez travailler sur l’ensemble des propriétés d’une ressource (un étage de votre tableau), je vous invite à lister les clés du tableau pour ne prendre en compte que celles présentes.

Ces deux approches (traditionnelles) permettent d’exploiter des données sans avoir la certitude de la présence de propriété.

Qu’entendez vous par ?

J’ai peur que celà soit tout simplement impossible à exploiter sans développer une véritable usine à gaz qui prendrait en compte chaque exception pour chaque champ, soit au final une infinité d’exceptions.

Si votre question porte plus sur comment rédiger des requêtes en GraphQL, je vous invite à lire la documentation de l’API -> https://datatourisme.frama.io/api/#/api/fields?id=généralités
Ou l’une des nombreuses documentions sur le langage GraphQL.

Vous pouvez faire une requête qui liste les POI avec celle que vous citez : {poi {results {rdf_title}}}
En lui ajoutant dans la partie results la propriété _uri ( {poi {results {rdf_title _uri}}} vous pourrez ensuite y faire référence pour la requête qui cherche le contenu d’un POI en particulier ->
https://datatourisme.frama.io/api/#/api/arguments?id=uri

La partie pagination est aussi présente dans la doc ici -> https://datatourisme.frama.io/api/#/api/arguments?id=size-from

Nous utilisons sur la plateforme des requêtes GraphQL, et affichons les résultats avec du Twig, ou du Js.

Cordialement.