DATAtourisme

Ontologie et données

Avant de commencer je précise que je sais de quoi je parle si c’est au sujet de Javascript, Vue.js et compagnie mais pas quand j’aborde RDF. Ma source d’information principale reste Wikipédia (plus clair que le jargon universitaire fréquent avec RDF) et plus particulièrement pour ce suit suit la page Wikipédia RDF Schema — Wikipédia. Donc si je dis des bêtises …
A la base mon problème est l’exploitation des « catégories » attachées aux POI : Il y en a 499 (le système est limité à 500 ?) et il est impossible de les proposer pour sélection aux utilisateurs.
J’ai donc creusé le problème :

  • Dans la recherche ?s rdf:type ?o « ?o » identifie une classe, c’est dû à la définition de rdf:type. On pourrait s’attendre à ce que les prédicats rfds:label et rdfs:comment normalement associés aux classes soient renseignés mais ils ne le sont pas, ce qui rend la signification de ces classes incertaine. Quelle différence entre les classes :Organisation (classe Datatourisme) et foaf:Organization ?
  • Au contraire rdfs:label et rdfs:comment sont inclus et utilisés dans les définitions des POI alors que les POI ne sont pas des classes mais des ensembles indéfinis de propriétés diverses décrivant le POI.
  • La recherche parmi les classes serait facilitée - et en fait utilisable - si les triplets décrivant l’ontologie, si ils existent, étaient inclus dans l’export de la base. Il serait alors possible de rédiger des requêtes du genre
    ?s rdf:type / rdfs:subClassOf :EntertainmentAndEvent

Dans les faits j’ai recréé ma propre pseudo-ontologie de classes et sous-classes et je peux effectuer des recherches de ce type. Mais il ne faut pas oublier que les moteurs SPARQL ont (souvent) des capacités d’inférence basés sur les ontologies correctement structurées qui leur permettent des recherches performantes, ce que ma pseudo-ontologie ne permet évidemment pas.
Malgré tout ça fonctionne, et mon site (nad.blue) tourne correctement.
Mais un projet participatif créant en parallèle une seconde base Datatourisme, avec une ontologie simplifiée (franchement, 5 types de personnes à contacter ou le nombre de places assises, c’est utilisé ?), intégrée à la base et utilisable en SPARQL permettrait de dynamiser ces données. De même un point d’accès SPARQL accessible en interface graphique et API semble aussi indispensable que peu coûteux. Si il y en a que ça tente …

Bonjour @B_S
Vous trouverez l’ontologie au format RDF dans la documentation :

https://www.datatourisme.gouv.fr/ontology/core/#toc
Ces ressources vous seront surement très utiles.
Bien à vous

J’ai intégré la description ttl de l’ontologie et effectivement les requêtes utilisant subClassOf fonctionnent.
Il y a aussi les owl:equivalentClass que j’avais repéré dans certaines documentations et dont je comprends mieux maintenant le rôle (:Organisation owl:equivalentClass foaf:Organization).
Mais au final et pour un usage grand public mon ontologie avec 6 classes et une vingtaine de sous-classes convient mieux à mes besoins et mes requêtes avec cette ontologie simplissime se passent de l’inférence.
Un grand merci quand même pour cette information qui me permet de comprendre et jouer avec des notions qui étaient restées un peu floues jusque maintenant.

Bonjour,
Merci pour vos remarques, sachez que nous avons pris note de votre problématique et que nous allons étudier la piste consistant à proposer une version simplifiée, en complément de l’offre complète.
A suivre donc !