torchcell.knowledge_graphs.kg_manifest.GraphSchemaEntry

class GraphSchemaEntry(*, kind: ~typing.Literal['node', 'edge'], properties: list[str] = <factory>, source: list[str] = <factory>, target: list[str] = <factory>)[source]

Bases: BaseModel

One BioCypher class: what the graph stores for it.

served_nodes_unchanged_by(current: GraphSchemaEntry | None) → bool[source]

True if nodes/edges written under self are still what current means.

A node class must keep exactly its property set (served nodes would otherwise lack, or carry, properties the code now expects). An edge class may GAIN source or target labels (a new phenotype family joining phenotype member of is additive); losing one, or changing kind, is a change to what is served.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].