Skip to content
🚧 Early alpha — building the foundation. See the roadmap →

Ontology evolution

Updated

NIST publishes CSF 2.0. Suddenly:

  • Your evidence links to CSF 1.1 controls might point to renamed/restructured concepts
  • Your crosswalk to CIS v7 is now doubly stale (both sides updated)
  • Your compliance posture documentation references a retired version

This is ontology evolution — the things you built your knowledge on have changed underneath you.

Layer 1
The ontology itself changes
Framework v1adds, removes, renamesFramework v2
Layer 2
Crosswalks between ontologies break
A ↔ B mappingone side updatesA ↔ B mapping stale
Layer 3
Your work becomes unreliable
Evidence linked to v1links to renamed IDsEvidence → broken links

Real examples of what frameworks actually do when they update:

NIST CSF 1.1 → 2.0
Before
5 Functions
Identify, Protect, Detect, Respond, Recover
Added entirely new function
After
6 Functions
+ GOVERN
MITRE ATT&CK sub-technique migration (2020)
Before
T1086
PowerShell
ID changed, nested under parent
After
T1059.001
Command and Scripting: PowerShell
CIS Controls v7 → v8
Before
20 Controls
Merged and renumbered
After
18 Controls
(consolidated)

Each framework evolves differently:

FrameworkWhat changesHow it changesHow oftenMachine-readable?
NIST CSFAdded GOVERN function, restructured subcategoriesMajor version, Excel crosswalk provided~5-10 yearsExcel only
NIST 800-53Added 65 controls, 2 new families (PT, SR)Major revision, comparison workbook~5-10 yearsExcel only
MITRE ATT&CKTechniques added/deprecated/revokedBiannual, STIX 2.1 JSON changelogsEvery 6 monthsYes (STIX JSON)
CIS ControlsSafeguards consolidated, renumberedMajor version, no automated migration~3-4 yearsNo
CRI ProfileDiagnostic statements updated, mappings separatedAd-hoc, mapping workbook~1-2 yearsExcel only

When Framework A updates but the A↔B crosswalk doesn’t, every link through that crosswalk is suspect.

The crosswalk from CSF 1.1 → 800-53 was maintained by NIST OLIR. But OLIR is submission-based — someone has to manually update it. There’s no automatic staleness detection. See crosswalk staleness.

The pivot/interlingua solution: SCF’s STRM maps 175+ frameworks through one central hub. When one framework updates, only one mapping needs updating. See schema matching.

Your vault
📄 MFA-Policy.md
evidence note
AC-2.md
NIST 800-53
PR.AC-1.md
CSF 1.1
PR.AC-1 renamed to PR.AC-01
Your link is now broken
After CSF 2.0 import
PR.AC-01.md
CSF 2.0

Your evidence mapping work — the hours spent linking policies to controls — is at risk every time a framework updates.

The ontology evolution problem involves distinct entities with different roles, incentives, and timelines:

Each actor operates on a different timeline:

ActorUpdate cadenceYour notification
NIST (framework owner)Every 5-10 yearsFederal Register notice, months of public comment
MITRE (framework owner)Every 6 monthsBlog post, STIX JSON changelog
OLIR (mapping maintainer)When someone submits an updateNo notification — you discover staleness yourself
SCF (mapping hub)When a framework they track updatesRelease notes on their site
Your GRC team (consumer)Continuous — evidence links added dailyYou need to know when YOUR imported snapshot is stale

The gap Crosswalker fills: No existing tool watches all these actors and tells you “your imported NIST 800-53 is now outdated, here’s what changed, and here’s which of your evidence links are affected.”

Ownership
Framework Owner
publishes, versions
Framework
Mapping
Framework A
crosswalk (maintained by someone)
Framework B
Consumption
Your Team
imports, links evidence to
Framework

Three distinct relationship types, each with different staleness risks:

  1. Ownership: Framework owner → framework. Stable until they publish an update.
  2. Mapping: Maintained by a THIRD PARTY (OLIR, SCF, or community). Can go stale independently of either framework.
  3. Consumption: YOUR work linking evidence to controls. At risk whenever ownership OR mapping changes.

The EvolutionPattern taxonomy needs to track not just how a framework changes, but:

  • Who maintains it (and how responsive they are to updates)
  • Who maintains the crosswalks (OLIR? SCF? community? unmaintained?)
  • What notification mechanisms exist (STIX JSON? Excel diff? nothing?)
  • What’s your exposure (how many of your evidence links touch this framework?)

These are the progressive classification inputs — community pre-classified profiles capture this institutional knowledge so individual users don’t have to research it.

How to handle it: Slowly Changing Dimensions

Section titled “How to handle it: Slowly Changing Dimensions”

The data warehouse community solved this decades ago with Slowly Changing Dimensions (SCD). These patterns apply directly:

Type 1: Overwrite
1
Import CSF 2.0
2
Delete CSF 1.1 folder
Evidence links → broken
Type 2: Keep history
1
Import CSF 2.0
2
Keep CSF 1.1 folder too
Both versions coexist
Type 3: Alias
1
Import CSF 2.0
2
PR.AC-01.md gets
aliases: [PR.AC-1]
Old links still resolve
SCD TypeWhat happensWhen to useCrosswalker implementation
Type 1 (overwrite)Delete old, import newFramework barely changed (patch/typo fix)Simple re-import
Type 2 (keep history)Both versions coexist in separate foldersMajor version changeVersion-tagged import folders
Type 3 (alias)New notes have aliases pointing to old IDsIDs renamed but concept unchanged_crosswalker.previous_ids in frontmatter
Type 6 (hybrid)History + alias + current flagMost complete handlingFull metadata tiers

Crosswalker’s default: Type 2 (version-tagged folders) + Type 3 (ID aliasing) — keep history, maintain link continuity.

When multiple versions coexist, you need to track WHEN:

Bitemporal tracking
Valid time
When was this true in reality?
CSF 2.0 published Feb 2024
Transaction time
When did we record it?
We imported it March 15

Crosswalker’s _crosswalker metadata tracks transaction time today (import_date). Adding framework_version and framework_date enables bitemporal queries: “show me our compliance posture as of date X against framework version Y.”

Crosswalking is structurally like language translation:

The SCF STRM approach is the interlingua — map each framework to SCF once, get crosswalks to all 175+ others. When a framework updates, only one mapping needs maintaining.

SKOS (Simple Knowledge Organization System) maps directly to Crosswalker’s domain:

SKOSCrosswalkerExample
ConceptSchemeA frameworkNIST CSF 2.0
ConceptA control/techniqueAC-2, T1078
broader/narrowerHierarchyFamily → Control → Enhancement
exactMatchExact crosswalkCSF PR.AC-01 = 800-53 AC-2
broadMatchPartial crosswalkCIS 6.3 broadly covers AC-2

SKOS has a versioning gap (no built-in version tracking). skos-history partially addresses this.

SSSOM represents crosswalk mappings as TSV/CSV with standardized columns — essentially what Crosswalker imports and exports. A natural export format.

Where SemVer tracks API compatibility, SchemaVer tracks data compatibility:

ComponentQuestionFramework example
MODELCan old data work with new schema?ATT&CK sub-technique migration: no (IDs changed)
REVISIONCan new data work with old schema?CSF adding GOVERN: no (new function)
ADDITIONNon-breaking additive change?CIS fixing a typo: yes

Zero-downtime migration pattern from databases:

1
Expand
Import CSF 2.0 alongside 1.1
2
Migrate
Update evidence links to 2.0
3
Contract
Archive CSF 1.1 folder

Recent OAEI evaluations show LLM systems achieving 0.83-0.95 F1 on ontology matching benchmarks. Future: Crosswalker could use LLMs to suggest crosswalk mappings between arbitrary frameworks. See schema matching.

The ontology lifecycle — specifically the Maintain phase — is where Crosswalker addresses evolution:


  • NIST IR 8477 — Mapping Relationships Between Documentary Standards
  • OWL 2owl:priorVersion, owl:backwardCompatibleWith, owl:deprecated
  • SKOS — Simple Knowledge Organization System
  • SSSOM — Simple Standard for Sharing Ontology Mappings
  • OSCAL — Machine-readable security controls with SemVer
  • STIX 2.1 — ATT&CK deprecation chains
  • SchemaVer — Data compatibility versioning
  • Dublin Coredcterms:replaces / dcterms:isReplacedBy
  • Flouris et al., “Ontology change: classification and survey” (2008)
  • Noy & Klein, “Ontology Evolution: Not the Same as Schema Evolution” (2004)
  • Euzenat & Shvaiko, “Ontology Matching” (2013, Springer)
  • Polleres et al., “How Does Knowledge Evolve in Open Knowledge Graphs?” (2023)
  • Kimball & Ross, “The Data Warehouse Toolkit” — SCD patterns