Personal Website Ontology
Personal Website Ontology
Summary
This project applies concepts from knowledge graph architecture to organize a personal website. Each page on this site has a typed front matter (node-type: project, node-type: role, etc.) that defines what kind of content it represents. Relationships between pages are encoded as YAML metadata – a project uses-skill, a project was produced-during a role, a publication demonstrates a skill.
The result is a website that is both human-readable and machine-parseable, where the structure itself documents the relationships between work, skills, and experience.
Origin
This approach grew out of work on the SCDCernerProject, where we built an ontology schema to organize clinical research reasoning – defining node types (Claims, Evidence, Constraints, Assumptions), edge types (supports, refutes, requires), and validation gates. The insight was that the same principle of typed, connected knowledge applies to organizing any body of work, not just clinical research.
How It Works
- Every content page declares a
node-typein its YAML front matter - Relationships are encoded as metadata fields (
skills:,role:,categories:) - Quarto listings auto-generate index pages per type
- The schema is documented in
_ontology-schema.yml(machine-readable)
See How This Site Works for the full explanation.
What This Is Not
This is not a graph database or a JavaScript application. It’s a convention-based system – the same approach used in Phase 1 of the SCDCernerProject architecture. The “graph” exists in the relationships encoded in front matter, not in a runtime query engine. The value is in making structure explicit and consistent.