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

The problem

Updated

Filesystems are hierarchical — each file has exactly one parent folder. Path equals identity (/Frameworks/NIST/AC-2.md). Single location per item. Tree structure.

Knowledge is graph-shaped — concepts connect to many other concepts. The same idea belongs in multiple contexts. Relationships have types and metadata. Polyhierarchy is natural.

Obsidian runs on a filesystem but provides graph-like features:

FeatureHierarchicalGraph-like
FoldersYes-
WikiLinks-Yes (untyped)
Tags-Yes (multi-parent)
Aliases-Yes (multiple identities)
Properties-Yes (node metadata)
Backlinks-Yes (bidirectional)

The gap: Links are untyped. You can link [[AC-2]] but you can’t natively say “this IMPLEMENTS AC-2” or “this is EVIDENCE FOR AC-2.”

Compliance frameworks are structured ontologies:

  • NIST 800-53: Families > Controls > Enhancements
  • CIS Controls: Controls > Safeguards > Implementation Groups
  • MITRE ATT&CK: Tactics > Techniques > Sub-techniques

Organizations need to import these structures, link workspace notes to framework nodes, attach metadata to relationships, and query compliance status.

  • Proprietary GRC tools: Lock-in, expensive, rigid
  • Spreadsheets: Don’t scale, no graph navigation
  • Plain Obsidian: Links exist but no relationship types — see the Terminology: Edge metadata entry for the full context
  • Graph databases: Overkill, separate from notes

Crosswalker bridges this gap: structured data in, Obsidian-native notes out, queryable with standard tools. See what makes Crosswalker unique for the committed architectural differentiators — including the two Foundation-phase edge-model commitments (crosswalks via STRM + SSSOM and evidence links via junction notes) that resolve the “no relationship types” gap at the data-model layer.

The hierarchy-vs-graph tension is compounded by time: frameworks evolve. NIST publishes new CSF versions. MITRE adds and deprecates ATT&CK techniques. CIS consolidates controls. Every import is a snapshot that becomes stale.

This introduces ontology evolution — the challenge of maintaining data models as the underlying structures change. It connects to formal problems like schema matching (how do you map between versions?), framework versioning (how does each framework actually handle this?), and the 9 atomic ontology diff primitives Crosswalker uses to describe any structural change between two ontology versions.

See data model resilience for how Crosswalker approaches this architecturally.