Release 1.2
Happy to present our newest release - MAGE 1.2.
Lots of things are new compared to the previous release 1.1. With this release, MAGE is bringing novely in various different areas:
- Dynamic Graph Algorithms
- Temporal Graph Networks (TGN)
- Dynamic Betweenness Centrality
- Dynamic Katz Centrality
- Machine Learning
- Temporal Graph Networks (TGN)
- Static Graph Algorithms
- Louvain Community Detection
- Maximum Flow
- Static Katz Centrality
- Utility
- Import/Export module (JSON)
Dynamic Graph Algorithms
Temporal Graph Networks (TGN)
This algorithm brings a huge impact on the current graph analytics setting because it combines the best of two worlds - streaming with temporal data and graph machine learning. Use it to predict, classify, and embed nodes and edges in temporal/streaming use-case settings.
Dynamic Betweenness Centrality
Betweenness centrality is powered by the ratio of shortest paths traversing through the node of interest. By isolating the registered changes in the biconnected component, the dynamic algorithm saves the computational time and space when applying updates on a changed graph.
Dynamic Katz Centrality
Katz Centrality sets a higher rank to the nodes with a high amount of close-flowing paths. The more low-order paths we have, the more central the node is. To adapt the scale and calculate fast, the algorithm is approximative, which means that the calculated centralities may differ from the true values, but the rankings are preserved.
Machine Learning
Temporal Graph Networks (TGN)
Temporal Graph Network is the machine learning model developed by Twitter engineers - Temporal Graph Networks for Deep Learning on Dynamic Graphs by Rossi et.al.. The model allows the possibility of handling different temporal events occurring on graphs, such are node features updates, node deletions, edge deletions, and so on, and adapting the under-the-hood model for downstream prediction/classification task. Temporal Graph Networks are powered by Pytorch.
Static Graph Algorithms
Louvain community detection
The method that calculates communities by updating the modularity - measurement of density within and outside communities.
Maximum flow
An algorithm capable of calculating the maximum possible flow through relationships with the weighted capacity. This is a powerful tool when analyzing the flow of any resource in movements - like gas or electricity networks.
Static Katz Centrality
The static implementation of Katz Centrality - measurement proportional to the number of closer paths flowing through the node of interest.
Utility
Import and export module - with just the one Cypher query the whole graph can be exported in the file and then imported when needed again. Importing and exporting currently work with JSON format.
What's Changed
- Max flow implementation by @brunos252 in #125
- tsp.py comment and example query change by @brunos252 in #126
- Fix E2E testing by @antoniofilipovic in #128
- Fix ID validity check by @antepusic in #129
- Bump the version of Black formatter by @jmatak in #132
- Fix Continuous integration by @jmatak in #133
- Add export/import util by @katarinasupe in #100
- Community detection algorithm by @jmatak in #48
- Dynamic & static Katz centrality implementation by @jmatak in #117
- Dynamic betweenness centrality by @antepusic in #127
- Temporal graph networks implementation by @antoniofilipovic in #121
- Fix IsSubset checking for unordered sets by @jmatak in #135
New Contributors
- @brunos252 made their first contribution in #125
Full Changelog: v1.1.1...v1.2