GraphML (.graphml)
背景
-
- GraphML 图数据格式.
- 图的标准交换格式.
- GraphML 是 Graph Markup Language(图标记语言)的缩写.
- 基于 XML 的格式.
- 表示类型、属性、有向和无向图.
- 也可存为嵌套图和超图.
- 支持用户定义的边和顶点类型.
- 由 GraphML 工作组于 2001 年提出.
Import 与 Export
- Import["file.graphml"] 导入存储在指定文件中的图,以单个 Graph 对象或图的列表形式给出.
- Export["file.graphml",expr] 把一个或多个图的邻接矩阵或边信息导出为 GraphML 格式.
- Import["file.graphml",elem] 从 GraphML 文件中导入指定的参数.
- Import["file.graphml",{elem,suba,subb,…}] 导入一个子参数.
- Import["file.graphml",{{elem1,elem2,…}}] 导入多个参数.
- 导入格式可以用 Import["file","GraphML"] 或 Import["file",{"GraphML",elem,…}] 指定.
- Export["file.graphml",expr,elem] 通过把 expr 作为指定参数 elem 创建一个 GraphML 文件.
- Export["file.graphml",{expr1,expr2,…},{{elem1,elem2,…}}] 把每一个 expri 指定为相应的 elemi.
- Export["file.graphml",expr,opt1->val1,…] 导出具有指定值的指定选项参数的 expr.
- Export["file.graphml",{elem1->expr1,elem2->expr2,…},"Rules"] 使用规则指定要导出的参数.
- 请到以下参考页面了解完整的基本信息:
-
Import, Export 从文件导入或导出到文件 CloudImport, CloudExport 从云对象导入或导出到云对象 ImportString, ExportString 从字符串导入或导出到字符串 ImportByteArray, ExportByteArray 从字节数组导入或导出到字节数组
导入参数
- Import 的通用参数:
-
"Elements" 该文件可用的参数和选项列表 "Summary" 文件摘要 "Rules" 所有可用参数的规则列表 - 表示数据的参数:
-
"AdjacencyMatrix" 以矩阵形式给出的边信息 "EdgeAttributes" 以规则列表形式表示的边属性 "EdgeLabels" 表示边标签的字符串列表 "EdgeRules" 图的连接数据,以规则的数组形式给出 "Graph" 存储在文件中的第一个图,以 Graph 对象的形式给出 "Graphics" 存储在文件中的第一个图,渲染为图的图形 "GraphicsList" 以图形对象的列表形式表示的所有的图 "GraphList" 存储在文件中的所有图,以 Graph 对象列表的形式给出 "VertexAttributes" 顶点属性,表示为规则的列表 "VertexCount" 每个图的顶点数,以整数列表的形式给出 "VertexList" 顶点,以字符串的列表形式给出 - 默认情况下,对于简单的 GraphML 文件,Import 使用"Graph",对于多图 GraphML 文件,使用"GraphList".
- 包含多个图的 GraphML 文件的参数规范:
-
"GraphNames" 图的名称,以字符串的列表形式给出 elem,"name" 由"name"指定的图的参数 elem elem,n 文件中第 n 个图的数据表示参数 elem elem,{n1,n2,…} 图 n1, n2, … 的参数 elem elem,All 所有图的参数 elem,以列表的形式给出
选项
- Import 的通用选项:
-
ImageSize Automatic 指定显示图的图像的整体大小 - 当从 GraphML 导入时,可以给出所有由 Graph 支持的选项. 常用设置包括:
-
EdgeLabels Automatic 边的标签和标签位置 EdgeWeight Automatic 边的权 VertexCoordinates Automatic 顶点的中心坐标 VertexLabels Automatic 顶点的的标签和标签位置 VertexShape Automatic 顶点的图形形状 - 当导入为"Graphics"时,可以使用所有由 GraphPlot 支持的选项. 常用设置包括:
-
DirectedEdges Automatic 是否显示边为有向箭头 EdgeLabels Automatic 是否包含边的标签 EdgeShapeFunction Automatic 给出边的明确图形的函数 VertexLabels Automatic 是否以标签的形式显示顶点名称 VertexShapeFunction Automatic 给出顶点的明确图形的函数 - 当导出一个 Graph 对象,Wolfram 语言的图属性值经常被导出为使用 Compress 的字符串.