Skip to content

Dialects

Jordan Matelsky edited this page Oct 13, 2020 · 2 revisions

NetworkX

NetworkX support is nearly complete; you can expect most networkx algorithms to run on a Grand graph:

import networkx as nx
import grand

# This one is a grand graph:
g1 = grand.Graph()

# This one is a networkx graph:
g2 = nx.complete_graph(3)

nx.algorithms.isomorphism.GraphMatcher(g1, g2)

Suggestions

Graph ingest is fastest if you use the non-networkx-standard edgelist importers rather than a set of add_edge calls.

Feature Parity

Method Support Notes
nodes
edges
adj
add_edge Return values additionally contain backend-specific metadata.
add_node Return values additionally contain backend-specific metadata.
pred Valid on Graph(directed=True) only
succ Valid on Graph(directed=True) only

IGraph

IGraph support is currently rudimentary, with further development pending convincing use-cases.

Feature Parity

Method Support Notes
vs
es
add_edges 🤔 Return values additionally contain backend-specific metadata.
add_node 🤔 Return values additionally contain backend-specific metadata.

Networkit

For more details and documentation on this API, see the networkit docs.

Method Support Notes
addNode
addEdge
nodes
iterNodes
edges
iterEdges
hasEdge
addNodes
hasNode
degree
degreeIn
degreeOut
density
numberOfNodes
numberOfEdges
removeEdge 🤔
removeNode 🤔
append 🤔
copyNodes 🤔
BFSEdgesFrom 🤔
Clone this wiki locally