UNPKG

metagraph

Version:

A framework for building higher-order graph data structures

127 lines 6.17 kB
/** * Creates a subgraph pattern specification for filtering parent graphs. * Enables creation of subgraphs by selecting subsets of nodes and edges from parent graphs. * * @param opts - Optional graph options for customizing node/edge accessors * @returns A pattern specification for creating subgraph functionality * * @example * ```typescript * // Used in composed patterns to enable subgraph operations * const subPat = subgraph_pattern(); * // Results in parent.subgraph(['nodeA', 'nodeB'], ['edge1'], data) * ``` */ export declare const subgraph_pattern: (opts?: any) => { dataflow: { incidences: { parent_nodes: { node: { calc: (fnode: import("./types.js").Node) => (defn: import("./types.js").PatternDefinition) => (flow: import("./types.js").DataflowInstance) => () => unknown; }; }; parent_edges: { node: { calc: (fnode: import("./types.js").Node) => (defn: import("./types.js").PatternDefinition) => (flow: import("./types.js").DataflowInstance) => () => unknown; }; }; node_keys: { node: { calc: (fnode: import("./types.js").Node) => (defn: import("./types.js").PatternDefinition) => (flow: import("./types.js").DataflowInstance) => () => unknown; }; }; edge_keys: { node: { calc: (fnode: import("./types.js").Node) => (defn: import("./types.js").PatternDefinition) => (flow: import("./types.js").DataflowInstance) => () => unknown; }; }; subset_nodes: { node: { calc: (fnode: import("./types.js").Node) => (defn: import("./types.js").PatternDefinition) => (flow: import("./types.js").DataflowInstance) => (items: unknown[], keys: string[]) => unknown[]; }; refs: string; ins: string[]; }; subset_edges: { node: { calc: (fnode: import("./types.js").Node) => (defn: import("./types.js").PatternDefinition) => (flow: import("./types.js").DataflowInstance) => (items: unknown[], keys: string[]) => unknown[]; }; refs: string; ins: string[]; }; nodes: { node: { calc: (fnode: import("./types.js").Node) => (defn: import("./types.js").PatternDefinition) => (flow: import("./types.js").DataflowInstance) => (x: unknown) => unknown; }; ins: string; }; edges: { node: { calc: (fnode: import("./types.js").Node) => (defn: import("./types.js").PatternDefinition) => (flow: import("./types.js").DataflowInstance) => (x: unknown) => unknown; }; ins: string; }; }; }; interface: { nodes: { ParentGraph: string; ChildGraph: string; }; edges: { subgraph: { name: string; source: string; target: string; member: { funfun: (flowspec: import("./types.js").Graph, iedge: import("./types.js").Edge, flowspecs?: Record<string, import("./types.js").Graph>) => (defn: import("./types.js").PatternDefinition, flow: import("./types.js").DataflowInstance, val: unknown) => () => (nodeKeys: string[], edgeKeys: string[], gdata: unknown) => unknown; }; }; subnode: { name: string; source: string; target: string; deps: string; member: { funfun: (flowspec: import("./types.js").Graph, iedge: import("./types.js").Edge) => (defn: import("./types.js").PatternDefinition, flow: import("./types.js").DataflowInstance, val: unknown) => (map: Record<string, unknown>) => (key: unknown) => unknown; }; }; subedge: { name: string; source: string; target: string; deps: string; flow: { funfun: (flowspec: import("./types.js").Graph, iedge: import("./types.js").Edge) => (defn: import("./types.js").PatternDefinition, flow: import("./types.js").DataflowInstance, val: unknown) => (map: Record<string, unknown>) => (key: unknown) => unknown; }; }; subgraphS: { name: string; source: string; target: string; member: { funfun: (flowspec: import("./types.js").Graph, iedge: import("./types.js").Edge, flowspecs?: Record<string, import("./types.js").Graph>) => (defn: import("./types.js").PatternDefinition, flow: import("./types.js").DataflowInstance, val: unknown) => () => (nodeKeys: string[], edgeKeys: string[], gdata: unknown) => unknown; }; }; subnodeS: { name: string; source: string; target: string; deps: string; member: { funfun: (flowspec: import("./types.js").Graph, iedge: import("./types.js").Edge) => (defn: import("./types.js").PatternDefinition, flow: import("./types.js").DataflowInstance, val: unknown) => (map: Record<string, unknown>) => (key: unknown) => unknown; }; }; subedgeS: { name: string; source: string; target: string; deps: string; flow: { funfun: (flowspec: import("./types.js").Graph, iedge: import("./types.js").Edge) => (defn: import("./types.js").PatternDefinition, flow: import("./types.js").DataflowInstance, val: unknown) => (map: Record<string, unknown>) => (key: unknown) => unknown; }; }; }; }; }; //# sourceMappingURL=subgraph_pattern.d.ts.map