The format¶
ASB Schema is a family of six artifacts that describe scientific tasks extracted from research papers or projects, and the skills those tasks use. Each artifact is defined by one LinkML file in src/asb_schema/. A seventh file, the umbrella asb.yaml, defines no class and imports five of the six.
The six classes¶
All identifiers start with https://w3id.org/holobiomicslab/asb-schema/.
| Artifact | Root class | File and version | id segment |
Required slots |
|---|---|---|---|---|
| Task card | ASBTaskCard |
asb_card.yaml 0.3.0 |
card/v0.3 |
15 of 64 |
| Capsule | SciTaskCapsule |
asb_capsule.yaml 0.1.0 |
capsule/v0.2 |
3 of 8 |
| Skill bundle | SkillBundle (with ASBSkill, ASBTool) |
asb_skill_bundle.yaml 0.2.0 |
skill-bundle/v0.2 |
3 of 15 |
| Skill collection | SkillCollection |
asb_skill_collection.yaml 0.3.0 |
skill-collection/v0.3 |
6 of 25 |
| Collection registry | SkillCollectionRegistry |
asb_skill_collection_registry.yaml 0.2.0 |
skill-collection-registry/v0.2 |
3 of 7 |
| Exploration trace | ExplorationTree |
asb_trace.yaml 0.1.0 |
trace/v0.1 |
1 of 3 |
The artifacts follow one another:
- A producer reads a paper and writes one task card per bounded task, and an exploration trace of the paper's research path.
- A capsule packages a card with its evidence and an RO-Crate metadata file.
- A card names its skills and tools as text. A skill bundle describes each skill once it has been identified across several papers;
MergeAuditRecordrecords each deduplication decision. - A skill collection releases a curated set of skills and tools under a license, and the collection registry lists the released collections.
The card records an outcome; the trace records the path to it, dead ends included. Release, license and credit are recorded on the collection.
Import graph¶
flowchart TB
umbrella["asb.yaml"]
umbrella --> capsule["asb_capsule.yaml"]
umbrella --> registry["asb_skill_collection_<br/>registry.yaml"]
capsule --> card["asb_card.yaml"]
registry --> collection["asb_skill_<br/>collection.yaml"]
collection --> bundle["asb_skill_<br/>bundle.yaml"]
umbrella --> card
umbrella --> collection
umbrella --> bundle
trace["asb_trace.yaml"]
asb_trace.yaml stands alone.Validate each artifact against its own file
Slot names are global in LinkML: when files are loaded together, a slot name defined in two of them keeps one definition. Loading asb.yaml makes ASBTaskCard.skills and tools optional, for example. Each artifact is therefore validated against its own schema file. See Conformance.
Generated files¶
generate.sh writes, beside the LinkML sources:
- one JSON Schema file (draft 2019-09) per schema file, from
asb_card.schema.jsontoasb_trace.schema.json, generated byasb_schema.jsonschemagen; context.jsonld, a JSON-LD context for the skill-bundle terms;- the field reference of this site.
In the JSON Schema files, each class is a closed definition under $defs, and the root object is open. Validation targets the class under $defs; the JSON Schema roots table gives the target for each file.
Versioning¶
Three numbers apply, each to a different object:
- the package
asb-schemafollows Semantic Versioning (0.4.0); before 1.0 a minor release may change a schema so that previously valid data fails; - each LinkML file has its own
versionand a versionedid; - each task card records
schema_versionandscitask_version, the card-format versions its producer followed.
The full policy and the identifier namespaces are on Conformance.
Beyond the six classes¶
The reference pipeline writes further files beside these artifacts, in its own runtime formats: typed evaluation checks (eval.json), rubrics, build manifests and a claim ledger. It also exports to ASTRA, RO-Crate, Agent Skills and workflow languages. How the artifacts are produced lists them, and Interoperability describes each export.