Skip to main content

Module graph

Module graph 

Source
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 running

A 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:outcome of a run that finished with an error.
OUTCOME_OK
ik:outcome of a run that finished with an answer.