Field reference¶
This page lists every class, slot and enumeration of the seven LinkML files of ASB Schema, one section per file. It is generated from src/asb_schema/*.yaml by scripts/gen_reference.py, and CI checks that it matches the sources.
Reading this page¶
- Each class has the anchor
#class-<ClassName>and each enumeration the anchor#enum-<EnumName>; each file section has the anchor#file-<file name>. - The table of a class lists the slots named under its
slotskey, then its inline attributes. - Range is the declared range, or
stringwhen none is declared. Cardinality reads1(required),0..1(optional),1..*(required list) or0..*(optional list). - Notes give the serialized alias, pattern, bounds,
slot_uri, annotations (includingimportance) and ontology mappings. - Descriptions are copied from the sources. An em-dash becomes a colon, an en-dash between numbers becomes "to", a pointer to an unpublished design note is left out, and the name of the reference pipeline is written as "Reference pipeline".
- Slot names are global in LinkML: loading
asb.yamlmerges slots that share a name across files. Validate each artifact against its own file; see Conformance.
Schema files¶
| File | id | version | Root class | Classes | Slots | Attributes | Enums |
|---|---|---|---|---|---|---|---|
asb.yaml |
https://w3id.org/holobiomicslab/asb-schema/v0.2 |
0.2.0 | none | 0 | 0 | 0 | 0 |
asb_card.yaml |
https://w3id.org/holobiomicslab/asb-schema/card/v0.3 |
0.3.0 | ASBTaskCard |
13 | 64 | 59 | 7 |
asb_capsule.yaml |
https://w3id.org/holobiomicslab/asb-schema/capsule/v0.2 |
0.1.0 | SciTaskCapsule |
2 | 8 | 4 | 1 |
asb_skill_bundle.yaml |
https://w3id.org/holobiomicslab/asb-schema/skill-bundle/v0.2 |
0.2.0 | SkillBundle |
7 | 33 | 19 | 1 |
asb_skill_collection.yaml |
https://w3id.org/holobiomicslab/asb-schema/skill-collection/v0.3 |
0.3.0 | SkillCollection |
5 | 25 | 11 | 0 |
asb_skill_collection_registry.yaml |
https://w3id.org/holobiomicslab/asb-schema/skill-collection-registry/v0.2 |
0.2.0 | SkillCollectionRegistry |
1 | 7 | 0 | 0 |
asb_trace.yaml |
https://w3id.org/holobiomicslab/asb-schema/trace/v0.1 |
0.1.0 | none | 2 | 21 | 0 | 2 |
asb.yaml¶
ASB Schema umbrella file, version 0.2.0: schema for scientific benchmark substrates and curated skill / tool release collections. Imports sub-schemas for ASB Cards, Capsules, Skill Bundles, Skill Collections, and the SkillCollectionRegistry.
Schema name asb_standard. Imports: linkml:types, asb_card.yaml, asb_capsule.yaml, asb_skill_bundle.yaml, asb_skill_collection.yaml, asb_skill_collection_registry.yaml. Format page: The format.
asb_card.yaml¶
LinkML schema for the ASB task card, file version 0.3.0: a bounded, reproducible scientific task extracted from a peer-reviewed paper. Covers all fields of the ASBTaskCard dataclass and related nested types.
Schema name asb_card_v0_3. Imports: linkml:types. Format page: Task card.
AvailableArtifact¶
A file or data artifact accessible from the research paper package. Records its path, role in the workflow, whether it is indexable, and an optional content hash.
Class of asb_card.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
path |
string |
1 | Relative path to the artifact within the package | importance: must_have; exact_mappings: prov:atLocation |
role |
string |
1 | Semantic role of the artifact (e.g. raw_data, figure, script) | importance: must_have; exact_mappings: dcterms:type |
indexable |
boolean |
0..1 | Whether this artifact's content is indexed for retrieval | importance: should_have; close_mappings: schema:additionalType |
sha256 |
string |
0..1 | SHA-256 hex digest of the artifact content | importance: nice_to_have; exact_mappings: schema:sha256 |
EvidenceSnippet¶
A verbatim text snippet extracted from the source paper that supports a claim or field in the ASB task card.
Class of asb_card.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
snippet_id |
string |
1 | Unique identifier for this snippet (e.g. snip_001) | importance: must_have; exact_mappings: dcterms:identifier |
source_path |
string |
1 | Relative path to the source file from which this snippet was extracted | importance: must_have; exact_mappings: prov:atLocation |
reason |
string |
1 | Why this snippet was selected as evidence | importance: must_have; close_mappings: dcterms:description |
text |
string |
1 | Verbatim text of the evidence snippet | importance: must_have; exact_mappings: schema:text |
EvaluationStrategy¶
Structured evaluation plan for an ASB task card, aligned with the p-plan:Plan concept. Specifies direct automated checks and expert-review criteria.
Class of asb_card.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
direct_checks |
string |
0..* | List of automated, deterministic checks that can be run without human review (e.g., file existence, column count, value ranges). | importance: must_have; close_mappings: pplan:Plan |
expert_review |
string |
0..* | List of criteria requiring human or expert judgment (e.g., scientific validity, reproducibility within tolerance). | importance: should_have; close_mappings: pplan:Plan |
TaskPort¶
A single typed data port (input or output) on an ASB task card.
Class of asb_card.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
port_id |
string |
1 | Unique identifier for this port | importance: must_have; exact_mappings: dcterms:identifier |
label |
string |
1 | Human-readable label for this port | importance: must_have; exact_mappings: schema:name |
evidence_id |
string |
0..1 | ID of the EvidenceSnippet that supports this port's existence | importance: nice_to_have; close_mappings: prov:wasDerivedFrom |
source |
string |
0..1 | Source artifact name or path | importance: nice_to_have; exact_mappings: prov:atLocation |
source_dataset |
string |
0..1 | Repository or dataset name for the source | importance: nice_to_have; close_mappings: schema:dataset |
resolved_via |
JsonObject |
0..1 | How the port was resolved to a concrete source, as a JSON object; null when the port is unresolved | inlined: true; importance: nice_to_have; close_mappings: prov:wasDerivedFrom |
edam_operation_uri |
uri |
0..1 | EDAM operation IRI for the operation that produces or consumes this port | importance: nice_to_have; exact_mappings: EDAM:operation_0004 |
edam_format_uri |
uri |
0..1 | EDAM format IRI for the data format of this port | importance: nice_to_have; exact_mappings: EDAM:format_1915 |
port_role |
string |
0..1 | Role of the port; "environment" marks a port that declares the software under study rather than data. Absent or null means not flagged. | importance: nice_to_have; close_mappings: dcterms:type |
ProvenanceLinks¶
PROV-O-inspired links for an ASB task card.
Class of asb_card.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
used |
string |
0..* | IRIs or IDs of entities used (inputs, prior task outputs) | importance: should_have; exact_mappings: prov:used |
was_influenced_by |
string |
0..* | IRIs or IDs of entities that influenced this card | importance: nice_to_have; exact_mappings: prov:wasInfluencedBy |
ToolAlternative¶
A closed-source / open-source tool pair with optional divergence notes.
Class of asb_card.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
closed |
string |
1 | Closed-source or proprietary tool name | importance: must_have; close_mappings: EDAM:operation_0004 |
oss |
string |
1 | Open-source alternative tool name | importance: must_have; close_mappings: EDAM:operation_0004 |
expected_divergence |
string |
0..1 | Notes on expected behavioral or performance divergence | importance: nice_to_have; close_mappings: schema:description |
ExecutionProfile¶
Execution and tool requirements for a scientific task.
Class of asb_card.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
compute_tier |
ComputeTierEnum |
0..1 | Compute requirement tier for task execution | importance: should_have; close_mappings: schema:requiresSubscription |
commercial_software |
string |
0..* | List of commercial or proprietary software tools required | importance: should_have; close_mappings: EDAM:operation_0004 |
open_source_alternatives |
ToolAlternative |
0..* | Open-source alternatives to commercial tools | importance: nice_to_have; close_mappings: EDAM:operation_0004 |
ResumptionContract¶
Recipe for resuming a workflow at a step whose runner cannot re-execute (bypassed compute, commercial/GUI software, wet-lab step).
Class of asb_card.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
cached_outputs |
string |
0..* | Hash-pinned artifact paths for bypassed steps | importance: should_have; exact_mappings: prov:atLocation |
alt_cli_method |
string |
0..1 | CLI alternative or manual SOP for manual-only steps | importance: nice_to_have; close_mappings: schema:description |
pseudo_outputs |
string |
0..* | Wet-lab stand-in outputs for experimental steps | importance: nice_to_have; close_mappings: prov:atLocation |
protocol |
string |
0..1 | Protocol description for experimental resumption | importance: nice_to_have; close_mappings: schema:description |
ExecutableSpec¶
A runnable command bound to an ASB task card.
Class of asb_card.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
cmd |
string |
1..* | Command as a list of arguments (no shell string) | importance: must_have; close_mappings: schema:description |
working_dir |
string |
0..1 | Working directory for the command | importance: should_have; exact_mappings: prov:atLocation |
timeout_s |
integer |
0..1 | Timeout in seconds (default 300) | importance: nice_to_have; close_mappings: schema:duration |
env |
JsonObject |
0..1 | Environment variables set for the command, as a JSON object of names to values | inlined: true; importance: nice_to_have; close_mappings: schema:description |
inferred |
boolean |
0..1 | True when the command could not be confirmed against the files of the source package and is a best-effort inference | importance: nice_to_have; close_mappings: schema:creativeWorkStatus |
grounding_notes |
string |
0..1 | Why the command could not be confirmed, when inferred is true | importance: nice_to_have; close_mappings: schema:description |
ExecutionEnvironment¶
Software/hardware/scheduler/agentic context that ran or is required to run a card or workflow.
Class of asb_card.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
operating_system |
string |
0..1 | Operating system name and version | importance: should_have; close_mappings: schema:operatingSystem |
python_version |
string |
0..1 | Python version string | importance: should_have; close_mappings: schema:softwareVersion |
lockfile_path |
string |
0..1 | Path to the lockfile (e.g. requirements.txt, uv.lock) | importance: nice_to_have; exact_mappings: prov:atLocation |
container_image |
string |
0..1 | Docker or Singularity container image URI | importance: nice_to_have; close_mappings: schema:softwareVersion |
asb_version |
string |
0..1 | Reference pipeline version used | importance: nice_to_have; close_mappings: schema:softwareVersion |
hardware_profile |
string |
0..1 | Hardware profile description (e.g. CPU, GPU, RAM) | importance: nice_to_have; close_mappings: schema:description |
scheduler |
SchedulerEnum |
0..1 | HPC or cluster scheduler | importance: nice_to_have; close_mappings: schema:description |
scheduler_resources |
JsonObject |
0..1 | Resources requested from the scheduler (for example nodes, memory and wall time), as a JSON object | inlined: true; importance: nice_to_have; close_mappings: schema:description |
llm_models |
string |
0..* | LLM model IDs used during card synthesis | importance: nice_to_have; close_mappings: schema:softwareVersion |
tools_versions |
JsonObject |
0..1 | Versions of the tools used, as a JSON object of tool names to versions | inlined: true; importance: nice_to_have; close_mappings: schema:softwareVersion |
cloud_region |
string |
0..1 | Cloud region or availability zone | importance: nice_to_have; close_mappings: schema:description |
TypedArtifact¶
A typed, format-identified artifact (input or output) of an ASB task card. Pairs 1-to-1 with an entry in inputs[] or expected_outputs[].
Class of asb_card.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
description |
string |
1 | Original prose string from the card (verbatim) | importance: must_have; exact_mappings: schema:description |
format_id |
string |
0..1 | Short format key (e.g. mzML) matching a FormatSpec.name | importance: should_have; close_mappings: EDAM:format_1915 |
format_iri |
uri |
0..1 | EDAM format IRI (e.g. http://edamontology.org/format_3244) | importance: should_have; exact_mappings: EDAM:format_1915 |
ontology_class |
string |
0..1 | PSI-MS or fallback OBO class string (e.g. MS:1000584) | importance: nice_to_have; close_mappings: EDAM:format_1915 |
file_extension |
string |
0..1 | Representative file extension (e.g. .mzml) | importance: nice_to_have; close_mappings: schema:fileFormat |
content_signature |
string |
0..1 | Short content hint from magic-byte matching (e.g. <?xml) | importance: nice_to_have; close_mappings: schema:encodingFormat |
confidence |
ArtifactConfidenceEnum |
0..1 | Detection confidence level | importance: must_have; close_mappings: schema:credentialCategory |
detection_method |
ArtifactDetectionMethodEnum |
0..1 | How the format was detected | importance: should_have; close_mappings: prov:wasGeneratedBy |
instrument_class |
string |
0..1 | Advisory instrument class hint extracted from article text | importance: nice_to_have; close_mappings: EDAM:operation_0004 |
ionization_polarity |
string |
0..1 | Ionization polarity (positive/negative/both/unknown) | importance: nice_to_have; close_mappings: schema:description |
acquisition_mode |
string |
0..1 | MS acquisition mode (DDA/DIA/targeted/full_scan/unknown) | importance: nice_to_have; close_mappings: schema:description |
JsonObject¶
Arbitrary JSON object; members may be any JSON values.
Class of asb_card.yaml; class_uri: linkml:Any; json_schema_type: object
This class declares no slots or attributes.
ASBTaskCard¶
A bounded, reproducible scientific task extracted from a peer-reviewed paper. Links a task to its research question, finding, inputs, outputs, tools, required skills, workflow description, and evaluation strategy. Runtime mirror: the ASBTaskCard dataclass of the reference pipeline (schema v0.18.0).
Class of asb_card.yaml; tree root
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
task_id |
string |
1 | Unique identifier for this task (e.g. task_001 or doi-slug__task_001) | importance: must_have; exact_mappings: dcterms:identifier |
title |
string |
1 | Short human-readable task title | importance: must_have; exact_mappings: schema:name |
task_kind |
TaskKindEnum |
0..1 | How this card relates to the source paper (reproduction of a reported result, derived analysis, reconstruction of a described mechanism, or an extension beyond the paper). Optional; absent means unclassified. | importance: nice_to_have; close_mappings: dcterms:type |
source_package |
string |
1 | Path or identifier of the research article package this card was synthesized from | importance: must_have; exact_mappings: prov:wasDerivedFrom |
research_question |
string |
1 | The scientific question this task addresses | importance: must_have; close_mappings: schema:description |
finding |
string |
1 | The paper's answer or result for this task | importance: must_have; close_mappings: schema:description |
task_description |
string |
1 | Full natural-language description of the task | importance: must_have; exact_mappings: schema:description |
task_objective |
string |
0..1 | One-sentence task objective (LLM mode; empty string when not populated) | importance: should_have; close_mappings: pplan:Plan |
inputs |
string |
1..* | Human-readable input descriptions for the task | importance: must_have; exact_mappings: pplan:wasGeneratedBy |
expected_outputs |
string |
1..* | Human-readable expected output descriptions | importance: must_have; exact_mappings: pplan:wasGeneratedBy |
tools |
string |
1..* | Software tools, databases, and APIs used in the task | importance: must_have; close_mappings: EDAM:operation_0004 |
skills |
string |
1..* | Reusable capabilities required to complete the task | importance: must_have; close_mappings: EDAM:operation_0004 |
workflow_description |
string |
1 | Step-by-step methodology for executing the task | importance: must_have; close_mappings: pplan:Plan |
available_artifacts |
AvailableArtifact |
0..* | Artifacts accessible from the paper package (path, role, indexable, sha256) | importance: should_have; close_mappings: prov:atLocation |
missing_information |
string |
0..* | Gaps, inaccessible artifacts, and unknowns noted by the extraction agent | importance: should_have; close_mappings: schema:description |
uncertainty_notes |
string |
0..* | Gaps and ambiguities in the card's fields | importance: should_have; close_mappings: schema:description |
evidence_snippets |
EvidenceSnippet |
0..* | Verbatim text snippets from the source paper supporting this card | importance: should_have; exact_mappings: prov:wasDerivedFrom |
evaluation_strategy |
EvaluationStrategy |
1 | Structured evaluation plan with direct_checks and expert_review lists, aligned with p-plan:Plan | importance: must_have; close_mappings: pplan:Plan |
review_questions |
string |
0..* | Open questions for a human reviewer of this card | importance: nice_to_have; close_mappings: schema:description |
created_at |
string |
1 | ISO 8601 timestamp when this card was created | importance: must_have; exact_mappings: dcterms:created |
schema_version |
string |
1 | ASBTaskCard dataclass schema version (e.g. 0.17.0) | importance: must_have; close_mappings: schema:version |
scitask_version |
string |
1 | Version of the task specification (the reference pipeline writes 0.1.1); the slot keeps its name from before the rename to ASB | importance: must_have; close_mappings: schema:version |
domain |
string |
0..1 | Scientific domain (e.g. metabolomics, genomics) | importance: should_have; close_mappings: schema:about |
subtask_categories |
string |
0..* | ScienceAgentBench-aligned subtask categories | importance: should_have; close_mappings: schema:about |
domain_knowledge |
string |
0..* | Domain-specific knowledge items required for the task | importance: nice_to_have; close_mappings: schema:about |
crossref_doi |
string |
0..1 | DOI of the source article (Crossref format) | importance: should_have; exact_mappings: schema:identifier |
github_name |
string |
0..1 | GitHub repository name (owner/repo) associated with the source article | importance: nice_to_have; close_mappings: schema:codeRepository |
parameters |
JsonObject |
0..* | Resolved task parameters, one JSON object per parameter; empty when parameter resolution did not run | inlined: true; inlined_as_list: true; importance: nice_to_have; close_mappings: schema:variableMeasured |
data_accessions |
JsonObject |
0..* | Public repository accessions (MassIVE, PRIDE, MetaboLights, GEO, etc.) mined from article text | inlined: true; inlined_as_list: true; importance: should_have; exact_mappings: EDAM:data_2091 |
input_from |
string |
0..1 | task_id of a prior sub-task whose output is this card's first input (chaining) | importance: nice_to_have; exact_mappings: prov:wasDerivedFrom |
keywords |
string |
0..* | Free-form keywords extracted from the source (methods, domains, instruments) | importance: should_have; close_mappings: schema:keywords |
article_type |
string |
0..1 | Article type classification (e.g. research-article, review, software-tool) | importance: should_have; close_mappings: dcterms:type |
primary_domain |
string |
0..1 | Primary scientific domain identified by the classifier | importance: should_have; close_mappings: schema:about |
subdomains |
string |
0..* | Secondary scientific sub-domains identified by the classifier | importance: nice_to_have; close_mappings: schema:about |
techniques |
string |
0..* | Key experimental or computational techniques used | importance: nice_to_have; close_mappings: EDAM:operation_0004 |
expected_artifact_name |
string |
0..1 | SAB-aligned canonical output filename (equivalent to SAB output_fname) | importance: should_have; exact_mappings: prov:atLocation |
landmark_outputs |
string |
0..* | SUPER-style partial-credit grading: 2 to 6 intermediate output file patterns ordered by pipeline stage | importance: nice_to_have; close_mappings: prov:atLocation |
artifact_refs |
JsonObject |
0..* | Bindings of prose inputs and outputs to typed locators (files, URLs) found by enrichment or in the package index, one JSON object per binding | inlined: true; inlined_as_list: true; importance: nice_to_have; close_mappings: prov:wasDerivedFrom |
methodology_summary |
string |
0..* | Ordered list of plain-text procedure steps | importance: should_have; close_mappings: pplan:Plan |
synthesized_from |
string |
0..1 | Source from which this card was synthesized (e.g. article, github:owner/repo, web:https://..., mixed) | importance: should_have; close_mappings: prov:wasDerivedFrom |
linked_result_ids |
string |
0..* | Result IDs from the claim/result ledger that this card primarily grades | importance: nice_to_have; close_mappings: prov:wasDerivedFrom |
section_provenance |
string |
0..* | Unique source_section values back-filled from linked claims' source_anchor | importance: nice_to_have; close_mappings: prov:wasDerivedFrom |
script_refs |
JsonObject |
0..* | Links from workflow steps to source-file line ranges, one JSON object per link: | inlined: true; inlined_as_list: true; importance: nice_to_have; close_mappings: prov:atLocation |
scenario_id |
string |
0..1 | Scenario assignment ID; null when the card has no scenario assignment | importance: nice_to_have; close_mappings: dcterms:isPartOf |
project_id |
string |
0..1 | Project assignment ID; null when the card has no project assignment | importance: nice_to_have; close_mappings: dcterms:isPartOf |
provenance_source |
ProvenanceSourceEnum |
0..1 | Source category of the paper this card was extracted from | importance: should_have; close_mappings: prov:wasGeneratedBy |
reproducibility_tier |
ReproducibilityTierEnum |
0..1 | Tier describing how reproducible this card's workflow step is | importance: should_have; close_mappings: pplan:Plan |
run_command |
string |
0..1 | Shell command that re-runs the task for verification; null means skip | importance: nice_to_have; close_mappings: schema:description |
run_cwd |
string |
0..1 | Working directory for run_command (relative to capsule dir) | importance: nice_to_have; exact_mappings: prov:atLocation |
run_timeout_seconds |
float |
0..1 | Timeout in seconds for run_command (default 60.0) | importance: nice_to_have; close_mappings: schema:duration |
related_repos |
string |
0..* | Repositories linked to the source that are not the task's own repository (dependencies, upstream engines, mirrors), as owner/repo strings | importance: nice_to_have; close_mappings: schema:codeRepository |
execution_profile |
ExecutionProfile |
0..1 | Declared execution requirements: compute tier, commercial software and open-source alternatives | importance: should_have; close_mappings: schema:softwareRequirements |
task_inputs |
TaskPort |
0..* | Typed input ports of the task, for dataflow between cards | importance: nice_to_have; close_mappings: prov:used |
task_outputs |
TaskPort |
0..* | Typed output ports of the task, for dataflow between cards | importance: nice_to_have; close_mappings: prov:generated |
prov |
ProvenanceLinks |
0..1 | Provenance links of the card (entities used and entities that influenced it) | importance: nice_to_have; close_mappings: prov:wasInfluencedBy |
data_in |
TypedArtifact |
0..* | Format-typed descriptions of the inputs, one per entry of inputs and in the same order | importance: should_have; close_mappings: prov:used |
data_out |
TypedArtifact |
0..* | Format-typed descriptions of the expected outputs, one per entry of expected_outputs and in the same order | importance: should_have; close_mappings: prov:generated |
resumption_contract |
ResumptionContract |
0..1 | How a workflow resumes at this step when the step cannot be re-executed; null when not needed | importance: nice_to_have; close_mappings: pplan:Plan |
execution_environment |
ExecutionEnvironment |
0..1 | Software, hardware and scheduler context that ran or is required to run the card; null when not recorded | importance: nice_to_have; close_mappings: schema:runtimePlatform |
executable |
ExecutableSpec |
0..1 | A runnable command for the task; null when no command is available | importance: nice_to_have; close_mappings: schema:potentialAction |
spine_entity_ids |
string |
0..* | Identifiers of the paper-level entities the card refers to; empty when no entity spine was built | importance: nice_to_have; close_mappings: prov:wasDerivedFrom |
spine_condition_ids |
string |
0..* | Identifiers of the paper-level conditions the card refers to; empty when no entity spine was built | importance: nice_to_have; close_mappings: prov:wasDerivedFrom |
abstraction_frame |
string |
0..1 | Abstraction frame of the task in the paper-level entity spine; null when no spine was built | importance: nice_to_have; close_mappings: schema:about |
finding_evidence_span |
string |
0..1 | Verbatim passage of the source that supports finding; null when none was selected | importance: nice_to_have; close_mappings: schema:text |
ProvenanceSourceEnum¶
Source from which an ASB task card was synthesized
Enumeration of asb_card.yaml
| Value | Description |
|---|---|
published |
Peer-reviewed journal article |
preprint |
Preprint (e.g. bioRxiv, arXiv) |
draft_paper |
Unpublished manuscript or draft |
local_project |
Local HPC or agentic project |
TaskKindEnum¶
What an ASB task card represents relative to the source paper: a result the paper empirically reported, a derived re-analysis, a described-but-not- separately-validated mechanism, or a task beyond the paper's reported scope.
Enumeration of asb_card.yaml
| Value | Description |
|---|---|
reproduction |
A result the paper empirically reported / evaluated |
analysis |
A derived re-analysis of the paper's own data |
component_reconstruction |
A mechanism the paper describes but does not separately validate (a stage of its pipeline, reconstructed as a checkable task) |
extension |
A task beyond the paper's reported scope (e.g. its sanctioned method substitutions or future work) |
ReproducibilityTierEnum¶
Tier describing how reproducible a card's workflow step is
Enumeration of asb_card.yaml
| Value | Description |
|---|---|
certified |
Fully automated and verified |
type-checked |
Outputs type-checked but not end-to-end verified |
bypassed |
Compute step bypassed; cached outputs pinned |
manual-only |
Requires manual or commercial software; no CLI alternative |
experimental |
Wet-lab or experimental step; pseudo-outputs only |
SchedulerEnum¶
HPC / cluster scheduler
Enumeration of asb_card.yaml
| Value | Description |
|---|---|
none |
|
slurm |
|
lsf |
|
pbs |
|
kubernetes |
ComputeTierEnum¶
Compute requirement tier for task execution
Enumeration of asb_card.yaml
| Value | Description |
|---|---|
trivial |
|
light |
|
medium |
|
heavy |
|
hpc |
ArtifactConfidenceEnum¶
Detection confidence level for a typed artifact
Enumeration of asb_card.yaml
| Value | Description |
|---|---|
high |
Magic-byte verified on disk file |
medium |
Prose regex only, no disk file |
low |
Heuristic inference |
none |
Detection failed: honest unknown |
ArtifactDetectionMethodEnum¶
Method used to detect artifact format
Enumeration of asb_card.yaml
| Value | Description |
|---|---|
prose_regex |
|
magic_bytes |
|
package_filename |
|
content_sniff |
|
none |
asb_capsule.yaml¶
LinkML schema for the ASB capsule, file version 0.1.0: an RO-Crate 1.1 package wrapping an ASB task card with evidence, provenance, evaluation material, and embedded script chunks. Workflow Run Crate alignment is tracked in the reference pipeline.
Schema name asb_capsule_v0_2. Imports: linkml:types, asb_card.yaml. Format page: Capsule.
ArtifactProvenanceEntry¶
Provenance record for a single file in the capsule, recording how it was produced and where it was sourced from.
Class of asb_capsule.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
path |
string |
1 | Relative path to the file within the capsule directory | importance: must_have; exact_mappings: prov:atLocation |
source |
ArtifactSourceEnum |
1 | Source agent or process that produced this file | importance: must_have; exact_mappings: prov:wasGeneratedBy |
jsonpath |
string |
0..1 | JSONPath into the emitting agent's output locating this artifact | importance: nice_to_have; close_mappings: prov:atLocation |
created_at |
string |
0..1 | ISO 8601 timestamp when this artifact was produced | importance: should_have; exact_mappings: dcterms:created |
SciTaskCapsule¶
An RO-Crate 1.1 package that wraps an ASB task card with supporting evidence, provenance, evaluation manifests, and embedded scripts. Conforms to schema:Dataset, rocrate:Dataset, and pplan:Plan. Workflow Run Crate alignment is tracked in the reference pipeline.
Class of asb_capsule.yaml; tree root
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
capsule_task_id |
string |
1 | Unique identifier for this capsule; typically doi-slug__task_NNN. Matches the task_id in the embedded ASBTaskCard. | importance: must_have; exact_mappings: dcterms:identifier |
ro_crate_version |
string |
0..1 | RO-Crate specification version used (e.g. 1.1) | importance: must_have; close_mappings: schema:version |
profile_version |
string |
0..1 | Version of the RO-Crate profile the crate declares, if any (e.g. 0.5) | importance: should_have; close_mappings: schema:version |
capsule_card |
ASBTaskCard |
1 | The ASB task card embedded in this capsule | importance: must_have; exact_mappings: pplan:Plan |
capsule_artifacts |
AvailableArtifact |
0..* | Artifacts accessible within this capsule | importance: should_have; close_mappings: rocrate:Dataset |
capsule_created_at |
string |
1 | ISO 8601 timestamp when this capsule was created | importance: must_have; exact_mappings: dcterms:created |
artifact_provenance |
ArtifactProvenanceEntry |
0..* | Provenance manifest for all files in the capsule | importance: should_have; exact_mappings: prov:wasGeneratedBy |
capsule_dir |
string |
0..1 | Relative or absolute path to the capsule directory on disk | importance: nice_to_have; exact_mappings: prov:atLocation |
ArtifactSourceEnum¶
Source agent or process that produced a file in the capsule
Enumeration of asb_capsule.yaml
| Value | Description |
|---|---|
agent2b |
Card synthesizer (LLM-based) |
agent5 |
Skill bundle synthesizer |
github_search |
GitHub search enricher |
perspicacite_mcp |
Perspicacite MCP enrichment |
script_linker |
Script linker |
capsule_writer |
Capsule writer |
heuristic_enricher |
Heuristic enricher (non-LLM) |
asb_skill_bundle.yaml¶
LinkML schema for the ASB skill bundle, file version 0.2.0: a versioned, curated description of one reusable computational skill identified across multiple papers. Each bundle contains a human-readable skill description and 12 structured sidecars.
Schema name asb_skill_bundle_v0_2. Imports: linkml:types. Format page: Skill bundle.
ToolRecord¶
A tool referenced in a Skill Bundle's tools.json sidecar.
Class of asb_skill_bundle.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
tool_name |
string |
1 | Tool name (e.g. matchms, scikit-learn) | importance: must_have; close_mappings: EDAM:operation_0004 |
canonical_url |
uri |
0..1 | Canonical URL (GitHub, bio.tools, PyPI, etc.) | importance: should_have; close_mappings: schema:codeRepository |
version |
string |
0..1 | Version string used or recommended | importance: should_have; close_mappings: schema:softwareVersion |
tool_description |
string |
0..1 | Short description of the tool | importance: should_have; exact_mappings: schema:description |
edam_topics |
uri |
0..* | EDAM topic IRIs for this tool | importance: nice_to_have; exact_mappings: EDAM:topic_0003 |
PaperReference¶
A reference to a source paper that contributed to this skill bundle.
Class of asb_skill_bundle.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
doi |
string |
0..1 | DOI of the paper | importance: should_have; exact_mappings: schema:identifier |
title |
string |
0..1 | Title of the paper | importance: must_have; exact_mappings: schema:name |
relevance |
string |
0..1 | Short note on the relevance of this paper to the skill | importance: nice_to_have; close_mappings: schema:description |
task_ids |
string |
0..* | task_id values from this paper that surfaced this skill | importance: nice_to_have; close_mappings: dcterms:isPartOf |
MergeAuditRecord¶
Per-merge audit record documenting alias deduplication decisions. Surfaces the deduplication data recorded at release time, so dedup decisions are queryable and citable.
Class of asb_skill_bundle.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
alias |
string |
1 | Original skill label before deduplication | importance: must_have; close_mappings: schema:alternateName |
target_slug |
string |
1 | Canonical slug this alias was merged into | importance: must_have; exact_mappings: schema:identifier |
jaccard_score |
float |
0..1 | Token-set Jaccard similarity score used for the merge decision | importance: should_have; close_mappings: schema:value |
embedding_cosine |
float |
0..1 | Cosine similarity of MiniLM embeddings (when semantic dedup ran) | importance: should_have; close_mappings: schema:value |
edam_match |
boolean |
0..1 | True when both records share an EDAM operation IRI | importance: nice_to_have; close_mappings: schema:sameAs |
llm_judge_verdict |
string |
0..1 | Free-form judgement string from an LLM dedup judge (if used) | importance: nice_to_have; close_mappings: schema:description |
method |
string |
0..1 | Deduplication method (e.g. token_set_jaccard, semantic_embed, llm_judge) | importance: should_have; close_mappings: prov:wasGeneratedBy |
decision |
MergeDecisionEnum |
1 | Final merge decision | importance: must_have; close_mappings: prov:wasInfluencedBy |
decided_at |
datetime |
0..1 | When the merge decision was recorded (ISO 8601) | importance: should_have; close_mappings: prov:generatedAtTime |
decided_by |
string |
0..1 | Agent or person that made the decision (e.g. "agent:dedup", "orcid:0000-...") | importance: should_have; close_mappings: prov:wasAttributedTo |
SkillBundle¶
A versioned, curated description of one reusable computational skill identified across multiple papers. Contains a human-readable skill description and 12 structured sidecars (papers, parameters, failure modes, tools, environments, links, etc.).
Class of asb_skill_bundle.yaml; tree root
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
slug |
string |
1 | Lowercase, hyphen-separated unique identifier for this skill bundle (e.g. spectral-similarity-scoring) | importance: must_have; exact_mappings: schema:identifier |
skill_name |
string |
1 | Human-readable canonical name of the skill | importance: must_have; exact_mappings: schema:name |
skill_description |
string |
0..1 | Full description of the skill's purpose and scope | importance: must_have; exact_mappings: schema:description |
when_to_use |
string |
0..1 | Guidance on when and how to apply this skill | importance: should_have; close_mappings: pplan:Plan |
skill_tools |
ToolRecord |
0..* | Tool records for tools associated with this skill | importance: must_have; close_mappings: EDAM:operation_0004 |
edam_topics |
uri |
0..* | EDAM topic IRIs for this skill (e.g. http://edamontology.org/topic_3172) | importance: should_have; exact_mappings: EDAM:topic_0003 |
edam_operation |
uri |
0..1 | Primary EDAM operation IRI for this skill (e.g. http://edamontology.org/operation_3799) | importance: should_have; exact_mappings: EDAM:operation_0004 |
scripts |
string |
0..* | Paths to embedded script chunks from linked GitHub repositories (line-range copies, not full clones) | importance: nice_to_have; exact_mappings: prov:atLocation |
skill_kb_path |
string |
0..1 | Relative path to the skill's knowledge base entry file (e.g. docs/skill_name.md) | importance: nice_to_have; exact_mappings: prov:atLocation |
bundle_dir |
string |
0..1 | Absolute path to the offline skill knowledge base bundle directory | importance: nice_to_have; exact_mappings: prov:atLocation |
bundle_version |
string |
1 | Version of this skill bundle (e.g. 0.1.0) | importance: must_have; close_mappings: schema:version |
source_task_ids |
string |
0..* | task_id values of the ASB task cards from which this skill was extracted | importance: should_have; close_mappings: dcterms:isPartOf |
source_papers |
PaperReference |
0..* | Structured references to papers that contributed to this bundle | importance: should_have; close_mappings: dcterms:source |
merged_aliases |
string |
0..* | Original labels of skills merged into this canonical entry | importance: nice_to_have; close_mappings: schema:alternateName |
merged_alias_records |
MergeAuditRecord |
0..* | Per-merge audit records documenting alias deduplication decisions | importance: nice_to_have; close_mappings: prov:wasGeneratedBy |
ASBSkill¶
Collection-time aggregated skill record: the deduplicated, paper-grounded scientific competency collected at release time. Distinct from SkillBundle which is the per-capsule artifact. Mirrors the ASBSkill dataclass of the reference pipeline (formerly SciSkill).
Class of asb_skill_bundle.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
slug |
string |
1 | Lowercase, hyphen-separated unique identifier for this skill bundle (e.g. spectral-similarity-scoring) | importance: must_have; exact_mappings: schema:identifier |
skill_name |
string |
1 | Human-readable canonical name of the skill | importance: must_have; exact_mappings: schema:name |
description |
string |
1 | Retrieval-key description for an ASBSkill. Discipline-constrained: 50 to 300 chars, leads with "Use when …", no marketing tokens. The CI gate in asb-skill-collections additionally enforces the banned-token list at release time. | pattern: ^[Uu]se when .+; minimum_value: 50; maximum_value: 300; importance: must_have; banned_tokens: revolutionary, cutting-edge, best-in-class, powerful, amazing, state-of-the-art, groundbreaking; exact_mappings: schema:description |
when_to_use |
string |
0..1 | Guidance on when and how to apply this skill | importance: should_have; close_mappings: pplan:Plan |
related_tools |
string |
0..* | Canonical URLs / slugs of tools used by this skill | importance: should_have; close_mappings: EDAM:operation_0004 |
source_task_ids |
string |
0..* | task_id values of the ASB task cards from which this skill was extracted | importance: should_have; close_mappings: dcterms:isPartOf |
source_paper_doi |
string |
0..1 | Primary source paper DOI (flat field, complements source_papers[]) | importance: should_have; exact_mappings: schema:identifier |
source_paper_title |
string |
0..1 | Primary source paper title (flat field, complements source_papers[]) | importance: nice_to_have; exact_mappings: schema:name |
source_papers |
PaperReference |
0..* | Structured references to papers that contributed to this bundle | importance: should_have; close_mappings: dcterms:source |
merged_aliases |
string |
0..* | Original labels of skills merged into this canonical entry | importance: nice_to_have; close_mappings: schema:alternateName |
merged_alias_records |
MergeAuditRecord |
0..* | Per-merge audit records documenting alias deduplication decisions | importance: nice_to_have; close_mappings: prov:wasGeneratedBy |
edam_operation |
uri |
0..1 | Primary EDAM operation IRI for this skill (e.g. http://edamontology.org/operation_3799) | importance: should_have; exact_mappings: EDAM:operation_0004 |
edam_topics |
uri |
0..* | EDAM topic IRIs for this skill (e.g. http://edamontology.org/topic_3172) | importance: should_have; exact_mappings: EDAM:topic_0003 |
kb_path |
string |
0..1 | Relative path to the skill's knowledge-base entry file | importance: nice_to_have; exact_mappings: prov:atLocation |
bundle_dir |
string |
0..1 | Absolute path to the offline skill knowledge base bundle directory | importance: nice_to_have; exact_mappings: prov:atLocation |
ASBTool¶
Collection-time aggregated tool record: the deduplicated, paper-grounded software-tool reference collected at release time. Mirrors the ASBTool dataclass of the reference pipeline (formerly SciTool).
Class of asb_skill_bundle.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
slug |
string |
1 | Lowercase, hyphen-separated unique identifier for this skill bundle (e.g. spectral-similarity-scoring) | importance: must_have; exact_mappings: schema:identifier |
tool_name |
string |
1 | Tool name (mirrors ToolRecord.tool_name; used by ASBTool) | importance: must_have; close_mappings: schema:name |
canonical_url |
uri |
0..1 | Canonical URL for the tool (GitHub, bio.tools, PyPI, etc.) | importance: should_have; close_mappings: schema:codeRepository |
related_skills |
string |
0..* | Slugs of ASBSkill records that reference this tool | importance: should_have; close_mappings: dcterms:isPartOf |
source_task_ids |
string |
0..* | task_id values of the ASB task cards from which this skill was extracted | importance: should_have; close_mappings: dcterms:isPartOf |
source_paper_doi |
string |
0..1 | Primary source paper DOI (flat field, complements source_papers[]) | importance: should_have; exact_mappings: schema:identifier |
source_paper_title |
string |
0..1 | Primary source paper title (flat field, complements source_papers[]) | importance: nice_to_have; exact_mappings: schema:name |
evidence_spans |
string |
0..* | Verbatim quotes from source papers anchoring this tool reference | importance: should_have; close_mappings: prov:wasDerivedFrom |
version_used |
string |
0..1 | Version string actually used in the source paper(s) | importance: nice_to_have; close_mappings: schema:softwareVersion |
install |
string |
0..1 | Install metadata dict (conda / pip / docker / etc.) produced by tool_resolver | importance: nice_to_have; close_mappings: schema:installUrl |
resolution_attempts |
string |
0..* | Audit list of resolver attempts (each entry a dict; serialized as JSON) | importance: nice_to_have; close_mappings: prov:wasGeneratedBy |
edam_operation |
uri |
0..1 | Primary EDAM operation IRI for this skill (e.g. http://edamontology.org/operation_3799) | importance: should_have; exact_mappings: EDAM:operation_0004 |
edam_topics |
uri |
0..* | EDAM topic IRIs for this skill (e.g. http://edamontology.org/topic_3172) | importance: should_have; exact_mappings: EDAM:topic_0003 |
bio_tools_id |
string |
0..1 | bio.tools identifier for this tool. Reserved slot for the future bio.tools federation work; not populated in v1. | importance: nice_to_have; close_mappings: schema:identifier |
ToolAffordance¶
W3C WoT ActionAffordance-aligned mixin. RESERVED for v1: slot definitions exist but no ASB class consumes them yet. When the ecosystem standardises on WoT for executable tools, ASBTool (or an ExecutableTool subclass) will inherit from this mixin without breaking existing instances.
Class of asb_skill_bundle.yaml; mixin
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
input_schema |
string |
0..1 | JSON Schema describing the tool's input payload (WoT ActionAffordance.input) | importance: nice_to_have; close_mappings: schema:potentialAction |
output_schema |
string |
0..1 | JSON Schema describing the tool's output payload (WoT ActionAffordance.output) | importance: nice_to_have; close_mappings: schema:potentialAction |
precondition |
string |
0..1 | Free-form precondition (e.g. "requires CUDA 12.x"): WoT-style affordance hint | importance: nice_to_have; close_mappings: prov:wasInfluencedBy |
effect |
string |
0..1 | Free-form effect description for downstream agents | importance: nice_to_have; close_mappings: prov:generated |
side_effect_free |
boolean |
0..1 | True when invoking the tool has no observable side effects (pure function) | importance: nice_to_have; close_mappings: schema:propertyID |
MergeDecisionEnum¶
Possible outcomes recorded by a MergeAuditRecord
Enumeration of asb_skill_bundle.yaml
| Value | Description |
|---|---|
auto_merge |
Auto-merged above the auto threshold |
manual_merge |
Manually merged by a curator |
kept_separate |
Reviewed and explicitly kept as distinct entries |
needs_review |
Pending human review |
asb_skill_collection.yaml¶
LinkML schema for ASB SkillCollection: a curated thematic release containing N ASBSkills and M ASBTools, pinned by content-hash IRIs. Each SkillCollection release corresponds to one Zenodo concept DOI; releases mint version DOIs beneath that concept. v0.3 declares the ten keys every released collection.yaml already carries (JSON-LD framing, lead curators, counts, catalogue topics, attribution roles, Zenodo DOI), so a real manifest validates against the class instead of failing on additional properties. All ten are optional; the required set is unchanged.
Schema name asb_skill_collection_v0_3. Imports: linkml:types, asb_skill_bundle.yaml. Format page: Skill collection.
Any¶
Unconstrained value. Used only for the inline JSON-LD @context, whose shape (IRI string, object or list) belongs to JSON-LD, not to this schema.
Class of asb_skill_collection.yaml; class_uri: linkml:Any
This class declares no slots or attributes.
Person¶
A person, contributor at the collection level.
Class of asb_skill_collection.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
name |
string |
1 | Full display name | importance: must_have; exact_mappings: schema:name |
orcid |
uri |
0..1 | ORCID iD as a URI (https://orcid.org/0000-0000-0000-0000) | importance: should_have; exact_mappings: schema:identifier |
affiliation |
string |
0..1 | Institutional affiliation (free-form; e.g. "Holobiomics Lab, CNRS") | importance: should_have; close_mappings: schema:affiliation |
SkillCollection¶
A curated thematic release of N ASBSkills and M ASBTools, pinned by content-hash. Distinct from per-capsule SkillBundle; this is the release unit.
Class of asb_skill_collection.yaml; tree root
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
iri |
uriorcurie |
1 | Stable IRI for this collection release (e.g. w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v1). | importance: must_have; exact_mappings: schema:url |
slug |
string |
1 | Short slug for the collection (e.g. "metabolomics") | importance: must_have; exact_mappings: schema:identifier |
version |
integer |
1 | Release version number (integer; matches the vN in the IRI) | importance: must_have; close_mappings: schema:version |
title |
string |
1 | Human-readable collection title | importance: must_have; exact_mappings: schema:name |
description |
string |
1 | Human-readable description of the collection's scope and thematic coherence | importance: must_have; exact_mappings: schema:description |
license |
string |
1 | SPDX license identifier (e.g. "CC-BY-4.0") | importance: must_have; exact_mappings: schema:license |
contributors |
Person |
0..* | People who curated this collection (per-collection ORCIDs) | importance: should_have; close_mappings: schema:contributor |
doi |
uriorcurie |
0..1 | Zenodo DOI of this collection release (uriorcurie) | importance: should_have; exact_mappings: schema:identifier |
released_at |
datetime |
0..1 | Release timestamp (ISO 8601) | importance: should_have; exact_mappings: schema:datePublished |
skills |
uriorcurie |
0..* | Content-hash-pinned references to ASBSkill entries included in this release. Each entry is an IRI of the form w3id.org/holobiomicslab/asb-skill/<slug>@sha256:<hash> | importance: must_have; close_mappings: dcterms:hasPart |
tools |
uriorcurie |
0..* | Content-hash-pinned references to ASBTool entries used by this collection. Each entry is an IRI of the form w3id.org/holobiomicslab/asb-tool/<slug>@sha256:<hash> | importance: should_have; close_mappings: dcterms:hasPart |
edam_topics |
uri |
0..* | Collection-level EDAM topic IRIs (anchors the whole release) | importance: should_have; exact_mappings: EDAM:topic_0003 |
source_collections |
uriorcurie |
0..* | Recursive: IRIs of prior collections this release is derived from (e.g. merged or split). Empty for fresh collections. | importance: nice_to_have; close_mappings: prov:wasDerivedFrom |
catalogue_membership |
uriorcurie |
0..* | Higher-level catalogue IRIs that include this collection (typically the SkillCollectionRegistry root). | importance: nice_to_have; close_mappings: dcterms:isPartOf |
ro_crate_path |
string |
0..1 | Path to this collection's ro-crate-metadata.json (relative to release root) | importance: should_have; exact_mappings: prov:atLocation |
jsonld_context |
Any |
0..1 | Inline JSON-LD context of the manifest. Serialised as @context; opaque to this schema. |
alias (serialized key): @context |
jsonld_type |
string |
0..1 | JSON-LD type of the manifest node (e.g. asb:SkillCollection). Serialised as @type. |
alias (serialized key): @type |
jsonld_id |
uriorcurie |
0..1 | JSON-LD node identifier; equal to iri in released manifests. Serialised as @id. |
alias (serialized key): @id |
lead_curators |
Curator |
0..* | Lead curators of the release (see Curator). | inlined_as_list: true |
skills_count |
integer |
0..1 | Number of skills the release declares; read by the catalogue generator. | minimum_value: 0 |
tools_count |
integer |
0..1 | Number of tools the release declares; read by the catalogue generator. | minimum_value: 0 |
workflows_count |
integer |
0..1 | Number of workflow directories the release ships, when declared; a release gate checks it against the tree. | minimum_value: 0 |
domain_topics |
uri |
0..* | EDAM topic IRIs under the name the catalogue generator reads. Released manifests carry the same list as edam_topics. |
close_mappings: schema:about |
roles |
CollectionRoles |
0..1 | Collection-level attribution roles (see CollectionRoles). | inlined: true |
zenodo_doi |
string |
0..1 | Bare Zenodo DOI of the deposit (10.5281/zenodo.N), as recorded by the Zenodo release step. Released manifests carry the same value as doi. |
pattern: ^10\.5281/zenodo\.[0-9]+$ |
Curator¶
A lead curator as released manifests record one: display name, a bare ORCID iD and a GitHub handle. Distinct from Person, whose orcid is a URI; the manifest writer derives contributors from this list with the URI form.
Class of asb_skill_collection.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
name |
string |
1 | Full display name | exact_mappings: schema:name |
orcid |
string |
0..1 | Bare ORCID iD (0000-0000-0000-0000), not a URI | pattern: ^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]$ |
github |
string |
0..1 | GitHub user name |
CollectionRoles¶
Attribution roles for the collection as a whole, mirroring the per-skill attribution block: what generated it, who promotes it, who paid for it, who curated it, and the author list deposited on Zenodo.
Class of asb_skill_collection.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
generator |
string |
0..1 | What produced the content (a pipeline, not a human author) | |
promoter |
string |
0..1 | Person who proposes the collection for use | |
sponsor |
string |
0..1 | Who paid the generation cost | |
curators |
string |
0..* | People who modified or validated the content (may be empty) | |
zenodo_authors |
string |
0..* | Creators as listed on the Zenodo deposit, in order |
asb_skill_collection_registry.yaml¶
LinkML schema for the asb-skill-collections catalogue root. Lists all published SkillCollection releases and reserves an external_repos slot for future federation. The serialized form is catalogue.jsonld at the root of the asb-skill-collections repo.
Schema name asb_skill_collection_registry_v0_2. Imports: linkml:types, asb_skill_collection.yaml. Format page: Skill collection.
SkillCollectionRegistry¶
Catalogue root for the asb-skill-collections repo. Lists every released SkillCollection, plus a reserved (v1-off) federation slot.
Class of asb_skill_collection_registry.yaml; tree root
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
registry_iri |
uriorcurie |
1 | Stable IRI of this registry (e.g. w3id.org/holobiomicslab/asb-skill/) | importance: must_have; exact_mappings: schema:url |
registry_title |
string |
1 | Human-readable registry title | importance: must_have; exact_mappings: schema:name |
registry_description |
string |
0..1 | Human-readable description of the registry | importance: should_have; exact_mappings: schema:description |
registry_maintainers |
Person |
0..* | People listed in MAINTAINERS.md who curate this registry | importance: should_have; close_mappings: schema:contributor |
collections |
uriorcurie |
1..* | IRIs of all SkillCollection releases catalogued by this registry. Each entry pins a specific version (e.g. w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v1). | importance: must_have; close_mappings: dcterms:hasPart |
external_repos |
uriorcurie |
0..* | RESERVED (off in v1). Future federation slot: IRIs of third-party *-skill-collections repos whose collections get aggregated into this catalogue. This is a design slot only. |
importance: nice_to_have; close_mappings: dcterms:isPartOf |
generated_at |
datetime |
0..1 | When this catalogue snapshot was generated (ISO 8601) | importance: should_have; exact_mappings: prov:generatedAtTime |
asb_trace.yaml¶
LinkML schema for the ASB exploration trace v0.1.0: the research journey behind a paper's outcome: what was asked, tried, chosen and rejected. ASB's existing card and capsule schemas are outcome-only; this records the branches, including the ones that failed. Mirrors the ExplorationNode / ExplorationTree dataclasses of the reference pipeline.
Schema name asb_trace_v0_1. Imports: linkml:types. Format page: Exploration trace.
ExplorationNode¶
One step in the research journey. The value of type selects which further slots are mandatory; those constraints are enforced by the trace gate of the reference pipeline, not expressible in LinkML alone.
Class of asb_trace.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
id |
string |
1 | N-prefixed, zero-padded node identifier, unique within the tree | identifier: true; pattern: ^N\d{2,}$ |
type |
NodeTypeEnum |
1 | Kind of step | |
title |
string |
1 | Short human-readable label for the step | |
support_level |
SupportLevelEnum |
1 | Whether the source stated this step or it was reconstructed | |
source_refs |
string |
0..* | Where in the source this step is stated, e.g. "§4.1", "Table 2", "Fig. 6 left". Mandatory when support_level is explicit. | |
children |
ExplorationNode |
0..* | Nested steps that follow from this one | inlined_as_list: true |
also_depends_on |
string |
0..* | Cross-edges to nodes outside this node's nesting, making the tree a DAG | |
choice |
string |
0..1 | The option taken (decision nodes) | slot_uri: pplan:Plan |
alternatives |
string |
0..* | Options considered and not taken (decision nodes). A decision with no alternative is a restatement, not a decision. | |
alternatives_unanchored |
integer |
0..1 | How many alternatives a guard removed from this decision (decision nodes); set only when at least one was removed, so an empty alternatives list beside a positive count is a recorded gap rather than a decision the source never qualified. The removed text is deliberately not recorded. | |
hypothesis |
string |
0..1 | What the abandoned approach assumed (dead_end nodes) | |
failure_mode |
string |
0..1 | How the abandoned approach failed (dead_end nodes) | |
lesson |
string |
0..1 | What a later reader should take from the failure (dead_end nodes). This is the field that stops a downstream agent re-walking the same branch. | |
result |
string |
0..1 | What the attempt produced (experiment nodes) | |
evidence |
string |
0..* | Claim ids, figures or tables supporting the result (experiment nodes) | |
from |
string |
0..1 | The approach departed from (pivot nodes) | |
to |
string |
0..1 | The approach moved to (pivot nodes) | |
trigger |
string |
0..1 | What prompted the change of direction (pivot nodes) |
ExplorationTree¶
A paper's exploration graph: root nodes plus everything nested beneath.
Class of asb_trace.yaml
| Slot | Range | Cardinality | Description | Notes |
|---|---|---|---|---|
schema_version |
string |
1 | Version of this trace schema | |
source_doi |
string |
0..1 | DOI of the paper whose journey this trace records | slot_uri: prov:wasDerivedFrom |
nodes |
ExplorationNode |
0..* | Root nodes of the exploration graph | inlined_as_list: true |
NodeTypeEnum¶
Kind of step in the research journey
Enumeration of asb_trace.yaml
| Value | Description |
|---|---|
question |
An open question, typically the root of a branch |
experiment |
An attempt that produced a result |
decision |
A choice made between competing options |
dead_end |
An approach tried and abandoned; always a leaf |
pivot |
A change of direction from one approach to another |
SupportLevelEnum¶
Whether the source stated this step outright or it was reconstructed. The honesty axis: an inferred node must never be presented as directly observed.
Enumeration of asb_trace.yaml
| Value | Description |
|---|---|
explicit |
Stated in the source; requires source_refs |
inferred |
Reconstructed from surrounding narrative |