De la temporalité des ontologies

Cela fait un petit moment que je voulais ajouter des éléments temporels dans une ontologie. Après avoir tourné le problème dans tous les sens et fait quelques recherches, voici quelques éléments dégagés par Nick Drummond .


Ajouter du temps dans une modélisation, c’est introduire un ordre, une séquence, dans l’enchaînement de certains termes de l’ontologie. Protégé, dans sa manipulation du format OWL, utilise les « Sequences ».
Bien sûr, la notion de séquence n’est pas exclusivement utilisable pour des problèmes temporels. On peut l’utiliser pour représenter un lien logique entre des phénomènes ou des noumènes (concepts). Les formats RDF et OWL parlent eux de listes (List).
Les listes RDF et OWL utilisent le même schéma :
oil.jpg

Les listes en RDF
Pour l’écriture RDF cela donne :
rdf:first, pour l’élément en début de liste
rdf:rest, qui indique que la liste contient d’autre éléments (comme un panneau « à suivre… »)
rdf:nil, qui joue le rôle de voiture balai en indiquant qu’il n’y a plus d’éléments dans la liste.

L’écriture de la liste fermée A,B, C donnerait donc :

rdf:list ( rdf:first A
rdf:rest rdf:list ( rdf:first B
rdf:rest rdf:list ( rdf:first C
rdf:rest rdf:nil)))

Mais il n’existe pas en natif de support pour ce type de liste dans OWL. On peut certes les implémenter dans RDF mais il ne seront pas pris en compte on niveau supérieur, dans OWL. En clair, on ne pourra pas effectuer d’inférences logiques, de raisonnements, sur les informations ajoutées dans les listes.

Les listes en OWL
On utilise la classe List (ou EmptyList), et les propriétés d’objet hasContent (fonctionnel), hasNext (fonctionnel), et hasRest (transitif).
Notre liste close A, B, C devient en OWL :

hasContents some A and
hasNext some ( List and
hasContent some B and
hasNext some ( List and
hasContents some C and
hasNext some EmptyList))

Les propriétés hasRest n’ont pas besoin d’être spécifiées car elles peuvent être inférées :

hasrRest some (List and hasContents some C)

Les avantages des listes en OWL :

  • Le moteur d’inférence peut les utiliser.
  • De plus grandes possibilités de définitions et d’expressions, parmi lesquelles :
    • Commence par, et fini par.
    • Contient, ne contient pas.
    • Contient exactement.
    • Des expressions régulières.
    • Des restrictions ou des généralisations.
    • Des longueurs de listes (en utilisant la cardinalité)

    Les inconvénients des listes OWL :

    • ça consomme pas mal de CPU
    • çà utilise beaucoup de la mémoire
    • j’aimerais pas être celui qui va maintenir des listes sans outil appropriés.

    Dieu merci, mes maîtres d’école ne connaissaient pas OWL, et n’ont donc pas pu me dire « vous m’écrirez pour demain une liste OWL de 100 éléments « :

    meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:A) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:V) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:F) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:D) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:A) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:T) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:N) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:S) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:T) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:R) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:K) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:R) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:R) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:K) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:Q) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:P) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:M) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:F) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:L) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:S) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:W) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:S) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:N) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:D) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:H) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:L) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:I) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:P) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:D) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:Y) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:N) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:S) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:P) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:H) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:V) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:A) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:A) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:D) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:F) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:I) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:R) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:T) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:Y) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:L) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:S) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:R) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:I) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:V) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:F) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:Y) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:V) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:M) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:N) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:I) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:R) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:P) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:K) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:P) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:K) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:Y) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:I) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:W) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:L) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:S) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:R) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:H) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:G) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:S) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:I) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:Y) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:N) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:V) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:K) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:K) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:I) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:G) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:G) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:D) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:S) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:S) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:L) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:A) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:G) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:V) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:C) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:D) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:G) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:M) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:T) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:Y) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:I) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:K) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:E) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:Y) and (meta:hasNext some (SequenceOfAminoAcids and (meta:hasContents some amino:P) and (meta:hasNext some meta:EmptyList)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.