Find nodes by type and/or exact field values: ``find(Entity, name="Alice")``.
(
self, node_type: Union[str, Type[DataPoint], None] = None, **field_filters: Any
)
| 152 | return [node for node in self.nodes if node.type == node_type] |
| 153 | |
| 154 | def find( |
| 155 | self, node_type: Union[str, Type[DataPoint], None] = None, **field_filters: Any |
| 156 | ) -> List[DataPoint]: |
| 157 | """Find nodes by type and/or exact field values: ``find(Entity, name="Alice")``.""" |
| 158 | nodes = self.nodes_of_type(node_type) if node_type is not None else list(self.nodes) |
| 159 | for field_name, expected in field_filters.items(): |
| 160 | nodes = [node for node in nodes if getattr(node, field_name, None) == expected] |
| 161 | return nodes |
| 162 | |
| 163 | def link_relations(self) -> "GraphSnapshot": |
| 164 | """Re-attach edges as object references on declared relation fields. |