Outil de génération de code source depuis des Shapes

Salut,

Pour le projet Data Food Consortium, je suis à la recherche d’un outil de génération de code source depuis des Shapes, probablement exprimées en SHACL.

Est-ce vous avez des choses à conseiller ? Peut-être @thomas.francart ?

Pour l’instant j’utilise Acceleo (Eclipse) à partir d’un modèle UML et on aimerait tester de générer depuis SHACL. Il y a probablement moyen d’utiliser Acceleo + Shapes avec un méta-modèle SHACL mais je n’en ai pas encore trouvé.

Mais sinon il y a peut-être des outils dédiés à SHACL directement ?

Merci !

  1. Cognizone a un outil qui fait de la génération de formulaires, Hanami, mais qui est commercial seulement. Ils devraient faire une community edition dans les prochains mois, je crois
  2. Daniel Beeke danielbeeke (Daniel Beeke) · GitHub travaille aussi sur de la génération de formulaire en open-source, voir GitHub - danielbeeke/rdf-form: RDF form provides rendered forms via a form definition provided in RDF turtle format.
  3. Sur la génération de code-source, peut-être LinkML peut-il être une solution ? https://linkml.io/ c’est un meta-language de modélisation en YaML, qui permet de générer les Shapes, mais aussi les context JSON-LD et les JSON schema, et du Python, et du Java, etc… ça a l’air cool.
  4. Une autre approche est en fait de partir de l’UML comme single-point-of-truth, et de générer le code depuis UML, mais aussi les Shapes depuis l’UML.
1 « J'aime »

Merci Thomas pour ces infos !

On cherche effectivement à réduire nos sources de vérité. Aujourd’hui on a le OWL/RDF. L’UML doit être mis à jour à chaque mise à jour de l’ontologie ce qui est assez coûteux…

Tu conseillerais de générer le OWL/RDF aussi depuis l’UML ?

Tu conseillerais de générer le OWL/RDF aussi depuis l’UML ?

C’est ce qui est recommandé par le SEMIC Style Guide : Architectural clarifications :: SEMIC : l’UML génère à la fois le OWL et les Shapes (et peut-être le code aussi du coup)
Certains sont critiques par rapport à cette approche en disant qu’UML n’est pas aussi expressif que OWL, etc.

Parcours le SEMIC Style Guide, c’est une bonne source d’inspiration sur ces sujets.

2 « J'aime »