GraphIO.jl icon indicating copy to clipboard operation
GraphIO.jl copied to clipboard

Support MetaGraphs.jl

Open filchristou opened this issue 1 year ago • 2 comments

Code from (unregistered) NestedGraphIO.jl returns home as described in #49. This PR enables support for MetaGraphs in GraphML format. It follows the paradigm of http://graphml.graphdrawing.org/ to define attributes in the graph. The following features are supported:

  1. the key/data extension mechanism
  2. default values for keys
  3. loading/saving graphs or Dict of graphs

The implementation is done using XPath and DOM and not the EzXML.StreamReader for the reason that there needs to be some memory on the parser in order to remember whose are the properties read.

The current API is a bit different. The reason is that now the user now needs also to pass an extra argument to mention the desired graph type s/he wishes to parse (in this case ::MetaGraphs.MGFormat).

filchristou avatar Jun 26 '23 09:06 filchristou