(self, spec: SelectionSpec)
return direct_nodes, indirect_only
Select the nodes in the graph according to the spec.

        This is the main point of entry for turning a spec into a set of nodes:
        - Recurse through spec, select by criteria, combine by set operation
        - Return final (unfiltered) selection set
Select the nodes in the graph according to the spec.
Select the nodes in the graph according to the spec .
def select_nodes(self, spec: SelectionSpec) -> Tuple[Set[UniqueId], Set[UniqueId]]:
        """Select the nodes in the graph according to the spec.

        This is the main point of entry for turning a spec into a set of nodes:
        - Recurse through spec, select by criteria, combine by set operation
        - Return final (unfiltered) selection set
        """
        direct_nodes, indirect_nodes = self.select_nodes_recursively(spec)
        indirect_only = indirect_nodes.difference(direct_nodes)
        return direct_nodes, indirect_only
def select_nodes ( self , spec : SelectionSpec ) -> Tuple [ Set [ UniqueId ] , Set [ UniqueId ] ] : direct_nodes , indirect_nodes = self . select_nodes_recursively ( spec ) indirect_only = indirect_nodes . difference ( direct_nodes ) return direct_nodes , indirect_only