Tools - Outils

From KarstLink
Revision as of 03:10, 22 May 2020 by EricMadelaine (talk | contribs) (formatting fix)
Tools (en) Outils (fr)
Please mention hereunder any resources that you find useful for understanding the semantic web, building an ontology, creating a database, etc. Indiquez ici les ressources que vous trouvez utile pour comprendre le web séamantique, construire une ontologie, créer une base de donnée, etc.


Theme Language Presentation (en) Présentation (fr)
Ontology French A course explaining how to create a ontology with Protégé un cours expliquant comment créer une ontologie avec Protégé
Ontology English A tutorial explaining Protégé un tutoriel pour Protégé
Semantic Web French A course presenting the semantic web in great detail with examples and exercises un cours de l'Inria présentant le web sémantique de manière très détaillée avec des exemples et des exercices
Semantic Web English the book of Manning is practical to start with the semantic web Le livre de Manning est une bonne façon de commencer à s'intéresser au web sémantique
Semantic Web English (Transcript in 28 languages) A very clear video from Tim Barners Lee Une vidéo très claire de Tim Barners Lee
Software English, French, German Skos Play is a tool that we will perhaps use to develop our controlled vocabularies Skos Play est un outils que nous allons, peut-être, utiliser pour élaborer nos vocabulaires contrôlés
"Linking with non-RDF databases" "Connexions avec des bases non RDF"
Here is a list of resources to articles and tools helping to implement links with other databases.

KarstLink is about linking databases together, whatever structure/language/APIs they have. The connection (ontologies, requests language) is using the web semantics formalisms and tools, but we do not want the authors of the databases to rebuild them entirely, only to adapt their interfaces, or even to export them in some linkable format.

lists a lot of approaches intended for various bases/formats. Not necessarily up to date, but there are already many!

  • For relational databases there are historically many existing tools, and a W3C recommendation: R2RML (RDB-> RDF mapping language). You can find a state of the art here: https://hal.archives-ouvertes.fr/hal-01066663v5. It is a bit dated but many things are still valid.
  • For other types of databases, there is an extension of R2RML, called xR2RML, which supports any type of database, and there exists an implementation for MongoDB.
  • RML is a bit of a competitor to R2RML, but with a very active community of developers and users (much larger and more active than xR2RML).
  • Web API side (REST type, returning from JSON) we will find a tool from the semantic web team at Inria: SPARQL micro-services: https://github.com/frmichel/sparql-micro-service. It is rather intended to dynamically request a Web API in SPARQL. If the data is not too big, it can also be used to transform all the content of the API into RDF in one-shot mode.
Voici une liste de ressources pour des articles et des outils aidant à implémenter des liens avec d'autres bases de données.

KarstLink veut échanger les données entre les bases, quelle que soit la structure / le langage / les API qu'elles possèdent. La connexion (ontologies, langage de requêtes) utilisera les formalismes et les outils du Web sémantique, mais nous ne voulons pas que les auteurs des bases de données les reconstruisent entièrement, mais adapte seulement leurs interfaces, ou même les exporte dans un format pouvant être utilisé comme source de données au format RDF..

recense des tas d'approches destinées à des bases/formats variés. Pas forcément à jour, mais il y en a deja beaucoup!

  • Pour les bases relationnelles il y a historiquement pleins de choses, et une recommandation W3C : R2RML (langage de mapping RDB->RDF). On peut trouver un état de l'art ici : https://hal.archives-ouvertes.fr/hal-01066663v5. Ca date un peu mais pleins de choses sont encore valides.
  • Pour d'autre types de bases, il y a une extension de R2RML, appelée xR2RML, qui supporte tout type de base de données, et il existe une implémentation pour MongoDB.
  • RML est un travail un peu concurrent a R2RML, mais avec une communauté très active de développeurs et d'utilisateurs (beaucoup grosse et active plus que xR2RML).
  • Côté API Web (type REST, retournant du JSON) on trouvera un outil de l'équipe web sémantique à l'Inria : les SPARQL micro-services: https://github.com/frmichel/sparql-micro-service. C'est plutôt destiné à requêter dynamiquement une API Web en SPARQL. Si les données ne sont pas trop grosses, ça peut aussi s'utiliser pour transformer tout le contenu de l'API en RDF en mode one-shot.