"""Helpers for validating LLM-generated ontology structures.""" from typing import Any, Dict, Optional def normalize_ontology_attribute(attribute: Any) -> Optional[Dict[str, Any]]: """Return a safe attribute definition, or ``None`` for unusable values.""" if isinstance(attribute, str): if not attribute.strip(): return None return { "name": attribute, "type": "text", "description": attribute, } if not isinstance(attribute, dict): return None name = attribute.get("name") if not isinstance(name, str) or not name.strip(): return None normalized = dict(attribute) description = normalized.get("description") if not isinstance(description, str) or not description: normalized["description"] = name return normalized