Qu'est-ce que le format de fichier GRAPHML ?
Un fichier .graphml stocke des données de graphes - des réseaux de nœuds et d'arêtes - dans un format standardisé basé sur le .xml développé par un consortium académique (Université de Constance, TU Wien, Université Brown) et publié pour la première fois en 2001. Il est largement utilisé en science des réseaux, en analyse de réseaux sociaux, en bio-informatique et dans les bases de données de graphes.
La structure est simple : un élément racine <graphml> (espace de noms http://graphml.graphdrawing.org/graphml) contient des déclarations <key> facultatives définissant un schéma d'attributs typés, suivies d'un ou plusieurs éléments <graph>. Chaque <graph> contient des éléments <node> et <edge> ; les deux peuvent porter des enfants <data key="..."> pour attacher des valeurs d'attributs. Les structures de graphes orientés, non orientés, mixtes, les hypergraphes et les graphes hiérarchiques imbriqués sont tous pris en charge.
GraphML est un format d'échange de données, pas un outil de diagramme visuel. Il encode uniquement la topologie et les attributs du graphe ; les coordonnées visuelles et le style peuvent être ajoutés en option via des attributs d'extension (par exemple, les attributs y:Geometry utilisés par l'éditeur yEd). La variante .graphmlz est un fichier .graphml compressé avec gzip.
Comme le .graphml est du XML non compressé, n'importe quel éditeur de texte peut l'inspecter. Pour l'analyse et la visualisation, les outils les plus courants sont Gephi (analyse de réseau open-source) et yEd Graph Editor. Les bibliothèques networkx de Python, JGraphT de Java et igraph de R lisent et écrivent toutes nativement le .graphml. Un format connexe est le .gexf, utilisé nativement par Gephi.
Sécurité et sûreté
RISQUE : LOWUn fichier .graphml est une donnée XML brute et ne peut pas exécuter de code. Son ouverture est sûre. Les fichiers de graphes très volumineux (centaines de Mo) peuvent consommer une quantité importante de RAM dans Gephi ou yEd (plusieurs Go pour les grands réseaux sociaux) - limitez la mémoire de la JVM si vous ouvrez de gros fichiers. Aucun script ou macro n'est possible dans le format GraphML.
Détails du format
en brefProgrammes qui ouvrent les fichiers GRAPHML
Détails techniques
spécifications approfondies| Encodage du fichier | Texte XML brut, UTF-8 |
| Élément racine | <graphml> avec l'espace de noms XML http://graphml.graphdrawing.org/graphml |
| Élément nœud | <node id="..."> - l'ID doit être unique dans le document |
| Élément arête | <edge source="..." target="..."> - orienté ou non orienté selon l'attribut parent <graph edgedefault="..."> |
| Schéma d'attributs | Les déclarations <key> définissent des attributs typés (string, int, double, boolean, long, float) limités au nœud, à l'arête ou au graphe |
| Valeurs d'attributs | Les éléments enfants <data key="..."> attachent des valeurs d'attributs déclarées à des nœuds ou arêtes individuels |
| Types de graphes supportés | Graphes orientés, non orientés, mixtes, hypergraphes et graphes imbriqués/hiérarchiques |
| Variante compressée | .graphmlz - un fichier .graphml compressé avec gzip ; l'extension standard pour les graphes GraphML compressés |
| Signature binaire | Aucune - commence par une déclaration <?xml facultative puis <graphml |
| Taille de fichier typique | 1 Ko (petits graphes de test) à plus de 500 Mo (grands réseaux sociaux ou biologiques) |
| Type MIME | application/xml (officieusement aussi application/graphml+xml) |
| Mise en page visuelle | Non encodée dans la spécification de base ; l'extension yEd ajoute les attributs y:Geometry et y:NodeLabel pour les données de mise en page optionnelles |
| Emplacement du schéma XML | http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd |
| Publié | 2001 (initial GraphML specification published) |
| Dernière version | GraphML 1.1 (spec stable; no significant changes since ~2007) |
| Standard ouvert | Oui · libre de droits |
| Spécification | graphml.graphdrawing.org |
Conversions GRAPHML
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers GRAPHML.