Graph engine with Gremlin API, which could be embedded anywhere. Could use for storage Memory, Indexed DB or any persistent (No)SQL database.

See test folder for a lot of examples of usage.

import 'package:grapheen/grapheen.dart';
...
Grapheen g = await newGrapheen(new Storage(),"test");
Pipe vIM = await g.addVertex({"name":"Iron Maiden"}); // id=1
Pipe vHM = await g.addVertex({"name":"Heavy Metal"}); // id=2
Pipe e1 = await g.addEdge(vIM,vHM,"PLAYS"); // id=3
List<int> ids;
ids = await g.V(1).outE().inV(); // [2]
ids = await g.V("name","Iron Maiden").outE("PLAYS").inV(); // [2]
await g.V(1).setProperty("name","Iron 'The best' Maiden");
await g.E(3).remove();

Functionality

I am implementing the Gremlin API as needed for my projects, so far I have:

  • Grapheen - addVertex
  • Grapheen - addEdge
  • Pipe - V
  • Pipe - E
  • Pipe - inE, outE, bothE
  • Pipe - inV, outV, bothV
  • Pipe - setProperty
  • Pipe - remove

References

Libraries

grapheen