EntityNavigatorResource
Navigator over resources. Edges: resource -> views built from it, resource -> next resources via consuming tasks, resource -> consuming scenarios.
Initialize self. See help(type(self)) for accurate signature.
UnionInverse of propagate_tags for resource edges: remove RESOURCE_PROPAGATED copies
from views and TASK_PROPAGATED copies from next resources, then recurse downstream.
listdict[gws_core.entity_navigator.entity_navigator_type.NavigableEntity, gws_core.tag.entity_tag_list.EntityTagList] | Noneset[gws_core.entity_navigator.entity_navigator_type.NavigableEntity] | NoneReturn the wrapped entities as a set.
setReturn the wrapped entities as a list. Order is not guaranteed (the underlying storage is a set).
listReturn an arbitrary entity from the set, or None if empty.
Useful when the caller knows the navigator wraps a single entity.
OptionalReturn the direct downstream neighbors of the wrapped entities.
Only one hop is followed (no recursion). Entities of any type listed in
requested_entities are merged into a single NavigableEntitySet.
listNavigableEntitySetReturn every entity transitively reachable downstream.
Traverses the lineage graph breadth-first. Each entity is visited once,
annotated with its depth in the returned NavigableEntitySet. Use this
for impact analysis ("what entities would be affected"). Edge-level
provenance is not preserved -- if you need to know which immediate
upstream caused a given downstream to be reached, use propagate_tags
instead.
list[gws_core.entity_navigator.entity_navigator_type.NavigableEntityType] | Nonebool - FalseNavigableEntitySetReturn notes attached to the views of the wrapped resources.
EntityNavigatorNoteReturn resources produced by tasks that consume the wrapped resources as input.
EntityNavigatorResourceReturn all the scenarios that use the resource in a source task or as input of a task
A scenario is considered a "next" scenario if it consumes (uses as input) any resource from this set. Scenarios that only produced resources in this set are excluded, unless they also consume resources produced by a different scenario in the set (which happens when resources from multiple scenarios are batched together).
EntityNavigatorScenarioReturn all the scenarios that use the resource in a source task or as input of a task
ModelSelectReturn views configured against the wrapped resources.
EntityNavigatorViewReturn every entity transitively reachable upstream.
Mirror of get_next_entities_recursive but walks the lineage graph in
the opposite direction (towards ancestors).
list[gws_core.entity_navigator.entity_navigator_type.NavigableEntityType] | Nonebool - FalseNavigableEntitySetReturn the direct upstream notes. Empty by default; overridden by subclasses.
EntityNavigatorNoteReturn resources consumed as input by the tasks that produced the wrapped resources.
EntityNavigatorResourceReturn the scenarios that generated the wrapped resources.
EntityNavigatorScenarioReturn the direct upstream views. Empty by default; overridden by subclasses.
EntityNavigatorViewReturn True if at least one entity is wrapped.
boolReturn True if any direct downstream neighbor exists.
list[gws_core.entity_navigator.entity_navigator_type.NavigableEntityType] | NoneboolReturn True if no entities are wrapped.
boolPropagate tags along two edge kinds and recurse:
- resource -> view, with origin
RESOURCE_PROPAGATEDcarrying the upstream resource's id; - resource -> next resource, with origin
TASK_PROPAGATEDcarrying the producing task's id.
See EntityNavigator.propagate_tags for the cache/visited contract.
listdict[gws_core.entity_navigator.entity_navigator_type.NavigableEntity, gws_core.tag.entity_tag_list.EntityTagList] | Noneset[gws_core.entity_navigator.entity_navigator_type.NavigableEntity] | NoneBuild the appropriate concrete navigator for a single entity, by type and id.
Raises if the entity does not exist or if entity_type is unknown.
NavigableEntityTypestrEntityNavigator