Skip to main content

agrag.ingestion.merge.merge_properties

merge_properties(property_sources:list[dict[str, object]], rules:PropertyRules, *, description_settings:Any | None = None, description_client:Any | None = None, tracer:Tracer | None = None) -> tuple[dict[str, object], list[ConflictRecord], list[Any]]

Return field-resolved properties and records of every real conflict.

Parameters:

  • property_sources (list[dict[str, object]]) – One dict per source entity/mention, keyed by field.
  • rules (PropertyRules) – The per-property rule table.
  • description_settings (Any | None) – LLM settings for description summarization.
  • description_client (Any | None) – Injected LLM client for tests.
  • tracer (Tracer | None) – Passed to description summarization.

Returns:

  • tuple[dict[str, object], list[ConflictRecord], list[Any]] – The resolved properties, conflict records, and optional stage failures.