Expand description
The graph face (as=text/turtle) of the catalog and the run records.
PROV-O and the shared vocabulary, skolemized: every node is an IRI this crate already names, so two answers diff and merge without blank-node renaming.
<urn:script:catalog> dcterms:hasPart <urn:script:{name}> one per catalog row
<urn:script:{name}> dcterms:identifier "{name}" ;
ik:contentHash "sha256:…" its head version
<urn:script:{name}:version:{digest}> prov:specializationOf <urn:script:{name}>
<urn:script:{name}:run:{id}> a prov:Activity ;
prov:used <urn:script:{name}:version:{digest}> ; the version that ran
prov:wasAssociatedWith <principal> ; who, as the door minted it
prov:startedAtTime "…"^^xsd:dateTime ; prov:endedAtTime "…"^^xsd:dateTime ;
ik:outcome <urn:script:outcome:ok> | <urn:script:outcome:failed> absent while runningA run reaches its script through the version it used, so “every run of this script” and “its last run” are queries, not terms.
⚠ What the graph does not carry, because the vocabulary has no term for it (the JSON
face has every one): a script’s state, its public flag, its language, what it declares,
what its publisher held and their exclusions, and a broken head’s error; a run’s
capability, the failure’s kind and message, its result and whether it was cut, and its
trace span. Nothing here invents an ik: term for them.
Constants§
- OUTCOME_
FAILED ik:outcomeof a run that finished with an error.- OUTCOME_
OK ik:outcomeof a run that finished with an answer.