Bases: ConfigBaseModel
Schema metadata and versioning information.
Holds metadata about the schema, including its name, version, and
description. Used for schema identification and versioning.
Suitable for LLM-generated schema constituents.
Source code in graflo/architecture/schema/metadata.py
| class GraphMetadata(ConfigBaseModel):
"""Schema metadata and versioning information.
Holds metadata about the schema, including its name, version, and
description. Used for schema identification and versioning.
Suitable for LLM-generated schema constituents.
"""
name: str = PydanticField(
...,
description="Name of the schema (e.g. graph or database identifier).",
)
version: str | None = PydanticField(
default=None,
description="Semantic version of the schema (e.g. '1.0.0', '2.1.3-beta+build.42').",
)
description: str | None = PydanticField(
default=None,
description="Optional human-readable description of the schema.",
)
@field_validator("version")
@classmethod
def _validate_semver(cls, v: str | None) -> str | None:
if v is not None and not _SEMVER_RE.match(v):
raise ValueError(
f"version '{v}' is not a valid semantic version "
f"(expected MAJOR.MINOR.PATCH[-prerelease][+build])"
)
return v
|