This repository contains our Apache Sourcelume specification.
ssourcelume-spec/
├── LICENSE # Apache 2.0 (code/tooling)
├── README.md
├── NOTICE # required for ASF releases
├── CHANGELOG.md
├── context/
│ ├── 0.0.1/
│ │ └── sourcelume.jsonld # the JSON-LD @context document, pinned
│ └── latest -> 0.0.1/ # symlink or redirect, NOT a moving target for actual releases
├── schema/
│ ├── 0.0.1/
│ │ ├── sourcelume.schema.json # JSON Schema for structural validation
│ │ └── sourcelume.shacl.ttl # SHACL shapes for RDF-level validation (optional but common for JSON-LD vocabs)
│ └── ...
├── spec/ # the prose specification
│ ├── 0.0.1/
│ │ └── index.md (or .adoc) # human-readable spec text, versioned alongside schema
├── examples/
│ ├── minimal-record.jsonld
│ ├── full-provenance-card.jsonld
│ └── crosswalk/ # worked examples showing mapping to Croissant / SPDX / OTDI fields
├── mappings/
│ ├── croissant-crosswalk.md
│ ├── spdx-ai-profile-crosswalk.md
│ └── otdi-crosswalk.md
├── tools/
│ ├── validate.py # or JS — validates examples/ against schema/shacl on every PR
│ └── render-docs.py # generates human-readable HTML/MD from schema
├── .github/workflows/
│ └── validate.yml # CI: lint JSON-LD, run schema+SHACL validation, check examples
└── .gitignore
This project follows Semantic Versioning. See
VERSIONING.md for how MAJOR, MINOR, and PATCH apply to specification
changes, and for the rules around the latest pointer and immutable
released versions.
- Mailing list: [email protected] (archives)
- ASF Slack: #sourcelume (Ask to be invited)
This project is licensed under Apache License, Version 2.0.