rendered paste bodystruct Node {
1: required i64 id,
2: required NodeType node_type,
3: required map<string,string> properties,
4: optional i64 created_at,
5: optional i64 updated_at
}
struct Edge {
1: required i64 from,
2: required i64 to,
3: required EdgeType edge_type,
4: optional EdgeType inverse_edge_type,
5: optional i64 created_at,
6: optional i64 updated_at
}
service GraphStore {
i64 createNode(
1: required NodeType node_type
);
void createEdge(
1: required Edge edge
);
list<Node> getNodes(
1: required list<i64> ids
);
list<list<i64>> getEdges(
1: required list<i64> ids,
2: required EdgeType edge_type
);
list<list<Node>> getConnectedNodes(
1: required list<i64> ids,
2: required EdgeType edge_type
);
void updateNode(
1: required Node node
);
void deleteEdge(
1: required Edge edge
);
void deleteNode(
1: required i64 id
);
}