Popularity
6.7
Growing
Activity
-
-
12
3
4

Monthly Downloads: 48
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags: Data Structures     Graphs     Parser     XML     Library    
Latest version: v0.3.0

pangraph alternatives and similar packages

Based on the "Data-structures" category

Do you think we are missing an alternative of pangraph or a related project?

Add another 'Data-structures' Package

README

pangraph Build Status

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

  1. Usage
  2. Building
  3. Graph File Support
  4. Library support

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 in Pangraph
  • Revert: Unimplemented

Containers

Currently implements:

  • Convert: Pangraph.Containers
  • Revert: Unimplemented

FGL

Currently implements:

  • Convert: Pangraph.FGL
  • Revert: Unimplemented