Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/epost/grasp

graph specification processor (deprecated in favour of purescript version)
https://github.com/epost/grasp

deprecated-repo graph graphviz

Last synced: 12 days ago
JSON representation

graph specification processor (deprecated in favour of purescript version)

Awesome Lists containing this project

README

        

#+title:Grasp (deprecated in favour of [[https://github.com/epost/purescript-grasp][purescript-grasp]])

Grasp, short for GRAph Specification Processor, allows you to:

- Specify graphs in a super concise format.
- Output graph structure as JSON.
- Leave formatting (layout, colouring, etc.) to other tools, such as GraphViz.

* Examples

Syntax is inspired by both GraphViz and CYPHER:

#+BEGIN_EXAMPLE
# concise node and edge syntax

a -> b
b -> c; c -> d
d, e, f -> g

# labeled edges

1 -succ-> 2

# type annotations

x:A -f-> y:B
y -g:G-> z
#+END_EXAMPLE

* Features
- [X] no formatting, only structure
- [X] comma syntax: ~a,b,c -> d, e~
- [X] type syntax? ~a:A - b:B -> c:C~
- [X] comments
- [ ] transitive syntax? ~a -> b -> c -> d~
- [ ] allow (back)slash in node / edge labels? (handy for paths and URLs)?
- [ ] quoted node / edge labels?
- [ ] dash as part of identifiers maar dan zonder conflicts or ambiguities
- [ ] question mark as part of identifiers
- [ ] node / edge ids? maybe using hash mark?
- [ ] allow references: graph transformations, styling, comments, legend, etc
- [ ] support formats other than JSON.