Skip to content

[Epic] Graph model v2 — bi-temporal relational facts #18

Description

@StigNorland

Tracking issue for the graph rework designed in paper/graph-model-v2.md (committed 86347bc).

Core: a single bi-temporal Fact edge primitive — (subject)—[predicate]→(object) carrying event-time validity (t_valid/t_invalid) + ingestion time (t_created/t_expired) + provenance. Adopted from Zep/Engram rather than reinvented.

Settled design decisions (doc §10):

  • Variable-precision TimeValue (year→subsecond) with recurrence + anchor.
  • Open predicate vocabulary; cardinality inferred from data, not a hardcoded table.
  • Only concepts merge; entities and facts are singular. Coreference = link, not fusion.
  • TIME_POINT kept for date-as-content / co-reference (distinct from date-as-validity).
  • polarity (asserted/negated) on facts; opinions = facts whose subject is the holder.
  • One unified "referring-expression → node" resolver; local coref resolves structurally, only genuinely-underspecified refs defer to LLM.
  • Retrieval gains an as-of point-in-time filter.

Sub-workstreams (to be split into issues when scheduled):

  • TimeValue type + variable precision + recurrence
  • bi-temporal Fact edge on graph.py Edge
  • supersession + inferred per-predicate cardinality (§7)
  • entity↔entity (subject,predicate,object) extraction
  • polarity + opinion (holder-as-subject) + INSTEAD_OF event relation
  • unified referring-expression resolver (entity/time/pronoun coref, LLM-deferred for underspecified)
  • as-of retrieval filter
  • bottom-up concept/community formation (doc §6 — depends on the above)

Absorbs/supersedes: #15 (signature identity — reframed: concepts merge, entities match), #17 (L2 META gets a job via bottom-up concepts). Blocks meaningful re-eval (#14) once reconnect chores land.

Metadata

Metadata

Assignees

No one assigned

    Labels

    designArchitecture / design scienceepicMulti-issue workstream

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions