DATAtourisme

Événement lié à un poi?

Bonjour,

Je travail sur les fichiers jsonld.
J’ai pas réussi à trouvé, le lien entre l’événement et le(s) Poi ou il prend place, est ce que je peut trouver cette informations quelque part ?
Je m’attendais plus à quelque chose comme un événement ex: ‹ concert › qui est lié (takesPlaceAt) à différent Poi(id) avec leurs dates/horaires(pour chaque poi). Mais l’id dans takesPlaceAt ne fait référence à aucun lieu dans mon fichier.

Pour le jsonld si j’ai bien compris c’est sensé regroupé les données auxquels il font référence. Dans mon fichier, pour un événement, je vais avoir son adresse/position et pour les autres événement à la même adresse, je vais avoir l’id de cette adresse sans avoir les données. C’est normal ? Je n’ai pas l’adresse/position pour chaque événement ?

Bonjour Tristan,
Tout d’abord bienvenue sur ce forum !

Pour tes questions : tout d’abord il faut savoir qu’en effet le json-ld est un format json avec ld pour linked-data (donc il permet de relier des entités/objets) entre eux (si nécessaire).
Pour l’histoire de l’objet avec juste l’ID : de base c’est le principe ,tu n’auras que l’ID si ce n’est pas la 1ere itération de cet objet. Certaines bibliothèques remplissent cet objet, d’autres non. Donc tu as comme alternatives de soit stocker dans code et dans des variables ces objets (puis de l’apeler quand nécessaire) ou de re-parcourir (via un filtre) ton fichier *. Ce sont les deux approches que j’utilisent elles ont des avantages et des défauts, à toi d’utiliser ce que tu préfères selon tes besoins.

Enfin pour ta question. Sur un évènement (type « Event ») tu dois avoir une propriété « takesPlaceAt ». Es tu sûr que l’ID est le bon, as tu vérifié dans le fichier directement si cet ID n’est pas présent (ailleurs/ différemment)
As tu un exemple de document où tu rencontre ce problème ?

  • par exemple j’ai une variable où j’ai le type « PointOfInterest » une autre avec les « Agents »… si j’ai besoin de l’agent avec l’ID « X » je vais filtrer sur ma variable.

Merci pour ta réponse,

Enfaîte j’avais mal compris. Je pensais que le jsonld compacté c’était avec les liens et structuré ça rassemblé toute les données.
Dans mon système j’ai besoin de stocker la donnée complète de chaque POI. Donc il va falloir que soit je rassemble moi même soit je trouve quelque chose qu’il le fait pour moi. Ça va à contre sens du système de jsonld mais j’ai pas le choix.
J’ai vu dans un autre post que tu parles de pyld (je travail avec python). Je verrai si c’est possible avec ça.

Pour l’événement https://data.datatourisme.gouv.fr/30/046ba7c2-a925-3660-9fe9-feb4e7852510
J’ai cette donnée par exemple :

« takesPlaceAt »: {
« id »: « data:c51f79ef-fae8-3de7-9132-4938c69458e4 »,
« type »: « Period »,
« endDate »: {
« value »: « 2020-04-12 »,
« type »: « xsd:date »
},
« startDate »: {
« value »: « 2020-04-12 »,
« type »: « xsd:date »
},
« startTime »: {
« value »: « 15:00:00 »,
« type »: « xsd:time »
}
}

J’ai du enlever les « @ » aussi non je ne pouvais pas poster.

Edit: Pour pyld à l’air plus de servir à transformer d’un format à un autre.
La lib GitHub - RDFLib/rdflib-jsonld: JSON-LD parser and serializer plugins for RDFLib me parait plus complète.

Bonjour et bienvenue,

Comme toujours Simon a apporté une réponse pertinente. Les sous ressources sont bien toutes présentes dans les flux mais non répétées.

Pour completer votre échange il existe dans la spécification JsonLd une approche qui pourrais faciliter vos traitements :

  • Une option dans le JsonLdProcessor → embed, qui permet de répéter les sous-ressources avec la valeur @always. (la valeur par défaut est @once pour des raisons d’optimisation de volume)
    JSON-LD 1.1 Framing

Cordialement.