Le cadriciel Semantic_forms: vers le SI Sémantique
Intervenant⋅e⋅s
Résumé
Le cadriciel Semantic_forms: vers le SI Sémantique
Au départ, il y avait ce constat : il n'a pas de solution Open Source simple pour visualiser et éditer des données RDF en s'appuyant sur une base SPARQL, et sur les ontologies, de manière collaborative. On est parti d'un générateur de formulaire robuste, générique, et en temps réel. Puis on a élargi les fonctionnalités pour proposer un framework Web (cadriciel disent nos amis Quebécois) qui vise à être aussi simple et universel que Ruby on Rails, Django, Symphony, etc. On a aussi posé des jalons pour une console d'administration SPARQL ( à la PHPMyAdmin ). Au passage on élargira le propos sur le Système d'Information avec les avantages du Sémantique, et l'ERP (Progiciel de Gestion Intégrée) sémantique.
Cas d'utilisation
Semantic_forms est fonctionnel en sortant de la boîte, une fois qu'on a dézippé le logiciel, ou qu'on l'a construit à partir des sources. Pas besoin d'installer séparément une base de données ou d'autres composants. Vous pouvez naviguer dans vos données RDF (Turtle, JSON-LD) chargées dans la base locale Jena TDB aussi facilement que dans les profils FOAF sur Internet, ou mélanger les deux. Semantic_forms ressemble aux pages de DBPedia, où en plus on peut modifier tous les champs, et charger n'importe quelles données du LOD.
Si on n'est pas content du formulaire créé automatiquement, on peut écrire une spécifications de formulaire. On peut aussi composer des pages Web statiques qui appellent via JavaScript un ou plusieurs services Web de formulaires.
La technique
En ce qui concerne la mise en œuvre, semantic_forms tire parti de Jena TDB (en embarqué), de Play! Framework, du langage Scala et de la librairie Banana-RDF. Grâce à Banana-RDF, on peut peut configurer semantic_forms pour utiliser d'autres bases de données SPARQL, en embarqué (via API) comme BlazeGraph ou Sesame, ou n'importe quelle base via HTTP.
Les composants
librairie de génération de formulaires (API Java et Scala)
application Web générique avec Play! framework
cache SPARQL, utilise un graphe nommé par source de source de données, plus un par utilisateur
le cache, via LDP, peut être utilisé comme un composant d'infrastructure qui fédère des données de différentes provenances
divers algorithmes: dédoublonnage, restructuration d'ontologie
composant IHM de création de liens vers des URI dbPedia