Dependencies, a lockfile and offline checks

Erden projects can now depend on other ontologies. If you've used npm or pnpm, the commands will look familiar:

erden add <dependency>
erden install
erden update
erden check --offline

What's in place

  • A deterministic lockfile. erden.lock is YAML and comes out the same every time for the same inputs.
  • Atomic changes. The manifest and the lockfile change together or not at all.
  • A shared content-addressed store. Packages are stored by digest once and materialized into each project, the way pnpm does it.
  • Deterministic packaging. erden pack produces the same archive from the same sources.

Checks that follow the dependency closure

erden check now loads the whole closure. A dependency's inferences and SHACL constraints apply to your project automatically, so a check tests your ontology against what it builds on, not just on its own.

It also works with --offline. Once dependencies are installed, you don't need a network connection to run the check.

What's next

All of this assumes there's somewhere to get packages from. The next step is publishing: a registry that repeats the validation on its side before a release becomes visible.