package dgm;
import com.fasterxml.jackson.databind.JsonNode;
import dgm.ID;
import java.util.Map;
/**
TODO fix this documentation a bit
how is this interface complete:
- instead of removing from the graph, there is just no element generated for the next version of a document.
- every ID used, which is not explicitly "added" first will be considered 'symbolic' and created without data,
once the graph is viewed, referring to some indirect reference to a node.
*/
public interface Subgraph
{
enum Direction { INWARDS, OUTWARDS };
interface Edge {
ID other();
Direction direction();
String label();
Map<String,JsonNode> properties();
}
Iterable<Edge> edges();
Map<String,JsonNode> properties();
}