Roll your own vocabularies package which will export your ontologies/vocabularies as n-quads and code modules.
Having created a repository from this template, follow the instructions below to create a package with your vocabularies.
- Adjust
package.json
, at the least by:- changing the name
- changing the
bin
name - changing the
indexBase
infetch
script - possibly remove
private: true
- Prepare your vocabularies:
- add their prefix/namespace pairs in src/prefixes.ts
- if necessary, set up their fetch routine in
build/overrides.ts
- see here for examples of various overrides
- local vocabularies can be added as RDF sources in a local directory, such as
src/vocabulary
, and then linked tofile:
URIs in the overrides file. See the example
npm run fetch
- optionally call as
npm run fetch -- <prefix>
to fetch+process only one
- optionally call as
- Customise this readme
- Commit the result
- Bump version and publish your package
- Might consider setting CI automation
Check the example
branch for inspiration
Any time the vocabularies change, run yarn fetch
to update them. You can also run yarn fetch prefix
to update only one vocabulary.
The final product will be an extension to the @zazuko/rdf-vocabularies
, albeit with side effects. Simply import in your project the to have you prefixes added to the default selection.
// replace with your package name
import '@zazuko/build-your-vocabularies'
Additionally, modules exporting @rdfjs/namespace
builders will be generated.
// default builders prevent constructing terms which are not defined in vocabulary
import { prefixA } from '@zazuko/build-your-vocabularies/builders'
// use loose builders for a free-for-all, allowing custom terms
import { prefixB } from '@zazuko/build-your-vocabularies/builders/loose'
Check @zazuko/rdf-vocabularies
readme for detailed usage instructions.