You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Vertex - fetch all properties + any "inner" edges and their properties.
Edge - fetch all properties + both vertices and their properties.
If a vertex's schema is of type 'ref', its properties will only be fetched when it passes through a UniGraphVertexPropertiesSideEffectStep, a step that comes before any step that uses properties, and issues a DeferredVertexQuery. This ensures that the vertices will only be queried if and when its needed (i.e. lazy loading).
Problems
When an Element is queried, all its properties are fetched, whether or not they are needed by this traversal.
When a Vertex is queried, all its "inner" edges are fetched, whether or not they are needed by this traversal.
This issue tries to solve problem 1. We should probably create another ticket for solving problem 2 in the future.
Solution suggestion
SearchQuery/SearchVertexQuery/DeferredVertexQuery should pass a list of property keys needed from the queried element. UniGraphPropertiesStepStrategy should provide the property lists to the querying steps by analyzing the traversal. Scenarios:
No step in the traversal needs any property - empty list.
Step(s) in the traversal need specific property(s) - property list.
Step(s) in the traversal iterate over all properties - null list.
Unknown (the strategy couldn't identify which properties are needed) - null list. ???
Next, when a Controller receives these queries it should only fetch the relavent properties, or not issue a query at all when possible.
The text was updated successfully, but these errors were encountered:
Current querying behavior
UniGraphVertexPropertiesSideEffectStep
, a step that comes before any step that uses properties, and issues aDeferredVertexQuery
. This ensures that the vertices will only be queried if and when its needed (i.e. lazy loading).Problems
This issue tries to solve problem 1. We should probably create another ticket for solving problem 2 in the future.
Solution suggestion
SearchQuery/SearchVertexQuery/DeferredVertexQuery should pass a list of property keys needed from the queried element.
UniGraphPropertiesStepStrategy
should provide the property lists to the querying steps by analyzing the traversal. Scenarios:null
list.null
list. ???Next, when a Controller receives these queries it should only fetch the relavent properties, or not issue a query at all when possible.
The text was updated successfully, but these errors were encountered: