GraphMLWriter

Description

GraphMLWriter permet de générer un jeu de données de type graphe dans le format GraphML.

GraphML est un format XML dedié à la représentation des structures de données de type graphe.
La documentation de référence est disponible sur http://graphml.graphdrawing.org/index.html

Le format GraphML permet de stocker les attributs propres à chaque noeud et arête mais ne conserve pas la géométrie des entités.

Tous les attributs (attributs de format et attributs utilisateurs) des entités entrant dans le transformer sont écrits dans le document GraphML. Pour limiter le volume des documents produits et les temps de traitement, il est conseillé d'utiliser AttributKeeper en amont de GraphMLWriter pour définir les attribut à conserver.

Le transformer GraphMLWriter permet de produire les éléments graph, node, edge et key d'un document GraphML. Les autres caractéristiques du format (port, hyperedge, endpoint, locator...) ne sont pas supportées.

Le graphe est considéré comme orienté ou non orienté dans son ensemble, le mélange d'arêtes orientées et non orientées n'est pas possible.

Les fonctionnalités de GraphMLWriter peuvent s'enrichir en fonction des besoins des utilisateurs, n'hésitez pas à contacter support@veremes.com pour faire part de vos cas d'utilisation.

Voir la documentation du reader GraphML pour la lecture du format GraphML.

Entrée

Pour générer un graphe, il faut identifier les nœuds et arêtes du jeu de données. Les arêtes doivent être connectées à deux nœuds. Il est possible de regrouper plusieurs classes de noeuds disposant d'attributs différents mais chaque entité doit disposer d'un même attribut identifiant, par exemple node_id. C'est la même chose pour les arêtes.

Node

Entités de type nœud. Tous les noeuds doivent avoir un attribut permettant de les identifier.

Edge

Entités de type arête. Toutes les arêtes doivent avoir un attribut identifiant ainsi que deux attributs permettant d'identifier les deux noeuds liés à l'arête.

Sortie

Summary

Une seule entité ressort par le port Summary. Elle fournit une synthèse du document GraphML généré.
_dataset : Emplacement du document GraphML produit
_total_features_written : Nombre d'entités écrites dans le document GraphML

Paramètres

Node ID

Nom de l'attribut identifiant les entités de type Noeud.

Edge ID

Nom de l'attribut identifiant les entités de type Arête.

Edge - From Node ID

Si le graphe est orienté, ce paramètre correspond au nom de l'attribut identifiant le noeud d'origine de chaque arête.

Pour les graphes non orientés, il correspond au nom de l'attribut identifiant le premier noeud de l'arête. Le choix entre premier et second noeud est arbitraire, sans notion de sens.

Edge - To Node ID

Si le graphe est orienté, ce paramètre correspond au nom de l'attribut identifiant le noeud destination de chaque arête.

Pour les graphes non orientés, il correspond au nom de l'attribut identifiant le second noeud de l'arête, c'est à dire le noeud de l'arête qui n'est pas identifié par le paramètre "Edge - From Node ID".

GraphML output file

Emplacement et nom du document GraphML à produire.

Directed graph [Yes|No]

Permet d'indiquer si la graphe est orienté ou non. Dans un graphe orienté, les arêtes sont asymétriques. Elles partent d'un noeud source et vont vers un noeud destination. C'est le cas pour un graphe représentant une filiation, le noeud initial correspond au parent et le noeud final à l'enfant.

Dans un graphe non orienté les deux noeuds jouent le même rôle. Par exemple les relations de type cousin, frère ou soeur sont symétriques.