Class ZeroToManyRelationVertexLoader<TRetrievedItem>

The 0:many connected vertices data loader.

This class aggregates multiple 0:many connections retrievals into a single Gremlin query.

The logic is similar to the ZeroToManyRelationCountLoader; in most cases, while not guaranteed, counters and vertices queries would be aggregated by same keys.

Check ZeroToManyRelationVertexLoaderDataLoaderId type and serializeDataLoaderId method for details on what properties are used for aggregating queries.

Mermaid

Retrieving 0:many relationships vertices

%%{init:{"theme":"dark"}}%% sequenceDiagram participant Resolvers participant ZeroToManyRelationVertexLoader participant Graph database Resolvers->>ZeroToManyRelationVertexLoader: Retrieve
%%{init:{"theme":"default"}}%% sequenceDiagram participant Resolvers participant ZeroToManyRelationVertexLoader participant Graph database Resolvers->>ZeroToManyRelationVertexLoader: Retrieve
sequenceDiagram
    participant Resolvers
    participant ZeroToManyRelationVertexLoader
    participant Graph database
    Resolvers->>ZeroToManyRelationVertexLoader: Retrieve
`a` relationships for vertex 1 ZeroToManyRelationVertexLoader->>Resolvers: Promise Resolvers->>ZeroToManyRelationVertexLoader: Retrieve `a` relationships for vertex 2 ZeroToManyRelationVertexLoader->>Resolvers: Promise Resolvers->>ZeroToManyRelationVertexLoader: Retrieve `a` relationships for vertex 3 ZeroToManyRelationVertexLoader->>Resolvers: Promise Resolvers->>ZeroToManyRelationVertexLoader: Retrieve `b` relationships for vertex 4 ZeroToManyRelationVertexLoader->>Resolvers: Promise activate ZeroToManyRelationVertexLoader Note left of ZeroToManyRelationVertexLoader: Aggregates requests until next event loop tick ZeroToManyRelationVertexLoader->>Graph database: Retrieve `a` relationships (edges + vertices) for vertices 1, 2, 3 ZeroToManyRelationVertexLoader->>Graph database: Retrieve `b` relationships (edges + vertices) for vertex 4 Graph database->>ZeroToManyRelationVertexLoader: Response: `a` relationships for vertices 1, 2, 3 Graph database->>ZeroToManyRelationVertexLoader: Response: `b` relationships for vertex 4 Note left of ZeroToManyRelationVertexLoader: Resolves Promises deactivate ZeroToManyRelationVertexLoader ZeroToManyRelationVertexLoader->>Resolvers: `a` relationships (edges + vertices) for vertex 1 ZeroToManyRelationVertexLoader->>Resolvers: `a` relationships (edges + vertices) for vertex 2 ZeroToManyRelationVertexLoader->>Resolvers: `a` relationships (edges + vertices) for vertex 3 ZeroToManyRelationVertexLoader->>Resolvers: `b` relationships (edges + vertices) for vertex 4

Type Parameters

Hierarchy

Constructors

Properties

graphConnector: GraphConnector
schemaManager: SchemaManager
search: Search

Methods

Generated using TypeDoc