Minimum graph's edge data structure implemented with redis
npm install smallorange-redis-edge-graph

get({ entity? string, node: string }): Observable;
multiGet({ entity? string, nodes: Array }): Observable>;
set({ entity? string, node: string, data: object }): Observable;
multiSet({ entity? string, values: Array<{ node: string, data?: object }>, }): Observable>;
patch({ entity? string, node: string, data: object }): Observable;
count({ direction?: string entity? string, fromNode: string, max?: number, min?: number }): Observable;
delete({ direction?: string entity? string, fromNode: string, toNode: string }): Observable;
deleteMatchingNode({ fromNode: string }): Observable;
all(): Observable;
allMatchingNode({ by?: 'distance' | 'timestamp', direction?: string entity? string, fromNode: string, toNode: string, noInverse?: boolean, onlyNodes?: boolean }): Observable;
closest({ desc?: boolean, direction?: string distance?: [min?: number, max?: number], entity? string, filter? string, fromNode: string, limit: [min?: number, max?: number], timestamp: [min?: number, max?: number] }): Observable;
link({ absoluteDistance?: number, direction?: string distance?: number, entity? string, fromNode: string, noTimestamp?: boolean, toNode: string }): Observable;
traverse({ concurrency?: number, jobs: Array<{ absoluteDistance?: number, direction?: string distance?: number, entity? string, fromNode: string, noTimestamp?: boolean, toNode: string }>, maxPath: number, minPath: number, remoteClosest: function, remoteClosestIndex: number }): Observable;
class App { constructor() { const redis = new Redis({ connection: { port: 6380 } });
this.redis = redis; this.namespace = 'graph-1'; this.node = new Node({ namespace: 'graphName', redis });
this.edge = new Edge({ namespace: 'graphName', node: this.node, redis }); } }