ratio-graph 0.16.0

Ratio's graph manipulation library.
Documentation

Ratio Graph

Graph manipulation library. In a rather unstable state as it's intended use is internal projects at Ratio CASE.

Changelog

[0.16.0] - 2023-04-04

Removed

  • EdgeDisplayMode::WeightSum has been removed. Instead, users should include their own appropriate weight values in the HashMap.

[0.15.0] - 2023-04-04

Added

  • Domain interpolation function to quickly normalize a value to [0.0,1.0].

[0.14.0] - 2023-03-31

Added

  • Bounds calculator, multi-fraction calculator.

[0.13.0] - 2023-03-31

Added

  • Fraction calculator for the metadata Aggregate.

Changed

  • EdgeDisplayMode WeightLabels has been removed (isn't tracked in Aggregate) and the other weight related modes are now called Weights and WeightSum.

[0.12.1] - 2023-03-29

Fixed

  • Fixed some of the depth logic. Maximum depth calculation now no longer requires mutability of the underlying node store. (the lazy getter does!)
  • Clippy fixes. Changed vectors to slices where they will do.

[0.12.0] - 2023-03-29

Added

  • Add new node depth calculation methods to the NodeStore.

[0.11.2] - 2023-03-20

Changed

  • Sorting dataset keys by default.

[0.11.1] - 2023-03-17

Added

  • Add a default value for ratio_graph::mdm::NodeSelectionMode (independent).
  • Documentation for the internal MDM methods.

[0.11.0] - 2023-03-17

Added

  • A ratio_graph::serialize::CompactGraph struct for more compact serialization/deserialization.
  • All RaGraph datasets available for import in the ratio_graph::datasets module.

[0.10.0] - 2023-03-17

Added

  • aggregate_matrix on EdgeStore trait.

Changed

  • aggregate_map_between_all renamed to aggregate_map so the method naming is more in in line with other method. "between_all" results in single values/aggregates. Matrices and maps don't receive such suffixes.

[0.9.1] - 2023-03-17

Changed

  • Made serde functionality a feature that's enabled by default.

[0.9.0] - 2023-03-17

Added/Changed

  • Major overhaul of internal data storage structure using separate node and edge stores structs and traits.
  • Added convenience methods that implement typical Multi-Domain Matrix (MDM) plotting
  • Added MetadataFilter for filtering based on kinds and labels.
  • Switched to anyhow and thiserror for error handling in Rust.

[0.8.0] - 2022-10-17

Changed

  • Breaking! Changed objects to hold owned data.

[0.7.3] - 2022-09-03

Changed

  • Changed the default value for _edges_forward and _edges_reverse to be a custom method.

[0.7.2] - 2022-09-03

Changed

  • Added a default value for the private _edges_forward and _edges_reverse mappings in a Graph.

[0.7.1] - 2022-09-02

Changed

  • Don't do any mutable actions in the edges getting/checking methods.

[0.7.0] - 2022-09-02

Added

  • Methods on the graph struct to get edges between sources and targets.

[0.6.0] - 2022-09-02

Added

  • Methods on the graph struct to get ascendants and descendants of a node.

Changed

  • Updated dependencies.
  • Convenience methods to create objects now use more reference data types.

[0.5.2] - 2022-06-24

Changed

  • Updated dependencies.

[0.5.1] - 2022-06-24

Changed

  • Adjacency matrix argument types are now all (optional) references.
  • Serialization traits added to Aggregator enum.

[0.5.0] - 2022-06-23

Added

  • Add first implementation of adjacency matrix calculations.

[0.4.0] - 2022-06-23

Added

  • Single update edge maps fn.

Fixed

  • Type in updating of reverse edge map.

[0.3.0] - 2022-06-23

Added

  • Methods to update the cached forward and reverse edge maps manually.

[0.2.0] - 2022-06-17

Added

  • Some tests that instantiate and serialize the various objects.

Changed

  • More groundwork, and aligned types more closely to RaGraph by moving up all metadata fields.

[0.1.0] - 2022-06-16

Added

  • Initial Graph types loosely based on RaGraph.