*Elodie Thiéblin, développeuse chez Logilab et spécialiste du Web sémantique* Du 3 au 6 novembre, j'ai participé à la conférence [ISWC (International Semantic Web Conference)](https://iswc2020.semanticweb.org/), qui est une des références internationales dans le domaine du Web Sémanti... |
Elodie Thiéblin, développeuse chez Logilab et spécialiste du Web sémantique
Du 3 au 6 novembre, j'ai participé à la conférence ISWC (International Semantic Web Conference), qui est une des références internationales dans le domaine du Web Sémantique. On y parle des problématiques du web de données liées et de réprésentation des connaissances. Je partage ici mes notes sur les sujets qui m'ont le plus marquée.
Débriefing général de la conférence
Cette année, il y a eu de nombreux articles consacrés à SHACL (Shape Constraint Language).
L'idée de remettre l'utilisateur des données et technologies du Web sémantique au centre des innovations à venir a été répétée à plusieurs reprises.
L'intervention de Miriam Fernandez sur la diversité des données était enrichissante. Elle invite les producteurs de données à se poser la question du biais de leurs données et de la représentation du monde qu'elles renferment.
Des données biaisées peuvent provoquer de désastreux effets sociaux.
Elle cite notamment cet article qui présente les résultats d'une étude comparant les blessures des femmes et des hommes avec une ceinture de sécurité lors d'accidents de la route entre 1998 et 2008. La différence de 47% entre les deux sexes serait imputable aux mannequins de test de l'industrie automobile dimensionnés sur des hommes.
Résumé de présentations
Deux papiers ont retenu mon attention pour faciliter l'utilisation des technologies du Web sémantique par les développeuses et les développeurs Web.
ON2TS: Typescript generation from OWL ontologies and SHACL
ON2TS est un prototype permettant de générer des classes et interfaces TypeScript à partir d'ontologies OWL et de règles en SHACL. Les développeurs peuvent donc utiliser directement les classes et interfaces générées pour valider la structure et la forme de leurs données lors de l'exécution.
Ce prototype utilise la bibliothèque @ldflex/comunica
, le moteur de requêtes
pour langage LDflex, qui est décrit ci-dessous.
Pour plus de détails, lisez l'article.
LDflex: a Read/Write Linked Data Abstraction for Front-End Web Developers
LDflex est un langage dédié qui fait apparaîtr les données liées du Web comme des structures de données en JavaScript. La vidéo de la présentation est en ligne et il est possible d'expérimentation dans un bac à sable.
Selon Ruben Verborgh, une des grandes différences entre les applications Web et le Web sémantique est la "prédicabilité" : la structure et l'emplacement des données sont prédéfinis dans une application Web (souvent choisie par les développeurs de ladite application), tandis que dans le cas du Web sémantique, les ontologies sont hétérogènes et les données sont distribuées.
Le but de LDflex est de simplifier la gestion des différents formats et modes d'interrogation des serveurs de Web de données liées: des données en RDF peuvent être récupérées depuis le Web puis interrogées localement en SPARQL.
Avec LDflex il est possible de manipuler une structure de données locale, qui
est mise en correspondance avec les données RDF d'origine au moyen d'un contexte.
Par exemple, le contexte suivant permet d'écrire user.friends
pour
récupérer les individus ayant un lien foaf:knows
vers user.
"@context": {
"@vocab": "http://xmlns.com/foaf/0.1/",
"friends": "knows",
"label": "http://www.w3.org/2000/01/rdf-schema#label",
}
Si le modèle évolue, il peut suffire de modifier le contexte pour adapter l'application, ce qui en simplifie la maintenance.
LDflex semble donc à première vue une bonne alternative à rdflib.js. Comme cette dernière, elle dépend toutefois des bibliothèques d'authentification Solid qui prennent une taille non négligeable (~500ko) dans le bundle final.
La bibliothèque ldflex
inclut le langage LDflex et doit être accompagnée de
@ldflex/comunica
, son moteur de requêtes sur le Web.
Un rapide test sur logilab.fr (avec l'extension CORS Everywhere activée) a suffit à montrer qu'on peut utiliser LDflex pour interroger les instances de Cubicweb en version 3.28
Autres tests et remarques : - Test sur http://dbpedia.org/resource/Paris → Mixed Blocked depuis le bac à sable en HTTPS - Test sur https://aims.fao.org/aos/agrovoc/c_30969 → 301 Moved Temporarily mais pas de requête sur l'URL cible (en HTTP) - Test sur https://www.wikidata.org/entity/Q535 → redirection à travers les différentes URL pour obtenir le RDF est gérée et fonctionne → requêtage en SPARQL ne fonctionne pas car l'entité est décrite en HTTP et non HTTPS dans le RDF
Il sera intéressant de suivre l'évolution de ce projet pour répondre aux questions suivantes:
- Comment gérer plusieurs contextes simultanément (récupérer
foaf:name
etschema:name
à la fois par exemple) ? - Comment contourner le problème des requêtes Mixed Blocked en gardant les données distribuées sur le Web ?
Conclusion
Cette expérience a été très enrichissante, comme chaque année. Je suis contente qu'il y ait de plus en plus d'initiatives pour rendre le Web sémantique agréable et accessible aux développeuses et aux développeurs Web. Cela va peut-être encourager la valorisation des entrepôts de données liées dans des applications en production.
Un des sujets resté sans réponse est la gestion des configurations des serveurs sur le Web de données liées pour notamment la gestion des erreurs CORS, Mixed Blocked, etc.
Rendez-vous l'année prochaine pour vérifier ces hypothèses.