BCOM — Barcelona Computational FoundationBCOM
CalliopeKnowledge Librarian
WP0087
working_papercompletedinternalcomplete

Mapping the KT Corpus

Giulio Ruffini,

★ guarantor: Giulio Ruffini · vouches for the paper per WP0084 §6

P1·Computational Neuropsychiatry & NeurophenomenologyP2·Artificial & Synthetic IntelligenceP3·Society of AgentsP4·Philosophy & EthicsP5·Digital Physics & Algorithmic Information TheoryP6·Life & EvolutionL1·PhilosophyL2·MathematicsL3·Algorithmic SoupL4·PhysicsL5·LifeL6·BrainsL7·Interacting Agents / SocietiesL8·Ecosystems
zipDownload all
PDFWP0087.pdfThe paper — open to read

The Kolmogorov Theory (KT) program at BCOM now spans 82 documents --- 18 published papers (P00--P17) and 64 working papers (WP00xx) --- written across more than two decades and covering everything from algorithmic information theory foundations through Lie-pseudogroup generative models, laminar neural mass models, and models of structured experience. As the corpus has grown it has become harder to see at a glance which papers descend from which, which concepts recur, and where the gaps are. This working paper describes how we built a self-describing reference graph of the corpus --- an Archeon JSON graph with 82 nodes, 236 directed edges, eight conceptual layers, eight BCOM pillars, and a Zotero-backed reference for every node. We present (i) the data pipeline that ingests a combined corpus Markdown export, a Zotero .bib export, and a curated classification table; (ii) the three-orthogonal-axis edge schema we adopted to cut edge count from 615 to 236 while preserving the lineage structure of the program; (iii) the fuzzy title-matching algorithm that resolves 63 of 82 papers against Zotero and a small curated fallback table that covers the remainder; and (iv) the resulting graph, which we use as an anchor slide for the KT programme and as a substrate for downstream pedagogy. All pipeline code, the generated JSON, and intermediate artefacts are included as supplementary material.

A knowledge-graph plumbing paper: how to turn 82 scattered research documents into a single navigable JSON graph that knows its own structure.

The KT corpus has grown past the point where any one person can hold its shape in their head. Twenty-five years of work, 82 documents, ideas that build on each other in at least three distinct ways (one paper extends another, cites it, or takes a stance on it) — and until now, no machine-readable map of any of that. This paper describes building one.

The core engineering problem is that the raw information lives in three places that don't agree with each other: a Markdown export from Calliope (which knows paper IDs and cross-references), a Zotero .bib file (which knows proper bibliographic metadata), and a hand-maintained Python file (which knows the editorial judgments — "this WP is a seed of that published paper"). The pipeline stitches these together. The trickiest join is matching Zotero titles to corpus IDs, since the same paper appears as "P05: AIT Foundations of Structured Experience" in one place and "AIT Foundations of Structured Experience" in the other, with LaTeX escapes and brace-protected capitals thrown in. A fuzzy matcher with two guards — a length-ratio check to prevent short titles from matching anything that contains them, and a significant-word overlap check — resolves 63 of 82 papers automatically; the rest fall back to a curated table or a synthesized entry.

The more interesting design decision is the edge schema. A naive first pass produced 615 directed edges — roughly 7.5 per node — which is unreadable in any visualization. The fix was to recognize that three kinds of relationship (lineage, citation, stance) are genuinely orthogonal: a paper can extend a predecessor and cite it, or cite without extending, or critique without either. Instead of one edge per relation, the schema uses one edge per ordered pair of papers, with three independent attribute slots. This collapses 615 edges to 236 without losing any information — the label just reads "extends · cites" when both slots are filled. The stance axis (endorses / critiques) is defined in the schema but currently empty; the curation work hasn't been done yet, and the paper says so plainly.

The result is a single self-describing JSON file: 82 nodes, 236 edges, 8 conceptual layers, 8 research pillars, 21 circuits (groupings), and a full bibliographic record per node. It loads directly into the Archeon graph tool, but it's also just JSON — three lines of Python get you all lineage edges or all papers in a given pillar. The stated downstream uses are an onboarding map for new collaborators, an anchor slide for overview decks, and auto-generated bibliography snippets for future working papers. The pipeline is deterministic and re-runnable: adding a new paper is a three-command rebuild plus a five-line edit to the classifications file.

Zenodo
10.5281/zenodo.21008663
WP ID
WP0087
Lifecycle
completed
Visibility
internal
Access level
open
Embargo until
Priority
Collab
closed
Venue
DOI
Deadline
Owner
Source
drive_legacy
Repo path
WP0087
  • v0.1.0 (draft) · drive-legacy · zenodo:21008664
    Auto-created on first summarize after upload.