# Ratio Graph
Graph manipulation library. In a rather unstable state as it's intended use is internal
projects at Ratio CASE.
# Changelog
## [3.0.0] - 2023-03-16
### Added
- Single aggregate for edges, just like the node store has.
### Changed
- Changed the way aggregates are counted and handled by default when adding nodes/edges.
- Moved MetadataFilter to the metadata module.
- Moved MDM methods out of the Graph implementation as standalone public methods.
## [2.1.0] - 2023-03-14
### Changed
- Switched to anyhow and thiserror for error handling in Rust.
## [2.0.0] - 2023-03-10
### Changed
- Major breaking changes again to public interfaces. Adding plotting node selection
functionality to aid in the creation of Multi-Domain Matrices (MDMs).
## [1.0.0] - 2023-03-08
- Major overhaul and introduction of NodeStore and EdgeStore approach as the underlying
data structure for the Graph.
## [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](http://ragraph.ratio-case.nl/).