Subgraph.create constructor
Subgraph.create({})
Create a graph from a mapping of node to connected nodes.
Implementation
factory Subgraph.create({
String? id,
EdgeOp opType = EdgeOp.directed,
required Map<String, List<String>> data,
}) {
final statements = <Statement>[];
for (final node in data.keys) {
statements.add(NodeStatement(NodeId(node)));
}
for (final mapping in data.entries) {
final start = NodeId(mapping.key);
for (final end in mapping.value) {
statements.add(
EdgeStatement(
start,
EdgeRhs(opType, NodeId(end)),
),
);
}
}
return Subgraph(id, StmtList(statements));
}