Skip to content
This repository was archived by the owner on Mar 12, 2020. It is now read-only.
This repository was archived by the owner on Mar 12, 2020. It is now read-only.

Use Neo4J backend #19

Closed
Closed
@tdauth

Description

@tdauth

See #5 for the investigation of GraphDBs.

Neo4J allows transactions which provide concurrency support.
It can also visualize the state machines/graphs.

Labels group nodes together, so a SutState is not really a label.
An action type can be a label.

Some information about OGM:

We store only the hashes and some additional information of the SutStates and actions in the graphdb.
Otherwise, it would be an antipattern.
Note that we need to use the Bolt protocol to utilize most of the tools for visualization and management.
Embedded databases are useful for storage only.

Open questions:

  • How can we separate graphs with Bolt? Different port numbers?
  • How does the user specify username and password for one graph database using the API?
  • Does the user have to setup a Bolt Neo4J database before he/she can use the API or does our API automatically set it up for the first time?
  • Which tools are the best for management and visualization? I have found the Desktop application https://neo4j.com/developer/neo4j-desktop/ which allows you to start Bolt graph databases and brings a browser which can visualize them. The browser's UI is available in a web browser as well. There are import/export apoc procedures which can be installed for GraphML etc.: http://neo4j-contrib.github.io/neo4j-apoc-procedures/3.5/export-import/graphml/

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions