pangraph alternatives and similar packages
Based on the "Data-structures" category.
Alternatively, view pangraph alternatives based on common mentions on social networks and blogs.
Do you think we are missing an alternative of pangraph or a related project?
README
pangraph
Pangraph is a Haskell library which offers parsing and serializations for graph files. As well as conversions to other Haskell graph formats. An example format is GraphML. A graphml file
could for example represent the following graph, with vertices from A
to E
and connections, the edges, between them.
[a-sample-graph](examples/graphs/network.svg)
Source:
Mokhov, et al. (2017)
Contents
Usage
Pangraph provides an API in the module Pangraph
for construction and
manipulation of graphs. The parsers in the library use this module to
generate pangraphs. Parsers and serializers are imported from modules
individually. This example shows imports for GraphML.
import Pangraph.GraphML.Parser (parse)
import Pangraph.GraphML.Writer (write)
Usage of multiple file types in the same module will require
qualified imports. Please see src/Pangraph/Examples
for further examples.
Building
Using cabal, dependencies track stack lts where possible.
cabal update
cabal new-build
cabal new-test
Or Stack
stack init
stack test
Graph File Support
GML
GML files are currently:
- Parsing: Ok
- Writing: Ok
Node: See
Pangraph.Gml.*
GraphML
GraphML files are currently:
- Parsing: Ok
- Writing: Ok
Workcraft
Workcraft files are currently:
- Parsing: Unimplemented
- Writing: Unimplemented
Graph Library support
Algebraic Graphs
- Convert: Via the
ToGraph
interface inPangraph
- Revert: Unimplemented
Containers
Currently implements:
- Convert:
Pangraph.Containers
- Revert: Unimplemented
FGL
Currently implements:
- Convert:
Pangraph.FGL
- Revert: Unimplemented