Vad är filformatet GRAPHML?
En .graphml-fil lagrar grafdata - nätverk av noder och kanter - i ett standardiserat .xml-baserat format utvecklat av ett akademiskt konsortium (Universitetet i Konstanz, TU Wien, Brown University) och publicerades första gången 2001. Det används i stor utsträckning inom nätverksvetenskap, analys av sociala nätverk, bioinformatik och grafdatabaser.
Strukturen är enkel: ett <graphml>-rotelement (namnrymd http://graphml.graphdrawing.org/graphml) innehåller valfria <key>-deklarationer som definierar ett typat attributschema, följt av ett eller flera <graph>-element. Varje <graph> innehåller <node>- och <edge>-element; båda kan ha <data key="...">-underelement för att bifoga attributvärden. Riktade, oriktade, blandade, hypergrafer och nästlade hierarkiska grafstrukturer stöds alla.
GraphML är ett format för datautbyte, inte ett visuellt diagramverktyg. Det kodar endast graftopologi och attribut; visuella koordinater och styling kan valfritt läggas till via tilläggsattribut (till exempel de y:Geometry-attribut som används av yEd-editorn). Varianten .graphmlz är en gzip-komprimerad .graphml-fil.
Eftersom .graphml är okomprimerad XML kan vilken textredigerare som helst inspektera den. För analys och visualisering är de vanligaste verktygen Gephi (öppen källkod för nätverksanalys) och yEd Graph Editor. Pythons networkx, Javas JGraphT och R:s igraph-bibliotek kan alla läsa och skriva .graphml nativt. Ett relaterat format är .gexf, som används nativt av Gephi.
Säkerhet & trygghet
RISK: LOWEn .graphml-fil är ren XML-data och kan inte köra kod. Det är säkert att öppna den. Mycket stora graffiler (hundratals MB) kan förbruka betydande mängder RAM i Gephi eller yEd (flera GB för stora sociala nätverk) - begränsa minnet för JVM om du öppnar stora filer. Inga skript eller makron är möjliga i GraphML-formatet.
Formatdetaljer
i ett nötskalProgram som öppnar GRAPHML-filer
Tekniska detaljer
djup specifikation| Filkodning | Ren XML-text, UTF-8 |
| Rotelement | <graphml> med XML-namnrymd http://graphml.graphdrawing.org/graphml |
| Nodelement | <node id="..."> - ID måste vara unikt inom dokumentet |
| Kantelement | <edge source="..." target="..."> - riktad eller oriktad enligt förälderns <graph edgedefault="...">-attribut |
| Attributschema | <key>-deklarationer definierar typade attribut (string, int, double, boolean, long, float) begränsade till nod, kant eller graf |
| Attributvärden | <data key="...">-underelement bifogar deklarerade attributvärden till enskilda noder eller kanter |
| Graftyper som stöds | Riktade, oriktade, blandade, hypergrafer och nästlade/hierarkiska grafer |
| Komprimerad variant | .graphmlz - en gzip-komprimerad .graphml-fil; standardändelsen för komprimerade GraphML-grafer |
| Binär signatur | Ingen - börjar med valfri <?xml-deklaration följt av <graphml |
| Typisk filstorlek | 1 KB (små testgrafer) till 500 MB+ (stora sociala eller biologiska nätverk) |
| MIME-typ | application/xml (informellt även application/graphml+xml) |
| Visuell layout | Inte kodad i basspecifikationen; yEd-tillägget lägger till y:Geometry- och y:NodeLabel-attribut för valfria layoutdata |
| Plats för XML-schema | http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd |
| Släppt | 2001 (initial GraphML specification published) |
| Senaste version | GraphML 1.1 (spec stable; no significant changes since ~2007) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | graphml.graphdrawing.org |
GRAPHML-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om GRAPHML-filer.