de.tum.ei.lkn.eces:graph

Graph library (edges, nodes, graphs) using the ECES framework.

License

License

GroupId

GroupId

de.tum.ei.lkn.eces
ArtifactId

ArtifactId

graph
Last Version

Last Version

2.0.2
Release Date

Release Date

Type

Type

jar
Description

Description

Graph library (edges, nodes, graphs) using the ECES framework.
Project URL

Project URL

https://github.com/AmoVanB/eces-graph
Source Code Management

Source Code Management

http://github.com/amovanb/eces-graph/tree/master

Download graph

How to add to project

<!-- https://jarcasting.com/artifacts/de.tum.ei.lkn.eces/graph/ -->
<dependency>
    <groupId>de.tum.ei.lkn.eces</groupId>
    <artifactId>graph</artifactId>
    <version>2.0.2</version>
</dependency>
// https://jarcasting.com/artifacts/de.tum.ei.lkn.eces/graph/
implementation 'de.tum.ei.lkn.eces:graph:2.0.2'
// https://jarcasting.com/artifacts/de.tum.ei.lkn.eces/graph/
implementation ("de.tum.ei.lkn.eces:graph:2.0.2")
'de.tum.ei.lkn.eces:graph:jar:2.0.2'
<dependency org="de.tum.ei.lkn.eces" name="graph" rev="2.0.2">
  <artifact name="graph" type="jar" />
</dependency>
@Grapes(
@Grab(group='de.tum.ei.lkn.eces', module='graph', version='2.0.2')
)
libraryDependencies += "de.tum.ei.lkn.eces" % "graph" % "2.0.2"
[de.tum.ei.lkn.eces/graph "2.0.2"]

Dependencies

compile (5)

Group / Artifact Type Version
org.json : json jar 20150729
de.tum.ei.lkn.eces : core jar 2.0.3
de.tum.ei.lkn.eces : master-pom-commons jar 1.0.21
org.aeonbits.owner : owner jar 1.0.10
log4j : log4j jar 1.2.17

test (3)

Group / Artifact Type Version
de.tum.ei.lkn.eces : core test-jar 2.0.3
de.tum.ei.lkn.eces : master-pom-commons test-jar 1.0.21
junit : junit jar 4.13.1

Project Modules

There are no modules declared in this project.

Graph

This project implements a graph library on top of the ECES framework. The module defines a system (GraphSystem.java) in the context of that framework.

The system is able to create, modify, and delete graphs (Graph.java) consisting of edges (Edge.java) and nodes (Node.java).

Graphs, edges, and nodes are attached to their own entities.

Usage

The project can be downloaded from maven central using:

<dependency>
  <groupId>de.tum.ei.lkn.eces</groupId>
  <artifactId>graph</artifactId>
  <version>X.Y.Z</version>
</dependency>

Simple Example

The creation and deletion of a graph, a node or an edge has to be done with the createGraph(), deleteGraph(), createNode(), deleteNode(), createEdge() and deleteEdge() methods of the graph system. These methods allow to create any graph structure. The create*() methods will return the created component (graph, node or edge) and their respective public methods can then be used to get information on the corresponding component (source node of an edge, graph of a node, edges connected to a node, list of all the nodes in a graph, etc.).

Node[] n = new Node[2];
Graph g = graphSystem.createGraph();
n[0] = graphSystem.createNode(g);
n[1] = graphSystem.createNode(g);
Edge e = graphSystem.createEdge(n[0], n[1]);

See tests for other simple examples.

Advanced Examples

See other ECES repositories using this graph library (e.g., network and routing) for more detailed/advanced examples.

Versions

Version
2.0.2
2.0.1
2.0.0