Sparse6 (.s6)

背景

    • sparse6 图数据格式.
    • 用于存储无向图.
    • ASCII 格式.
    • 存储多个无向图的连接信息.
    • 适用于大型稀疏图,存储多达个顶点.
    • 与对小型图和大型稠密图行优化了的 graph6 相关.
    • 由 Brendan McKay 在澳大利亚国立大学(Australian National University)开发.

Import 与 Export

  • Import["file.s6"] 导入存储在指定文件中的图,以单个 Graph 对象或图列表的形式给出.
  • Export["file.s6",expr] 把单个或多个图中的邻接矩阵或边信息导出到 sparse6 格式.
  • Import["file.s6",elem] 从一个 sparse6 文件中导入指定的参数.
  • Import["file.s6",{elem,suba,subb,}] 导入一个子参数.
  • Import["file.s6",{{elem1,elem2,}}] 导入多个参数.
  • 导入格式可以用 Import["file","Sparse6"]Import["file",{"Sparse6",elem,}] 指定.
  • Export["file.s6",expr,elem] 通过把 expr 作为指定参数 elem 创建一个 sparse6 文件.
  • Export["file.s6",{expr1,expr2,},{{elem1,elem2,}}] 把每一个 expri 指定为相应的 elemi.
  • Export["file.s6",expr,opt1->val1,] 导出具有指定值的指定选项参数的 expr.
  • Export["file.s6",{elem1->expr1,elem2->expr2,},"Rules"] 使用规则指定要导出的参数.
  • 请到以下参考页面了解完整的基本信息:
  • Import, Export从文件导入或导出到文件
    CloudImport, CloudExport从云对象导入或导出到云对象
    ImportString, ExportString从字符串导入或导出到字符串
    ImportByteArray, ExportByteArray从字节数组导入或导出到字节数组

Import 参数

  • Import 的通用参数:
  • "Elements" 该文件可用的参数和选项列表
    "Summary"文件摘要
    "Rules"所有可用参数的规则列表
  • 表示数据的参数:
  • "AdjacencyMatrix"文件中所有图的边信息,以矩阵的列表形式给出
    "EdgeRules"所有图的连接数据,以规则的数组形式给出
    "Graph"存储在文件中的第一个图,以 Graph 对象的形式给出
    "Graphics"存储在文件中的第一个图,渲染为一个图的图形
    "GraphicsList"所有图,以图形对象的列表形式给出
    "GraphList"文件中的所有图,以 Graph 对象的列表形式给出
    "VertexCount"每个图的顶点数,以整数列表的形式给出
    "VertexList"表示顶点的整数列表
  • 默认情况下,对于简单的 sparse6 文件,Import 使用 "Graph";而对于多图 sparse6 文件,则使用 "GraphList".
  • 包含多图的 sparse6 文件的参数规范:
  • elem,n文件中第 n 个图的数据表示参数 elem
    elem,{n1,n2,}n1,n2, 的参数 elem
    elem,All所有图的参数 elem,以列表的形式给出
  • Import["file.s6","GraphList"] 给出文件中所有图的列表,渲染为 Graph 对象.
  • Import["file.s6",{"GraphList",n}] 给出文件中第 n 个图的渲染.
  • 当使用"EdgeRules"参数导入一个 sparse6 文件,对于可能的未连接的顶点不返回规则.
  • 包含未连接顶点的图可以使用"AdjacencyMatrix"参数完全指定,或作为一个"EdgeRules""VertexCount"的组合.

选项

范例

基本范例  (5)

导入一个 sparse6 范例文件,给出可视化表示:

读取以上例子的邻接矩阵,并渲染为 MatrixPlot

把一个 Graph 对象导出为 sparse6 格式:

把一个图的邻接矩阵导出到 sparse6 格式:

导出边规则: