Monde ferme vs owl
Reflexion en cours.
Distinction technique que je ne dois pas rater. OWL travaille en open-world assumption : l’absence d’une info ne veut pas dire qu’elle est fausse, juste qu’elle est inconnue. Donc OWL n’est pas un langage de validation de données complètes.
Or mon test raisonne en monde fermé :
expected = [A1, A2]
observed = []
→ incorrect
Il ne peut pas se dire « peut-être que les projets sont juste inconnus ». Il faut donc séparer deux choses :
- ontologie descriptive : définit les concepts et les inférences possibles (open-world) ;
- IR de preuve fermée : définit exactement les données attendues dans ce scénario (closed-world).
Dans la pile que j’imagine, chaque couche a son rôle : OWL ou modèle interne pour le sens et les inférences ; SHACL (ou un schéma typé, dans l’esprit de cue) pour la conformité des instances contre des « shapes » ; opa/Rego pour la complétude des obligations ; alloy-contre-modeles pour générer des mondes et chercher des contre-exemples ; l’IR fermée pour le calcul exact des résultats attendus.
À creuser : est-ce que SHACL apporte vraiment quelque chose par-dessus une validation de schéma type cue, ou c’est redondant dans mon cas ? Liés : cue, policies-semantiques, alloy-contre-modeles, compiler-intention-en-preuve
Évoqué dans