mes ancêtres,  outils

Généalogie et graphes – II

Voilà le second article de la série, qui présente plus en détail la méthode de travail que j’ai utilisée et le résultat obtenu. (Lien vers la première partie).Toutes les données que je souhaitais représenter étaient au préalable enregistrées sur mon PC, dans une généalogie réalisée avec généatique. Pour obtenir les tables des nœuds individus et unions, j’ai donc fait un export depuis généatique des données correspondant à toute l’ascendance de mon père, afin d’obtenir les informations relatives à tous les sosas. J’ai ensuite ouvert cet export dans un tableur pour le “bricoler” = ne garder que les colonnes et les informations nécessaires à Gephi.

J’ai choisi la règle suivante pour coder les identifiants des nœuds individus et unions :

  • identifiant d’un nœud individu : le n° sosa de l’individu
  • identifiant d’un nœud union = association des n° sosas des deux conjoints, précédée de 99 pour le différencier facilement des identifiants des individus.

J’obtiens ainsi, pour l’union des sosas n et n+1, l’identifiant “99(n)(n+1)” et pour l’union des parents du sosa n, l’identifiant “99(2n)(2n +1)”. Le plus petit nom de mariage est donc “9923” (le mariage de mes grands-parents).

  • Le label (information affichée sur le graphe) d’un nœud individu est le nom de la personne et son année de naissance, lorsqu’elle est connue.
  • Le label d’un nœud union est l’année de célébration de l’union, lorsqu’elle est connue.

Deux remarques :

– Pour l’import dans Gephi, les tables de nœuds et de liens doivent être enregistrés en format “csv”, car Gephi ne sait pas traiter directement un fichier gedcom. J’aurais pourtant aimé utiliser une procédure plus automatique, puisque toutes les informations (individus, unions, liens) sont déjà codées dans le gedcom. Mais ce premier essai trop manuel à mon goût m’a également permis de “mettre les mains dans le cambouis” et de vraiment décider de ce que je voulais afficher sur le graphe. Après coup, j’ai pourtant réalisé que j’aurais pu essayer de traiter le gedcom des sosas de mon père avec VisuGed (www.visuged.org), via la fonction “exportation vers Nimègue”. Ce logiciel permet en effet de convertir une généalogie (fichier gedcom) pour en faire un fichier csv, destiné à l’origine à un import dans Nimègue mais qui doit pouvoir avoir d’autres utilisations. Je me serais peut-être épargné l’étape de nommage des unions. Il faudra que je teste cette piste lors d’un prochain essai de graphe.

– Il semble que le freeware yEd-Graph Editor (www.yworks.com/en/products_yed_about.html), autre outil de gestion de graphes, soit capable de “digérer” directement un fichier gedcom. Je ne suis pourtant pas parvenue à y importer un gedcom issu de généatique (un message me dit qu’il ne s’agit pas d’un fichier de format gedcom !?). Je n’ai donc pas testé plus loin et ne sais pas quel rendu on peut obtenir à partir d’une généalogie. Là encore, la piste mériterait d’être explorée.

Les tables

Extrait des tables importées dans Gephi. Table des nœuds :

noeuds

Table des liens :

links

Après l’import des deux tables, le graphe ressemble à un “carré rempli de traits et de points gris”. C’est à partir de là qu’il faut jouer avec les filtres, pour masquer une partie du réseau ou modifier son apparence (taille ou couleur des nœuds et des liens par exemple), et avec les algorithmes pour modifier la répartition des nœuds dans l’espace (spatialisation). Je ne vais pas faire ici un cours d’algorithmique, ce dont je suis de toutes façons incapable. Je me suis contentée de jouer avec les divers algorithmes proposés, jusqu’à ce que le résultat me semble lisible et esthétique.

Travailler la présentation

Pour la présentation, j’ai choisi un partitionnement des nœuds individus sur la base du patronyme, afin que chaque “famille” soit représentée par une couleur différente. La taille des nœuds est proportionnelle au nombre de liens, ceux représentant une union liée à plus de trois individus ont été magnifiés par les algorithmes. Je les ai ensuite agrandis encore un peu manuellement pour qu’ils ressortent mieux. Ces unions particulières correspondent aux implexes.

Le graphe résultat est visible ci-dessous, ou en pleine page en suivant ce lien (ouverture dans une nouvelle fenêtre). Je l’ai exporté pour le web grâce au plugin Seadragon Web Export ajouté dans Gephi. Il est possible de zoomer, avec la molette de la souris ou les boutons apparaissant en bas à droite au survol de l’image, et de se déplacer dans l’image avec des “cliquer-glisser”, à l’identique de ce qui se fait avec les cartes de google map.


Conventions graphiques :
– Les implexes sont illustrés par les nœuds unions rouges vifs.
– La souche de l’arbre (mon père) est le nœud individu orange positionné au centre du graphe
– L’individu représenté par un nœud bleu roi plus grand que les autres est un sosa particulier : Nadal Bonato (sosa n°394 et n°414) est le père de trois autres sosas, issus de deux mariages : l’un en 1689 avec Catarina Basso (sosa n°395), dont est issue Maria Bonato (sosa n°197), l’autre en 1707 avec Agnola Fantin (sosa n°415), dont sont issues Maria Bonato (sosa n°241) et Antonia Bonato (sosa n°207)

Les enseignements que je retire de cet essai

Cette présentation me permet d’avoir une vision globale des ancêtres de mon père, ce qui est difficile avec les vues habituelles proposées par les logiciels de généalogie. Une présentation en éventail le permet certes, mais elle ne met pas clairement en évidence les implexes.

Les implexes sont ici très visibles. Je savais qu’il y en avait dans cette généalogie, mais je n’avais jamais vu aussi clairement qu’ils étaient au nombre de huit ! Je peux en outre facilement suivre les boucles qui relient les ancêtres de ma grand-mère à ceux de mon grand-père.

Je mesure également l’ampleur du travail restant, puisque que tous les individus de “bouts de chaine” sont ceux dont je ne connais pas les parents.

Après ayant commencé à apprivoiser Gephi, j’envisage de l’utiliser dans d’autres applications généalogiques. Je me suis lancée depuis deux ans dans le dépouillement des actes de toute la paroisse de mes ancêtres, pour construire un arbre global, et j’aimerais par exemple observer le réseau des liens qui se sont établis au cours des siècles entre les différentes familles, via les mariages (un embryon d’essai dans cette page).

En savoir plus sur Gephi :

– Guide d’utilisation et tutoriels Gephi (en anglais)

– Tutoriel pour l’utilisation de Gephi, par l’université d’Angers

– Vidéo de présentation de Gephi

10 commentaires

  • J.Louis Valory

    yEd-Graph Editor accepte effectivement l’importation d’un gedcom à l’état brut. Pour épurer un fichier Ged et générer le graphe d’une branche, je suis tout simplement parti de mon programme de généalogie habituel Ancestris (version 0.7 ou 0.8), application open source qui respecte la grammaire gedcom.
    Une fois Ancestris ouvert, vous avez les vues suivantes :
    L’explorateur Gedcom permet de choisir le fichier gedcom sur lequel vous voulez travailler.
    La fenêtre Table des entités ou vue Table des données est un filtre pour lister et naviguer dans les entités existantes du fichier généalogique.
    La vue éditeur gedcom intervient directement sur la grammaire gedcom.
    Et enfin, la vue qui concerne notre sujet : l’arbre dynamique.
    Mode opératoire :
    1- A partir de cette vue sélectionner l’individu ou famille racine qui vous intéresse en vérifiant que les branches soient dépliées.
    2- Faire un enregistrer sous et sélectionner les options du filtre.
    3- C’est terminé. Le fichier Ged est prêt a être importer dans yEd.
    La méthode ne peut pas être plus simple.
    Pour ma part, je bute avec Gephi. UN exemple d’import sous tableur serait le bienvenu.

    • venarbol

      Pour exporter le gedcom j’ai suivi une méthode similaire à la vôtre, mais depuis Généatique 2013. C’est ce fichier que yEd Graph Editor n’a pas accepté. J’en conclus que Généatique et yEd Graph Editor n’ont pas exactement la même notion de ce que doit être un fichier gedcom valide. Qu’entendez-vous par “un exemple d’import sous tableur” ? Les fichiers “tableur” sont identiques aux extraits présentés dans l’article.

  • J.Louis Valory

    Le fichier export généré par Ancestris est au format .ged, fichier filtré par entité suivant la grammaire GEDCOM : IND (individu) et FAM (famille). J’en conclue que yEd traduit ce format. Avec Gephi, je ne sais pas comment organiser la table des noeuds et liens. Quels sont les entêtes du fichier export?

    • venarbol

      Le gedcom issu de généatique est aussi un .ged avec IND et FAM, mais visiblement ça ne suffit pas à yED. Les entêtes pour les tables Gephi sont celles qui figurent dans les images données en exemples. Au minimum pour les nœuds : colonne “Nodes” avec le nom, colonne Id avec le n°(Id) du nœud. Au minimum pour les liens : colonne “Source” avec l’Id du nœud source, colonne “destination” avec l’Id du nœud cible, colonne “Type” avec le type de lien : orienté ou non orienté.

  • Orendi

    Merci pour vos 2 articles ils m’ont donner l’envie de me lancer.
    J’ai tiré un gedcom.mdb de My heritage.
    VisuGed l’ouvre très bien, comment l’introduire dans Gephi ? en CSV je présume ; je n’arrive pas à trouver l’engin pour. D’abord le passer en Excel ?
    Je patauge, merci pour votre aide.

    • venarbol

      J’ai évoqué cette possibilité d’utiliser VisuGed mais ne l’ai pas testée. Il doit exister dans VisuGed une fonction d’export en csv destinée à l’origine à réaliser un fichier utilisable dans Nimègue :”exportation vers nimègue”

  • Fatiha

    Bonjour,
    Merci pour l’article mais j’ai un problème avec Gephi, je n’arrive pas à importer un fichier des liens avec des poids. Comment faire, aidez moi s’il vous plaît.

    • venarbol

      Vous pouvez trouver sur internet des tutoriels qui expliquent comment utiliser Gephi. J’en ai ajouté quelques-uns à la fin de l’article.

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.