Hvad er GRAPHML-filformatet?
En .graphml-fil gemmer grafdata - netværk af noder og kanter - i et standardiseret .xml-baseret format udviklet af et akademisk konsortium (University of Konstanz, TU Wien, Brown University) og første gang udgivet i 2001. Det er vidt brugt inden for netværksvidenskab, social netværksanalyse, bioinformatik og grafdatabaser.
Strukturen er ligetil: et <graphml> rodelement (navnerum http://graphml.graphdrawing.org/graphml) indeholder valgfrie <key>-deklarationer, der definerer et typespecifikt attribut-skema, efterfulgt af et eller flere <graph>-elementer. Hver <graph> indeholder <node>- og <edge>-elementer; begge kan bære <data key="..."> under-elementer for at tilknytte attributværdier. Rettede, urettede, blandede, hypergraf- og indlejrede hierarkiske grafstrukturer er alle understøttet.
GraphML er et dataudvekslingsformat, ikke et visuelt diagramværktøj. Det koder kun graftopologi og attributter; visuelle koordinater og styling kan valgfrit tilføjes via udvidelsesattributter (for eksempel de y:Geometry-attributter, der bruges af yEd-editoren). .graphmlz-varianten er en gzip-komprimeret .graphml-fil.
Da .graphml er ukomprimeret XML, kan enhver teksteditor inspicere den. Til analyse og visualisering er de mest almindelige værktøjer Gephi (open-source netværksanalyse) og yEd Graph Editor. Pythons networkx, Javas JGraphT og Rs igraph-bibliotek kan alle læse og skrive .graphml indfødt. Et beslægtet format er .gexf, som bruges indfødt af Gephi.
Sikkerhed og tryghed
RISIKO: LOWEn .graphml-fil er almindelig XML-data og kan ikke eksekvere kode. Det er sikkert at åbne den. Meget store graffiler (hundredvis af MB) kan forbruge betydelig RAM i Gephi eller yEd (flere GB for store sociale netværk) - begræns hukommelsen for JVM, hvis du åbner store filer. Ingen scripting eller makroer er mulige i GraphML-formatet.
Formatdetaljer
kort fortaltProgrammer der åbner GRAPHML-filer
Tekniske detaljer
dyb specifikation| Filkodning | Almindelig XML-tekst, UTF-8 |
| Rodelement | <graphml> med XML-navnerum http://graphml.graphdrawing.org/graphml |
| Node-element | <node id="..."> - ID skal være unikt i dokumentet |
| Kant-element | <edge source="..." target="..."> - rettet eller urettet i henhold til forældre-elementets <graph edgedefault="..."> attribut |
| Attribut-skema | <key>-deklarationer definerer typede attributter (string, int, double, boolean, long, float) afgrænset til node, kant eller graf |
| Attributværdier | <data key="..."> under-elementer tilknytter deklarerede attributværdier til individuelle noder eller kanter |
| Understøttede graftyper | Rettede, urettede, blandede, hypergraf- og indlejrede/hierarkiske grafer |
| Komprimeret variant | .graphmlz - en gzip-komprimeret .graphml-fil; standardudvidelsen for komprimerede GraphML-grafer |
| Binær signatur | Ingen - starter med valgfri <?xml deklaration efterfulgt af <graphml |
| Typisk filstørrelse | 1 KB (små testgrafer) til 500 MB+ (store sociale eller biologiske netværk) |
| MIME-type | application/xml (uformelt også application/graphml+xml) |
| Visuelt layout | Ikke kodet i grundspecifikationen; yEd-udvidelsen tilføjer y:Geometry og y:NodeLabel attributter for valgfrie layoutdata |
| XML-skema lokation | http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd |
| Udgivet | 2001 (initial GraphML specification published) |
| Seneste version | GraphML 1.1 (spec stable; no significant changes since ~2007) |
| Åben standard | Ja · royaltyfri |
| Specifikation | graphml.graphdrawing.org |
GRAPHML-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om GRAPHML-filer.