---
name: filtered_entities
lang: py
domain: core
version: "1.0.0"
algebraic: product
definition: |
  @dataclass
  class FilteredEntities:
      entities: list[EntityNode]
      entity_types: set[str]
      total_count: int
      filtered_count: int
description: "Resultado de filtrar entidades de un knowledge graph por tipos definidos. Captura tanto las entidades filtradas como los conteos para reporting."
tags: [entity, graph, knowledge-graph, filter, core]
uses_types: [entity_node_py_core]
file_path: "python/types/core/filtered_entities.py"
---

## Metodos

- `to_dict() -> dict` — serializa el resultado a un diccionario, incluyendo cada entidad serializada con `EntityNode.to_dict()`.

## Ejemplo

```python
from entity_node import EntityNode
from filtered_entities import FilteredEntities

nodes = [
    EntityNode(uuid="1", name="Alan Turing", labels=["Person"]),
    EntityNode(uuid="2", name="MIT", labels=["Organization"]),
]

result = FilteredEntities(
    entities=nodes,
    entity_types={"Person", "Organization"},
    total_count=10,
    filtered_count=2,
)

print(result.filtered_count)  # 2
print(result.to_dict())
```

## Notas

El campo `entity_types` es un `set[str]` que contiene los tipos unicos encontrados entre las entidades filtradas. `total_count` refleja el total antes de aplicar el filtro y `filtered_count` el total despues, permitiendo calcular cuantas entidades fueron descartadas. Depende de `EntityNode` para la lista de entidades.
