Metagraphs are a generalisation of graphs (or networks) similar in nature to a directed hypergraph.

  • A hypergraph allows an “edge” to connect more than one node.
  • Directionality means that an edge can connect one set of objects to another difference set.

The main difference in a metagraph is that edges come associate with properties, even properties that are conditional on other parts to the graph, making them ideal to represent policies.

Towards that end, we have started playing with them, and have created a Metagraph toolkit in Python.

with documentation here. Have a look at the tutorial.

Please see our upcoming paper: MGtoolkit: A python package for implementing metagraphs for details of the toolkit, and the best reference on the topic is Metagraphs and their Applications, Amit Basu and Robert W. Blanning, Springer, 2007.