Bonjour,
Dans le cadre d’un projet que je présente ici sur le même forum, je tente de modéliser des liens entre personnages et des chronologies relatives.
Je dispose de plusieurs récits légendaires ou mythologiques pouvant relater différemment les mêmes évènements. Selon le récit, un même épisode peut faire intervenir des personnages ayant des liens généalogiques différents et les épisodes peuvent se succéder différemment.
Je suis parti sur des associations réflexives.
1- Modéliser des chronologies
Je pensais pouvoir bâtir des chronologies relatives, et les comparer avec ceci :
R C 01 Selon un récit, un épisode peut précéder plusieurs épisodes,
R C 02 Selon un récit, un épisode peut être précédé de plusieurs épisodes
Pas de souci pour modéliser la chronologie des épisodes d’un récit, elle est connue.
Mais je sèche sur la comparaison des chronologies de deux récits différents et la construction d’une nouvelle chronologie relative issue des chronologies de ces deux récits.
Dit autrement, est-ce qu’on peut modéliser au niveau MCD le raisonnement qui suit ?
Épisodes du récit Énéide |
Épisodes du récit Odyssée |
1. Les Grecs prennent Troie à l’aide de la ruse du Cheval de Troie
2. Énée prend la mer
3. Énée aborde en Sicile et rencontre un ancien compagnon d’Ulysse
4. La descendance d’Énée fonde Rome |
1. Les Grecs prennent Troie à l’aide de la ruse du Cheval de Troie
2. Ulysse prend la mer
3. Ulysse aborde en Sicile et aveugle le cyclope |
à partir de ces deux chronologies, j'aimerai
– pouvoir déduire la chronologie suivante en croisant les récits d’Homère et de Virgile
1. Chute de Troie (un même épisode dans deux récits différents, Odyssée & Énéide)
2. Ulysse aveugle le cyclope en Sicile (Odyssée)
3. Énée rencontre un Grec laissé par Ulysse en Sicile (Énéide) (forcément après le passage d’Ulysse dans l’Odyssée)
4. Fondation de Rome (Énéide)
– et si possible, pointer l’incohérence (hypothétique ici) entre l’Odyssée et l’Énéide si, dans l’Énéide, Virgile avait écrit qu’Énée avait été vu par le cyclope, alors qu’Ulysse est censé l’avoir aveuglé avant, puisqu’il était déjà passé au même endroit auparavant.
2- Liens entre personnages
J'ai 4 types de lien entre les personnages auxquels j'ai attribué ces règles de gestions :
Généalogie :
R G 01 selon un récit, un parent peut engendrer plusieurs enfants
R G 02 selon un récit, un enfant peut être engendré par plusieurs parents
Hiérarchie :
R H 01 selon un récit, un chef peut diriger plusieurs subordonnés
R H 02 selon un récit, un subordonné peut être dirigé par au plus un chef
Dynastie :
R D 01 selon un récit, un prédécesseur peut être succédé d’au plus un successeur
R D 02 selon un récit, un successeur peut succéder à au plus un prédécesseur.
Parrainage :
R P 01 selon un récit, un maître peut parrainer plusieurs disciples
R P 02 selon un récit, un disciple peut être parrainé par plusieurs maîtres
En rassemblant les morceaux, j’ai envisagé ces deux options.
L’option 2 me paraît plus simple, reste le problème des cardinalités, qui dépendent de Typelien. Qu’en pensez-vous ?
Par ailleurs, comme le but est de pouvoir créer une arborescence de chacun de ces types de liens, je me demande comment prendre en compte les contraintes qui suivent. (Mais peut-être cela doit-il être fait au niveau SQL?)
- Pour l’arbre généalogique j’aimerais pouvoir atteindre au moins 4 générations (par exemple, trouver les arrière-petit-enfants du titan Cronos).
- Pour la hiérarchie, un subordonné n’a qu’un chef direct. Mais si un centurion est le chef d’un décurion, un centurion est aussi le chef d’un légionnaire.
- Idem pour le lien de succession dynastique : Caligula précède Claude qui précède Néron. Caligula précède aussi Néron.
- En revanche, le lien de parrainage peut n’être valable que pour un seul niveau : Aristote est disciple de Platon, Platon est disciple de Socrate, ce qui n’entraîne pas qu’Aristote soit un disciple de Socrate.
Merci pour vos conseils
Partager