All pastes #2054375 Raw Edit

Something

public text v1 · immutable
#2054375 ·published 2011-05-05 22:11 UTC
rendered paste body
struct 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
  );  
}