Skip to content

Json Graph Format (JGF) structure in Go (under development)

License

Notifications You must be signed in to change notification settings

converged-computing/jsongraph-go

Repository files navigation

JSON Graph Format (JGF) (Go structs)

under development

This is a simple library that provides go structures for JSON Graph schema for use in other projects. The submodule directory with the schema is only required for testing. We currently provide data structures for each of version 1 and version 2.

Usage

Build the examples:

make

Version 2

Run an example - first, cars is a List graph example:

./examples/v2/bin/cars
This example reads in a cars graph
Graph with 4 nodes and 2 edges.
Graph with 3 nodes and 2 edges.

Les Miserables (single Graph example)

./examples/v2/bin/miserables
This example reads in a les miserables graph
Graph with 77 nodes and 254 edges.

This shows a Directed graph (with hyper directed edge type):

./examples/v2/bin/hyper-directed
This example reads in a hyper-directed graph
Graph with 8 nodes and 4 edges.

And an undirected type.

./examples/v2/bin/hyper-undirected
This example reads in a hyper-undirected graph
Graph with 6 nodes and 4 edges.

And usual suspects!

./examples/v2/bin/usual-suspects
This example reads in a usual suspects graph with metadata
Graph with 2 nodes and 1 edges.

Version 1

We just have one example from flux-sched:

./examples/v1/bin/tiny
This example reads in tiny v1 graph
Graph with 100 nodes and 198 edges.

Note that this library is under development, and we are keeping simple for now! Likely most functionality that you want we expect you to implement, however if there are common (shared) needs we can add more functions to the structs here.

License

HPCIC DevTools is distributed under the terms of the MIT license. All new contributions must be made under this license.

See LICENSE, COPYRIGHT, and NOTICE for details.

SPDX-License-Identifier: (MIT)

LLNL-CODE- 842614