Handles resolving patterns on a graph
Handles resolving patterns on a graph
This optimizes counting by traversing index nodes, and not iterating over tuples blocks.
This optimizes counting by traversing index nodes, and not iterating over tuples blocks.
Lookup an index in the graph for the requested data. Returns a sequence of unlabelled bindings. Each binding is a vector of binding values.
Lookup an index in the graph for the requested data. Returns a sequence of unlabelled bindings. Each binding is a vector of binding values.
Lookup an index in the graph for the requested data, and returns all data where the required predicate is a transitive relationship. Unspecified predicates extend across the graph. Returns a sequence of unlabelled bindings. Each binding is a vector of binding values.
Lookup an index in the graph for the requested data, and returns all data where the required predicate is a transitive relationship. Unspecified predicates extend across the graph. Returns a sequence of unlabelled bindings. Each binding is a vector of binding values.
(ordered-collect pairs)
Converts a sequence of key/value pairs that are grouped by key, and returns a map of keys to sets of values. The grouping of keys allows the avoidance of map lookups.
Converts a sequence of key/value pairs that are grouped by key, and returns a map of keys to sets of values. The grouping of keys allows the avoidance of map lookups.
(transitive-from idx pool tag x tproject ypos rproject)
Steps out from a provided node either forwards or backwards, to the next nodes in the required direction. idx: The index to use for lookups in the required direction pool: The datapool to turn local nodes (numbers) into global nodes (values) tag: Indicates is the transitive operation is * or + x: The starting node. A subject when going downstream, or an object when going upstream. tproject: A function for projecting tuples of predicates and the next node from x. ypos: The position in the index of the next nodes in the required direction. subjects when starting at an object, and objects when starting at a subject. rproject: A function for projecting the final result as a vector in the expected order for the operation.
Steps out from a provided node either forwards or backwards, to the next nodes in the required direction. idx: The index to use for lookups in the required direction pool: The datapool to turn local nodes (numbers) into global nodes (values) tag: Indicates is the transitive operation is * or + x: The starting node. A subject when going downstream, or an object when going upstream. tproject: A function for projecting tuples of predicates and the next node from x. ypos: The position in the index of the next nodes in the required direction. subjects when starting at an object, and objects when starting at a subject. rproject: A function for projecting the final result as a vector in the expected order for the operation.
(zero-step tag pool zero result)
Prepend a zero step value if the tag requests it
Prepend a zero step value if the tag requests it
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close