In addition to standalone community graph algorithms implemented as Python modules, we implemented a module providing NetworkX integration with Memgraph. This module, named nxalg, provides a comprehensive set of thin wrappers around most of the algorithms present in the NetworkX package. The wrapper functions now have the capability to create a NetworkX compatible graph-like object that can stream the native database graph directly saving on memory usage significantly.
The nxalg reference guide currently consists of the following methods:
​nxalg.all_shortest_paths​
​nxalg.all_simple_paths​
​nxalg.ancestors​
​nxalg.bfs_edges​
​nxalg.bfs_predecessors​
​nxalg.bfs_successors​
​nxalg.bfs_tree​
​nxalg.bridges​
​nxalg.center​
​nxalg.check_planarity​
​nxalg.clustering​
​nxalg.communicability​
​nxalg.core_number​
​nxalg.descendants​
​nxalg.dfs_predecessors​
​nxalg.dfs_preorder_nodes​
​nxalg.dfs_successors​
​nxalg.dfs_tree​
​nxalg.diameter​
​nxalg.dominating_set​
​nxalg.edge_bfs​
​nxalg.edge_dfs​
​nxalg.find_cliques​
​nxalg.find_cycle​
​nxalg.flow_hierarchy​
​nxalg.global_efficiency​
​nxalg.greedy_color​
​nxalg.has_eulerian_path​
​nxalg.has_path​
​nxalg.is_arborescence​
​nxalg.is_at_free​
​nxalg.is_bipartite​
​nxalg.is_branching​
​nxalg.is_chordal​
​nxalg.is_edge_cover​
​nxalg.is_eulerian​
​nxalg.is_forest​
​nxalg.is_isolate​
​nxalg.is_isomorphic​
​nxalg.isolates​
​nxalg.is_semieulerian​
​nxalg.is_simple_path​
​nxalg.is_tournament​
​nxalg.is_tree​
​nxalg.k_components​
​nxalg.k_edge_components​
​nxalg.local_efficiency​
​nxalg.maximal_matching​
​nxalg.node_boundary​
​nxalg.node_connectivity​
​nxalg.node_expansion​
​nxalg.non_randomness​
​nxalg.pagerank​
​nxalg.reciprocity​
​nxalg.shortest_path​
​nxalg.simple_cycles​
​nxalg.topological_sort​
​nxalg.triadic_census​
​nxalg.voronoi_cells​
​nxalg.wiener_index​