Hva er GRAPHML-filformatet?
En .graphml-fil lagrer grafdata - nettverk av noder og kanter - i et standardisert .xml-basert format utviklet av et akademisk konsortium (Universitetet i Konstanz, TU Wien, Brown University) og først publisert i 2001. Det er mye brukt i nettverksvitenskap, sosial nettverksanalyse, bioinformatikk og grafdatabaser.
Strukturen er rett frem: et <graphml>-rotelement (navnerom http://graphml.graphdrawing.org/graphml) inneholder valgfrie <key>-deklarasjoner som definerer et typet attributtskjema, etterfulgt av ett eller flere <graph>-elementer. Hver <graph> inneholder <node>- og <edge>-elementer; begge kan ha <data key="...">-underelementer for å knytte til attributtverdier. Rettede, urettede, blandede, hypergrafer og nøstede hierarkiske grafstrukturer støttes alle.
GraphML er et format for datautveksling, ikke et visuelt diagramverktøy. Det koder kun graftopologi og attributter; visuelle koordinater og styling kan valgfritt legges til via utvidelsesattributter (for eksempel y:Geometry-attributtene som brukes av yEd-editoren). Varianten .graphmlz er en gzip-komprimert .graphml-fil.
Fordi .graphml er ukomprimert XML, kan hvilken som helst tekstredigerer inspisere den. For analyse og visualisering er de vanligste verktøyene Gephi (åpen kildekode for nettverksanalyse) og yEd Graph Editor. Pythons networkx, Javas JGraphT og Rs igraph-bibliotek kan alle lese og skrive .graphml naturlig. Et relatert format er .gexf, som brukes naturlig av Gephi.
Sikkerhet og trygghet
RISIKO: LOWEn .graphml-fil er ren XML-data og kan ikke kjøre kode. Det er trygt å åpne den. Svært store graffiler (hundrevis av MB) kan bruke betydelig RAM i Gephi eller yEd (flere GB for store sosiale nettverk) - begrens minnet til JVM hvis du åpner store filer. Ingen skripting eller makroer er mulig i GraphML-formatet.
Formatdetaljer
i et nøtteskallProgrammer som åpner GRAPHML-filer
Tekniske detaljer
dyp spesifikasjon| Filkoding | Ren XML-tekst, UTF-8 |
| Rotelement | <graphml> med XML-navnerom http://graphml.graphdrawing.org/graphml |
| Node-element | <node id="..."> - ID må være unik i dokumentet |
| Kant-element | <edge source="..." target="..."> - rettet eller urettet i henhold til foreldreelementets <graph edgedefault="...">-attributt |
| Attributtskjema | <key>-deklarasjoner definerer typede attributter (string, int, double, boolean, long, float) knyttet til node, kant eller graf |
| Attributtverdier | <data key="...">-underelementer knytter deklarerte attributtverdier til individuelle noder eller kanter |
| Støttede graftyper | Rettede, urettede, blandede, hypergrafer og nøstede/hierarkiske grafer |
| Komprimert variant | .graphmlz - en gzip-komprimert .graphml-fil; standardutvidelsen for komprimerte GraphML-grafer |
| Binær signatur | Ingen - starter med valgfri <?xml-deklarasjon, deretter <graphml |
| Typisk filstørrelse | 1 KB (små testgrafer) til 500 MB+ (store sosiale eller biologiske nettverk) |
| MIME-type | application/xml (uformelt også application/graphml+xml) |
| Visuell layout | Ikke kodet i basespesifikasjonen; yEd-utvidelsen legger til y:Geometry- og y:NodeLabel-attributter for valgfrie layoutdata |
| XML-skjemaplassering | http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd |
| Utgitt | 2001 (initial GraphML specification published) |
| Siste versjon | GraphML 1.1 (spec stable; no significant changes since ~2007) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | graphml.graphdrawing.org |
GRAPHML-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om GRAPHML-filer.