Class: BidirectionalRecursion
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:164
Bidirectional graph traversal that expands from source forward via mappingFwd
and from target backward via mappingRev, meeting in the middle.
The output schema merges the schemas of source and target.
Extends
Constructors
Constructor
new BidirectionalRecursion(
lang,min,max,mappingFwd,mappingRev,target,source):BidirectionalRecursion
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:165
Parameters
| Parameter | Type | Description |
|---|---|---|
lang | Lowercase<string> | - |
min | number | Minimum path length (inclusive). |
max | number | Maximum path length (inclusive). |
mappingFwd | PlanTupleOperator | Forward edge-traversal operator (from source toward target). |
mappingRev | PlanTupleOperator | Reverse edge-traversal operator (from target toward source). |
target | PlanTupleOperator | Tuple operator providing the target rows. |
source | PlanTupleOperator | Tuple operator providing the source (start) rows. |
Returns
BidirectionalRecursion
Overrides
Properties
lang
lang:
Lowercase<string>
Defined in: packages/core/src/plan/visitor.ts:42
PlanOperator.lang
Inherited from
mappingFwd
mappingFwd:
PlanTupleOperator
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:172
Forward edge-traversal operator (from source toward target).
mappingRev
mappingRev:
PlanTupleOperator
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:174
Reverse edge-traversal operator (from target toward source).
max
max:
number
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:170
Maximum path length (inclusive).
min
min:
number
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:168
Minimum path length (inclusive).
parent?
optionalparent?:PlanOperator
Defined in: packages/core/src/plan/visitor.ts:44
PlanOperator.parent
Inherited from
schema
schema:
ASTIdentifier[]
Defined in: packages/core/src/plan/visitor.ts:38
Ordered list of attribute identifiers produced by this operator.
Inherited from
schemaSet
schemaSet:
IdSet
Defined in: packages/core/src/plan/visitor.ts:40
Trie-backed set of the same paths as schema; used for O(k) membership tests.
Inherited from
source
source:
PlanTupleOperator
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:178
Tuple operator providing the source (start) rows.
target
target:
PlanTupleOperator
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:176
Tuple operator providing the target rows.
Methods
accept()
accept<
Ret,Arg>(visitors,arg?):Ret
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:193
PlanOperator.accept
Type Parameters
| Type Parameter |
|---|
Ret |
Arg |
Parameters
| Parameter | Type |
|---|---|
visitors | Record<string, PlanVisitor<Ret, Arg>> |
arg? | Arg |
Returns
Ret
Overrides
addToSchema()
addToSchema(
item):void
Defined in: packages/core/src/plan/visitor.ts:57
will preserve object references
Parameters
| Parameter | Type |
|---|---|
item | IdSet | ASTIdentifier | ASTIdentifier[] |
Returns
void
Inherited from
clearSchema()
clearSchema():
void
Defined in: packages/core/src/plan/visitor.ts:102
will preserve object references
Returns
void
Inherited from
clone()
clone():
BidirectionalRecursion
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:218
PlanOperator.clone
Returns
BidirectionalRecursion
Overrides
getChildren()
getChildren():
PlanOperator[]
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:214
PlanOperator.getChildren
Returns
Overrides
getDependencies()
getDependencies():
IdSet
Defined in: packages/core/src/plan/visitor.ts:113
PlanOperator.getDependencies
Returns
Inherited from
PlanTupleOperator.getDependencies
removeFromSchema()
removeFromSchema(
item):boolean
Defined in: packages/core/src/plan/visitor.ts:80
will preserve object references
Parameters
| Parameter | Type |
|---|---|
item | IdSet | ASTIdentifier | ASTIdentifier[] |
Returns
boolean
Inherited from
PlanTupleOperator.removeFromSchema
replaceChild()
replaceChild(
current,replacement):void
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:201
PlanOperator.replaceChild
Parameters
| Parameter | Type |
|---|---|
current | PlanOperator |
replacement | PlanOperator |
Returns
void