#petgraph #graph #graph-node #output #weight #graphml #graph-ml

petgraph-graphml

为 petgraph 提供 GraphML 输出支持

7 个稳定版本

3.1.0 2024 年 7 月 7 日
3.0.0 2021 年 8 月 28 日
2.0.1 2020 年 2 月 4 日
1.0.2 2018 年 5 月 15 日

#66科学

Download history 43/week @ 2024-04-27 60/week @ 2024-05-04 89/week @ 2024-05-11 61/week @ 2024-05-18 57/week @ 2024-05-25 194/week @ 2024-06-01 191/week @ 2024-06-08 70/week @ 2024-06-15 80/week @ 2024-06-22 71/week @ 2024-06-29 194/week @ 2024-07-06 22/week @ 2024-07-13 16/week @ 2024-07-20 43/week @ 2024-07-27 8/week @ 2024-08-03 10/week @ 2024-08-10

每月 78 次下载
pmrs 中使用

MIT/Apache

20KB
259

GraphML 输出支持 petgraph

docs.rs badge crates.io badge Rust CI codecov


此 crate 在 petgraph 中扩展了 GraphML 输出支持。

此 crate 导出了一个类型 GraphMl,它结合了配置的构建模式,并提供创建字符串 (GraphMl::to_string) 和写入写入器 (GraphMl::to_writer) 的功能。

用法

将以下内容添加到您的 Cargo.toml

[dependencies]
petgraph-graphml = "3.1.0"

示例

对于类似 具有三个节点和两个边的图 的简单图,这是生成的 GraphML 输出。

let graph = make_graph();
// Configure output settings
// Enable pretty printing and exporting of node weights.
// Use the Display implementation of NodeWeights for exporting them.
let graphml = GraphMl::new(&graph)
    .pretty_print(true)
    .export_node_weights_display();

assert_eq!(
    graphml.to_string(),
    r#"<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
  <graph edgedefault="directed">
    <node id="n0">
      <data key="weight">0</data>
    </node>
    <node id="n1">
      <data key="weight">1</data>
    </node>
    <node id="n2">
      <data key="weight">2</data>
    </node>
    <edge id="e0" source="n0" target="n1" />
    <edge id="e1" source="n1" target="n2" />
  </graph>
  <key id="weight" for="node" attr.name="weight" attr.type="string" />
</graphml>"#
);

许可

根据您的选择,许可协议为以下之一

贡献

除非您明确声明,否则任何有意提交给作品并由您定义的 Apache-2.0 许可证包含的贡献,都应按上述方式双许可,无需任何额外的条款或条件。

依赖关系

~2.5MB
~34K SLoC