diff --git a/.gitignore b/.gitignore index fcf237a9..97114010 100644 --- a/.gitignore +++ b/.gitignore @@ -42,6 +42,9 @@ extensions/job_management/**/24-051.doc extensions/job_management/**/24-051.err extensions/job_management/**/24-051.xml extensions/job_management/**/24-051.presentation.xml +extensions/provenance/**/26-038.html +extensions/provenance/**/26-038.presentation.xml +extensions/provenance/**/26-038.xml node_modules package.json package-lock.json diff --git a/asciidoctor.json b/asciidoctor.json index a28e28f1..82f98fde 100644 --- a/asciidoctor.json +++ b/asciidoctor.json @@ -1,7 +1,7 @@ { "0": { "OGC_doc_number": "18-062r3", - "urn":"http://www.opengis.net/doc/IS/ogcapi-processes-1/2.0", + "urn":"https://www.opengis.net/doc/IS/ogcapi-processes-1/2.0", "title":"OGC API - Processes - Part 1: Core", "version":"2.0.0", "path":"18-062.adoc", @@ -17,7 +17,7 @@ }, "1": { "OGC_doc_number": "20-044", - "urn":"http://www.opengis.net/doc/IS/ogcapi-processes-2/1.0", + "urn":"https://www.opengis.net/doc/IS/ogcapi-processes-2/1.0", "title":"OGC API - Processes - Part 2: Deploy, Replace, Undeploy", "version":"1.0.0", "path":"extensions/deploy_replace_undeploy/standard/20-044.adoc", @@ -33,7 +33,7 @@ }, "2": { "OGC_doc_number": "21-099", - "urn":"http://www.opengis.net/doc/IS/ogcapi-processes-3/1.0", + "urn":"https://www.opengis.net/doc/IS/ogcapi-processes-3/1.0", "title":"OGC API - Processes - Part 3: Workflows and Chaining", "version":"1.0.0", "path":"extensions/workflows/21-099.adoc", @@ -49,10 +49,26 @@ }, "3": { "OGC_doc_number": "24-051", - "urn":"http://www.opengis.net/doc/IS/ogcapi-processes-4/1.0", + "urn":"https://www.opengis.net/doc/IS/ogcapi-processes-4/1.0", "title":"OGC API - Processes - Part 4: Job Management", "version":"1.0.0", - "path":"extensions/job_management/standard/21-099.adoc", + "path":"extensions/job_management/standard/24-051.adoc", + "options": ["--trace"], + "a":[ + "data-uri", + "stylesdir=./resources/stylesheets", + "dot=/usr/bin/dot" + ], + "r":[ + "asciidoctor-diagram" + ] + }, + "4": { + "OGC_doc_number": "26-038", + "urn":"https://www.opengis.net/doc/IS/ogcapi-processes-5/1.0", + "title":"OGC API - Processes - Part 5: Provenance", + "version":"1.0.0", + "path":"extensions/provenance/standard/26-038.adoc", "options": ["--trace"], "a":[ "data-uri", diff --git a/core/requirements/core/REQ_job-exception-no-such-job.adoc b/core/requirements/core/REQ_job-exception-no-such-job.adoc index b0e410f7..772e7682 100644 --- a/core/requirements/core/REQ_job-exception-no-such-job.adoc +++ b/core/requirements/core/REQ_job-exception-no-such-job.adoc @@ -16,7 +16,7 @@ The content of that response SHALL be based upon the OpenAPI 3.0 schema https:// [.component,class=part] -- -The `type` of the exception SHALL be "https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/no-such-job". +The `type` of the exception SHALL be `pass:["https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/no-such-job"]`. -- ==== diff --git a/core/requirements/core/REQ_job-results-exception-invalid-query-parameter-value.adoc b/core/requirements/core/REQ_job-results-exception-invalid-query-parameter-value.adoc index 176325de..b4650b9d 100644 --- a/core/requirements/core/REQ_job-results-exception-invalid-query-parameter-value.adoc +++ b/core/requirements/core/REQ_job-results-exception-invalid-query-parameter-value.adoc @@ -16,7 +16,7 @@ The content of that response SHALL be based upon the OpenAPI 3.0 schema https:// [.component,class=part] -- -The `type` of the exception SHALL be "https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/invalid-query-parameter-value". +The `type` of the exception SHALL be `pass:["https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/invalid-query-parameter-value"]`. -- ==== diff --git a/core/requirements/core/REQ_job-results-exception-no-such-job.adoc b/core/requirements/core/REQ_job-results-exception-no-such-job.adoc index 528c44f4..591e73ca 100644 --- a/core/requirements/core/REQ_job-results-exception-no-such-job.adoc +++ b/core/requirements/core/REQ_job-results-exception-no-such-job.adoc @@ -16,7 +16,7 @@ The content of that response SHALL be based upon the OpenAPI 3.0 schema https:// [.component,class=part] -- -The `type` of the exception SHALL be "https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/no-such-job". +The `type` of the exception SHALL be `pass:["https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/no-such-job"]`. -- ==== diff --git a/core/requirements/core/REQ_job-results-exception-results-not-available.adoc b/core/requirements/core/REQ_job-results-exception-results-not-available.adoc index 214966be..b415b717 100644 --- a/core/requirements/core/REQ_job-results-exception-results-not-available.adoc +++ b/core/requirements/core/REQ_job-results-exception-results-not-available.adoc @@ -22,7 +22,7 @@ The content of that response SHALL be based upon the OpenAPI 3.0 schema https:// [.component,class=part] -- -The `type` of the exception SHALL be "https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/result-not-available". +The `type` of the exception SHALL be `pass:["https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/result-not-available"]`. -- ==== diff --git a/core/requirements/core/REQ_job-results-exception-results-not-ready.adoc b/core/requirements/core/REQ_job-results-exception-results-not-ready.adoc index ccc62237..f9214e50 100644 --- a/core/requirements/core/REQ_job-results-exception-results-not-ready.adoc +++ b/core/requirements/core/REQ_job-results-exception-results-not-ready.adoc @@ -21,7 +21,7 @@ The content of that response SHALL be based upon the OpenAPI 3.0 schema https:// [.component,class=part] -- -The `type` of the exception SHALL be "https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/result-not-ready". +The `type` of the exception SHALL be `pass:["https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/result-not-ready"]`. -- ==== diff --git a/core/requirements/core/REQ_process-exception-no-such-process.adoc b/core/requirements/core/REQ_process-exception-no-such-process.adoc index 4db0ace5..5506d866 100644 --- a/core/requirements/core/REQ_process-exception-no-such-process.adoc +++ b/core/requirements/core/REQ_process-exception-no-such-process.adoc @@ -16,7 +16,7 @@ The content of that response SHALL be based upon the OpenAPI 3.0 schema https:// [.component,class=part] -- -The `type` of the exception SHALL be "https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/no-such-process". +The `type` of the exception SHALL be `pass:["https://www.opengis.net/def/exceptions/ogcapi-processes-1/1.0/no-such-process"]`. -- ==== diff --git a/core/sections/clause_2_conformance.adoc b/core/sections/clause_2_conformance.adoc index 695cd9e5..d69cb7b5 100644 --- a/core/sections/clause_2_conformance.adoc +++ b/core/sections/clause_2_conformance.adoc @@ -41,13 +41,13 @@ The _Core_ does not mandate the use of any specific process description language This class defines an information model, encoded in JSON, which may be used to specify the interface of a process including the inputs that the process expects and the outputs that the process will generate. -Besides the standard input types one might expect for a process (e.g. integer, string, double, etc.) this Standard defines the following conformance class: +Besides the standard input types one might expect for a process (e.g. integer, string, double, etc.) this Standard defines the following conformance class: -* <> +* <> that allows OGC API collections to be specified as process inputs. The <> class only supports collections that are local to the current deployment to be specified as process inputs. The following conformance class: -* <> +* <> extends the collection input requirements to support specifying remote collections as process inputs. @@ -61,7 +61,7 @@ In addition to supporting collections as process inputs, the following conforman * <> -defines requirements that allow process execution to be triggered by requesting output data using an standard <>. In this way, process execution becomes opaque, hidden behind a standard OGC data access API (e.g. features, coverages, etc.). +defines requirements that allow process execution to be triggered by requesting output data using an standard <>. In this way, process execution becomes opaque, hidden behind a standard OGC data access API (e.g. features, coverages, etc.). In the <> executing a process requires sending a JSON-encoded execution request to the server using the HTTP POST method. To support embedding process execution requests into other documents this Standard defines the: @@ -71,13 +71,13 @@ conformance class which allows process inputs to be encoded as query parameters The standard request and response encoding used in this Standard is JSON. The standard media type for JSON is `application/json` which does not allow for the discrimination of one JSON schema from another. In order to resolve this issue the Standard supports content negotiation by profile and defines the `profile` query parameter in the: -* <. +* <>. conformance class. Using the `profile` query parameter JSON-encoded responses can be requested that conform to a specific JSON schemas. Three additional conformance classes are specified that extend the basic functionality defined in the _Core_ requirements class: -* <> for requesting a list of jobs with optional filtering capabilities, +* <> for requesting a list of jobs with optional filtering capabilities, * <> for cancelling active jobs or deleting completed jobs, and diff --git a/extensions/deploy_replace_undeploy/standard/requirements/cwl/REQ_exception-workflow-not-found.adoc b/extensions/deploy_replace_undeploy/standard/requirements/cwl/REQ_exception-workflow-not-found.adoc index 1f7c89db..20e7c0c5 100644 --- a/extensions/deploy_replace_undeploy/standard/requirements/cwl/REQ_exception-workflow-not-found.adoc +++ b/extensions/deploy_replace_undeploy/standard/requirements/cwl/REQ_exception-workflow-not-found.adoc @@ -21,7 +21,7 @@ include::../../../../../openapi/schemas/common-core/exception.yaml[] [.component,class=part] -- -The `type` of the exception SHALL be "https://www.opengis.net/def/exceptions/ogcapi-processes-2/1.0/workflow-not-found". +The `type` of the exception SHALL be `pass:["https://www.opengis.net/def/exceptions/ogcapi-processes-2/1.0/workflow-not-found"]`. -- ==== diff --git a/extensions/deploy_replace_undeploy/standard/requirements/deploy-replace-undeploy/deploy/REQ_unsupported-media-type.adoc b/extensions/deploy_replace_undeploy/standard/requirements/deploy-replace-undeploy/deploy/REQ_unsupported-media-type.adoc index dd0d163b..7f974cf5 100644 --- a/extensions/deploy_replace_undeploy/standard/requirements/deploy-replace-undeploy/deploy/REQ_unsupported-media-type.adoc +++ b/extensions/deploy_replace_undeploy/standard/requirements/deploy-replace-undeploy/deploy/REQ_unsupported-media-type.adoc @@ -22,7 +22,7 @@ include::../../../../../../openapi/schemas/common-core/exception.yaml[] [.component,class=part] -- -The `type` of the exception SHALL be `"https://www.opengis.net/def/exceptions/ogcapi-processes-2/1.0/unsupported-media-type"`. +The `type` of the exception SHALL be `pass:["https://www.opengis.net/def/exceptions/ogcapi-processes-2/1.0/unsupported-media-type"]`. -- ==== diff --git a/extensions/deploy_replace_undeploy/standard/sections/clause_10_oas.adoc b/extensions/deploy_replace_undeploy/standard/sections/clause_10_oas.adoc index 11315757..d461b288 100644 --- a/extensions/deploy_replace_undeploy/standard/sections/clause_10_oas.adoc +++ b/extensions/deploy_replace_undeploy/standard/sections/clause_10_oas.adoc @@ -1,4 +1,4 @@ [[clause_oas]] == OpenAPI 3.0 -See <>, Clause 9. +See <>, Clause 12. diff --git a/extensions/deploy_replace_undeploy/standard/sections/clause_9_cwl.adoc b/extensions/deploy_replace_undeploy/standard/sections/clause_9_cwl.adoc index 9e2d88ca..b0905a06 100644 --- a/extensions/deploy_replace_undeploy/standard/sections/clause_9_cwl.adoc +++ b/extensions/deploy_replace_undeploy/standard/sections/clause_9_cwl.adoc @@ -84,7 +84,7 @@ include::../requirements/cwl/REQ_body.adoc[] ==== Multipart CWL request body -include::../recommendations/cwl/REC_body-cwl-multipart.adoc[] +include::../recommendations/cwl/PER_body-cwl-multipart.adoc[] The following multipart example illustrates one request payload with a root workflow selected by the `start` parameter, with supporting documents referenced by `filename`, `cid:` URI and remote URL combinations. The full contents of the individual <> documents are not included for simplification. Note that the <> YAML representation are employed to provide a concise example, but other <> media-types are permitted in any desired combination. diff --git a/extensions/job_management/standard/24-051.adoc b/extensions/job_management/standard/24-051.adoc index b883eebb..be5b463a 100644 --- a/extensions/job_management/standard/24-051.adoc +++ b/extensions/job_management/standard/24-051.adoc @@ -3,15 +3,15 @@ :docsubtype: implementation :docnumber: 24-051 :status: draft -:copyright-year: 2019 +:copyright-year: 2026 :edition: 1.0 :language: en :published-date: yyyy-mm-dd :received-date: yyyy-mm-dd :issued-date: yyyy-mm-dd :external-id: http://www.opengis.net/doc/IS/ogcapi-processes-4/1.0 -:keywords: process, instance, spatial, data, openapi, job, create, update, delete, add, remove, REST, PATCH, POST, DELETE, W3C PROV, Provenance -:submitting-organizations: Geolabs; Terradue Srl.; Technologies Luqia, Centre de Recherche Informatique de Montréal (CRIM) +:keywords: process, instance, spatial, data, openapi, job, create, update, delete, add, remove, REST, PATCH, POST, DELETE +:submitting-organizations: Geolabs; Terradue Srl.; Technologies Luqia, Centre de Recherche Informatique de Montréal (CRIM); CubeWerx Inc. :editor: Gérald Fenoy, Francis Charette-Migneault :mn-document-class: ogc :mn-output-extensions: xml,html,doc,pdf @@ -37,13 +37,11 @@ include::sections/clause_7_ogcapi-processes.adoc[] include::sections/clause_8_openeo.adoc[] -include::sections/clause_9_provenance.adoc[] +include::sections/clause_9_oas.adoc[] -include::sections/clause_10_oas.adoc[] +include::sections/clause_10_media_types.adoc[] -include::sections/clause_11_media_types.adoc[] - -include::sections/clause_12_security_considerations.adoc[] +include::sections/clause_11_security_considerations.adoc[] include::sections/annex_ats.adoc[] diff --git a/extensions/job_management/standard/recommendations/provenance/prov/PER_content-negotiation.adoc b/extensions/job_management/standard/recommendations/provenance/prov/PER_content-negotiation.adoc deleted file mode 100644 index 8d64067b..00000000 --- a/extensions/job_management/standard/recommendations/provenance/prov/PER_content-negotiation.adoc +++ /dev/null @@ -1,69 +0,0 @@ -[[per_job-provenance_prov_content-negotiation]] -[permission] -==== -[%metadata] -identifier:: /per/provenance/prov-content-negotiation - -[.component,class=part] --- -Content negotiation MAY be supported to provide alternate representations of the response. --- - -[.component,class=part] --- -The server SHOULD support the following content type: `application/json` when _explicitly provided_ -in accordance to the default <> requirement -for link:https://www.w3.org/submissions/prov-json/[PROV-JSON] as -a link:https://www.w3.org/TR/2013/NOTE-prov-overview-20130430/[PROV] representation -in JSON using the link:https://www.w3.org/TR/2013/REC-prov-dm-20130430/[PROV-DM] data model. --- - -[.component,class=part] --- -The server MAY support the following additional content type: `application/ld+json` -for link:https://www.w3.org/submissions/prov-jsonld/[PROV-JSONLD] as -a link:https://www.w3.org/TR/2013/NOTE-prov-overview-20130430/[PROV] representation -in link:https://www.w3.org/TR/json-ld/[JSON-LD]. --- - -[.component,class=part] --- -The server MAY support the following additional content type: `application/provenace+xml` -(and optionally `application/xml` or `text/xml` as acceptable aliases) -for link:https://www.w3.org/TR/2013/NOTE-prov-xml-20130430/[PROV-XML] as -a link:https://www.w3.org/TR/2013/NOTE-prov-overview-20130430/[PROV] representation -in XML using namespaces defined by the link:https://www.w3.org/TR/2013/REC-prov-dm-20130430/[PROV-DM] data model. --- - -[.component,class=part] --- -The server MAY support the following additional content type: `text/provenance-notation` -for link:https://www.w3.org/TR/2013/REC-prov-n-20130430/[PROV-N] as -a human-readable provenance notation -of the link:https://www.w3.org/TR/2013/REC-prov-dm-20130430/[PROV-DM] data model. --- - -[.component,class=part] --- -The server MAY support the following additional content type: `application/n-triples` -for PROV-NT as link:https://www.w3.org/TR/n-triples/[N-Triples RDF] -using the link:https://www.w3.org/TR/2013/REC-prov-o-20130430/[PROV-O] RDF ontology. --- - -[.component,class=part] --- -The server MAY support the following additional content type: `text/turtle` -for PROV-TURTLE as link:https://www.w3.org/TR/rdf12-turtle/[Turtle RDF] -using the link:https://www.w3.org/TR/2013/REC-prov-o-20130430/[PROV-O] RDF ontology. --- - -[.component,class=part] --- -For all supported content media-types, the server MAY support -link:https://datatracker.ietf.org/doc/html/rfc2616#section-12["Content Negotiation"] of the Provenance -representation either through the https://www.rfc-editor.org/rfc/rfc2616#section-14.1[HTTP Accept] header, -the `f` query parameter, by link:https://docs.ogc.org/DRAFTS/18-062r3.html#con-neg-by-profile["Profile"] -or any other mechanism it deems fit. --- - -==== diff --git a/extensions/job_management/standard/requirements/provenance/prov/REQ_get-op.adoc b/extensions/job_management/standard/requirements/provenance/prov/REQ_get-op.adoc deleted file mode 100644 index 984001f1..00000000 --- a/extensions/job_management/standard/requirements/provenance/prov/REQ_get-op.adoc +++ /dev/null @@ -1,17 +0,0 @@ -[[req_job-provenance_prov_get-op]] -[requirement] -==== -[%metadata] -identifier:: /req/provenance/prov-get-op - -[.component,class=part] --- -For every created jobs (path: `/jobs/{jobID}/prov`), the server SHALL support the HTTP GET operation. --- - -[.component,class=part] --- -The parameter `jobID` resolves to a valid job as per <>. --- - -==== diff --git a/extensions/job_management/standard/requirements/provenance/prov/REQ_response.adoc b/extensions/job_management/standard/requirements/provenance/prov/REQ_response.adoc deleted file mode 100644 index 0398d4e0..00000000 --- a/extensions/job_management/standard/requirements/provenance/prov/REQ_response.adoc +++ /dev/null @@ -1,24 +0,0 @@ -[[req_provenance_prov_response]] -[requirement] -==== -[%metadata] -identifier:: /req/provenance/prov-response - -[.component,class=part] --- -A successful execution of the operation SHALL be reported as a response with a HTTP status code `200`. --- - -[.component,class=part] --- -Per default, the response SHALL contains a JSON document that conforms to the -link:https://www.w3.org/submissions/prov-json/schema[PROV-JSON] schema. --- - -[.component,class=part] --- -In case content-negotiation is used, the response MAY contain other representations including but not limited to -PROV-O as JSON-LD, PROV-XML or PROV-N. See also <>. --- - -==== diff --git a/extensions/job_management/standard/requirements/requirements_class_job-management.adoc b/extensions/job_management/standard/requirements/requirements_class_job-management.adoc index c3dd75ec..c6af3028 100644 --- a/extensions/job_management/standard/requirements/requirements_class_job-management.adoc +++ b/extensions/job_management/standard/requirements/requirements_class_job-management.adoc @@ -3,7 +3,7 @@ .Requirements Class 'Job Management' ==== [%metadata] -identifier:: http://www.opengis.net/spec/ogcapi-processes-4/1.0/req/job-management +identifier:: https://www.opengis.net/spec/ogcapi-processes-4/1.0/req/job-management obligation:: requirement subject:: Web API inherit:: <> diff --git a/extensions/job_management/standard/requirements/requirements_class_ogcapi-processes.adoc b/extensions/job_management/standard/requirements/requirements_class_ogcapi-processes.adoc index 09735325..4afa11bb 100644 --- a/extensions/job_management/standard/requirements/requirements_class_ogcapi-processes.adoc +++ b/extensions/job_management/standard/requirements/requirements_class_ogcapi-processes.adoc @@ -3,12 +3,12 @@ .Requirements Class 'OGC API - Processes' ==== [%metadata] -identifier:: http://www.opengis.net/spec/ogcapi-processes-4/1.0/req/ogcapi-processes +identifier:: https://www.opengis.net/spec/ogcapi-processes-4/1.0/req/ogcapi-processes obligation:: requirement subject:: Web API inherit:: <> inherit:: <> -inherit:: <> +inherit:: <> requirement:: /req/ogcapi-processes/create-body requirement:: /req/ogcapi-processes/definition-response-body requirement:: /req/ogcapi-processes/schema diff --git a/extensions/job_management/standard/requirements/requirements_class_openeo.adoc b/extensions/job_management/standard/requirements/requirements_class_openeo.adoc index 400248fa..1a394b82 100644 --- a/extensions/job_management/standard/requirements/requirements_class_openeo.adoc +++ b/extensions/job_management/standard/requirements/requirements_class_openeo.adoc @@ -3,10 +3,10 @@ .Requirements Class 'openEO' ==== [%metadata] -identifier:: http://www.opengis.net/spec/ogcapi-processes-4/1.0/req/openeo +identifier:: https://www.opengis.net/spec/ogcapi-processes-4/1.0/req/openeo obligation:: requirement subject:: Web API -inherit:: <> +inherit:: <> requirement:: /req/openeo/create-body requirement:: /req/openeo/definition-response-body requirement:: /req/openeo/schema diff --git a/extensions/job_management/standard/sections/annex_history.adoc b/extensions/job_management/standard/sections/annex_history.adoc index 1607a448..ab18d809 100644 --- a/extensions/job_management/standard/sections/annex_history.adoc +++ b/extensions/job_management/standard/sections/annex_history.adoc @@ -14,4 +14,5 @@ |2026-06-23 |None |Francis Charette-Migneault |all |Align the `/jobs/{jobId}/definition` with processingEntityType from Core. |2026-06-23 |None |Francis Charette-Migneault |all |Add the definitions for `created` status and pending job req/rec/per. |2026-06-23 |None |Francis Charette-Migneault |all |Clarify multiple ambiguities and permissions related to managing jobs updates. +|2026-07-06 |None |Francis Charette-Migneault |all |Moved Provenance definitions from Part 4 (this document) to a dedicated Part 5. |=== diff --git a/extensions/job_management/standard/sections/clause_0_front_material.adoc b/extensions/job_management/standard/sections/clause_0_front_material.adoc index 348779a5..3dd8003c 100644 --- a/extensions/job_management/standard/sections/clause_0_front_material.adoc +++ b/extensions/job_management/standard/sections/clause_0_front_material.adoc @@ -10,7 +10,9 @@ The OGC API - Processes - Part 2: Deploy, Replace, Undeploy draft specification The OGC API - Processes - Part 3: Workflows draft specification extends the core capabilities specified in OGC API - Processes - Part 1: Core [<>] with the ability to ... -The OGC API - Processes - Part 4: Job Management draft specification extends the core capabilities specified in OGC API - Processes - Part 1: Core [<>] with the ability to create, manage and monitor jobs that are associated with processes execution. This part of the standard also defines how to ensure provenance information is preserved and findable. +The OGC API - Processes - Part 4: Job Management draft specification extends the core capabilities specified in OGC API - Processes - Part 1: Core [<>] with the ability to create, manage and monitor jobs that are associated with processes execution. + +The OGC API - Processes - Part 5: Provenance draft specification extends the core capabilities specified in OGC API - Processes - Part 1: Core [<>] with provenance information associated with processes execution through associated jobs. CAUTION: This is a DRAFT version of the 4th part of the OGC API - Processes standards. This draft is not complete and there are open issues that are still under discussion. diff --git a/extensions/job_management/standard/sections/clause_11_media_types.adoc b/extensions/job_management/standard/sections/clause_10_media_types.adoc similarity index 100% rename from extensions/job_management/standard/sections/clause_11_media_types.adoc rename to extensions/job_management/standard/sections/clause_10_media_types.adoc diff --git a/extensions/job_management/standard/sections/clause_10_oas.adoc b/extensions/job_management/standard/sections/clause_10_oas.adoc deleted file mode 100644 index 45e1367d..00000000 --- a/extensions/job_management/standard/sections/clause_10_oas.adoc +++ /dev/null @@ -1,5 +0,0 @@ - -[[oas]] -== OpenAPI 3.0 - -See <>, Clause 9. diff --git a/extensions/job_management/standard/sections/clause_12_security_considerations.adoc b/extensions/job_management/standard/sections/clause_11_security_considerations.adoc similarity index 100% rename from extensions/job_management/standard/sections/clause_12_security_considerations.adoc rename to extensions/job_management/standard/sections/clause_11_security_considerations.adoc diff --git a/extensions/job_management/standard/sections/clause_1_scope.adoc b/extensions/job_management/standard/sections/clause_1_scope.adoc index 05009f15..29d95d61 100644 --- a/extensions/job_management/standard/sections/clause_1_scope.adoc +++ b/extensions/job_management/standard/sections/clause_1_scope.adoc @@ -3,8 +3,6 @@ The OGC API - Processes - Part 4 Standard is an extension to the OGC API – Processes – Part 1: Core Standard [<>] and defines the behavior of a server that supports the ability to create jobs without implying the process execution starts right away. -It also extends the job endpoints to support the management of provenance information associated with a job -once the execution of that job has completed successfully. Specifically, the Processes Part 4 Standard specifies: @@ -14,6 +12,4 @@ Specifically, the Processes Part 4 Standard specifies: * How to trigger a pending job to initiate its execution. -* How to handle provenance information associated with a job. - * Bridge job execution strategies between <>, <<<> and other standards. diff --git a/extensions/job_management/standard/sections/clause_9_oas.adoc b/extensions/job_management/standard/sections/clause_9_oas.adoc new file mode 100644 index 00000000..3c7eef5b --- /dev/null +++ b/extensions/job_management/standard/sections/clause_9_oas.adoc @@ -0,0 +1,5 @@ + +[[oas]] +== OpenAPI 3.0 + +See <>, Clause 12. diff --git a/extensions/job_management/standard/sections/clause_9_provenance.adoc b/extensions/job_management/standard/sections/clause_9_provenance.adoc deleted file mode 100644 index 1dd1b113..00000000 --- a/extensions/job_management/standard/sections/clause_9_provenance.adoc +++ /dev/null @@ -1,24 +0,0 @@ -== Requirements Class "Provenance" - -[[provenance-overview]] -=== Overview - -This requirements class defines how to allow client application accessing the provenance of a job run. - -include::../requirements/requirements_class_provenance.adoc[] - -=== Additional endpoints - -==== PROV - -The server MUST provide an endpoint to retrieve the provenance of a job. - -===== Operation - -include::../requirements/provenance/prov/REQ_get-op.adoc[] - -include::../recommendations/provenance/prov/PER_content-negotiation.adoc[] - -===== Response - -include::../requirements/provenance/prov/REQ_response.adoc[] diff --git a/extensions/job_management/xml/README.md b/extensions/job_management/xml/README.md deleted file mode 100644 index f1ab5dec..00000000 --- a/extensions/job_management/xml/README.md +++ /dev/null @@ -1 +0,0 @@ -XML stuff goes here! diff --git a/extensions/provenance/standard/26-038.adoc b/extensions/provenance/standard/26-038.adoc new file mode 100644 index 00000000..a3ada017 --- /dev/null +++ b/extensions/provenance/standard/26-038.adoc @@ -0,0 +1,55 @@ += OGC API - Processes - Part 5: Provenance +:doctype: standard +:docsubtype: implementation +:docnumber: 26-038 +:status: draft +:copyright-year: 2026 +:edition: 1.0 +:language: en +:published-date: yyyy-mm-dd +:received-date: yyyy-mm-dd +:issued-date: 2026-07-07 +:external-id: http://www.opengis.net/doc/IS/ogcapi-processes-5/1.0 +:keywords: process, provenance, W3C PROV, job, spatial, data, openapi +:submitting-organizations: Technologies Luqia, Centre de Recherche Informatique de Montréal (CRIM); Geolabs; CubeWerx Inc. +:editor: Francis Charette-Migneault, Gérald Fenoy +:mn-document-class: ogc +:mn-output-extensions: xml,html,doc,pdf + +//// +Make sure to complete each included document +//// +include::sections/clause_0_front_material.adoc[] + +include::sections/clause_1_scope.adoc[] + +include::sections/clause_2_conformance.adoc[] + +include::sections/clause_3_references.adoc[] + +include::sections/clause_4_terms_and_definitions.adoc[] + +include::sections/clause_5_conventions.adoc[] + +include::sections/clause_6_provenance.adoc[] + +include::sections/clause_7_research_object.adoc[] + +include::sections/clause_8_oas.adoc[] + +include::sections/clause_9_media_types.adoc[] + +include::sections/clause_10_security_considerations.adoc[] + +include::sections/annex_ats.adoc[] + +include::sections/annex_examples.adoc[] + +//// +Revision History should be the last annex before the Bibliography +Bibliography should be the last annex +//// +include::sections/annex_history.adoc[] + +include::sections/annex_bibliography.adoc[] + diff --git a/extensions/provenance/standard/README.md b/extensions/provenance/standard/README.md new file mode 100644 index 00000000..240df301 --- /dev/null +++ b/extensions/provenance/standard/README.md @@ -0,0 +1 @@ +This folder contains the text for part 5 of the OGC API Processes standard. diff --git a/extensions/provenance/standard/abstract_tests/ATS_class_prov.adoc b/extensions/provenance/standard/abstract_tests/ATS_class_prov.adoc new file mode 100644 index 00000000..4fc5f06a --- /dev/null +++ b/extensions/provenance/standard/abstract_tests/ATS_class_prov.adoc @@ -0,0 +1,14 @@ +[[ats_prov]] +[conformance_class] +.Provenance +==== +[%metadata] +identifier:: https://www.opengis.net/spec/ogcapi-processes-5/1.0/conf/provenance +subject:: <> +classification:: Target Type:Web API +conformance-test:: /conf/prov/prov/get-op +==== + +==== PROV operation + +include::prov/prov/ATS_get-op.adoc[] diff --git a/extensions/provenance/standard/abstract_tests/README.md b/extensions/provenance/standard/abstract_tests/README.md new file mode 100644 index 00000000..ee9b6e6d --- /dev/null +++ b/extensions/provenance/standard/abstract_tests/README.md @@ -0,0 +1,27 @@ +This folder contains the Abstract Test Suite. + +Each file describes a single test. The naming convention for these files is: + +"cc/TESTn.adoc" where "cc" corresponds to the identifier for the requirements class and "n" corresponds to the test number. Numbers should have preceeding zeros appropriate for the total number of tests in the conformance class (e.g., the first test could be TEST001 if less than 1000 tests are anticipated). + +The test is expressed according to this pattern: + +```` +===== Test case title + +(( additional discussion, if needed )) + +====== a) Test Purpose: +(( description )) + +====== b) Pre-conditions: +* (( list all preconditions )) + +====== c) Test Method: +* (( steps to execute and assertions to test )) + +====== d) References: +* <> +```` + +NOTE: for each test, there must be one or more requirements in the "requirements" folder. diff --git a/extensions/provenance/standard/abstract_tests/prov/prov/ATS_get-op.adoc b/extensions/provenance/standard/abstract_tests/prov/prov/ATS_get-op.adoc new file mode 100644 index 00000000..c0382cb2 --- /dev/null +++ b/extensions/provenance/standard/abstract_tests/prov/prov/ATS_get-op.adoc @@ -0,0 +1,22 @@ +[[ats_provenance_job-prov_get-op]] + +[abstract_test] +==== +[%metadata] +identifier:: /conf/provenance/prov-get-op +target:: <> +test-purpose:: Validate that the server supports HTTP GET operation at the `/jobs/{jobID}/prov` path to retrieve job provenance +test-method:: ++ +-- +1. Construct a path for the {root}/jobs/{jobID}/prov path with a valid job identifier. + +2. Issue an HTTP GET request to the path. + +3. Validate that the response status code is 200 (OK) or 406 (Not Acceptable) if content negotiation is not satisfied. + +4. Validate that the response contains provenance information in the supported format. + +5. Validate that the response structure respects the provenance schema if applicable. +-- +==== diff --git a/extensions/provenance/standard/examples/job_prov.json b/extensions/provenance/standard/examples/job_prov.json new file mode 100644 index 00000000..d10836c8 --- /dev/null +++ b/extensions/provenance/standard/examples/job_prov.json @@ -0,0 +1,1351 @@ +{ + "prefix": { + "wfprov": "http://purl.org/wf4ever/wfprov#", + "wfdesc": "http://purl.org/wf4ever/wfdesc#", + "cwlprov": "https://w3id.org/cwl/prov#", + "foaf": "http://xmlns.com/foaf/0.1/", + "schema": "http://schema.org/", + "orcid": "https://orcid.org/", + "id": "urn:uuid:", + "data": "urn:hash::sha1:", + "sha256": "nih:sha-256;", + "researchobject": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/", + "metadata": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/metadata/", + "provenance": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/metadata/provenance/", + "wf": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#", + "input": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/primary-job.json#", + "doi": "https://doi.org/", + "wf4ever": "http://purl.org/wf4ever/wf4ever#" + }, + "agent": { + "id:dc49c9ee-a913-4e5c-b89a-2201af36af9c": [ + {}, + { + "prov:type": { + "$": "foaf:OnlineAccount", + "type": "prov:QUALIFIED_NAME" + }, + "prov:location": "https://hirondelle.crim.ca/weaver", + "cwlprov:hostname": "hirondelle.crim.ca" + }, + { + "prov:type": { + "$": "foaf:OnlineAccount", + "type": "prov:QUALIFIED_NAME" + }, + "prov:label": "weaver-worker@crim-ca/weaver:6.9.0-dev2", + "foaf:accountName": "weaver-worker@crim-ca/weaver:6.9.0-dev2" + } + ], + "id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990": { + "prov:type": [ + { + "$": "prov:SoftwareAgent", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "schema:SoftwareApplication", + "type": "prov:QUALIFIED_NAME" + } + ], + "prov:label": "weaver-worker@crim-ca/weaver:6.9.0-dev2", + "foaf:name": "weaver-worker@crim-ca/weaver:6.9.0-dev2", + "foaf:account": { + "$": "id:dc49c9ee-a913-4e5c-b89a-2201af36af9c", + "type": "prov:QUALIFIED_NAME" + }, + "schema:name": "weaver-worker@crim-ca/weaver:6.9.0-dev2" + }, + "id:d57aaff6-a93f-4927-a2d8-112beb358d4d": { + "prov:type": [ + { + "$": "prov:SoftwareAgent", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wfprov:WorkflowEngine", + "type": "prov:QUALIFIED_NAME" + } + ], + "prov:label": "cwltool 3.1.20260108082145" + }, + "data:4e5feeeb8209de47c8dfb7c3f50a893e505af067": { + "prov:type": { + "$": "prov:SoftwareAgent", + "type": "prov:QUALIFIED_NAME" + }, + "prov:location": "https://hirondelle.crim.ca/weaver", + "prov:label": [ + "crim-ca/weaver:6.9.0-dev2", + "Weaver is an Execution Management Service (EMS) that allows the execution of workflows chaining various applications and Web Processing Services (WPS) inputs and outputs. Remote execution is deferred by the EMS to an Application Deployment and Execution Service (ADES), as defined by Common Workflow Language (CWL) configurations." + ], + "prov:generalEntity": "data:644e201526525f62152815a76a2dc773450f3dd9", + "prov:specificEntity": "doi:10.5281/zenodo.14210717" + } + }, + "actedOnBehalfOf": { + "_:id1": { + "prov:delegate": "id:dc49c9ee-a913-4e5c-b89a-2201af36af9c", + "prov:responsible": "id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990" + }, + "_:id6": { + "prov:delegate": "data:4e5feeeb8209de47c8dfb7c3f50a893e505af067", + "prov:responsible": "id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990" + } + }, + "wasStartedBy": { + "_:id2": { + "prov:activity": "id:d57aaff6-a93f-4927-a2d8-112beb358d4d", + "prov:starter": "id:dc49c9ee-a913-4e5c-b89a-2201af36af9c", + "prov:time": "2026-01-15T16:46:10.775855" + }, + "_:id4": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:starter": "id:d57aaff6-a93f-4927-a2d8-112beb358d4d", + "prov:time": "2026-01-15T16:46:10.775984" + }, + "_:id10": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:trigger": "data:4e5feeeb8209de47c8dfb7c3f50a893e505af067" + }, + "_:id11": { + "prov:activity": "id:d57aaff6-a93f-4927-a2d8-112beb358d4d", + "prov:trigger": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:45:56.964000+00:00" + } + }, + "activity": { + "id:53f5a04e-b531-466d-81be-62c34a1431ba": { + "prov:startTime": "2026-01-15T16:46:10.775907", + "prov:type": { + "$": "wfprov:WorkflowRun", + "type": "prov:QUALIFIED_NAME" + }, + "prov:label": "Run of workflow/packed.cwl#main" + } + }, + "wasAssociatedWith": { + "_:id3": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:agent": "id:d57aaff6-a93f-4927-a2d8-112beb358d4d", + "prov:plan": "wf:main" + } + }, + "entity": { + "data:644e201526525f62152815a76a2dc773450f3dd9": { + "prov:type": { + "$": "prov:PrimarySource", + "type": "prov:QUALIFIED_NAME" + }, + "prov:label": "Source code repository", + "prov:location": "https://github.com/crim-ca/weaver" + }, + "data:3102f6d7a018ebae572f457d711ed7e1e7a11bc2": { + "prov:type": { + "$": "prov:Organization", + "type": "prov:QUALIFIED_NAME" + }, + "foaf:name": "Computer Research Institute of Montr\u00e9al", + "schema:name": "Computer Research Institute of Montr\u00e9al" + }, + "data:838cdfa4bbf09d1aedd26d79b46bfa8778ede2e0": { + "foaf:name": "crim-ca/weaver", + "schema:name": "crim-ca/weaver", + "prov:location": "http://pavics-weaver.readthedocs.org/en/latest/", + "prov:type": { + "$": "prov:Organization", + "type": "prov:QUALIFIED_NAME" + }, + "prov:label": "Server Provider" + }, + "id:53f5a04e-b531-466d-81be-62c34a1431ba": { + "prov:type": { + "$": "wfdesc:ProcessRun", + "type": "prov:QUALIFIED_NAME" + }, + "prov:location": "https://hirondelle.crim.ca/weaver/processes/EchoProcess/jobs/53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:label": "Job Information" + }, + "data:4e5feeeb8209de47c8dfb7c3f50a893e505af067:EchoProcess": { + "prov:type": { + "$": "wfdesc:Process", + "type": "prov:QUALIFIED_NAME" + }, + "prov:location": "https://hirondelle.crim.ca/weaver/processes/EchoProcess", + "prov:label": "Process Description" + }, + "wf:main": { + "prov:type": [ + { + "$": "wfdesc:Process", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "prov:Plan", + "type": "prov:QUALIFIED_NAME" + } + ], + "prov:label": "Prospective provenance" + }, + "data:0cf60d40470fde378076afacf5812f961208a018": [ + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + "prov:value": "Value2" + }, + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + "prov:value": "Value2" + }, + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + "prov:value": "Value2" + } + ], + "id:cb4c5d07-5b7e-435f-882c-afe14e061f4b": { + "prov:value": { + "$": 10.3, + "type": "xsd:double" + } + }, + "data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72": [ + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + "prov:value": "2021-03-06T07:21:00" + }, + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + "prov:value": "2021-03-06T07:21:00" + }, + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + "prov:value": "2021-03-06T07:21:00" + } + ], + "id:f01a7e80-f451-4047-93c0-587666a9847a": { + "prov:value": { + "$": 3.14159, + "type": "xsd:double" + } + }, + "id:a19d9289-ab50-4d85-a241-4ef9a0e36deb": { + "prov:value": { + "$": 1, + "type": "xsd:int" + } + }, + "id:5e4614e1-101d-4be2-8b66-24f770b3435f": { + "prov:value": { + "$": 2, + "type": "xsd:int" + } + }, + "id:a45ad975-3387-4b7c-ac1c-a268c65927d1": { + "prov:value": { + "$": 3, + "type": "xsd:int" + } + }, + "id:056f6ec9-f5ca-4630-8b6e-171ea0fe8f3f": { + "prov:value": { + "$": 4, + "type": "xsd:int" + } + }, + "id:b4c63361-5926-4b48-be43-df94727a79da": { + "prov:value": { + "$": 5, + "type": "xsd:int" + } + }, + "id:a68017f5-e2f6-441c-b4ad-cf94dec801d7": { + "prov:value": { + "$": 6, + "type": "xsd:int" + } + }, + "id:c68b1b94-7f88-4cda-87da-f5e68beabe42": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "prov:Collection", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "data:1ed7ac15d56fc9b6257234caebf4bed6e559b53c": [ + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + }, + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + } + ], + "id:5f78096f-fce2-49b1-aa6d-941927d15dcc": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "data:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb": [ + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + }, + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + } + ], + "id:f0020803-854b-4bd3-a70a-f6317d3a6524": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "data:82f6bd8f98adc472eb9e350df9d64c102da0bcb5": [ + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + }, + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + } + ], + "id:6e88c002-b8f6-488e-977f-21ad51073fc6": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "id:8edd155f-17b1-48d6-ae93-bad0390c9ef3": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "prov:Collection", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "data:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d": [ + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + }, + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + } + ], + "id:d4ac4ab8-25a3-4412-82b6-07b92da98795": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "data:ec3fe43f2db3829507e574b5b9b1b84547d48f19": [ + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + }, + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + } + ], + "id:c790f3f7-ac11-4d13-9c71-4d68c73ed040": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "data:795e8291ebb709a1bc71824449570f94f082a02b": [ + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + }, + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + } + ], + "id:6815d3c5-fa14-4153-befe-a5fddc285b06": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "id:88e9a099-e5d4-45f9-8402-c8082168a6f0": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "prov:Collection", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "data:3f88b16b3b80316d30a93bc4035da306170884e2": [ + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + }, + { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + } + ], + "id:54f9b9d5-641c-4e66-8c9d-c65f2ad0be63": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "id:fc017dcf-09ec-4cbf-81ac-741b5a61b482": { + "prov:value": { + "$": 10.3, + "type": "xsd:double" + } + }, + "id:0df32fa2-e262-458f-b1df-5e749c1b19f4": { + "prov:value": { + "$": 3.14159, + "type": "xsd:double" + } + }, + "id:5226c081-e3dc-4963-987b-92142bd75102": { + "prov:value": { + "$": 1, + "type": "xsd:int" + } + }, + "id:f30572d8-60e4-4221-80a7-cb76e1007e9a": { + "prov:value": { + "$": 2, + "type": "xsd:int" + } + }, + "id:a1aa3cbf-8435-4f94-aeb6-110922551843": { + "prov:value": { + "$": 3, + "type": "xsd:int" + } + }, + "id:2a95bd87-116b-42f4-8525-428de8743778": { + "prov:value": { + "$": 4, + "type": "xsd:int" + } + }, + "id:bde07acc-95a9-46f6-be09-6467fa7bd8b8": { + "prov:value": { + "$": 5, + "type": "xsd:int" + } + }, + "id:6d234b31-69fb-4949-b096-924f234097a1": { + "prov:value": { + "$": 6, + "type": "xsd:int" + } + }, + "id:541c0738-ac5c-4a35-b592-a3cbc87246f1": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "prov:Collection", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "id:109d6043-7fad-428f-a563-a99a4ebd6dda": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ], + "cwlprov:basename": "input", + "cwlprov:nameroot": "input", + "cwlprov:nameext": "" + }, + "id:5ec5c130-692c-48d5-9cef-be41cec00d11": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ], + "cwlprov:basename": "input_9i61gfqe", + "cwlprov:nameroot": "input_9i61gfqe", + "cwlprov:nameext": "" + }, + "id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ], + "cwlprov:basename": "input_50x5752r", + "cwlprov:nameroot": "input_50x5752r", + "cwlprov:nameext": "" + }, + "id:1b6185c0-b83d-431b-a2ba-7c2b026b1823": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "prov:Collection", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "id:160a1cd9-6384-4828-b627-a02e478365fb": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ], + "cwlprov:basename": "input__cdpaqkt", + "cwlprov:nameroot": "input__cdpaqkt", + "cwlprov:nameext": "" + }, + "id:ef9384d4-880f-4398-9e10-1bce1d54e51e": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ], + "cwlprov:basename": "ew-hh.tiff", + "cwlprov:nameroot": "ew-hh", + "cwlprov:nameext": ".tiff" + }, + "id:043749d9-938e-4aa4-b5ae-12fc699dbcc9": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ], + "cwlprov:basename": "input_9mob2l0c", + "cwlprov:nameroot": "input_9mob2l0c", + "cwlprov:nameext": "" + }, + "id:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "prov:Collection", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "id:fbb085ae-d3ad-4639-a448-b01188f1ce9f": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ], + "cwlprov:basename": "GetFeature.json", + "cwlprov:nameroot": "GetFeature", + "cwlprov:nameext": ".json" + }, + "id:5a1aa540-dfb8-46d5-8391-0b59b865747f": { + "prov:value": { + "$": 10.3, + "type": "xsd:double" + } + }, + "id:0aebe062-805e-4853-9d80-dbc5107a8bdb": { + "prov:value": { + "$": 3.14159, + "type": "xsd:double" + } + }, + "id:6a99e0ba-c671-4471-aa33-4cc523e0f428": { + "prov:value": { + "$": 1, + "type": "xsd:int" + } + }, + "id:64c45605-d8a9-4a56-929d-47dcad5543f1": { + "prov:value": { + "$": 2, + "type": "xsd:int" + } + }, + "id:b557ccae-b5e3-43ce-bc06-f39d3e12f67f": { + "prov:value": { + "$": 3, + "type": "xsd:int" + } + }, + "id:f55d0d44-4cb4-4cd2-a336-7bac9e265583": { + "prov:value": { + "$": 4, + "type": "xsd:int" + } + }, + "id:c8dbab29-6641-40d9-b5c1-626872f5337d": { + "prov:value": { + "$": 5, + "type": "xsd:int" + } + }, + "id:9718f0ee-b250-4d33-a6df-4b8ad72bf150": { + "prov:value": { + "$": 6, + "type": "xsd:int" + } + }, + "id:79e5fa0b-4998-46da-bbe8-920533c7940b": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "prov:Collection", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "id:a326f7d5-60b5-4b9d-802f-58f2411c993e": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "prov:Collection", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "id:96f693e2-3eac-4a04-8887-7285b7605f49": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "prov:Collection", + "type": "prov:QUALIFIED_NAME" + } + ] + }, + "data:da39a3ee5e6b4b0d3255bfef95601890afd80709": { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + }, + "id:a9b3da73-190e-4a3a-affb-a12396f0eac3": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ], + "cwlprov:basename": "stderr.log", + "cwlprov:nameroot": "stderr", + "cwlprov:nameext": ".log" + }, + "data:adc83b19e793491b1c6ea0fd8b46cd9f32e592fc": { + "prov:type": { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + } + }, + "id:e66cf62a-753e-459e-b2f4-06f99396ca08": { + "prov:type": [ + { + "$": "wfprov:Artifact", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "wf4ever:File", + "type": "prov:QUALIFIED_NAME" + } + ], + "cwlprov:basename": "stdout.log", + "cwlprov:nameroot": "stdout", + "cwlprov:nameext": ".log" + } + }, + "wasDerivedFrom": { + "_:id5": { + "prov:generatedEntity": "data:4e5feeeb8209de47c8dfb7c3f50a893e505af067", + "prov:usedEntity": "data:644e201526525f62152815a76a2dc773450f3dd9", + "prov:type": { + "$": "prov:PrimarySource", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id9": { + "prov:generatedEntity": "id:dc49c9ee-a913-4e5c-b89a-2201af36af9c", + "prov:usedEntity": "data:4e5feeeb8209de47c8dfb7c3f50a893e505af067" + }, + "_:id15": { + "prov:generatedEntity": "data:838cdfa4bbf09d1aedd26d79b46bfa8778ede2e0", + "prov:usedEntity": "data:4e5feeeb8209de47c8dfb7c3f50a893e505af067" + } + }, + "specializationOf": { + "_:id7": { + "prov:specificEntity": "data:4e5feeeb8209de47c8dfb7c3f50a893e505af067", + "prov:generalEntity": "id:dc49c9ee-a913-4e5c-b89a-2201af36af9c" + }, + "_:id12": { + "prov:specificEntity": "id:d57aaff6-a93f-4927-a2d8-112beb358d4d", + "prov:generalEntity": "id:53f5a04e-b531-466d-81be-62c34a1431ba" + }, + "_:id28": { + "prov:specificEntity": "id:5f78096f-fce2-49b1-aa6d-941927d15dcc", + "prov:generalEntity": "data:1ed7ac15d56fc9b6257234caebf4bed6e559b53c" + }, + "_:id30": { + "prov:specificEntity": "id:f0020803-854b-4bd3-a70a-f6317d3a6524", + "prov:generalEntity": "data:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb" + }, + "_:id31": { + "prov:specificEntity": "id:6e88c002-b8f6-488e-977f-21ad51073fc6", + "prov:generalEntity": "data:82f6bd8f98adc472eb9e350df9d64c102da0bcb5" + }, + "_:id35": { + "prov:specificEntity": "id:d4ac4ab8-25a3-4412-82b6-07b92da98795", + "prov:generalEntity": "data:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d" + }, + "_:id37": { + "prov:specificEntity": "id:c790f3f7-ac11-4d13-9c71-4d68c73ed040", + "prov:generalEntity": "data:ec3fe43f2db3829507e574b5b9b1b84547d48f19" + }, + "_:id38": { + "prov:specificEntity": "id:6815d3c5-fa14-4153-befe-a5fddc285b06", + "prov:generalEntity": "data:795e8291ebb709a1bc71824449570f94f082a02b" + }, + "_:id42": { + "prov:specificEntity": "id:54f9b9d5-641c-4e66-8c9d-c65f2ad0be63", + "prov:generalEntity": "data:3f88b16b3b80316d30a93bc4035da306170884e2" + }, + "_:id55": { + "prov:specificEntity": "id:109d6043-7fad-428f-a563-a99a4ebd6dda", + "prov:generalEntity": "data:1ed7ac15d56fc9b6257234caebf4bed6e559b53c" + }, + "_:id57": { + "prov:specificEntity": "id:5ec5c130-692c-48d5-9cef-be41cec00d11", + "prov:generalEntity": "data:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb" + }, + "_:id58": { + "prov:specificEntity": "id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304", + "prov:generalEntity": "data:82f6bd8f98adc472eb9e350df9d64c102da0bcb5" + }, + "_:id62": { + "prov:specificEntity": "id:160a1cd9-6384-4828-b627-a02e478365fb", + "prov:generalEntity": "data:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d" + }, + "_:id64": { + "prov:specificEntity": "id:ef9384d4-880f-4398-9e10-1bce1d54e51e", + "prov:generalEntity": "data:ec3fe43f2db3829507e574b5b9b1b84547d48f19" + }, + "_:id65": { + "prov:specificEntity": "id:043749d9-938e-4aa4-b5ae-12fc699dbcc9", + "prov:generalEntity": "data:795e8291ebb709a1bc71824449570f94f082a02b" + }, + "_:id69": { + "prov:specificEntity": "id:fbb085ae-d3ad-4639-a448-b01188f1ce9f", + "prov:generalEntity": "data:3f88b16b3b80316d30a93bc4035da306170884e2" + }, + "_:id91": { + "prov:specificEntity": "id:a9b3da73-190e-4a3a-affb-a12396f0eac3", + "prov:generalEntity": "data:da39a3ee5e6b4b0d3255bfef95601890afd80709" + }, + "_:id93": { + "prov:specificEntity": "id:e66cf62a-753e-459e-b2f4-06f99396ca08", + "prov:generalEntity": "data:adc83b19e793491b1c6ea0fd8b46cd9f32e592fc" + } + }, + "wasAttributedTo": { + "_:id8": { + "prov:entity": "data:3102f6d7a018ebae572f457d711ed7e1e7a11bc2", + "prov:agent": "data:644e201526525f62152815a76a2dc773450f3dd9" + }, + "_:id16": { + "prov:entity": "data:838cdfa4bbf09d1aedd26d79b46bfa8778ede2e0", + "prov:agent": "data:4e5feeeb8209de47c8dfb7c3f50a893e505af067" + } + }, + "alternateOf": { + "_:id13": { + "prov:alternate1": "id:d57aaff6-a93f-4927-a2d8-112beb358d4d", + "prov:alternate2": "id:53f5a04e-b531-466d-81be-62c34a1431ba" + } + }, + "wasGeneratedBy": { + "_:id14": { + "prov:entity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:activity": "data:4e5feeeb8209de47c8dfb7c3f50a893e505af067:EchoProcess" + }, + "_:id71": { + "prov:entity": "data:0cf60d40470fde378076afacf5812f961208a018", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/stringOutput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id72": { + "prov:entity": "id:5a1aa540-dfb8-46d5-8391-0b59b865747f", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/measureOutput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id73": { + "prov:entity": "data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/dateOutput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id74": { + "prov:entity": "id:0aebe062-805e-4853-9d80-dbc5107a8bdb", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/doubleOutput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id81": { + "prov:entity": "id:79e5fa0b-4998-46da-bbe8-920533c7940b", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/arrayOutput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id82": { + "prov:entity": "id:109d6043-7fad-428f-a563-a99a4ebd6dda", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/complexObjectOutput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id85": { + "prov:entity": "id:a326f7d5-60b5-4b9d-802f-58f2411c993e", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/geometryOutput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id86": { + "prov:entity": "id:160a1cd9-6384-4828-b627-a02e478365fb", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/boundingBoxOutput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id89": { + "prov:entity": "id:96f693e2-3eac-4a04-8887-7285b7605f49", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/imagesOutput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id90": { + "prov:entity": "id:fbb085ae-d3ad-4639-a448-b01188f1ce9f", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/featureCollectionOutput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id92": { + "prov:entity": "id:a9b3da73-190e-4a3a-affb-a12396f0eac3", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/PACKAGE_OUTPUT_HOOK_LOG_a5f8bd13-1ab3-4633-9219-810292b59056", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id94": { + "prov:entity": "id:e66cf62a-753e-459e-b2f4-06f99396ca08", + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:time": "2026-01-15T16:46:11.414795", + "prov:role": { + "$": "wf:main/primary/PACKAGE_OUTPUT_HOOK_LOG_b62df1f5-a3e7-412c-bdc0-0451aa8a4d93", + "type": "prov:QUALIFIED_NAME" + } + } + }, + "used": { + "_:id17": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "data:0cf60d40470fde378076afacf5812f961208a018", + "prov:time": "2026-01-15T16:46:10.807817", + "prov:role": { + "$": "wf:main/stringInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id18": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:cb4c5d07-5b7e-435f-882c-afe14e061f4b", + "prov:time": "2026-01-15T16:46:10.807975", + "prov:role": { + "$": "wf:main/measureInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id19": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72", + "prov:time": "2026-01-15T16:46:10.808789", + "prov:role": { + "$": "wf:main/dateInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id20": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:f01a7e80-f451-4047-93c0-587666a9847a", + "prov:time": "2026-01-15T16:46:10.808944", + "prov:role": { + "$": "wf:main/doubleInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id27": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:c68b1b94-7f88-4cda-87da-f5e68beabe42", + "prov:time": "2026-01-15T16:46:10.809545", + "prov:role": { + "$": "wf:main/arrayInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id29": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:5f78096f-fce2-49b1-aa6d-941927d15dcc", + "prov:time": "2026-01-15T16:46:10.810650", + "prov:role": { + "$": "wf:main/complexObjectInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id34": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:8edd155f-17b1-48d6-ae93-bad0390c9ef3", + "prov:time": "2026-01-15T16:46:10.812817", + "prov:role": { + "$": "wf:main/geometryInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id36": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:d4ac4ab8-25a3-4412-82b6-07b92da98795", + "prov:time": "2026-01-15T16:46:10.813646", + "prov:role": { + "$": "wf:main/boundingBoxInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id41": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:88e9a099-e5d4-45f9-8402-c8082168a6f0", + "prov:time": "2026-01-15T16:46:11.100961", + "prov:role": { + "$": "wf:main/imagesInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id43": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:54f9b9d5-641c-4e66-8c9d-c65f2ad0be63", + "prov:time": "2026-01-15T16:46:11.101847", + "prov:role": { + "$": "wf:main/featureCollectionInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id44": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "data:0cf60d40470fde378076afacf5812f961208a018", + "prov:time": "2026-01-15T16:46:11.105949", + "prov:role": { + "$": "wf:main/EchoProcess/stringInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id45": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:fc017dcf-09ec-4cbf-81ac-741b5a61b482", + "prov:time": "2026-01-15T16:46:11.106052", + "prov:role": { + "$": "wf:main/EchoProcess/measureInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id46": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72", + "prov:time": "2026-01-15T16:46:11.106625", + "prov:role": { + "$": "wf:main/EchoProcess/dateInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id47": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:0df32fa2-e262-458f-b1df-5e749c1b19f4", + "prov:time": "2026-01-15T16:46:11.106731", + "prov:role": { + "$": "wf:main/EchoProcess/doubleInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id54": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:541c0738-ac5c-4a35-b592-a3cbc87246f1", + "prov:time": "2026-01-15T16:46:11.107097", + "prov:role": { + "$": "wf:main/EchoProcess/arrayInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id56": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:109d6043-7fad-428f-a563-a99a4ebd6dda", + "prov:time": "2026-01-15T16:46:11.107662", + "prov:role": { + "$": "wf:main/EchoProcess/complexObjectInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id61": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:1b6185c0-b83d-431b-a2ba-7c2b026b1823", + "prov:time": "2026-01-15T16:46:11.108679", + "prov:role": { + "$": "wf:main/EchoProcess/geometryInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id63": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:160a1cd9-6384-4828-b627-a02e478365fb", + "prov:time": "2026-01-15T16:46:11.109174", + "prov:role": { + "$": "wf:main/EchoProcess/boundingBoxInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id68": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5", + "prov:time": "2026-01-15T16:46:11.401124", + "prov:role": { + "$": "wf:main/EchoProcess/imagesInput", + "type": "prov:QUALIFIED_NAME" + } + }, + "_:id70": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:entity": "id:fbb085ae-d3ad-4639-a448-b01188f1ce9f", + "prov:time": "2026-01-15T16:46:11.401851", + "prov:role": { + "$": "wf:main/EchoProcess/featureCollectionInput", + "type": "prov:QUALIFIED_NAME" + } + } + }, + "hadMember": { + "_:id21": { + "prov:collection": "id:c68b1b94-7f88-4cda-87da-f5e68beabe42", + "prov:entity": "id:a19d9289-ab50-4d85-a241-4ef9a0e36deb" + }, + "_:id22": { + "prov:collection": "id:c68b1b94-7f88-4cda-87da-f5e68beabe42", + "prov:entity": "id:5e4614e1-101d-4be2-8b66-24f770b3435f" + }, + "_:id23": { + "prov:collection": "id:c68b1b94-7f88-4cda-87da-f5e68beabe42", + "prov:entity": "id:a45ad975-3387-4b7c-ac1c-a268c65927d1" + }, + "_:id24": { + "prov:collection": "id:c68b1b94-7f88-4cda-87da-f5e68beabe42", + "prov:entity": "id:056f6ec9-f5ca-4630-8b6e-171ea0fe8f3f" + }, + "_:id25": { + "prov:collection": "id:c68b1b94-7f88-4cda-87da-f5e68beabe42", + "prov:entity": "id:b4c63361-5926-4b48-be43-df94727a79da" + }, + "_:id26": { + "prov:collection": "id:c68b1b94-7f88-4cda-87da-f5e68beabe42", + "prov:entity": "id:a68017f5-e2f6-441c-b4ad-cf94dec801d7" + }, + "_:id32": { + "prov:collection": "id:8edd155f-17b1-48d6-ae93-bad0390c9ef3", + "prov:entity": "id:f0020803-854b-4bd3-a70a-f6317d3a6524" + }, + "_:id33": { + "prov:collection": "id:8edd155f-17b1-48d6-ae93-bad0390c9ef3", + "prov:entity": "id:6e88c002-b8f6-488e-977f-21ad51073fc6" + }, + "_:id39": { + "prov:collection": "id:88e9a099-e5d4-45f9-8402-c8082168a6f0", + "prov:entity": "id:c790f3f7-ac11-4d13-9c71-4d68c73ed040" + }, + "_:id40": { + "prov:collection": "id:88e9a099-e5d4-45f9-8402-c8082168a6f0", + "prov:entity": "id:6815d3c5-fa14-4153-befe-a5fddc285b06" + }, + "_:id48": { + "prov:collection": "id:541c0738-ac5c-4a35-b592-a3cbc87246f1", + "prov:entity": "id:5226c081-e3dc-4963-987b-92142bd75102" + }, + "_:id49": { + "prov:collection": "id:541c0738-ac5c-4a35-b592-a3cbc87246f1", + "prov:entity": "id:f30572d8-60e4-4221-80a7-cb76e1007e9a" + }, + "_:id50": { + "prov:collection": "id:541c0738-ac5c-4a35-b592-a3cbc87246f1", + "prov:entity": "id:a1aa3cbf-8435-4f94-aeb6-110922551843" + }, + "_:id51": { + "prov:collection": "id:541c0738-ac5c-4a35-b592-a3cbc87246f1", + "prov:entity": "id:2a95bd87-116b-42f4-8525-428de8743778" + }, + "_:id52": { + "prov:collection": "id:541c0738-ac5c-4a35-b592-a3cbc87246f1", + "prov:entity": "id:bde07acc-95a9-46f6-be09-6467fa7bd8b8" + }, + "_:id53": { + "prov:collection": "id:541c0738-ac5c-4a35-b592-a3cbc87246f1", + "prov:entity": "id:6d234b31-69fb-4949-b096-924f234097a1" + }, + "_:id59": { + "prov:collection": "id:1b6185c0-b83d-431b-a2ba-7c2b026b1823", + "prov:entity": "id:5ec5c130-692c-48d5-9cef-be41cec00d11" + }, + "_:id60": { + "prov:collection": "id:1b6185c0-b83d-431b-a2ba-7c2b026b1823", + "prov:entity": "id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304" + }, + "_:id66": { + "prov:collection": "id:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5", + "prov:entity": "id:ef9384d4-880f-4398-9e10-1bce1d54e51e" + }, + "_:id67": { + "prov:collection": "id:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5", + "prov:entity": "id:043749d9-938e-4aa4-b5ae-12fc699dbcc9" + }, + "_:id75": { + "prov:collection": "id:79e5fa0b-4998-46da-bbe8-920533c7940b", + "prov:entity": "id:6a99e0ba-c671-4471-aa33-4cc523e0f428" + }, + "_:id76": { + "prov:collection": "id:79e5fa0b-4998-46da-bbe8-920533c7940b", + "prov:entity": "id:64c45605-d8a9-4a56-929d-47dcad5543f1" + }, + "_:id77": { + "prov:collection": "id:79e5fa0b-4998-46da-bbe8-920533c7940b", + "prov:entity": "id:b557ccae-b5e3-43ce-bc06-f39d3e12f67f" + }, + "_:id78": { + "prov:collection": "id:79e5fa0b-4998-46da-bbe8-920533c7940b", + "prov:entity": "id:f55d0d44-4cb4-4cd2-a336-7bac9e265583" + }, + "_:id79": { + "prov:collection": "id:79e5fa0b-4998-46da-bbe8-920533c7940b", + "prov:entity": "id:c8dbab29-6641-40d9-b5c1-626872f5337d" + }, + "_:id80": { + "prov:collection": "id:79e5fa0b-4998-46da-bbe8-920533c7940b", + "prov:entity": "id:9718f0ee-b250-4d33-a6df-4b8ad72bf150" + }, + "_:id83": { + "prov:collection": "id:a326f7d5-60b5-4b9d-802f-58f2411c993e", + "prov:entity": "id:5ec5c130-692c-48d5-9cef-be41cec00d11" + }, + "_:id84": { + "prov:collection": "id:a326f7d5-60b5-4b9d-802f-58f2411c993e", + "prov:entity": "id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304" + }, + "_:id87": { + "prov:collection": "id:96f693e2-3eac-4a04-8887-7285b7605f49", + "prov:entity": "id:ef9384d4-880f-4398-9e10-1bce1d54e51e" + }, + "_:id88": { + "prov:collection": "id:96f693e2-3eac-4a04-8887-7285b7605f49", + "prov:entity": "id:043749d9-938e-4aa4-b5ae-12fc699dbcc9" + } + }, + "wasEndedBy": { + "_:id95": { + "prov:activity": "id:53f5a04e-b531-466d-81be-62c34a1431ba", + "prov:ender": "id:d57aaff6-a93f-4927-a2d8-112beb358d4d", + "prov:time": "2026-01-15T16:46:11.419318" + } + } +} diff --git a/extensions/provenance/standard/examples/job_prov.jsonld b/extensions/provenance/standard/examples/job_prov.jsonld new file mode 100644 index 00000000..baf36e7e --- /dev/null +++ b/extensions/provenance/standard/examples/job_prov.jsonld @@ -0,0 +1,2175 @@ +[ + { + "@id": "urn:uuid:f30572d8-60e4-4221-80a7-cb76e1007e9a", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "2" + } + ] + }, + { + "@id": "urn:uuid:fbb085ae-d3ad-4639-a448-b01188f1ce9f", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:Nc5e9b90534f34e36a15be0efa862b507" + } + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:3f88b16b3b80316d30a93bc4035da306170884e2" + } + ], + "https://w3id.org/cwl/prov#basename": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "GetFeature.json" + } + ], + "https://w3id.org/cwl/prov#nameext": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": ".json" + } + ], + "https://w3id.org/cwl/prov#nameroot": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "GetFeature" + } + ] + }, + { + "@id": "_:Nc5e9b90534f34e36a15be0efa862b507", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/featureCollectionOutput" + } + ] + }, + { + "@id": "urn:uuid:c790f3f7-ac11-4d13-9c71-4d68c73ed040", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wf4ever#File" + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:ec3fe43f2db3829507e574b5b9b1b84547d48f19" + } + ] + }, + { + "@id": "urn:uuid:79e5fa0b-4998-46da-bbe8-920533c7940b", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://www.w3.org/ns/prov#Collection", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#hadMember": [ + { + "@id": "urn:uuid:6a99e0ba-c671-4471-aa33-4cc523e0f428" + }, + { + "@id": "urn:uuid:f55d0d44-4cb4-4cd2-a336-7bac9e265583" + }, + { + "@id": "urn:uuid:b557ccae-b5e3-43ce-bc06-f39d3e12f67f" + }, + { + "@id": "urn:uuid:c8dbab29-6641-40d9-b5c1-626872f5337d" + }, + { + "@id": "urn:uuid:9718f0ee-b250-4d33-a6df-4b8ad72bf150" + }, + { + "@id": "urn:uuid:64c45605-d8a9-4a56-929d-47dcad5543f1" + } + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:N1705191ce8ec4d9380258a6bc1bc6bf8" + } + ] + }, + { + "@id": "_:N1705191ce8ec4d9380258a6bc1bc6bf8", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/arrayOutput" + } + ] + }, + { + "@id": "urn:uuid:dc49c9ee-a913-4e5c-b89a-2201af36af9c", + "@type": [ + "http://xmlns.com/foaf/0.1/OnlineAccount", + "http://www.w3.org/ns/prov#Agent" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "weaver-worker@crim-ca/weaver:6.9.0-dev2" + } + ], + "http://www.w3.org/ns/prov#actedOnBehalfOf": [ + { + "@id": "urn:uuid:6e5f8b71-eb5c-45d8-a497-7f6df55e1990" + } + ], + "http://www.w3.org/ns/prov#atLocation": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "https://hirondelle.crim.ca/weaver" + } + ], + "http://www.w3.org/ns/prov#wasDerivedFrom": [ + { + "@id": "urn:hash::sha1:4e5feeeb8209de47c8dfb7c3f50a893e505af067" + } + ], + "http://xmlns.com/foaf/0.1/accountName": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "weaver-worker@crim-ca/weaver:6.9.0-dev2" + } + ], + "https://w3id.org/cwl/prov#hostname": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "hirondelle.crim.ca" + } + ] + }, + { + "@id": "urn:uuid:1b6185c0-b83d-431b-a2ba-7c2b026b1823", + "@type": [ + "http://www.w3.org/ns/prov#Collection", + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#hadMember": [ + { + "@id": "urn:uuid:5ec5c130-692c-48d5-9cef-be41cec00d11" + }, + { + "@id": "urn:uuid:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304" + } + ] + }, + { + "@id": "urn:uuid:5f78096f-fce2-49b1-aa6d-941927d15dcc", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:1ed7ac15d56fc9b6257234caebf4bed6e559b53c" + } + ] + }, + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba", + "@type": [ + "http://www.w3.org/ns/prov#Activity", + "http://purl.org/wf4ever/wfprov#WorkflowRun", + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wfdesc#ProcessRun" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Run of workflow/packed.cwl#main" + }, + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Job Information" + } + ], + "http://www.w3.org/ns/prov#alternateOf": [ + { + "@id": "urn:uuid:d57aaff6-a93f-4927-a2d8-112beb358d4d" + } + ], + "http://www.w3.org/ns/prov#atLocation": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "https://hirondelle.crim.ca/weaver/processes/EchoProcess/jobs/53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#qualifiedAssociation": [ + { + "@id": "_:Nc69487efadf048d0b37226ae88b75a63" + } + ], + "http://www.w3.org/ns/prov#qualifiedEnd": [ + { + "@id": "_:N4070d9bf88ff4454963b9015259e8cb0" + } + ], + "http://www.w3.org/ns/prov#qualifiedStart": [ + { + "@id": "_:N8fba63b15e484aa9a707d01518963b0c" + } + ], + "http://www.w3.org/ns/prov#qualifiedUsage": [ + { + "@id": "_:N1a96051437ab4fb6a8dd6544129b9253" + }, + { + "@id": "_:N10d463db169b4ae6873297c898cd76a0" + }, + { + "@id": "_:N7869eac6684b4f8fbb959bb5e704cdc2" + }, + { + "@id": "_:Nca2198f5ca964173a59ad14981b18ac7" + }, + { + "@id": "_:N5f14eeb43c2e4350bb16ae3475ee4740" + }, + { + "@id": "_:N102012b0dbc34583abac2d4144f77521" + }, + { + "@id": "_:N4c952d607775437a89d9151beb8017c3" + }, + { + "@id": "_:N65870f754cea4d629d743b2bb03c1388" + }, + { + "@id": "_:N052335a96b0b4ee68c54f7725c14b982" + }, + { + "@id": "_:N4c32fe67df074f69a19e0a896079dada" + }, + { + "@id": "_:N3b5735692a6f4b5999fb41254cd4ca99" + }, + { + "@id": "_:N8f84f4415a38400295d5eb25140b20ea" + }, + { + "@id": "_:N5e20fb040c2441ac83ee42a45d1a018d" + }, + { + "@id": "_:Na3bed1f38cd0433387ccbcd403856ad5" + }, + { + "@id": "_:N8fce26b083af43a78f909957b6054a30" + }, + { + "@id": "_:N59ee557f66734fadb0af0970a1c63021" + }, + { + "@id": "_:N9be43f8363b9418f8975bf4ef3b0fe01" + }, + { + "@id": "_:N856f6fd4e1ad4bad8cd0b9a7472087da" + }, + { + "@id": "_:Nacc35fd495554a4abd06c47213700e5d" + }, + { + "@id": "_:Nae4e5a48d14848178444a5b5fbd2dd81" + } + ], + "http://www.w3.org/ns/prov#startedAtTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:10.775907" + } + ], + "http://www.w3.org/ns/prov#wasAssociatedWith": [ + { + "@id": "urn:uuid:d57aaff6-a93f-4927-a2d8-112beb358d4d" + } + ], + "http://www.w3.org/ns/prov#wasGeneratedBy": [ + { + "@id": "urn:hash::sha1:4e5feeeb8209de47c8dfb7c3f50a893e505af067:EchoProcess" + } + ], + "http://www.w3.org/ns/prov#wasStartedBy": [ + { + "@id": "urn:hash::sha1:4e5feeeb8209de47c8dfb7c3f50a893e505af067" + } + ] + }, + { + "@id": "_:Nc69487efadf048d0b37226ae88b75a63", + "@type": [ + "http://www.w3.org/ns/prov#Association" + ], + "http://www.w3.org/ns/prov#hadPlan": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main" + } + ] + }, + { + "@id": "_:N4070d9bf88ff4454963b9015259e8cb0", + "@type": [ + "http://www.w3.org/ns/prov#End" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.419318" + } + ], + "http://www.w3.org/ns/prov#hadActivity": [ + { + "@id": "urn:uuid:d57aaff6-a93f-4927-a2d8-112beb358d4d" + } + ] + }, + { + "@id": "_:N1a96051437ab4fb6a8dd6544129b9253", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.105949" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:hash::sha1:0cf60d40470fde378076afacf5812f961208a018" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/EchoProcess/stringInput" + } + ] + }, + { + "@id": "_:N10d463db169b4ae6873297c898cd76a0", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.401124" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/EchoProcess/imagesInput" + } + ] + }, + { + "@id": "_:N7869eac6684b4f8fbb959bb5e704cdc2", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:10.808789" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:hash::sha1:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/dateInput" + } + ] + }, + { + "@id": "_:Nca2198f5ca964173a59ad14981b18ac7", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.106731" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:0df32fa2-e262-458f-b1df-5e749c1b19f4" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/EchoProcess/doubleInput" + } + ] + }, + { + "@id": "_:N5f14eeb43c2e4350bb16ae3475ee4740", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.107662" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:109d6043-7fad-428f-a563-a99a4ebd6dda" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/EchoProcess/complexObjectInput" + } + ] + }, + { + "@id": "_:N102012b0dbc34583abac2d4144f77521", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.106625" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:hash::sha1:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/EchoProcess/dateInput" + } + ] + }, + { + "@id": "_:N4c952d607775437a89d9151beb8017c3", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.108679" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:1b6185c0-b83d-431b-a2ba-7c2b026b1823" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/EchoProcess/geometryInput" + } + ] + }, + { + "@id": "_:N65870f754cea4d629d743b2bb03c1388", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:10.813646" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:d4ac4ab8-25a3-4412-82b6-07b92da98795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/boundingBoxInput" + } + ] + }, + { + "@id": "_:N052335a96b0b4ee68c54f7725c14b982", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:10.807975" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:cb4c5d07-5b7e-435f-882c-afe14e061f4b" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/measureInput" + } + ] + }, + { + "@id": "_:N4c32fe67df074f69a19e0a896079dada", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.107097" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:541c0738-ac5c-4a35-b592-a3cbc87246f1" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/EchoProcess/arrayInput" + } + ] + }, + { + "@id": "_:N3b5735692a6f4b5999fb41254cd4ca99", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:10.807817" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:hash::sha1:0cf60d40470fde378076afacf5812f961208a018" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/stringInput" + } + ] + }, + { + "@id": "_:N8f84f4415a38400295d5eb25140b20ea", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.109174" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:160a1cd9-6384-4828-b627-a02e478365fb" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/EchoProcess/boundingBoxInput" + } + ] + }, + { + "@id": "_:N5e20fb040c2441ac83ee42a45d1a018d", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:10.810650" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:5f78096f-fce2-49b1-aa6d-941927d15dcc" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/complexObjectInput" + } + ] + }, + { + "@id": "_:Na3bed1f38cd0433387ccbcd403856ad5", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:10.809545" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:c68b1b94-7f88-4cda-87da-f5e68beabe42" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/arrayInput" + } + ] + }, + { + "@id": "_:N8fce26b083af43a78f909957b6054a30", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.401851" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:fbb085ae-d3ad-4639-a448-b01188f1ce9f" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/EchoProcess/featureCollectionInput" + } + ] + }, + { + "@id": "_:N59ee557f66734fadb0af0970a1c63021", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.106052" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:fc017dcf-09ec-4cbf-81ac-741b5a61b482" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/EchoProcess/measureInput" + } + ] + }, + { + "@id": "_:N9be43f8363b9418f8975bf4ef3b0fe01", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.101847" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:54f9b9d5-641c-4e66-8c9d-c65f2ad0be63" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/featureCollectionInput" + } + ] + }, + { + "@id": "_:N856f6fd4e1ad4bad8cd0b9a7472087da", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:10.812817" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:8edd155f-17b1-48d6-ae93-bad0390c9ef3" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/geometryInput" + } + ] + }, + { + "@id": "_:Nacc35fd495554a4abd06c47213700e5d", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:10.808944" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:f01a7e80-f451-4047-93c0-587666a9847a" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/doubleInput" + } + ] + }, + { + "@id": "_:Nae4e5a48d14848178444a5b5fbd2dd81", + "@type": [ + "http://www.w3.org/ns/prov#Usage" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.100961" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:88e9a099-e5d4-45f9-8402-c8082168a6f0" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/imagesInput" + } + ] + }, + { + "@id": "_:N8fba63b15e484aa9a707d01518963b0c", + "@type": [ + "http://www.w3.org/ns/prov#Start" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:10.775984" + } + ], + "http://www.w3.org/ns/prov#hadActivity": [ + { + "@id": "urn:uuid:d57aaff6-a93f-4927-a2d8-112beb358d4d" + } + ] + }, + { + "@id": "urn:uuid:c68b1b94-7f88-4cda-87da-f5e68beabe42", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://www.w3.org/ns/prov#Collection", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#hadMember": [ + { + "@id": "urn:uuid:a45ad975-3387-4b7c-ac1c-a268c65927d1" + }, + { + "@id": "urn:uuid:a19d9289-ab50-4d85-a241-4ef9a0e36deb" + }, + { + "@id": "urn:uuid:5e4614e1-101d-4be2-8b66-24f770b3435f" + }, + { + "@id": "urn:uuid:a68017f5-e2f6-441c-b4ad-cf94dec801d7" + }, + { + "@id": "urn:uuid:b4c63361-5926-4b48-be43-df94727a79da" + }, + { + "@id": "urn:uuid:056f6ec9-f5ca-4630-8b6e-171ea0fe8f3f" + } + ] + }, + { + "@id": "urn:uuid:d4ac4ab8-25a3-4412-82b6-07b92da98795", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d" + } + ] + }, + { + "@id": "urn:uuid:8edd155f-17b1-48d6-ae93-bad0390c9ef3", + "@type": [ + "http://www.w3.org/ns/prov#Collection", + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#hadMember": [ + { + "@id": "urn:uuid:6e88c002-b8f6-488e-977f-21ad51073fc6" + }, + { + "@id": "urn:uuid:f0020803-854b-4bd3-a70a-f6317d3a6524" + } + ] + }, + { + "@id": "urn:uuid:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity", + "http://www.w3.org/ns/prov#Collection" + ], + "http://www.w3.org/ns/prov#hadMember": [ + { + "@id": "urn:uuid:ef9384d4-880f-4398-9e10-1bce1d54e51e" + }, + { + "@id": "urn:uuid:043749d9-938e-4aa4-b5ae-12fc699dbcc9" + } + ] + }, + { + "@id": "urn:uuid:056f6ec9-f5ca-4630-8b6e-171ea0fe8f3f", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "4" + } + ] + }, + { + "@id": "urn:hash::sha1:1ed7ac15d56fc9b6257234caebf4bed6e559b53c", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ] + }, + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wfdesc#Process", + "http://www.w3.org/ns/prov#Plan" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Prospective provenance" + } + ] + }, + { + "@id": "urn:uuid:e66cf62a-753e-459e-b2f4-06f99396ca08", + "@type": [ + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:Nbef2b677263d4845929802fdc88a8018" + } + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:adc83b19e793491b1c6ea0fd8b46cd9f32e592fc" + } + ], + "https://w3id.org/cwl/prov#basename": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "stdout.log" + } + ], + "https://w3id.org/cwl/prov#nameext": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": ".log" + } + ], + "https://w3id.org/cwl/prov#nameroot": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "stdout" + } + ] + }, + { + "@id": "_:Nbef2b677263d4845929802fdc88a8018", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/PACKAGE_OUTPUT_HOOK_LOG_b62df1f5-a3e7-412c-bdc0-0451aa8a4d93" + } + ] + }, + { + "@id": "urn:uuid:a9b3da73-190e-4a3a-affb-a12396f0eac3", + "@type": [ + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:Nf8d05ab1447842f7bec7f7e0c4b68a18" + } + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:da39a3ee5e6b4b0d3255bfef95601890afd80709" + } + ], + "https://w3id.org/cwl/prov#basename": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "stderr.log" + } + ], + "https://w3id.org/cwl/prov#nameext": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": ".log" + } + ], + "https://w3id.org/cwl/prov#nameroot": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "stderr" + } + ] + }, + { + "@id": "_:Nf8d05ab1447842f7bec7f7e0c4b68a18", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/PACKAGE_OUTPUT_HOOK_LOG_a5f8bd13-1ab3-4633-9219-810292b59056" + } + ] + }, + { + "@id": "urn:hash::sha1:3102f6d7a018ebae572f457d711ed7e1e7a11bc2", + "@type": [ + "http://www.w3.org/ns/prov#Organization", + "http://www.w3.org/ns/prov#Entity" + ], + "http://schema.org/name": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Computer Research Institute of Montréal" + } + ], + "http://www.w3.org/ns/prov#wasAttributedTo": [ + { + "@id": "urn:hash::sha1:644e201526525f62152815a76a2dc773450f3dd9" + } + ], + "http://xmlns.com/foaf/0.1/name": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Computer Research Institute of Montréal" + } + ] + }, + { + "@id": "urn:uuid:54f9b9d5-641c-4e66-8c9d-c65f2ad0be63", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:3f88b16b3b80316d30a93bc4035da306170884e2" + } + ] + }, + { + "@id": "urn:hash::sha1:3f88b16b3b80316d30a93bc4035da306170884e2", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ] + }, + { + "@id": "urn:hash::sha1:ec3fe43f2db3829507e574b5b9b1b84547d48f19", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ] + }, + { + "@id": "urn:uuid:64c45605-d8a9-4a56-929d-47dcad5543f1", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "2" + } + ] + }, + { + "@id": "urn:uuid:0df32fa2-e262-458f-b1df-5e749c1b19f4", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#double", + "@value": 3.14159 + } + ] + }, + { + "@id": "urn:uuid:5e4614e1-101d-4be2-8b66-24f770b3435f", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "2" + } + ] + }, + { + "@id": "urn:uuid:0aebe062-805e-4853-9d80-dbc5107a8bdb", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:Nad7c5ebf355249eda26e5723b5509312" + } + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#double", + "@value": 3.14159 + } + ] + }, + { + "@id": "_:Nad7c5ebf355249eda26e5723b5509312", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/doubleOutput" + } + ] + }, + { + "@id": "urn:uuid:6d234b31-69fb-4949-b096-924f234097a1", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "6" + } + ] + }, + { + "@id": "urn:hash::sha1:da39a3ee5e6b4b0d3255bfef95601890afd80709", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ] + }, + { + "@id": "urn:uuid:9718f0ee-b250-4d33-a6df-4b8ad72bf150", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "6" + } + ] + }, + { + "@id": "urn:hash::sha1:4e5feeeb8209de47c8dfb7c3f50a893e505af067:EchoProcess", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wfdesc#Process" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Process Description" + } + ], + "http://www.w3.org/ns/prov#atLocation": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "https://hirondelle.crim.ca/weaver/processes/EchoProcess" + } + ] + }, + { + "@id": "urn:uuid:c8dbab29-6641-40d9-b5c1-626872f5337d", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "5" + } + ] + }, + { + "@id": "urn:uuid:a19d9289-ab50-4d85-a241-4ef9a0e36deb", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "1" + } + ] + }, + { + "@id": "urn:hash::sha1:838cdfa4bbf09d1aedd26d79b46bfa8778ede2e0", + "@type": [ + "http://www.w3.org/ns/prov#Organization", + "http://www.w3.org/ns/prov#Entity" + ], + "http://schema.org/name": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "crim-ca/weaver" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Server Provider" + } + ], + "http://www.w3.org/ns/prov#atLocation": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "http://pavics-weaver.readthedocs.org/en/latest/" + } + ], + "http://www.w3.org/ns/prov#wasAttributedTo": [ + { + "@id": "urn:hash::sha1:4e5feeeb8209de47c8dfb7c3f50a893e505af067" + } + ], + "http://www.w3.org/ns/prov#wasDerivedFrom": [ + { + "@id": "urn:hash::sha1:4e5feeeb8209de47c8dfb7c3f50a893e505af067" + } + ], + "http://xmlns.com/foaf/0.1/name": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "crim-ca/weaver" + } + ] + }, + { + "@id": "urn:uuid:5226c081-e3dc-4963-987b-92142bd75102", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "1" + } + ] + }, + { + "@id": "urn:uuid:6815d3c5-fa14-4153-befe-a5fddc285b06", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:795e8291ebb709a1bc71824449570f94f082a02b" + } + ] + }, + { + "@id": "urn:uuid:d57aaff6-a93f-4927-a2d8-112beb358d4d", + "@type": [ + "http://purl.org/wf4ever/wfprov#WorkflowEngine", + "http://www.w3.org/ns/prov#Agent", + "http://www.w3.org/ns/prov#SoftwareAgent" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "cwltool 3.1.20260108082145" + } + ], + "http://www.w3.org/ns/prov#qualifiedStart": [ + { + "@id": "_:Nc95382365bba4851b5cafa0ffc782a20" + }, + { + "@id": "_:N7ecea3796fa044fe80f1596ec079021c" + } + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ] + }, + { + "@id": "_:Nc95382365bba4851b5cafa0ffc782a20", + "@type": [ + "http://www.w3.org/ns/prov#Start" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:45:56.964000+00:00" + } + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ] + }, + { + "@id": "_:N7ecea3796fa044fe80f1596ec079021c", + "@type": [ + "http://www.w3.org/ns/prov#Start" + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:10.775855" + } + ], + "http://www.w3.org/ns/prov#hadActivity": [ + { + "@id": "urn:uuid:dc49c9ee-a913-4e5c-b89a-2201af36af9c" + } + ] + }, + { + "@id": "urn:hash::sha1:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wfprov#Artifact" + ] + }, + { + "@id": "urn:uuid:f01a7e80-f451-4047-93c0-587666a9847a", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#double", + "@value": 3.14159 + } + ] + }, + { + "@id": "urn:uuid:bde07acc-95a9-46f6-be09-6467fa7bd8b8", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "5" + } + ] + }, + { + "@id": "urn:hash::sha1:4e5feeeb8209de47c8dfb7c3f50a893e505af067", + "@type": [ + "http://www.w3.org/ns/prov#Agent", + "http://www.w3.org/ns/prov#SoftwareAgent" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Weaver is an Execution Management Service (EMS) that allows the execution of workflows chaining various applications and Web Processing Services (WPS) inputs and outputs. Remote execution is deferred by the EMS to an Application Deployment and Execution Service (ADES), as defined by Common Workflow Language (CWL) configurations." + }, + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "crim-ca/weaver:6.9.0-dev2" + } + ], + "http://www.w3.org/ns/prov#actedOnBehalfOf": [ + { + "@id": "urn:uuid:6e5f8b71-eb5c-45d8-a497-7f6df55e1990" + } + ], + "http://www.w3.org/ns/prov#atLocation": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "https://hirondelle.crim.ca/weaver" + } + ], + "http://www.w3.org/ns/prov#generalEntity": [ + { + "@id": "urn:hash::sha1:644e201526525f62152815a76a2dc773450f3dd9" + } + ], + "http://www.w3.org/ns/prov#qualifiedPrimarySource": [ + { + "@id": "_:N5f675490ed784ab68f32f768ca81231c" + } + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:uuid:dc49c9ee-a913-4e5c-b89a-2201af36af9c" + } + ], + "http://www.w3.org/ns/prov#specificEntity": [ + { + "@id": "https://doi.org/10.5281/zenodo.14210717" + } + ] + }, + { + "@id": "_:N5f675490ed784ab68f32f768ca81231c", + "@type": [ + "http://www.w3.org/ns/prov#PrimarySource" + ], + "http://www.w3.org/ns/prov#entity": [ + { + "@id": "urn:hash::sha1:644e201526525f62152815a76a2dc773450f3dd9" + } + ] + }, + { + "@id": "urn:uuid:f0020803-854b-4bd3-a70a-f6317d3a6524", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb" + } + ] + }, + { + "@id": "urn:hash::sha1:644e201526525f62152815a76a2dc773450f3dd9", + "@type": [ + "http://www.w3.org/ns/prov#PrimarySource", + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Source code repository" + } + ], + "http://www.w3.org/ns/prov#atLocation": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "https://github.com/crim-ca/weaver" + } + ] + }, + { + "@id": "urn:uuid:b557ccae-b5e3-43ce-bc06-f39d3e12f67f", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "3" + } + ] + }, + { + "@id": "urn:uuid:ef9384d4-880f-4398-9e10-1bce1d54e51e", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:ec3fe43f2db3829507e574b5b9b1b84547d48f19" + } + ], + "https://w3id.org/cwl/prov#basename": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "ew-hh.tiff" + } + ], + "https://w3id.org/cwl/prov#nameext": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": ".tiff" + } + ], + "https://w3id.org/cwl/prov#nameroot": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "ew-hh" + } + ] + }, + { + "@id": "urn:uuid:f55d0d44-4cb4-4cd2-a336-7bac9e265583", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "4" + } + ] + }, + { + "@id": "urn:uuid:6a99e0ba-c671-4471-aa33-4cc523e0f428", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "1" + } + ] + }, + { + "@id": "urn:uuid:6e5f8b71-eb5c-45d8-a497-7f6df55e1990", + "@type": [ + "http://www.w3.org/ns/prov#SoftwareAgent", + "http://schema.org/SoftwareApplication", + "http://www.w3.org/ns/prov#Agent" + ], + "http://schema.org/name": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "weaver-worker@crim-ca/weaver:6.9.0-dev2" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "weaver-worker@crim-ca/weaver:6.9.0-dev2" + } + ], + "http://xmlns.com/foaf/0.1/account": [ + { + "@id": "urn:uuid:dc49c9ee-a913-4e5c-b89a-2201af36af9c" + } + ], + "http://xmlns.com/foaf/0.1/name": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "weaver-worker@crim-ca/weaver:6.9.0-dev2" + } + ] + }, + { + "@id": "urn:uuid:a1aa3cbf-8435-4f94-aeb6-110922551843", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "3" + } + ] + }, + { + "@id": "urn:uuid:2a95bd87-116b-42f4-8525-428de8743778", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "4" + } + ] + }, + { + "@id": "urn:uuid:a68017f5-e2f6-441c-b4ad-cf94dec801d7", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "6" + } + ] + }, + { + "@id": "urn:hash::sha1:82f6bd8f98adc472eb9e350df9d64c102da0bcb5", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wfprov#Artifact" + ] + }, + { + "@id": "urn:hash::sha1:adc83b19e793491b1c6ea0fd8b46cd9f32e592fc", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wfprov#Artifact" + ] + }, + { + "@id": "urn:uuid:5ec5c130-692c-48d5-9cef-be41cec00d11", + "@type": [ + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb" + } + ], + "https://w3id.org/cwl/prov#basename": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "input_9i61gfqe" + } + ], + "https://w3id.org/cwl/prov#nameext": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "" + } + ], + "https://w3id.org/cwl/prov#nameroot": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "input_9i61gfqe" + } + ] + }, + { + "@id": "urn:uuid:6e88c002-b8f6-488e-977f-21ad51073fc6", + "@type": [ + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:82f6bd8f98adc472eb9e350df9d64c102da0bcb5" + } + ] + }, + { + "@id": "urn:hash::sha1:0cf60d40470fde378076afacf5812f961208a018", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:N540ca4a0b9bf46718c4d3ef6eebf0023" + } + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "Value2" + } + ] + }, + { + "@id": "_:N540ca4a0b9bf46718c4d3ef6eebf0023", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/stringOutput" + } + ] + }, + { + "@id": "urn:uuid:fc017dcf-09ec-4cbf-81ac-741b5a61b482", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#double", + "@value": 10.3 + } + ] + }, + { + "@id": "urn:uuid:cb4c5d07-5b7e-435f-882c-afe14e061f4b", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#double", + "@value": 10.3 + } + ] + }, + { + "@id": "urn:uuid:541c0738-ac5c-4a35-b592-a3cbc87246f1", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity", + "http://www.w3.org/ns/prov#Collection" + ], + "http://www.w3.org/ns/prov#hadMember": [ + { + "@id": "urn:uuid:f30572d8-60e4-4221-80a7-cb76e1007e9a" + }, + { + "@id": "urn:uuid:2a95bd87-116b-42f4-8525-428de8743778" + }, + { + "@id": "urn:uuid:a1aa3cbf-8435-4f94-aeb6-110922551843" + }, + { + "@id": "urn:uuid:5226c081-e3dc-4963-987b-92142bd75102" + }, + { + "@id": "urn:uuid:bde07acc-95a9-46f6-be09-6467fa7bd8b8" + }, + { + "@id": "urn:uuid:6d234b31-69fb-4949-b096-924f234097a1" + } + ] + }, + { + "@id": "urn:hash::sha1:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ] + }, + { + "@id": "urn:uuid:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wf4ever#File" + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:82f6bd8f98adc472eb9e350df9d64c102da0bcb5" + } + ], + "https://w3id.org/cwl/prov#basename": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "input_50x5752r" + } + ], + "https://w3id.org/cwl/prov#nameext": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "" + } + ], + "https://w3id.org/cwl/prov#nameroot": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "input_50x5752r" + } + ] + }, + { + "@id": "urn:uuid:a326f7d5-60b5-4b9d-802f-58f2411c993e", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity", + "http://www.w3.org/ns/prov#Collection" + ], + "http://www.w3.org/ns/prov#hadMember": [ + { + "@id": "urn:uuid:5ec5c130-692c-48d5-9cef-be41cec00d11" + }, + { + "@id": "urn:uuid:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304" + } + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:Nafcdbfd96086486990b9a8788febafbe" + } + ] + }, + { + "@id": "_:Nafcdbfd96086486990b9a8788febafbe", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/geometryOutput" + } + ] + }, + { + "@id": "urn:uuid:160a1cd9-6384-4828-b627-a02e478365fb", + "@type": [ + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:Nf9380076294d4bf4adddbe101ed251f6" + } + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d" + } + ], + "https://w3id.org/cwl/prov#basename": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "input__cdpaqkt" + } + ], + "https://w3id.org/cwl/prov#nameext": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "" + } + ], + "https://w3id.org/cwl/prov#nameroot": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "input__cdpaqkt" + } + ] + }, + { + "@id": "_:Nf9380076294d4bf4adddbe101ed251f6", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/boundingBoxOutput" + } + ] + }, + { + "@id": "urn:uuid:5a1aa540-dfb8-46d5-8391-0b59b865747f", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:Ne88af4a3145c4845aad59f6007b755ae" + } + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#double", + "@value": 10.3 + } + ] + }, + { + "@id": "_:Ne88af4a3145c4845aad59f6007b755ae", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/measureOutput" + } + ] + }, + { + "@id": "urn:hash::sha1:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:Na44884e725d44f53bad7998a5d91e989" + } + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "2021-03-06T07:21:00" + } + ] + }, + { + "@id": "_:Na44884e725d44f53bad7998a5d91e989", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/dateOutput" + } + ] + }, + { + "@id": "urn:hash::sha1:795e8291ebb709a1bc71824449570f94f082a02b", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wfprov#Artifact" + ] + }, + { + "@id": "urn:uuid:b4c63361-5926-4b48-be43-df94727a79da", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "5" + } + ] + }, + { + "@id": "urn:uuid:a45ad975-3387-4b7c-ac1c-a268c65927d1", + "@type": [ + "http://www.w3.org/ns/prov#Entity" + ], + "http://www.w3.org/ns/prov#value": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#int", + "@value": "3" + } + ] + }, + { + "@id": "urn:uuid:96f693e2-3eac-4a04-8887-7285b7605f49", + "@type": [ + "http://purl.org/wf4ever/wfprov#Artifact", + "http://www.w3.org/ns/prov#Entity", + "http://www.w3.org/ns/prov#Collection" + ], + "http://www.w3.org/ns/prov#hadMember": [ + { + "@id": "urn:uuid:043749d9-938e-4aa4-b5ae-12fc699dbcc9" + }, + { + "@id": "urn:uuid:ef9384d4-880f-4398-9e10-1bce1d54e51e" + } + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:N2ce37f959c334e1a804a1721818ad1d7" + } + ] + }, + { + "@id": "_:N2ce37f959c334e1a804a1721818ad1d7", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/imagesOutput" + } + ] + }, + { + "@id": "urn:uuid:043749d9-938e-4aa4-b5ae-12fc699dbcc9", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:795e8291ebb709a1bc71824449570f94f082a02b" + } + ], + "https://w3id.org/cwl/prov#basename": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "input_9mob2l0c" + } + ], + "https://w3id.org/cwl/prov#nameext": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "" + } + ], + "https://w3id.org/cwl/prov#nameroot": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "input_9mob2l0c" + } + ] + }, + { + "@id": "urn:uuid:109d6043-7fad-428f-a563-a99a4ebd6dda", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://purl.org/wf4ever/wf4ever#File", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#qualifiedGeneration": [ + { + "@id": "_:N5fd56856daa748d6947add4712414b88" + } + ], + "http://www.w3.org/ns/prov#specializationOf": [ + { + "@id": "urn:hash::sha1:1ed7ac15d56fc9b6257234caebf4bed6e559b53c" + } + ], + "https://w3id.org/cwl/prov#basename": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "input" + } + ], + "https://w3id.org/cwl/prov#nameext": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "" + } + ], + "https://w3id.org/cwl/prov#nameroot": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "input" + } + ] + }, + { + "@id": "_:N5fd56856daa748d6947add4712414b88", + "@type": [ + "http://www.w3.org/ns/prov#Generation" + ], + "http://www.w3.org/ns/prov#activity": [ + { + "@id": "urn:uuid:53f5a04e-b531-466d-81be-62c34a1431ba" + } + ], + "http://www.w3.org/ns/prov#atTime": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#dateTime", + "@value": "2026-01-15T16:46:11.414795" + } + ], + "http://www.w3.org/ns/prov#hadRole": [ + { + "@id": "arcp://uuid,53f5a04e-b531-466d-81be-62c34a1431ba/workflow/packed.cwl#main/primary/complexObjectOutput" + } + ] + }, + { + "@id": "urn:uuid:88e9a099-e5d4-45f9-8402-c8082168a6f0", + "@type": [ + "http://www.w3.org/ns/prov#Entity", + "http://www.w3.org/ns/prov#Collection", + "http://purl.org/wf4ever/wfprov#Artifact" + ], + "http://www.w3.org/ns/prov#hadMember": [ + { + "@id": "urn:uuid:c790f3f7-ac11-4d13-9c71-4d68c73ed040" + }, + { + "@id": "urn:uuid:6815d3c5-fa14-4153-befe-a5fddc285b06" + } + ] + } +] diff --git a/extensions/provenance/standard/examples/job_prov.nt b/extensions/provenance/standard/examples/job_prov.nt new file mode 100644 index 00000000..c257d640 --- /dev/null +++ b/extensions/provenance/standard/examples/job_prov.nt @@ -0,0 +1,468 @@ + _:N4a9853bcd9ca44dfbfbcceecf6d578e5 . +_:Nfe0344ca34d549dcb8ffe546c5464758 . + "6"^^ . + "GetFeature.json"^^ . + . +_:N1fcd3c60485045d8a4dab7e583a16db1 . + . + . + "input__cdpaqkt"^^ . +_:Nfe0344ca34d549dcb8ffe546c5464758 . + . +_:Nf79009e1132246c5aa29e452c3e3017a . + . + . + . + . + . +_:N6bf312a525af437282f381053e55d478 "2026-01-15T16:46:11.106731"^^ . + "crim-ca/weaver"^^ . + "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^ . +_:N41eeedad6813494c80bc67f688ec0360 . + . + "input_50x5752r"^^ . +_:N9803e38c278c43e0bef9a99408e6480d . + . + . + "Computer Research Institute of Montréal"^^ . +_:N02201cab0d814cca929ecfce57f54641 . +_:N756aaaa4b660468ea0750c8175b96985 . +_:N656e6aee11de45c3abecb6d3f466ca7f . +_:N756aaaa4b660468ea0750c8175b96985 . + . + "1"^^ . + . + "5"^^ . +_:N2cf6b7900f65462cb11fdd18a56f8a68 "2026-01-15T16:46:11.414795"^^ . +_:N26b26f53152842fb9fcee13b20001e9b . +_:N6a0da87d6afc4337af7076b1b86abab6 "2026-01-15T16:46:10.807975"^^ . + _:N51c5412481164162a01e322e79002ddd . + _:N38a01cecfece4576877482c7bf18a9dd . + . + . + . +_:Nce1bcee00507495ea63af443ed516ae6 . +_:N35efb7509caf4f778e66e178daff9612 . + . + "3.14159"^^ . +_:Nc9caf63850954cec884076b45b9ed0c2 . +_:Nf513b957acdd4845a25967d8b23139c2 . + "Weaver is an Execution Management Service (EMS) that allows the execution of workflows chaining various applications and Web Processing Services (WPS) inputs and outputs. Remote execution is deferred by the EMS to an Application Deployment and Execution Service (ADES), as defined by Common Workflow Language (CWL) configurations."^^ . + . + . + . + "input_9i61gfqe"^^ . +_:N26b26f53152842fb9fcee13b20001e9b . + . + "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^ . + _:N35efb7509caf4f778e66e178daff9612 . + _:N41eeedad6813494c80bc67f688ec0360 . + . +_:N26b26f53152842fb9fcee13b20001e9b "2026-01-15T16:46:11.414795"^^ . + . +_:N46b5ec9f1e3648c3922164bccd3e3765 . + _:Nce1bcee00507495ea63af443ed516ae6 . +_:N9803e38c278c43e0bef9a99408e6480d "2026-01-15T16:46:10.809545"^^ . +_:N4a9853bcd9ca44dfbfbcceecf6d578e5 . + . + . + . + . + . + . + "3.14159"^^ . +_:N3819ffacc3114edcacc0e43d60a5c773 . + . + "input_9mob2l0c"^^ . + "input"^^ . + _:Nf513b957acdd4845a25967d8b23139c2 . + . + . +_:Nd80bca147141491da8187a017409f073 "2026-01-15T16:46:10.813646"^^ . + . +_:Nf36709ec1aa5455aa80e633e7075442d . + "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^ . + . + . + . + . + . +_:Ne3499c3e61194710b9d2d70e0c7dafa6 . +_:Nd80bca147141491da8187a017409f073 . + . +_:Nce1bcee00507495ea63af443ed516ae6 . + . +_:N3819ffacc3114edcacc0e43d60a5c773 "2026-01-15T16:46:11.414795"^^ . +_:Ne3499c3e61194710b9d2d70e0c7dafa6 "2026-01-15T16:46:11.414795"^^ . + "hirondelle.crim.ca"^^ . + . + . + . + . + "2"^^ . + . + . + . + . +_:N6c4195a19b6c44bfae3ab436ea0d596a "2026-01-15T16:46:11.414795"^^ . +_:N76847eaf87b347afa0928a2e421719b9 . +_:N41eeedad6813494c80bc67f688ec0360 . + "https://hirondelle.crim.ca/weaver"^^ . +_:N76847eaf87b347afa0928a2e421719b9 "2026-01-15T16:46:11.414795"^^ . + . +_:N401efcc6ab424149ae2f4583a9516895 . +_:N401efcc6ab424149ae2f4583a9516895 . +_:Nb4d24b611f674a07ac78a0e0a6afdefe . + . +_:N04822384ac7f48048f76e39f864f30b0 . + "6"^^ . + . + . + . + . + . +_:N6bf312a525af437282f381053e55d478 . + _:N756aaaa4b660468ea0750c8175b96985 . + . +_:Ne89e0be7f6de4ba0bd3b51e0c4654b8c . +_:Nc9f91ee0fe7d40d3afbe384582e212e6 . + . +_:N401efcc6ab424149ae2f4583a9516895 "2026-01-15T16:46:11.401124"^^ . + ".log"^^ . + . + . +_:Nc9caf63850954cec884076b45b9ed0c2 . + . + . + "Run of workflow/packed.cwl#main"^^ . + "https://hirondelle.crim.ca/weaver/processes/EchoProcess/jobs/53f5a04e-b531-466d-81be-62c34a1431ba"^^ . + _:Ndeaf18c982314f369dc761c8aeeeb0b9 . + . + . + ""^^ . +_:N6afd7a692b264159b97a87c33bf440f6 . + . + . +_:N6a0da87d6afc4337af7076b1b86abab6 . + . + . +_:Nc9caf63850954cec884076b45b9ed0c2 "2026-01-15T16:46:11.107662"^^ . +_:N35efb7509caf4f778e66e178daff9612 . +_:N76847eaf87b347afa0928a2e421719b9 . +_:N6c4195a19b6c44bfae3ab436ea0d596a . + . +_:Ndeaf18c982314f369dc761c8aeeeb0b9 . +_:Nf79009e1132246c5aa29e452c3e3017a "2026-01-15T16:46:11.101847"^^ . + . + . + ".tiff"^^ . + "10.3"^^ . + . +_:Nac81415608f34010b200913a98983ec4 "2026-01-15T16:46:11.105949"^^ . + . + ".json"^^ . + "3"^^ . + "cwltool 3.1.20260108082145"^^ . + . + "Computer Research Institute of Montréal"^^ . + . + _:N6afd7a692b264159b97a87c33bf440f6 . + . + . + "5"^^ . +_:Nf513b957acdd4845a25967d8b23139c2 . + _:Nc9caf63850954cec884076b45b9ed0c2 . + . + . + . + . + "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^ . + . + . +_:Nc9caf63850954cec884076b45b9ed0c2 . +_:N46b5ec9f1e3648c3922164bccd3e3765 . + . +_:Nd532a7567bfa466eb6a5df0dda00b195 . + "Value2"^^ . +_:Nac81415608f34010b200913a98983ec4 . + "input"^^ . +_:N41eeedad6813494c80bc67f688ec0360 . +_:N9803e38c278c43e0bef9a99408e6480d . +_:Nd7e35375efbb4e479cebc06a135a2c43 "2026-01-15T16:46:11.108679"^^ . + _:N656e6aee11de45c3abecb6d3f466ca7f . + . +_:Nc9f91ee0fe7d40d3afbe384582e212e6 . +_:N04822384ac7f48048f76e39f864f30b0 "2026-01-15T16:46:11.109174"^^ . + _:N76847eaf87b347afa0928a2e421719b9 . + . +_:N401efcc6ab424149ae2f4583a9516895 . +_:N02201cab0d814cca929ecfce57f54641 . +_:Ne89e0be7f6de4ba0bd3b51e0c4654b8c "2026-01-15T16:46:11.414795"^^ . +_:N2cf6b7900f65462cb11fdd18a56f8a68 . +_:Nfe0344ca34d549dcb8ffe546c5464758 . + "Prospective provenance"^^ . + . +_:N51c5412481164162a01e322e79002ddd . + "4"^^ . + . + . +_:Nfe0344ca34d549dcb8ffe546c5464758 "2026-01-15T16:46:11.414795"^^ . + . + . + . + . +_:Nf36709ec1aa5455aa80e633e7075442d . +_:Nac81415608f34010b200913a98983ec4 . + . + . + . + . +_:N4a9853bcd9ca44dfbfbcceecf6d578e5 . + . + . + . + . + . +_:Ne89e0be7f6de4ba0bd3b51e0c4654b8c . + . + . +_:N02201cab0d814cca929ecfce57f54641 . + . + . + . + . +_:N78f74c32bffc44d38387ea13c23cbd94 . + . + . +_:N3c79e61070c7402db3ee57157540b96a . + . + . + "2021-03-06T07:21:00"^^ . + . +_:N6c4195a19b6c44bfae3ab436ea0d596a . + . + _:N04822384ac7f48048f76e39f864f30b0 . +_:Nce1bcee00507495ea63af443ed516ae6 "2026-01-15T16:46:10.812817"^^ . + . + . + . + _:N1fcd3c60485045d8a4dab7e583a16db1 . + ""^^ . + . + . + . + . +_:Ndeaf18c982314f369dc761c8aeeeb0b9 . + . +_:N3819ffacc3114edcacc0e43d60a5c773 . + . +_:Nd532a7567bfa466eb6a5df0dda00b195 "2026-01-15T16:46:11.100961"^^ . + "3"^^ . + . +_:Nd7e35375efbb4e479cebc06a135a2c43 . + _:N401efcc6ab424149ae2f4583a9516895 . + "6"^^ . + . + "10.3"^^ . + _:Nf79009e1132246c5aa29e452c3e3017a . + . + . +_:N756aaaa4b660468ea0750c8175b96985 "2026-01-15T16:46:11.106052"^^ . + "crim-ca/weaver:6.9.0-dev2"^^ . +_:Nd80bca147141491da8187a017409f073 . +_:N9803e38c278c43e0bef9a99408e6480d . + . + . + . +_:Nd80bca147141491da8187a017409f073 . +_:N1fcd3c60485045d8a4dab7e583a16db1 . +_:Nf36709ec1aa5455aa80e633e7075442d "2026-01-15T16:46:11.106625"^^ . + . +_:Ndeaf18c982314f369dc761c8aeeeb0b9 . + . + . + . + . + . + . + . +_:N756aaaa4b660468ea0750c8175b96985 . + . + . + _:N6c4195a19b6c44bfae3ab436ea0d596a . +_:Nb4d24b611f674a07ac78a0e0a6afdefe "2026-01-15T16:46:11.414795"^^ . +_:N38a01cecfece4576877482c7bf18a9dd "2026-01-15T16:45:56.964000+00:00"^^ . + _:N78f74c32bffc44d38387ea13c23cbd94 . +_:Nd7e35375efbb4e479cebc06a135a2c43 . + . + . + . +_:N656e6aee11de45c3abecb6d3f466ca7f . +_:N6a0da87d6afc4337af7076b1b86abab6 . +_:N38a01cecfece4576877482c7bf18a9dd . + "ew-hh.tiff"^^ . + _:Ne89e0be7f6de4ba0bd3b51e0c4654b8c . + . + . + . + . + "https://hirondelle.crim.ca/weaver"^^ . + . +_:N2cf6b7900f65462cb11fdd18a56f8a68 . + ".log"^^ . + . + _:Nd7e35375efbb4e479cebc06a135a2c43 . + "3"^^ . + . + . + _:Nf36709ec1aa5455aa80e633e7075442d . +_:N6afd7a692b264159b97a87c33bf440f6 . + . +_:Nd532a7567bfa466eb6a5df0dda00b195 . + . + . + ""^^ . + "5"^^ . + "stdout.log"^^ . + "3.14159"^^ . + . + "Job Information"^^ . + "input__cdpaqkt"^^ . +_:N2cf6b7900f65462cb11fdd18a56f8a68 . + . + . + . + "4"^^ . + . +_:N6a0da87d6afc4337af7076b1b86abab6 . + . + "http://pavics-weaver.readthedocs.org/en/latest/"^^ . +_:Nce1bcee00507495ea63af443ed516ae6 . +_:N26b26f53152842fb9fcee13b20001e9b . + _:N6a0da87d6afc4337af7076b1b86abab6 . +_:N51c5412481164162a01e322e79002ddd . + . + . + . +_:Ndeaf18c982314f369dc761c8aeeeb0b9 "2026-01-15T16:46:10.807817"^^ . + . + . + _:N3819ffacc3114edcacc0e43d60a5c773 . +_:N41eeedad6813494c80bc67f688ec0360 "2026-01-15T16:46:10.808944"^^ . + . + . +_:N35efb7509caf4f778e66e178daff9612 "2026-01-15T16:46:11.107097"^^ . +_:N04822384ac7f48048f76e39f864f30b0 . + _:N46b5ec9f1e3648c3922164bccd3e3765 . +_:N3819ffacc3114edcacc0e43d60a5c773 . + . + . +_:N6afd7a692b264159b97a87c33bf440f6 . + "Source code repository"^^ . + . + . +_:N6bf312a525af437282f381053e55d478 . +_:Nc9f91ee0fe7d40d3afbe384582e212e6 . +_:N78f74c32bffc44d38387ea13c23cbd94 "2026-01-15T16:46:11.419318"^^ . + . +_:Nb4d24b611f674a07ac78a0e0a6afdefe . + . + . + . + . + . +_:Nf36709ec1aa5455aa80e633e7075442d . + _:N02201cab0d814cca929ecfce57f54641 . + . + . +_:Ne3499c3e61194710b9d2d70e0c7dafa6 . + "https://hirondelle.crim.ca/weaver/processes/EchoProcess"^^ . +_:N04822384ac7f48048f76e39f864f30b0 . +_:N51c5412481164162a01e322e79002ddd . + "ew-hh"^^ . + . +_:N51c5412481164162a01e322e79002ddd "2026-01-15T16:46:11.414795"^^ . +_:N78f74c32bffc44d38387ea13c23cbd94 . + . +_:Ne3499c3e61194710b9d2d70e0c7dafa6 . +_:N76847eaf87b347afa0928a2e421719b9 . + _:Nc9f91ee0fe7d40d3afbe384582e212e6 . + . + "input_50x5752r"^^ . + "Server Provider"^^ . + "GetFeature"^^ . + _:N9803e38c278c43e0bef9a99408e6480d . +_:Nb4d24b611f674a07ac78a0e0a6afdefe . + . + . +_:Nd7e35375efbb4e479cebc06a135a2c43 . +_:Nac81415608f34010b200913a98983ec4 . + _:N2cf6b7900f65462cb11fdd18a56f8a68 . +_:N38a01cecfece4576877482c7bf18a9dd . +_:N02201cab0d814cca929ecfce57f54641 "2026-01-15T16:46:11.414795"^^ . + "Process Description"^^ . + . +_:Nd532a7567bfa466eb6a5df0dda00b195 . + _:N3c79e61070c7402db3ee57157540b96a . +_:Nf513b957acdd4845a25967d8b23139c2 "2026-01-15T16:46:11.401851"^^ . +_:Nf79009e1132246c5aa29e452c3e3017a . + "2026-01-15T16:46:10.775907"^^ . + "stderr"^^ . +_:Ne89e0be7f6de4ba0bd3b51e0c4654b8c . +_:N656e6aee11de45c3abecb6d3f466ca7f "2026-01-15T16:46:10.810650"^^ . + _:Nfe0344ca34d549dcb8ffe546c5464758 . + "https://github.com/crim-ca/weaver"^^ . + "4"^^ . + . + . +_:N6bf312a525af437282f381053e55d478 . + . +_:N6afd7a692b264159b97a87c33bf440f6 "2026-01-15T16:46:10.808789"^^ . + _:Nb4d24b611f674a07ac78a0e0a6afdefe . + "2"^^ . + ""^^ . + "10.3"^^ . + . + "1"^^ . + "stderr.log"^^ . + _:Nd80bca147141491da8187a017409f073 . + . + . + . + "crim-ca/weaver"^^ . + . + _:N26b26f53152842fb9fcee13b20001e9b . + "stdout"^^ . +_:N6c4195a19b6c44bfae3ab436ea0d596a . +_:Nf513b957acdd4845a25967d8b23139c2 . + . +_:N3c79e61070c7402db3ee57157540b96a . + ""^^ . + . + . + "input_9i61gfqe"^^ . +_:N1fcd3c60485045d8a4dab7e583a16db1 "2026-01-15T16:46:10.775984"^^ . + _:Ne3499c3e61194710b9d2d70e0c7dafa6 . + . +_:Nc9f91ee0fe7d40d3afbe384582e212e6 "2026-01-15T16:46:11.414795"^^ . + _:N6bf312a525af437282f381053e55d478 . + . + . +_:N4a9853bcd9ca44dfbfbcceecf6d578e5 "2026-01-15T16:46:10.775855"^^ . + . + "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^ . + . + . + "2"^^ . + _:Nd532a7567bfa466eb6a5df0dda00b195 . + . + . + . +_:Nf79009e1132246c5aa29e452c3e3017a . +_:N656e6aee11de45c3abecb6d3f466ca7f . + . + _:Nac81415608f34010b200913a98983ec4 . + . +_:N35efb7509caf4f778e66e178daff9612 . + "input_9mob2l0c"^^ . + "1"^^ . diff --git a/extensions/provenance/standard/examples/job_prov.provn b/extensions/provenance/standard/examples/job_prov.provn new file mode 100644 index 00000000..1d5c4871 --- /dev/null +++ b/extensions/provenance/standard/examples/job_prov.provn @@ -0,0 +1,198 @@ +document + prefix wfprov + prefix wfdesc + prefix cwlprov + prefix foaf + prefix schema + prefix orcid + prefix id + prefix data + prefix sha256 + prefix researchobject + prefix metadata + prefix provenance + prefix wf + prefix input + prefix doi + prefix wf4ever + + agent(id:dc49c9ee-a913-4e5c-b89a-2201af36af9c) + agent(id:dc49c9ee-a913-4e5c-b89a-2201af36af9c, [prov:type='foaf:OnlineAccount', prov:location="https://hirondelle.crim.ca/weaver", cwlprov:hostname="hirondelle.crim.ca"]) + agent(id:dc49c9ee-a913-4e5c-b89a-2201af36af9c, [prov:type='foaf:OnlineAccount', prov:label="weaver-worker@crim-ca/weaver:6.9.0-dev2", foaf:accountName="weaver-worker@crim-ca/weaver:6.9.0-dev2"]) + agent(id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990, [prov:type='prov:SoftwareAgent', prov:type='schema:SoftwareApplication', prov:label="weaver-worker@crim-ca/weaver:6.9.0-dev2", foaf:name="weaver-worker@crim-ca/weaver:6.9.0-dev2", foaf:account='id:dc49c9ee-a913-4e5c-b89a-2201af36af9c', schema:name="weaver-worker@crim-ca/weaver:6.9.0-dev2"]) + actedOnBehalfOf(id:dc49c9ee-a913-4e5c-b89a-2201af36af9c, id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990, -) + agent(id:d57aaff6-a93f-4927-a2d8-112beb358d4d, [prov:type='prov:SoftwareAgent', prov:type='wfprov:WorkflowEngine', prov:label="cwltool 3.1.20260108082145"]) + wasStartedBy(id:d57aaff6-a93f-4927-a2d8-112beb358d4d, -, id:dc49c9ee-a913-4e5c-b89a-2201af36af9c, 2026-01-15T16:46:10.775855) + activity(id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:10.775907, -, [prov:type='wfprov:WorkflowRun', prov:label="Run of workflow/packed.cwl#main"]) + wasAssociatedWith(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:d57aaff6-a93f-4927-a2d8-112beb358d4d, wf:main) + wasStartedBy(id:53f5a04e-b531-466d-81be-62c34a1431ba, -, id:d57aaff6-a93f-4927-a2d8-112beb358d4d, 2026-01-15T16:46:10.775984) + entity(data:644e201526525f62152815a76a2dc773450f3dd9, [prov:type='prov:PrimarySource', prov:label="Source code repository", prov:location="https://github.com/crim-ca/weaver"]) + agent(data:4e5feeeb8209de47c8dfb7c3f50a893e505af067, [prov:type='prov:SoftwareAgent', prov:location="https://hirondelle.crim.ca/weaver", prov:label="crim-ca/weaver:6.9.0-dev2", prov:label="Weaver is an Execution Management Service (EMS) that allows the execution of workflows chaining various applications and Web Processing Services (WPS) inputs and outputs. Remote execution is deferred by the EMS to an Application Deployment and Execution Service (ADES), as defined by Common Workflow Language (CWL) configurations.", prov:generalEntity='data:644e201526525f62152815a76a2dc773450f3dd9', prov:specificEntity='doi:10.5281/zenodo.14210717']) + entity(data:3102f6d7a018ebae572f457d711ed7e1e7a11bc2, [prov:type='prov:Organization', foaf:name="Computer Research Institute of Montréal", schema:name="Computer Research Institute of Montréal"]) + entity(data:838cdfa4bbf09d1aedd26d79b46bfa8778ede2e0, [foaf:name="crim-ca/weaver", schema:name="crim-ca/weaver", prov:location="http://pavics-weaver.readthedocs.org/en/latest/", prov:type='prov:Organization', prov:label="Server Provider"]) + entity(id:53f5a04e-b531-466d-81be-62c34a1431ba, [prov:type='wfdesc:ProcessRun', prov:location="https://hirondelle.crim.ca/weaver/processes/EchoProcess/jobs/53f5a04e-b531-466d-81be-62c34a1431ba", prov:label="Job Information"]) + entity(data:4e5feeeb8209de47c8dfb7c3f50a893e505af067:EchoProcess, [prov:type='wfdesc:Process', prov:location="https://hirondelle.crim.ca/weaver/processes/EchoProcess", prov:label="Process Description"]) + wasDerivedFrom(data:4e5feeeb8209de47c8dfb7c3f50a893e505af067, data:644e201526525f62152815a76a2dc773450f3dd9, -, -, -, [prov:type='prov:PrimarySource']) + actedOnBehalfOf(data:4e5feeeb8209de47c8dfb7c3f50a893e505af067, id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990, -) + specializationOf(data:4e5feeeb8209de47c8dfb7c3f50a893e505af067, id:dc49c9ee-a913-4e5c-b89a-2201af36af9c) + wasAttributedTo(data:3102f6d7a018ebae572f457d711ed7e1e7a11bc2, data:644e201526525f62152815a76a2dc773450f3dd9) + wasDerivedFrom(id:dc49c9ee-a913-4e5c-b89a-2201af36af9c, data:4e5feeeb8209de47c8dfb7c3f50a893e505af067, -, -, -) + wasStartedBy(id:53f5a04e-b531-466d-81be-62c34a1431ba, data:4e5feeeb8209de47c8dfb7c3f50a893e505af067, -, -) + wasStartedBy(id:d57aaff6-a93f-4927-a2d8-112beb358d4d, id:53f5a04e-b531-466d-81be-62c34a1431ba, -, 2026-01-15T16:45:56.964000+00:00) + specializationOf(id:d57aaff6-a93f-4927-a2d8-112beb358d4d, id:53f5a04e-b531-466d-81be-62c34a1431ba) + alternateOf(id:d57aaff6-a93f-4927-a2d8-112beb358d4d, id:53f5a04e-b531-466d-81be-62c34a1431ba) + wasGeneratedBy(id:53f5a04e-b531-466d-81be-62c34a1431ba, data:4e5feeeb8209de47c8dfb7c3f50a893e505af067:EchoProcess, -) + wasDerivedFrom(data:838cdfa4bbf09d1aedd26d79b46bfa8778ede2e0, data:4e5feeeb8209de47c8dfb7c3f50a893e505af067, -, -, -) + wasAttributedTo(data:838cdfa4bbf09d1aedd26d79b46bfa8778ede2e0, data:4e5feeeb8209de47c8dfb7c3f50a893e505af067) + entity(wf:main, [prov:type='wfdesc:Process', prov:type='prov:Plan', prov:label="Prospective provenance"]) + entity(data:0cf60d40470fde378076afacf5812f961208a018, [prov:type='wfprov:Artifact', prov:value="Value2"]) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, data:0cf60d40470fde378076afacf5812f961208a018, 2026-01-15T16:46:10.807817, [prov:role='wf:main/stringInput']) + entity(id:cb4c5d07-5b7e-435f-882c-afe14e061f4b, [prov:value="10.3" %% xsd:float]) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:cb4c5d07-5b7e-435f-882c-afe14e061f4b, 2026-01-15T16:46:10.807975, [prov:role='wf:main/measureInput']) + entity(data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72, [prov:type='wfprov:Artifact', prov:value="2021-03-06T07:21:00"]) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72, 2026-01-15T16:46:10.808789, [prov:role='wf:main/dateInput']) + entity(id:f01a7e80-f451-4047-93c0-587666a9847a, [prov:value="3.14159" %% xsd:float]) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:f01a7e80-f451-4047-93c0-587666a9847a, 2026-01-15T16:46:10.808944, [prov:role='wf:main/doubleInput']) + entity(id:a19d9289-ab50-4d85-a241-4ef9a0e36deb, [prov:value=1]) + entity(id:5e4614e1-101d-4be2-8b66-24f770b3435f, [prov:value=2]) + entity(id:a45ad975-3387-4b7c-ac1c-a268c65927d1, [prov:value=3]) + entity(id:056f6ec9-f5ca-4630-8b6e-171ea0fe8f3f, [prov:value=4]) + entity(id:b4c63361-5926-4b48-be43-df94727a79da, [prov:value=5]) + entity(id:a68017f5-e2f6-441c-b4ad-cf94dec801d7, [prov:value=6]) + entity(id:c68b1b94-7f88-4cda-87da-f5e68beabe42, [prov:type='wfprov:Artifact', prov:type='prov:Collection']) + hadMember(id:c68b1b94-7f88-4cda-87da-f5e68beabe42, id:a19d9289-ab50-4d85-a241-4ef9a0e36deb) + hadMember(id:c68b1b94-7f88-4cda-87da-f5e68beabe42, id:5e4614e1-101d-4be2-8b66-24f770b3435f) + hadMember(id:c68b1b94-7f88-4cda-87da-f5e68beabe42, id:a45ad975-3387-4b7c-ac1c-a268c65927d1) + hadMember(id:c68b1b94-7f88-4cda-87da-f5e68beabe42, id:056f6ec9-f5ca-4630-8b6e-171ea0fe8f3f) + hadMember(id:c68b1b94-7f88-4cda-87da-f5e68beabe42, id:b4c63361-5926-4b48-be43-df94727a79da) + hadMember(id:c68b1b94-7f88-4cda-87da-f5e68beabe42, id:a68017f5-e2f6-441c-b4ad-cf94dec801d7) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:c68b1b94-7f88-4cda-87da-f5e68beabe42, 2026-01-15T16:46:10.809545, [prov:role='wf:main/arrayInput']) + entity(data:1ed7ac15d56fc9b6257234caebf4bed6e559b53c, [prov:type='wfprov:Artifact']) + entity(id:5f78096f-fce2-49b1-aa6d-941927d15dcc, [prov:type='wfprov:Artifact', prov:type='wf4ever:File']) + specializationOf(id:5f78096f-fce2-49b1-aa6d-941927d15dcc, data:1ed7ac15d56fc9b6257234caebf4bed6e559b53c) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:5f78096f-fce2-49b1-aa6d-941927d15dcc, 2026-01-15T16:46:10.810650, [prov:role='wf:main/complexObjectInput']) + entity(data:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb, [prov:type='wfprov:Artifact']) + entity(id:f0020803-854b-4bd3-a70a-f6317d3a6524, [prov:type='wfprov:Artifact', prov:type='wf4ever:File']) + specializationOf(id:f0020803-854b-4bd3-a70a-f6317d3a6524, data:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb) + entity(data:82f6bd8f98adc472eb9e350df9d64c102da0bcb5, [prov:type='wfprov:Artifact']) + entity(id:6e88c002-b8f6-488e-977f-21ad51073fc6, [prov:type='wfprov:Artifact', prov:type='wf4ever:File']) + specializationOf(id:6e88c002-b8f6-488e-977f-21ad51073fc6, data:82f6bd8f98adc472eb9e350df9d64c102da0bcb5) + entity(id:8edd155f-17b1-48d6-ae93-bad0390c9ef3, [prov:type='wfprov:Artifact', prov:type='prov:Collection']) + hadMember(id:8edd155f-17b1-48d6-ae93-bad0390c9ef3, id:f0020803-854b-4bd3-a70a-f6317d3a6524) + hadMember(id:8edd155f-17b1-48d6-ae93-bad0390c9ef3, id:6e88c002-b8f6-488e-977f-21ad51073fc6) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:8edd155f-17b1-48d6-ae93-bad0390c9ef3, 2026-01-15T16:46:10.812817, [prov:role='wf:main/geometryInput']) + entity(data:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d, [prov:type='wfprov:Artifact']) + entity(id:d4ac4ab8-25a3-4412-82b6-07b92da98795, [prov:type='wfprov:Artifact', prov:type='wf4ever:File']) + specializationOf(id:d4ac4ab8-25a3-4412-82b6-07b92da98795, data:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:d4ac4ab8-25a3-4412-82b6-07b92da98795, 2026-01-15T16:46:10.813646, [prov:role='wf:main/boundingBoxInput']) + entity(data:ec3fe43f2db3829507e574b5b9b1b84547d48f19, [prov:type='wfprov:Artifact']) + entity(id:c790f3f7-ac11-4d13-9c71-4d68c73ed040, [prov:type='wfprov:Artifact', prov:type='wf4ever:File']) + specializationOf(id:c790f3f7-ac11-4d13-9c71-4d68c73ed040, data:ec3fe43f2db3829507e574b5b9b1b84547d48f19) + entity(data:795e8291ebb709a1bc71824449570f94f082a02b, [prov:type='wfprov:Artifact']) + entity(id:6815d3c5-fa14-4153-befe-a5fddc285b06, [prov:type='wfprov:Artifact', prov:type='wf4ever:File']) + specializationOf(id:6815d3c5-fa14-4153-befe-a5fddc285b06, data:795e8291ebb709a1bc71824449570f94f082a02b) + entity(id:88e9a099-e5d4-45f9-8402-c8082168a6f0, [prov:type='wfprov:Artifact', prov:type='prov:Collection']) + hadMember(id:88e9a099-e5d4-45f9-8402-c8082168a6f0, id:c790f3f7-ac11-4d13-9c71-4d68c73ed040) + hadMember(id:88e9a099-e5d4-45f9-8402-c8082168a6f0, id:6815d3c5-fa14-4153-befe-a5fddc285b06) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:88e9a099-e5d4-45f9-8402-c8082168a6f0, 2026-01-15T16:46:11.100961, [prov:role='wf:main/imagesInput']) + entity(data:3f88b16b3b80316d30a93bc4035da306170884e2, [prov:type='wfprov:Artifact']) + entity(id:54f9b9d5-641c-4e66-8c9d-c65f2ad0be63, [prov:type='wfprov:Artifact', prov:type='wf4ever:File']) + specializationOf(id:54f9b9d5-641c-4e66-8c9d-c65f2ad0be63, data:3f88b16b3b80316d30a93bc4035da306170884e2) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:54f9b9d5-641c-4e66-8c9d-c65f2ad0be63, 2026-01-15T16:46:11.101847, [prov:role='wf:main/featureCollectionInput']) + entity(data:0cf60d40470fde378076afacf5812f961208a018, [prov:type='wfprov:Artifact', prov:value="Value2"]) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, data:0cf60d40470fde378076afacf5812f961208a018, 2026-01-15T16:46:11.105949, [prov:role='wf:main/EchoProcess/stringInput']) + entity(id:fc017dcf-09ec-4cbf-81ac-741b5a61b482, [prov:value="10.3" %% xsd:float]) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:fc017dcf-09ec-4cbf-81ac-741b5a61b482, 2026-01-15T16:46:11.106052, [prov:role='wf:main/EchoProcess/measureInput']) + entity(data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72, [prov:type='wfprov:Artifact', prov:value="2021-03-06T07:21:00"]) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72, 2026-01-15T16:46:11.106625, [prov:role='wf:main/EchoProcess/dateInput']) + entity(id:0df32fa2-e262-458f-b1df-5e749c1b19f4, [prov:value="3.14159" %% xsd:float]) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:0df32fa2-e262-458f-b1df-5e749c1b19f4, 2026-01-15T16:46:11.106731, [prov:role='wf:main/EchoProcess/doubleInput']) + entity(id:5226c081-e3dc-4963-987b-92142bd75102, [prov:value=1]) + entity(id:f30572d8-60e4-4221-80a7-cb76e1007e9a, [prov:value=2]) + entity(id:a1aa3cbf-8435-4f94-aeb6-110922551843, [prov:value=3]) + entity(id:2a95bd87-116b-42f4-8525-428de8743778, [prov:value=4]) + entity(id:bde07acc-95a9-46f6-be09-6467fa7bd8b8, [prov:value=5]) + entity(id:6d234b31-69fb-4949-b096-924f234097a1, [prov:value=6]) + entity(id:541c0738-ac5c-4a35-b592-a3cbc87246f1, [prov:type='wfprov:Artifact', prov:type='prov:Collection']) + hadMember(id:541c0738-ac5c-4a35-b592-a3cbc87246f1, id:5226c081-e3dc-4963-987b-92142bd75102) + hadMember(id:541c0738-ac5c-4a35-b592-a3cbc87246f1, id:f30572d8-60e4-4221-80a7-cb76e1007e9a) + hadMember(id:541c0738-ac5c-4a35-b592-a3cbc87246f1, id:a1aa3cbf-8435-4f94-aeb6-110922551843) + hadMember(id:541c0738-ac5c-4a35-b592-a3cbc87246f1, id:2a95bd87-116b-42f4-8525-428de8743778) + hadMember(id:541c0738-ac5c-4a35-b592-a3cbc87246f1, id:bde07acc-95a9-46f6-be09-6467fa7bd8b8) + hadMember(id:541c0738-ac5c-4a35-b592-a3cbc87246f1, id:6d234b31-69fb-4949-b096-924f234097a1) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:541c0738-ac5c-4a35-b592-a3cbc87246f1, 2026-01-15T16:46:11.107097, [prov:role='wf:main/EchoProcess/arrayInput']) + entity(data:1ed7ac15d56fc9b6257234caebf4bed6e559b53c, [prov:type='wfprov:Artifact']) + entity(id:109d6043-7fad-428f-a563-a99a4ebd6dda, [prov:type='wfprov:Artifact', prov:type='wf4ever:File', cwlprov:basename="input", cwlprov:nameroot="input", cwlprov:nameext=""]) + specializationOf(id:109d6043-7fad-428f-a563-a99a4ebd6dda, data:1ed7ac15d56fc9b6257234caebf4bed6e559b53c) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:109d6043-7fad-428f-a563-a99a4ebd6dda, 2026-01-15T16:46:11.107662, [prov:role='wf:main/EchoProcess/complexObjectInput']) + entity(data:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb, [prov:type='wfprov:Artifact']) + entity(id:5ec5c130-692c-48d5-9cef-be41cec00d11, [prov:type='wfprov:Artifact', prov:type='wf4ever:File', cwlprov:basename="input_9i61gfqe", cwlprov:nameroot="input_9i61gfqe", cwlprov:nameext=""]) + specializationOf(id:5ec5c130-692c-48d5-9cef-be41cec00d11, data:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb) + entity(data:82f6bd8f98adc472eb9e350df9d64c102da0bcb5, [prov:type='wfprov:Artifact']) + entity(id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304, [prov:type='wfprov:Artifact', prov:type='wf4ever:File', cwlprov:basename="input_50x5752r", cwlprov:nameroot="input_50x5752r", cwlprov:nameext=""]) + specializationOf(id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304, data:82f6bd8f98adc472eb9e350df9d64c102da0bcb5) + entity(id:1b6185c0-b83d-431b-a2ba-7c2b026b1823, [prov:type='wfprov:Artifact', prov:type='prov:Collection']) + hadMember(id:1b6185c0-b83d-431b-a2ba-7c2b026b1823, id:5ec5c130-692c-48d5-9cef-be41cec00d11) + hadMember(id:1b6185c0-b83d-431b-a2ba-7c2b026b1823, id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:1b6185c0-b83d-431b-a2ba-7c2b026b1823, 2026-01-15T16:46:11.108679, [prov:role='wf:main/EchoProcess/geometryInput']) + entity(data:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d, [prov:type='wfprov:Artifact']) + entity(id:160a1cd9-6384-4828-b627-a02e478365fb, [prov:type='wfprov:Artifact', prov:type='wf4ever:File', cwlprov:basename="input__cdpaqkt", cwlprov:nameroot="input__cdpaqkt", cwlprov:nameext=""]) + specializationOf(id:160a1cd9-6384-4828-b627-a02e478365fb, data:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:160a1cd9-6384-4828-b627-a02e478365fb, 2026-01-15T16:46:11.109174, [prov:role='wf:main/EchoProcess/boundingBoxInput']) + entity(data:ec3fe43f2db3829507e574b5b9b1b84547d48f19, [prov:type='wfprov:Artifact']) + entity(id:ef9384d4-880f-4398-9e10-1bce1d54e51e, [prov:type='wfprov:Artifact', prov:type='wf4ever:File', cwlprov:basename="ew-hh.tiff", cwlprov:nameroot="ew-hh", cwlprov:nameext=".tiff"]) + specializationOf(id:ef9384d4-880f-4398-9e10-1bce1d54e51e, data:ec3fe43f2db3829507e574b5b9b1b84547d48f19) + entity(data:795e8291ebb709a1bc71824449570f94f082a02b, [prov:type='wfprov:Artifact']) + entity(id:043749d9-938e-4aa4-b5ae-12fc699dbcc9, [prov:type='wfprov:Artifact', prov:type='wf4ever:File', cwlprov:basename="input_9mob2l0c", cwlprov:nameroot="input_9mob2l0c", cwlprov:nameext=""]) + specializationOf(id:043749d9-938e-4aa4-b5ae-12fc699dbcc9, data:795e8291ebb709a1bc71824449570f94f082a02b) + entity(id:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5, [prov:type='wfprov:Artifact', prov:type='prov:Collection']) + hadMember(id:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5, id:ef9384d4-880f-4398-9e10-1bce1d54e51e) + hadMember(id:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5, id:043749d9-938e-4aa4-b5ae-12fc699dbcc9) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5, 2026-01-15T16:46:11.401124, [prov:role='wf:main/EchoProcess/imagesInput']) + entity(data:3f88b16b3b80316d30a93bc4035da306170884e2, [prov:type='wfprov:Artifact']) + entity(id:fbb085ae-d3ad-4639-a448-b01188f1ce9f, [prov:type='wfprov:Artifact', prov:type='wf4ever:File', cwlprov:basename="GetFeature.json", cwlprov:nameroot="GetFeature", cwlprov:nameext=".json"]) + specializationOf(id:fbb085ae-d3ad-4639-a448-b01188f1ce9f, data:3f88b16b3b80316d30a93bc4035da306170884e2) + used(id:53f5a04e-b531-466d-81be-62c34a1431ba, id:fbb085ae-d3ad-4639-a448-b01188f1ce9f, 2026-01-15T16:46:11.401851, [prov:role='wf:main/EchoProcess/featureCollectionInput']) + entity(data:0cf60d40470fde378076afacf5812f961208a018, [prov:type='wfprov:Artifact', prov:value="Value2"]) + wasGeneratedBy(data:0cf60d40470fde378076afacf5812f961208a018, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/stringOutput']) + entity(id:5a1aa540-dfb8-46d5-8391-0b59b865747f, [prov:value="10.3" %% xsd:float]) + wasGeneratedBy(id:5a1aa540-dfb8-46d5-8391-0b59b865747f, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/measureOutput']) + entity(data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72, [prov:type='wfprov:Artifact', prov:value="2021-03-06T07:21:00"]) + wasGeneratedBy(data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/dateOutput']) + entity(id:0aebe062-805e-4853-9d80-dbc5107a8bdb, [prov:value="3.14159" %% xsd:float]) + wasGeneratedBy(id:0aebe062-805e-4853-9d80-dbc5107a8bdb, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/doubleOutput']) + entity(id:6a99e0ba-c671-4471-aa33-4cc523e0f428, [prov:value=1]) + entity(id:64c45605-d8a9-4a56-929d-47dcad5543f1, [prov:value=2]) + entity(id:b557ccae-b5e3-43ce-bc06-f39d3e12f67f, [prov:value=3]) + entity(id:f55d0d44-4cb4-4cd2-a336-7bac9e265583, [prov:value=4]) + entity(id:c8dbab29-6641-40d9-b5c1-626872f5337d, [prov:value=5]) + entity(id:9718f0ee-b250-4d33-a6df-4b8ad72bf150, [prov:value=6]) + entity(id:79e5fa0b-4998-46da-bbe8-920533c7940b, [prov:type='wfprov:Artifact', prov:type='prov:Collection']) + hadMember(id:79e5fa0b-4998-46da-bbe8-920533c7940b, id:6a99e0ba-c671-4471-aa33-4cc523e0f428) + hadMember(id:79e5fa0b-4998-46da-bbe8-920533c7940b, id:64c45605-d8a9-4a56-929d-47dcad5543f1) + hadMember(id:79e5fa0b-4998-46da-bbe8-920533c7940b, id:b557ccae-b5e3-43ce-bc06-f39d3e12f67f) + hadMember(id:79e5fa0b-4998-46da-bbe8-920533c7940b, id:f55d0d44-4cb4-4cd2-a336-7bac9e265583) + hadMember(id:79e5fa0b-4998-46da-bbe8-920533c7940b, id:c8dbab29-6641-40d9-b5c1-626872f5337d) + hadMember(id:79e5fa0b-4998-46da-bbe8-920533c7940b, id:9718f0ee-b250-4d33-a6df-4b8ad72bf150) + wasGeneratedBy(id:79e5fa0b-4998-46da-bbe8-920533c7940b, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/arrayOutput']) + wasGeneratedBy(id:109d6043-7fad-428f-a563-a99a4ebd6dda, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/complexObjectOutput']) + entity(id:a326f7d5-60b5-4b9d-802f-58f2411c993e, [prov:type='wfprov:Artifact', prov:type='prov:Collection']) + hadMember(id:a326f7d5-60b5-4b9d-802f-58f2411c993e, id:5ec5c130-692c-48d5-9cef-be41cec00d11) + hadMember(id:a326f7d5-60b5-4b9d-802f-58f2411c993e, id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304) + wasGeneratedBy(id:a326f7d5-60b5-4b9d-802f-58f2411c993e, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/geometryOutput']) + wasGeneratedBy(id:160a1cd9-6384-4828-b627-a02e478365fb, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/boundingBoxOutput']) + entity(id:96f693e2-3eac-4a04-8887-7285b7605f49, [prov:type='wfprov:Artifact', prov:type='prov:Collection']) + hadMember(id:96f693e2-3eac-4a04-8887-7285b7605f49, id:ef9384d4-880f-4398-9e10-1bce1d54e51e) + hadMember(id:96f693e2-3eac-4a04-8887-7285b7605f49, id:043749d9-938e-4aa4-b5ae-12fc699dbcc9) + wasGeneratedBy(id:96f693e2-3eac-4a04-8887-7285b7605f49, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/imagesOutput']) + wasGeneratedBy(id:fbb085ae-d3ad-4639-a448-b01188f1ce9f, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/featureCollectionOutput']) + entity(data:da39a3ee5e6b4b0d3255bfef95601890afd80709, [prov:type='wfprov:Artifact']) + entity(id:a9b3da73-190e-4a3a-affb-a12396f0eac3, [prov:type='wfprov:Artifact', prov:type='wf4ever:File', cwlprov:basename="stderr.log", cwlprov:nameroot="stderr", cwlprov:nameext=".log"]) + specializationOf(id:a9b3da73-190e-4a3a-affb-a12396f0eac3, data:da39a3ee5e6b4b0d3255bfef95601890afd80709) + wasGeneratedBy(id:a9b3da73-190e-4a3a-affb-a12396f0eac3, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/PACKAGE_OUTPUT_HOOK_LOG_a5f8bd13-1ab3-4633-9219-810292b59056']) + entity(data:adc83b19e793491b1c6ea0fd8b46cd9f32e592fc, [prov:type='wfprov:Artifact']) + entity(id:e66cf62a-753e-459e-b2f4-06f99396ca08, [prov:type='wfprov:Artifact', prov:type='wf4ever:File', cwlprov:basename="stdout.log", cwlprov:nameroot="stdout", cwlprov:nameext=".log"]) + specializationOf(id:e66cf62a-753e-459e-b2f4-06f99396ca08, data:adc83b19e793491b1c6ea0fd8b46cd9f32e592fc) + wasGeneratedBy(id:e66cf62a-753e-459e-b2f4-06f99396ca08, id:53f5a04e-b531-466d-81be-62c34a1431ba, 2026-01-15T16:46:11.414795, [prov:role='wf:main/primary/PACKAGE_OUTPUT_HOOK_LOG_b62df1f5-a3e7-412c-bdc0-0451aa8a4d93']) + wasEndedBy(id:53f5a04e-b531-466d-81be-62c34a1431ba, -, id:d57aaff6-a93f-4927-a2d8-112beb358d4d, 2026-01-15T16:46:11.419318) +endDocument diff --git a/extensions/provenance/standard/examples/job_prov.ttl b/extensions/provenance/standard/examples/job_prov.ttl new file mode 100644 index 00000000..6cad21f2 --- /dev/null +++ b/extensions/provenance/standard/examples/job_prov.ttl @@ -0,0 +1,513 @@ +@prefix cwlprov: . +@prefix data: . +@prefix foaf: . +@prefix id: . +@prefix prov: . +@prefix rdfs: . +@prefix schema1: . +@prefix wf: . +@prefix wf4ever: . +@prefix wfdesc: . +@prefix wfprov: . +@prefix xsd: . + +data:3102f6d7a018ebae572f457d711ed7e1e7a11bc2 a prov:Entity, + prov:Organization ; + schema1:name "Computer Research Institute of Montréal"^^xsd:string ; + prov:wasAttributedTo data:644e201526525f62152815a76a2dc773450f3dd9 ; + foaf:name "Computer Research Institute of Montréal"^^xsd:string . + +data:838cdfa4bbf09d1aedd26d79b46bfa8778ede2e0 a prov:Entity, + prov:Organization ; + rdfs:label "Server Provider"^^xsd:string ; + schema1:name "crim-ca/weaver"^^xsd:string ; + prov:atLocation "http://pavics-weaver.readthedocs.org/en/latest/"^^xsd:string ; + prov:wasAttributedTo data:4e5feeeb8209de47c8dfb7c3f50a893e505af067 ; + prov:wasDerivedFrom data:4e5feeeb8209de47c8dfb7c3f50a893e505af067 ; + foaf:name "crim-ca/weaver"^^xsd:string . + +id:0aebe062-805e-4853-9d80-dbc5107a8bdb a prov:Entity ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] ; + prov:value 3.14159e+00 . + +id:5a1aa540-dfb8-46d5-8391-0b59b865747f a prov:Entity ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] ; + prov:value 1.03e+01 . + +id:79e5fa0b-4998-46da-bbe8-920533c7940b a wfprov:Artifact, + prov:Collection, + prov:Entity ; + prov:hadMember id:64c45605-d8a9-4a56-929d-47dcad5543f1, + id:6a99e0ba-c671-4471-aa33-4cc523e0f428, + id:9718f0ee-b250-4d33-a6df-4b8ad72bf150, + id:b557ccae-b5e3-43ce-bc06-f39d3e12f67f, + id:c8dbab29-6641-40d9-b5c1-626872f5337d, + id:f55d0d44-4cb4-4cd2-a336-7bac9e265583 ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] . + +id:96f693e2-3eac-4a04-8887-7285b7605f49 a wfprov:Artifact, + prov:Collection, + prov:Entity ; + prov:hadMember id:043749d9-938e-4aa4-b5ae-12fc699dbcc9, + id:ef9384d4-880f-4398-9e10-1bce1d54e51e ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] . + +id:a326f7d5-60b5-4b9d-802f-58f2411c993e a wfprov:Artifact, + prov:Collection, + prov:Entity ; + prov:hadMember id:5ec5c130-692c-48d5-9cef-be41cec00d11, + id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304 ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] . + +id:a9b3da73-190e-4a3a-affb-a12396f0eac3 a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] ; + prov:specializationOf data:da39a3ee5e6b4b0d3255bfef95601890afd80709 ; + cwlprov:basename "stderr.log"^^xsd:string ; + cwlprov:nameext ".log"^^xsd:string ; + cwlprov:nameroot "stderr"^^xsd:string . + +id:e66cf62a-753e-459e-b2f4-06f99396ca08 a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] ; + prov:specializationOf data:adc83b19e793491b1c6ea0fd8b46cd9f32e592fc ; + cwlprov:basename "stdout.log"^^xsd:string ; + cwlprov:nameext ".log"^^xsd:string ; + cwlprov:nameroot "stdout"^^xsd:string . + +wf:main a wfdesc:Process, + prov:Entity, + prov:Plan ; + rdfs:label "Prospective provenance"^^xsd:string . + + a wfdesc:Process, + prov:Entity ; + rdfs:label "Process Description"^^xsd:string ; + prov:atLocation "https://hirondelle.crim.ca/weaver/processes/EchoProcess"^^xsd:string . + +data:adc83b19e793491b1c6ea0fd8b46cd9f32e592fc a wfprov:Artifact, + prov:Entity . + +data:da39a3ee5e6b4b0d3255bfef95601890afd80709 a wfprov:Artifact, + prov:Entity . + +id:056f6ec9-f5ca-4630-8b6e-171ea0fe8f3f a prov:Entity ; + prov:value "4"^^xsd:int . + +id:0df32fa2-e262-458f-b1df-5e749c1b19f4 a prov:Entity ; + prov:value 3.14159e+00 . + +id:109d6043-7fad-428f-a563-a99a4ebd6dda a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] ; + prov:specializationOf data:1ed7ac15d56fc9b6257234caebf4bed6e559b53c ; + cwlprov:basename "input"^^xsd:string ; + cwlprov:nameext ""^^xsd:string ; + cwlprov:nameroot "input"^^xsd:string . + +id:160a1cd9-6384-4828-b627-a02e478365fb a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] ; + prov:specializationOf data:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d ; + cwlprov:basename "input__cdpaqkt"^^xsd:string ; + cwlprov:nameext ""^^xsd:string ; + cwlprov:nameroot "input__cdpaqkt"^^xsd:string . + +id:1b6185c0-b83d-431b-a2ba-7c2b026b1823 a wfprov:Artifact, + prov:Collection, + prov:Entity ; + prov:hadMember id:5ec5c130-692c-48d5-9cef-be41cec00d11, + id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304 . + +id:2a95bd87-116b-42f4-8525-428de8743778 a prov:Entity ; + prov:value "4"^^xsd:int . + +id:5226c081-e3dc-4963-987b-92142bd75102 a prov:Entity ; + prov:value "1"^^xsd:int . + +id:541c0738-ac5c-4a35-b592-a3cbc87246f1 a wfprov:Artifact, + prov:Collection, + prov:Entity ; + prov:hadMember id:2a95bd87-116b-42f4-8525-428de8743778, + id:5226c081-e3dc-4963-987b-92142bd75102, + id:6d234b31-69fb-4949-b096-924f234097a1, + id:a1aa3cbf-8435-4f94-aeb6-110922551843, + id:bde07acc-95a9-46f6-be09-6467fa7bd8b8, + id:f30572d8-60e4-4221-80a7-cb76e1007e9a . + +id:54f9b9d5-641c-4e66-8c9d-c65f2ad0be63 a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:specializationOf data:3f88b16b3b80316d30a93bc4035da306170884e2 . + +id:5e4614e1-101d-4be2-8b66-24f770b3435f a prov:Entity ; + prov:value "2"^^xsd:int . + +id:5f78096f-fce2-49b1-aa6d-941927d15dcc a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:specializationOf data:1ed7ac15d56fc9b6257234caebf4bed6e559b53c . + +id:64c45605-d8a9-4a56-929d-47dcad5543f1 a prov:Entity ; + prov:value "2"^^xsd:int . + +id:6815d3c5-fa14-4153-befe-a5fddc285b06 a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:specializationOf data:795e8291ebb709a1bc71824449570f94f082a02b . + +id:6a99e0ba-c671-4471-aa33-4cc523e0f428 a prov:Entity ; + prov:value "1"^^xsd:int . + +id:6d234b31-69fb-4949-b096-924f234097a1 a prov:Entity ; + prov:value "6"^^xsd:int . + +id:6e88c002-b8f6-488e-977f-21ad51073fc6 a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:specializationOf data:82f6bd8f98adc472eb9e350df9d64c102da0bcb5 . + +id:88e9a099-e5d4-45f9-8402-c8082168a6f0 a wfprov:Artifact, + prov:Collection, + prov:Entity ; + prov:hadMember id:6815d3c5-fa14-4153-befe-a5fddc285b06, + id:c790f3f7-ac11-4d13-9c71-4d68c73ed040 . + +id:8edd155f-17b1-48d6-ae93-bad0390c9ef3 a wfprov:Artifact, + prov:Collection, + prov:Entity ; + prov:hadMember id:6e88c002-b8f6-488e-977f-21ad51073fc6, + id:f0020803-854b-4bd3-a70a-f6317d3a6524 . + +id:9718f0ee-b250-4d33-a6df-4b8ad72bf150 a prov:Entity ; + prov:value "6"^^xsd:int . + +id:a19d9289-ab50-4d85-a241-4ef9a0e36deb a prov:Entity ; + prov:value "1"^^xsd:int . + +id:a1aa3cbf-8435-4f94-aeb6-110922551843 a prov:Entity ; + prov:value "3"^^xsd:int . + +id:a45ad975-3387-4b7c-ac1c-a268c65927d1 a prov:Entity ; + prov:value "3"^^xsd:int . + +id:a68017f5-e2f6-441c-b4ad-cf94dec801d7 a prov:Entity ; + prov:value "6"^^xsd:int . + +id:b4c63361-5926-4b48-be43-df94727a79da a prov:Entity ; + prov:value "5"^^xsd:int . + +id:b557ccae-b5e3-43ce-bc06-f39d3e12f67f a prov:Entity ; + prov:value "3"^^xsd:int . + +id:bde07acc-95a9-46f6-be09-6467fa7bd8b8 a prov:Entity ; + prov:value "5"^^xsd:int . + +id:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5 a wfprov:Artifact, + prov:Collection, + prov:Entity ; + prov:hadMember id:043749d9-938e-4aa4-b5ae-12fc699dbcc9, + id:ef9384d4-880f-4398-9e10-1bce1d54e51e . + +id:c68b1b94-7f88-4cda-87da-f5e68beabe42 a wfprov:Artifact, + prov:Collection, + prov:Entity ; + prov:hadMember id:056f6ec9-f5ca-4630-8b6e-171ea0fe8f3f, + id:5e4614e1-101d-4be2-8b66-24f770b3435f, + id:a19d9289-ab50-4d85-a241-4ef9a0e36deb, + id:a45ad975-3387-4b7c-ac1c-a268c65927d1, + id:a68017f5-e2f6-441c-b4ad-cf94dec801d7, + id:b4c63361-5926-4b48-be43-df94727a79da . + +id:c790f3f7-ac11-4d13-9c71-4d68c73ed040 a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:specializationOf data:ec3fe43f2db3829507e574b5b9b1b84547d48f19 . + +id:c8dbab29-6641-40d9-b5c1-626872f5337d a prov:Entity ; + prov:value "5"^^xsd:int . + +id:cb4c5d07-5b7e-435f-882c-afe14e061f4b a prov:Entity ; + prov:value 1.03e+01 . + +id:d4ac4ab8-25a3-4412-82b6-07b92da98795 a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:specializationOf data:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d . + +id:f0020803-854b-4bd3-a70a-f6317d3a6524 a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:specializationOf data:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb . + +id:f01a7e80-f451-4047-93c0-587666a9847a a prov:Entity ; + prov:value 3.14159e+00 . + +id:f30572d8-60e4-4221-80a7-cb76e1007e9a a prov:Entity ; + prov:value "2"^^xsd:int . + +id:f55d0d44-4cb4-4cd2-a336-7bac9e265583 a prov:Entity ; + prov:value "4"^^xsd:int . + +id:fbb085ae-d3ad-4639-a448-b01188f1ce9f a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] ; + prov:specializationOf data:3f88b16b3b80316d30a93bc4035da306170884e2 ; + cwlprov:basename "GetFeature.json"^^xsd:string ; + cwlprov:nameext ".json"^^xsd:string ; + cwlprov:nameroot "GetFeature"^^xsd:string . + +id:fc017dcf-09ec-4cbf-81ac-741b5a61b482 a prov:Entity ; + prov:value 1.03e+01 . + +data:0cf60d40470fde378076afacf5812f961208a018 a wfprov:Artifact, + prov:Entity ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] ; + prov:value "Value2"^^xsd:string . + +data:1ed7ac15d56fc9b6257234caebf4bed6e559b53c a wfprov:Artifact, + prov:Entity . + +data:3f88b16b3b80316d30a93bc4035da306170884e2 a wfprov:Artifact, + prov:Entity . + +data:795e8291ebb709a1bc71824449570f94f082a02b a wfprov:Artifact, + prov:Entity . + +data:82f6bd8f98adc472eb9e350df9d64c102da0bcb5 a wfprov:Artifact, + prov:Entity . + +data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72 a wfprov:Artifact, + prov:Entity ; + prov:qualifiedGeneration [ a prov:Generation ; + prov:activity id:53f5a04e-b531-466d-81be-62c34a1431ba ; + prov:atTime "2026-01-15T16:46:11.414795"^^xsd:dateTime ; + prov:hadRole ] ; + prov:value "2021-03-06T07:21:00"^^xsd:string . + +data:ec3fe43f2db3829507e574b5b9b1b84547d48f19 a wfprov:Artifact, + prov:Entity . + +data:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb a wfprov:Artifact, + prov:Entity . + +data:fc6f6f7466a49edf8dd6d0aa6d30457c85263b2d a wfprov:Artifact, + prov:Entity . + +id:043749d9-938e-4aa4-b5ae-12fc699dbcc9 a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:specializationOf data:795e8291ebb709a1bc71824449570f94f082a02b ; + cwlprov:basename "input_9mob2l0c"^^xsd:string ; + cwlprov:nameext ""^^xsd:string ; + cwlprov:nameroot "input_9mob2l0c"^^xsd:string . + +id:5ec5c130-692c-48d5-9cef-be41cec00d11 a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:specializationOf data:fb3b7d0ef0d175962d9a89b97cc16921cf2983eb ; + cwlprov:basename "input_9i61gfqe"^^xsd:string ; + cwlprov:nameext ""^^xsd:string ; + cwlprov:nameroot "input_9i61gfqe"^^xsd:string . + +id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990 a schema1:SoftwareApplication, + prov:Agent, + prov:SoftwareAgent ; + rdfs:label "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^xsd:string ; + schema1:name "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^xsd:string ; + foaf:account id:dc49c9ee-a913-4e5c-b89a-2201af36af9c ; + foaf:name "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^xsd:string . + +id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304 a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:specializationOf data:82f6bd8f98adc472eb9e350df9d64c102da0bcb5 ; + cwlprov:basename "input_50x5752r"^^xsd:string ; + cwlprov:nameext ""^^xsd:string ; + cwlprov:nameroot "input_50x5752r"^^xsd:string . + +id:ef9384d4-880f-4398-9e10-1bce1d54e51e a wf4ever:File, + wfprov:Artifact, + prov:Entity ; + prov:specializationOf data:ec3fe43f2db3829507e574b5b9b1b84547d48f19 ; + cwlprov:basename "ew-hh.tiff"^^xsd:string ; + cwlprov:nameext ".tiff"^^xsd:string ; + cwlprov:nameroot "ew-hh"^^xsd:string . + +data:644e201526525f62152815a76a2dc773450f3dd9 a prov:Entity, + prov:PrimarySource ; + rdfs:label "Source code repository"^^xsd:string ; + prov:atLocation "https://github.com/crim-ca/weaver"^^xsd:string . + +id:dc49c9ee-a913-4e5c-b89a-2201af36af9c a prov:Agent, + foaf:OnlineAccount ; + rdfs:label "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^xsd:string ; + prov:actedOnBehalfOf id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990 ; + prov:atLocation "https://hirondelle.crim.ca/weaver"^^xsd:string ; + prov:wasDerivedFrom data:4e5feeeb8209de47c8dfb7c3f50a893e505af067 ; + foaf:accountName "crim-ca/weaver:6.9.0-dev2"^^xsd:string ; + cwlprov:hostname "hirondelle.crim.ca"^^xsd:string . + +data:4e5feeeb8209de47c8dfb7c3f50a893e505af067 a prov:Agent, + prov:SoftwareAgent ; + rdfs:label "Weaver is an Execution Management Service (EMS) that allows the execution of workflows chaining various applications and Web Processing Services (WPS) inputs and outputs. Remote execution is deferred by the EMS to an Application Deployment and Execution Service (ADES), as defined by Common Workflow Language (CWL) configurations."^^xsd:string, + "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^xsd:string ; + prov:actedOnBehalfOf id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990 ; + prov:atLocation "https://hirondelle.crim.ca/weaver"^^xsd:string ; + prov:generalEntity data:644e201526525f62152815a76a2dc773450f3dd9 ; + prov:qualifiedPrimarySource [ a prov:PrimarySource ; + prov:entity data:644e201526525f62152815a76a2dc773450f3dd9 ] ; + prov:specializationOf id:dc49c9ee-a913-4e5c-b89a-2201af36af9c ; + prov:specificEntity . + +id:d57aaff6-a93f-4927-a2d8-112beb358d4d a wfprov:WorkflowEngine, + prov:Agent, + prov:SoftwareAgent ; + rdfs:label "cwltool 3.1.20260108082145"^^xsd:string ; + prov:qualifiedStart [ a prov:Start ; + prov:atTime "2026-01-15T16:46:10.775855"^^xsd:dateTime ; + prov:hadActivity id:dc49c9ee-a913-4e5c-b89a-2201af36af9c ], + [ a prov:Start ; + prov:atTime "2026-01-15T16:45:56.964000+00:00"^^xsd:dateTime ; + prov:entity id:53f5a04e-b531-466d-81be-62c34a1431ba ] ; + prov:specializationOf id:53f5a04e-b531-466d-81be-62c34a1431ba . + +id:53f5a04e-b531-466d-81be-62c34a1431ba a wfdesc:ProcessRun, + wfprov:WorkflowRun, + prov:Activity, + prov:Entity ; + rdfs:label "Job Information"^^xsd:string, + "Run of workflow/packed.cwl#main"^^xsd:string ; + prov:alternateOf id:d57aaff6-a93f-4927-a2d8-112beb358d4d ; + prov:atLocation "https://hirondelle.crim.ca/weaver/processes/EchoProcess/jobs/53f5a04e-b531-466d-81be-62c34a1431ba"^^xsd:string ; + prov:qualifiedAssociation [ a prov:Association ; + prov:hadPlan wf:main ] ; + prov:qualifiedEnd [ a prov:End ; + prov:atTime "2026-01-15T16:46:11.419318"^^xsd:dateTime ; + prov:hadActivity id:d57aaff6-a93f-4927-a2d8-112beb358d4d ] ; + prov:qualifiedStart [ a prov:Start ; + prov:atTime "2026-01-15T16:46:10.775984"^^xsd:dateTime ; + prov:hadActivity id:d57aaff6-a93f-4927-a2d8-112beb358d4d ] ; + prov:qualifiedUsage [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.401851"^^xsd:dateTime ; + prov:entity id:fbb085ae-d3ad-4639-a448-b01188f1ce9f ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:10.810650"^^xsd:dateTime ; + prov:entity id:5f78096f-fce2-49b1-aa6d-941927d15dcc ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:10.809545"^^xsd:dateTime ; + prov:entity id:c68b1b94-7f88-4cda-87da-f5e68beabe42 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.105949"^^xsd:dateTime ; + prov:entity data:0cf60d40470fde378076afacf5812f961208a018 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:10.807975"^^xsd:dateTime ; + prov:entity id:cb4c5d07-5b7e-435f-882c-afe14e061f4b ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.107662"^^xsd:dateTime ; + prov:entity id:109d6043-7fad-428f-a563-a99a4ebd6dda ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.108679"^^xsd:dateTime ; + prov:entity id:1b6185c0-b83d-431b-a2ba-7c2b026b1823 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:10.808789"^^xsd:dateTime ; + prov:entity data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.106052"^^xsd:dateTime ; + prov:entity id:fc017dcf-09ec-4cbf-81ac-741b5a61b482 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.106625"^^xsd:dateTime ; + prov:entity data:9ddf13e345a6b6376bc2fa817bd4b749f4cfae72 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.401124"^^xsd:dateTime ; + prov:entity id:c14eb1fb-b860-4cfb-ba2c-c9f2f4f5d4e5 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.106731"^^xsd:dateTime ; + prov:entity id:0df32fa2-e262-458f-b1df-5e749c1b19f4 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.109174"^^xsd:dateTime ; + prov:entity id:160a1cd9-6384-4828-b627-a02e478365fb ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.101847"^^xsd:dateTime ; + prov:entity id:54f9b9d5-641c-4e66-8c9d-c65f2ad0be63 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.100961"^^xsd:dateTime ; + prov:entity id:88e9a099-e5d4-45f9-8402-c8082168a6f0 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:11.107097"^^xsd:dateTime ; + prov:entity id:541c0738-ac5c-4a35-b592-a3cbc87246f1 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:10.807817"^^xsd:dateTime ; + prov:entity data:0cf60d40470fde378076afacf5812f961208a018 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:10.813646"^^xsd:dateTime ; + prov:entity id:d4ac4ab8-25a3-4412-82b6-07b92da98795 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:10.812817"^^xsd:dateTime ; + prov:entity id:8edd155f-17b1-48d6-ae93-bad0390c9ef3 ; + prov:hadRole ], + [ a prov:Usage ; + prov:atTime "2026-01-15T16:46:10.808944"^^xsd:dateTime ; + prov:entity id:f01a7e80-f451-4047-93c0-587666a9847a ; + prov:hadRole ] ; + prov:startedAtTime "2026-01-15T16:46:10.775907"^^xsd:dateTime ; + prov:wasAssociatedWith id:d57aaff6-a93f-4927-a2d8-112beb358d4d ; + prov:wasGeneratedBy ; + prov:wasStartedBy data:4e5feeeb8209de47c8dfb7c3f50a893e505af067 . + diff --git a/extensions/provenance/standard/examples/job_prov.xml b/extensions/provenance/standard/examples/job_prov.xml new file mode 100644 index 00000000..9c6a3a50 --- /dev/null +++ b/extensions/provenance/standard/examples/job_prov.xml @@ -0,0 +1,796 @@ + + + + + https://hirondelle.crim.ca/weaver + foaf:OnlineAccount + hirondelle.crim.ca + + + weaver-worker@crim-ca/weaver:6.9.0-dev2 + foaf:OnlineAccount + weaver-worker@crim-ca/weaver:6.9.0-dev2 + + + weaver-worker@crim-ca/weaver:6.9.0-dev2 + schema:SoftwareApplication + id:dc49c9ee-a913-4e5c-b89a-2201af36af9c + weaver-worker@crim-ca/weaver:6.9.0-dev2 + weaver-worker@crim-ca/weaver:6.9.0-dev2 + + + + + + + cwltool 3.1.20260108082145 + wfprov:WorkflowEngine + + + + + 2026-01-15T16:46:10.775855 + + + 2026-01-15T16:46:10.775907 + Run of workflow/packed.cwl#main + wfprov:WorkflowRun + + + + + + + + + + 2026-01-15T16:46:10.775984 + + + Source code repository + https://github.com/crim-ca/weaver + + + Weaver is an Execution Management Service (EMS) that allows the execution of workflows chaining various applications and Web Processing Services (WPS) inputs and outputs. Remote execution is deferred by the EMS to an Application Deployment and Execution Service (ADES), as defined by Common Workflow Language (CWL) configurations. + crim-ca/weaver:6.9.0-dev2 + https://hirondelle.crim.ca/weaver + + + + + Computer Research Institute of Montréal + Computer Research Institute of Montréal + + + Server Provider + http://pavics-weaver.readthedocs.org/en/latest/ + crim-ca/weaver + crim-ca/weaver + + + Job Information + https://hirondelle.crim.ca/weaver/processes/EchoProcess/jobs/53f5a04e-b531-466d-81be-62c34a1431ba + wfdesc:ProcessRun + + + Process Description + https://hirondelle.crim.ca/weaver/processes/EchoProcess + wfdesc:Process + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2026-01-15T16:45:56.964000+00:00 + + + + + + + + + + + + + + + + + + + + + + + Prospective provenance + wfdesc:Process + + + wfprov:Artifact + Value2 + + + + + 2026-01-15T16:46:10.807817 + wf:main/stringInput + + + 10.3 + + + + + 2026-01-15T16:46:10.807975 + wf:main/measureInput + + + wfprov:Artifact + 2021-03-06T07:21:00 + + + + + 2026-01-15T16:46:10.808789 + wf:main/dateInput + + + 3.14159 + + + + + 2026-01-15T16:46:10.808944 + wf:main/doubleInput + + + 1 + + + 2 + + + 3 + + + 4 + + + 5 + + + 6 + + + wfprov:Artifact + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2026-01-15T16:46:10.809545 + wf:main/arrayInput + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + + + + + + + + + 2026-01-15T16:46:10.810650 + wf:main/complexObjectInput + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + + + + + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + + + + + + + wfprov:Artifact + + + + + + + + + + + + + 2026-01-15T16:46:10.812817 + wf:main/geometryInput + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + + + + + + + + + 2026-01-15T16:46:10.813646 + wf:main/boundingBoxInput + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + + + + + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + + + + + + + wfprov:Artifact + + + + + + + + + + + + + 2026-01-15T16:46:11.100961 + wf:main/imagesInput + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + + + + + + + + + 2026-01-15T16:46:11.101847 + wf:main/featureCollectionInput + + + wfprov:Artifact + Value2 + + + + + 2026-01-15T16:46:11.105949 + wf:main/EchoProcess/stringInput + + + 10.3 + + + + + 2026-01-15T16:46:11.106052 + wf:main/EchoProcess/measureInput + + + wfprov:Artifact + 2021-03-06T07:21:00 + + + + + 2026-01-15T16:46:11.106625 + wf:main/EchoProcess/dateInput + + + 3.14159 + + + + + 2026-01-15T16:46:11.106731 + wf:main/EchoProcess/doubleInput + + + 1 + + + 2 + + + 3 + + + 4 + + + 5 + + + 6 + + + wfprov:Artifact + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2026-01-15T16:46:11.107097 + wf:main/EchoProcess/arrayInput + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + input + + input + + + + + + + + + 2026-01-15T16:46:11.107662 + wf:main/EchoProcess/complexObjectInput + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + input_9i61gfqe + + input_9i61gfqe + + + + + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + input_50x5752r + + input_50x5752r + + + + + + + wfprov:Artifact + + + + + + + + + + + + + 2026-01-15T16:46:11.108679 + wf:main/EchoProcess/geometryInput + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + input__cdpaqkt + + input__cdpaqkt + + + + + + + + + 2026-01-15T16:46:11.109174 + wf:main/EchoProcess/boundingBoxInput + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + ew-hh.tiff + .tiff + ew-hh + + + + + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + input_9mob2l0c + + input_9mob2l0c + + + + + + + wfprov:Artifact + + + + + + + + + + + + + 2026-01-15T16:46:11.401124 + wf:main/EchoProcess/imagesInput + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + GetFeature.json + .json + GetFeature + + + + + + + + + 2026-01-15T16:46:11.401851 + wf:main/EchoProcess/featureCollectionInput + + + wfprov:Artifact + Value2 + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/stringOutput + + + 10.3 + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/measureOutput + + + wfprov:Artifact + 2021-03-06T07:21:00 + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/dateOutput + + + 3.14159 + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/doubleOutput + + + 1 + + + 2 + + + 3 + + + 4 + + + 5 + + + 6 + + + wfprov:Artifact + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/arrayOutput + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/complexObjectOutput + + + wfprov:Artifact + + + + + + + + + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/geometryOutput + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/boundingBoxOutput + + + wfprov:Artifact + + + + + + + + + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/imagesOutput + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/featureCollectionOutput + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + stderr.log + .log + stderr + + + + + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/PACKAGE_OUTPUT_HOOK_LOG_a5f8bd13-1ab3-4633-9219-810292b59056 + + + wfprov:Artifact + + + wf4ever:File + wfprov:Artifact + stdout.log + .log + stdout + + + + + + + + + 2026-01-15T16:46:11.414795 + wf:main/primary/PACKAGE_OUTPUT_HOOK_LOG_b62df1f5-a3e7-412c-bdc0-0451aa8a4d93 + + + + + 2026-01-15T16:46:11.419318 + + diff --git a/extensions/provenance/standard/figures/README.md b/extensions/provenance/standard/figures/README.md new file mode 100644 index 00000000..e5d667f5 --- /dev/null +++ b/extensions/provenance/standard/figures/README.md @@ -0,0 +1,5 @@ +Figures go here. + +Each figure is a separate file with the naming convention: + +"PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type. \ No newline at end of file diff --git a/extensions/provenance/standard/images/README.md b/extensions/provenance/standard/images/README.md new file mode 100644 index 00000000..c8f34049 --- /dev/null +++ b/extensions/provenance/standard/images/README.md @@ -0,0 +1,9 @@ +Image files for graphics go here. + +Each graphic is a separate file with the naming convention: + +"FIGn.xxx" where "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type. + +or, for other graphics not associated with figures: + +"GRPn.xxx" where "n" is a sequential number with leading zeroes appropriate for the total number of graphics and "xxx" is the appropriate extension for the file type. diff --git a/extensions/provenance/standard/recommendations/provenance/job-prov/PER_content-negotiation.adoc b/extensions/provenance/standard/recommendations/provenance/job-prov/PER_content-negotiation.adoc new file mode 100644 index 00000000..c37e0f07 --- /dev/null +++ b/extensions/provenance/standard/recommendations/provenance/job-prov/PER_content-negotiation.adoc @@ -0,0 +1,58 @@ +[[per_provenance_job-prov_content-negotiation]] +[permission] +==== +[%metadata] +identifier:: /per/provenance/prov-content-negotiation + +[.component,class=part] +-- +Content negotiation MAY be supported to provide alternate representations of the response. +-- + +[.component,class=part] +-- +The server MAY support the additional content type `application/ld+json` +for link:https://www.w3.org/submissions/prov-jsonld/[PROV-JSONLD] as a <> representation +in link:https://www.w3.org/TR/json-ld/[JSON-LD], where the contents respect the +link:https://openprovenance.org/prov-jsonld/schema.json[PROV-JSONLD] schema. +-- + +[.component,class=part] +-- +The server MAY support the additional content type `application/provenace+xml` +(and optionally `application/xml` or `text/xml` as acceptable aliases) +for link:https://www.w3.org/TR/prov-xml/[PROV-XML] as a <> representation +in XML using namespaces defined by the link:https://www.w3.org/ns/prov.xsd[PROV-XML] schema. +-- + +[.component,class=part] +-- +The server MAY support the additional content type `text/provenance-notation` +for link:https://www.w3.org/TR/prov-n/[PROV-N] as a human-readable provenance notation +of the link:http://www.w3.org/TR/prov-dm/[PROV-DM] data model. +-- + +[.component,class=part] +-- +The server MAY support the additional content type `application/n-triples` +for PROV-NT as link:https://www.w3.org/TR/n-triples/[N-Triples RDF] +using the link:https://www.w3.org/TR/prov-o/[PROV-O] RDF ontology. +-- + +[.component,class=part] +-- +The server MAY support the additional content type `text/turtle` +for PROV-TURTLE as link:https://www.w3.org/TR/rdf12-turtle/[Turtle RDF] +using the link:https://www.w3.org/TR/prov-o/[PROV-O] RDF ontology. +-- + +[.component,class=part] +-- +For all supported content media-types, the server MAY support +link:https://datatracker.ietf.org/doc/html/rfc2616#section-12["Content Negotiation"] of the Provenance +representation either through the https://www.rfc-editor.org/rfc/rfc2616#section-14.1[HTTP Accept] header, +the `f` query parameter, by link:https://docs.ogc.org/DRAFTS/18-062r3.html#con-neg-by-profile["Profile"] +or any other mechanism it deems fit. +-- + +==== diff --git a/extensions/provenance/standard/recommendations/provenance/job-prov/REC_content-type-json.adoc b/extensions/provenance/standard/recommendations/provenance/job-prov/REC_content-type-json.adoc new file mode 100644 index 00000000..1c91bb37 --- /dev/null +++ b/extensions/provenance/standard/recommendations/provenance/job-prov/REC_content-type-json.adoc @@ -0,0 +1,16 @@ +[[rec_provenance_job-prov_content-type-json]] +[recommendation] +==== +[%metadata] +identifier:: /rec/provenance/prov-content-type-json + +[.component,class=part] +-- +When explicitly requested through <>, +the server SHOULD support the content type `application/json` +as an alias to `application/provenance+json` in accordance to +the default <> requirement +for link:https://www.w3.org/submissions/prov-json/[PROV-JSON] representation. +-- + +==== diff --git a/extensions/provenance/standard/recommendations/provenance/job-prov/REQ_job-status-link.adoc b/extensions/provenance/standard/recommendations/provenance/job-prov/REQ_job-status-link.adoc new file mode 100644 index 00000000..9a34b8fe --- /dev/null +++ b/extensions/provenance/standard/recommendations/provenance/job-prov/REQ_job-status-link.adoc @@ -0,0 +1,29 @@ +[[rec_provenance_job-prov_job-status-link]] +[recommendation] +==== +[%metadata] +identifier:: /rec/provenance/prov-job-status-link + +[.component,class=part] +-- +If the job status is not `successful`, or that the server does not offer provenance details for a given job +(e.g., cleaned up or provenance not applied for a given execution), the job status response (path: `/jobs/{jobID}`) +SHOULD NOT include a link of `rel="https://www.w3.org/ns/prov"`. +-- + +[.component,class=part] +-- +If the job status is `successful` and provides provenance details, the job status response (path: `/jobs/{jobID}`) +SHOULD include a link of `rel="https://www.w3.org/ns/prov"` +using a `href` URI to the job provenance information (path: `/jobs/{jobID}/prov`) +and the `type` attribute set to `application/provenance+json` to advertise its availability. +-- + +[.component,class=part] +-- +If other <> media-types are supported, the job status +SHOULD advertise these different PROV representations with the links of +corresponding `type` attribute and the same `rel="https://www.w3.org/ns/prov"` relation. +-- + +==== diff --git a/extensions/provenance/standard/recommendations/provenance/prov-content/REC_data-entity.adoc b/extensions/provenance/standard/recommendations/provenance/prov-content/REC_data-entity.adoc new file mode 100644 index 00000000..05f70a80 --- /dev/null +++ b/extensions/provenance/standard/recommendations/provenance/prov-content/REC_data-entity.adoc @@ -0,0 +1,29 @@ +[[rec_provenance_prov-content_data-entity]] +[recommendation] +==== +[%metadata] +identifier:: /rec/provenance/prov-content-data-entity + +[.component,class=part] +-- +For each data link:https://www.w3.org/TR/prov-o/#Entity[`prov:Entity`] definition +(<>, <>), +if the size of the data is considered small (e.g., a literal value), +the entity SHOULD include a `prov:value` property with the corresponding value used or generated by the job execution. +-- + +[.component,class=part] +-- +If the size of the data is considered large (e.g., a file or collection), +the entity SHOULD include a `prov:location` property with the absolute URI to where the data was provided from +in case of inputs and where the results are stored. +-- + +[.component,class=part] +-- +If the data entity corresponds to a file + +wf4ever:File +-- + +==== diff --git a/extensions/provenance/standard/recommendations/provenance/prov-content/REC_prov-associations.adoc b/extensions/provenance/standard/recommendations/provenance/prov-content/REC_prov-associations.adoc new file mode 100644 index 00000000..89987312 --- /dev/null +++ b/extensions/provenance/standard/recommendations/provenance/prov-content/REC_prov-associations.adoc @@ -0,0 +1,13 @@ +[[rec_provenance_prov-content_associations]] +[recommendation] +==== +[%metadata] +identifier:: /rec/provenance/prov-content-associations + +[.component,class=part] +-- +A link:https://www.w3.org/TR/prov-o/#Agent[`prov:Agent`] definition SHOULD +be defined to associate the <> job status +(link:https://schemas.opengis.net/ogcapi/processes/part1/2.0/openapi/schemas/statusInfo.yaml[statusInfo.yaml]). +-- + +==== diff --git a/extensions/provenance/standard/requirements/provenance/job-prov/REQ_get-op.adoc b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_get-op.adoc new file mode 100644 index 00000000..e5cb4ee2 --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_get-op.adoc @@ -0,0 +1,18 @@ +[[req_provenance_job-prov_get-op]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-get-op + +[.component,class=conditions] +-- +. The parameter `{jobID}` resolves to a valid job as per <>. +. The job reference (path: `/jobs/{jobID}`) for which provenance information is requested has completed successfully (`status: successful`). +-- + +[.component,class=part] +-- +For every created job, the server SHALL support the HTTP GET operation on path `/jobs/{jobID}/prov`. +-- + +==== diff --git a/extensions/provenance/standard/requirements/provenance/job-prov/REQ_missing.adoc b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_missing.adoc new file mode 100644 index 00000000..0f738d26 --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_missing.adoc @@ -0,0 +1,29 @@ +[[req_provenance_job-prov_missing]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-missing + +[.component,class=part] +-- +If the job status is not `successful`, or that the server does not offer provenance details for a given job, +requesting the job provenance information (path: `/jobs/{jobID}/prov`) +SHALL be reported as a response with a HTTP status code `404`. +-- + +[.component,class=part] +-- +The content of that response SHALL validate against the following OpenAPI schema fragment: + +[source,yaml] +---- +include::../../../../../../openapi/schemas/common-core/exception.yaml[] +---- +-- + +[.component,class=part] +-- +The `type` of the exception SHALL be `pass:["https://www.opengis.net/def/exceptions/ogcapi-processes-5/1.0/prov-missing"]`. +-- + +==== diff --git a/extensions/provenance/standard/requirements/provenance/job-prov/REQ_response.adoc b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_response.adoc new file mode 100644 index 00000000..9b73bde4 --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_response.adoc @@ -0,0 +1,32 @@ +[[req_provenance_job-prov_response]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-response + +[.component,class=part] +-- +A successful execution of the operation SHALL be reported as a response with a HTTP status code `200`. +-- + +[.component,class=part] +-- +By default or if explicitly negotiated as such, the response SHALL contains a JSON document that conforms to the +link:https://www.w3.org/submissions/prov-json/schema[W3C PROV-JSON] schema. +-- + +[.component,class=part] +-- +In case content-negotiation is used (i.e., using `Accept` of relevant media-type), +the response SHALL contain the negotiated provenance representation of the job execution. +Such representations can include but is not limited to PROV-O as JSON-LD, PROV-XML or PROV-N. +See <> for additional +representations and schema references. +-- + +[.component,class=part] +-- +The `Content-Type` header of the response SHALL indicate the specific media-type of the returned provenance representation. +-- + +==== diff --git a/extensions/provenance/standard/requirements/provenance/job-prov/REQ_unsupported-format.adoc b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_unsupported-format.adoc new file mode 100644 index 00000000..bc5b0df7 --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_unsupported-format.adoc @@ -0,0 +1,28 @@ +[[req_provenance_job-prov_unsupported-format]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-unsupported-format + +[.component,class=part] +-- +If the server does not support the <>, +the code of the response SHALL be `406 Not Acceptable`. +-- + +[.component,class=part] +-- +The content of that response SHALL validate against the following OpenAPI schema fragment: + +[source,yaml] +---- +include::../../../../../../openapi/schemas/common-core/exception.yaml[] +---- +-- + +[.component,class=part] +-- +The `type` of the exception SHALL be `pass:["https://www.opengis.net/def/exceptions/ogcapi-processes-5/1.0/prov-unsupported-format"]`. +-- + +==== diff --git a/extensions/provenance/standard/requirements/provenance/prov-content/REQ_collection-entity.adoc b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_collection-entity.adoc new file mode 100644 index 00000000..21f0f70a --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_collection-entity.adoc @@ -0,0 +1,28 @@ +[[req_provenance_prov-content_collection-entity]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-content-collection-entity + +[.component,class=conditions] +-- +The job input or result consist of an array of data values or references (cardinality greater than one). +-- + +[.component,class=part] +-- +The corresponding entity `pro:type` SHALL also include the value `prov:Collection`. +-- + +[.component,class=part] +-- +For each element that composes the array, a distinct data entity SHALL be provided +(e.g., corresponding to `/jobs/{jobId}/results/{outputID}/{N}`). +-- + +[.component,class=part] +-- +Each data sub-entity SHALL be linked with `hadMember` association to the array entity. +-- + +==== diff --git a/extensions/provenance/standard/requirements/provenance/prov-content/REQ_file-entity.adoc b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_file-entity.adoc new file mode 100644 index 00000000..cfdb8a4b --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_file-entity.adoc @@ -0,0 +1,19 @@ +[[req_provenance_prov-content_file-entity]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-content-file-entity + +[.component,class=conditions] +-- +The job input or result consist of a file reference (i.e., provided through `href` in job submission and results). +-- + +[.component,class=part] +-- +The PROV entity corresponding to the file SHALL employ the `prov:type` property to indicate +a `wf4ever:File` referring to the link:http://purl.org/wf4ever/wf4ever[wf4ever] ontology. +-- + + +==== diff --git a/extensions/provenance/standard/requirements/provenance/prov-content/REQ_input-entity.adoc b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_input-entity.adoc new file mode 100644 index 00000000..56791106 --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_input-entity.adoc @@ -0,0 +1,27 @@ +[[req_provenance_prov-content_input-entity]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-content-input-entity + +[.component,class=part] +-- +For each job input submitted for process execution, +the PROV metadata SHALL provide a link:https://www.w3.org/TR/prov-o/#Entity[`prov:Entity`] definition +that employs the `prov:type` property with (at least) the value `wfprov:Artifact`. +-- + +[.component,class=part] +-- +For each job input submitted for process execution, +the PROV metadata SHALL include a `prov:used` association between +to the corresponding data input entity and the <>. +-- + +[.component,class=part] +-- +For each `prov:used` association, a `prov:role` property SHALL be provided +with a value that allows identification of the `{inputID}` for the corresponding process input. +-- + +==== diff --git a/extensions/provenance/standard/requirements/provenance/prov-content/REQ_job-activity.adoc b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_job-activity.adoc new file mode 100644 index 00000000..abf6959b --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_job-activity.adoc @@ -0,0 +1,29 @@ +[[req_provenance_prov-content_job-activity]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-content-job-activity + +[.component,class=part] +-- +The PROV metadata SHALL minimally include one link:https://www.w3.org/TR/prov-o/#Activity[`prov:Activity`] +that associates the <> with its +<>. +-- + +[.component,class=part] +-- +The PROV job activity SHALL indicate a `prov:type` of relevant value to represent the execution +(e.g., `wfprov:WorkflowRun` or `wfprov:ProcessRun`). +-- + +==== + +NOTE: Multiple activities might be associated between each other (`wasInformedBy`) or might +be related through intermediate agents (e.g., <>) +via `wasAssociatedWith`, `wasAttributedTo`, or `actedOnBehalfOf` relationships +(see link:http://www.w3.org/TR/prov-o/#description-starting-point-terms[PROV-O Starting Point Terms] for more details). +The specific association combinations and `prov:type` are not imposed by this standard to allow granularity and +flexibility in the representation of the provenance of the job and involved components to accomplish its execution. +Implementers are encouraged to employ multiple activities, agents and entities if they can help illustrate complex +relationships, dependencies or interactions involved between the job submission and the generation of its execution results. diff --git a/extensions/provenance/standard/requirements/provenance/prov-content/REQ_job-entity.adoc b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_job-entity.adoc new file mode 100644 index 00000000..2981843a --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_job-entity.adoc @@ -0,0 +1,25 @@ +[[req_provenance_job-prov_relation-job-entity]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-content-job-entity + +[.component,class=part] +-- +The PROV metadata SHALL provide a link:https://www.w3.org/TR/prov-o/#Entity[`prov:Entity`] definition +to represent the associated job execution. +-- + +[.component,class=part] +-- +The PROV entity corresponding to the job SHALL employ the `prov:type` property to indicate +a `wfdesc:ProcessRun` referring to the link:http://purl.org/wf4ever/wfdesc[wfDesc] ontology. +-- + +[.component,class=part] +-- +The PROV entity corresponding to the job SHALL include +a `prov:location` attribute with the absolute URI of the job status (i.e.: `{root}/jobs/{jobID}`) as value. +-- + +==== diff --git a/extensions/provenance/standard/requirements/provenance/prov-content/REQ_namespaces.adoc b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_namespaces.adoc new file mode 100644 index 00000000..5dbc16e0 --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_namespaces.adoc @@ -0,0 +1,22 @@ +[[req_provenance_prov-content_namespaces]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-content-namespaces + +[.component,class=part] +-- +The PROV metadata SHALL minimally include the namespace references to following ontologies: + +* link:http://purl.org/wf4ever/wf4ever[`wf4ever`] +* link:http://purl.org/wf4ever/wfprov[`wfprov`] +* link:http://purl.org/wf4ever/wfdesc[`wfdesc`] +-- + +[.component,class=part] +-- +All properties across the PROV document SHALL reserve the `prov:` prefix for the `http://www.w3.org/ns/prov#` namespace +and refer to corresponding definitions in the link:https://www.w3.org/TR/prov-o/[PROV-O] RDF ontology. +-- + +==== diff --git a/extensions/provenance/standard/requirements/provenance/prov-content/REQ_process-entity.adoc b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_process-entity.adoc new file mode 100644 index 00000000..5c7e581e --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_process-entity.adoc @@ -0,0 +1,31 @@ +[[req_provenance_prov-content_process-entity]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-content-process-entity + +[.component,class=part] +-- +The PROV metadata SHALL provide a link:https://www.w3.org/TR/prov-o/#Entity[`prov:Entity`] definition +to represent the associated process description. +-- + +[.component,class=part] +-- +If the PROV metadata represents a job embedding a workflow execution combining multiple processes (e.g., <>), +the process entity SHALL correspond to the main process defined at the root of this workflow. +-- + +[.component,class=part] +-- +The PROV entity corresponding to the process SHALL employ the `prov:type` property to indicate +a `wfdesc:Process` referring to the link:http://purl.org/wf4ever/wfdesc[wfDesc] ontology. +-- + +[.component,class=part] +-- +The PROV entity corresponding to the process SHALL include +a `prov:location` attribute with the absolute URI of the process description (i.e.: `{root}/processes/{processID}`) as value. +-- + +==== diff --git a/extensions/provenance/standard/requirements/provenance/prov-content/REQ_result-entity.adoc b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_result-entity.adoc new file mode 100644 index 00000000..1cde0bb6 --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_result-entity.adoc @@ -0,0 +1,32 @@ +[[req_provenance_prov-content_result-entity]] +[requirement] +==== +[%metadata] +identifier:: /req/provenance/prov-content-result-entity + +[.component,class=conditions] +-- +The number of selected job outputs (implicitly or explicitly) is greater than zero. +-- + +[.component,class=part] +-- +For each job result produced by the process execution, +the PROV metadata SHALL provide a link:https://www.w3.org/TR/prov-o/#Entity[`prov:Entity`] definition +that employs the `prov:type` property with (at least) the value `wfprov:Artifact`. +-- + +[.component,class=part] +-- +For each job result produced by the process execution, +the PROV metadata SHALL include a `prov:wasGeneratedBy` association between +to the corresponding data result entity and the <>. +-- + +[.component,class=part] +-- +For each `prov:wasGeneratedBy` association, a `prov:role` property SHALL be provided +with a value that allows identification of the `{outputID}` for the corresponding process output and job result. +-- + +==== diff --git a/extensions/job_management/standard/requirements/requirements_class_provenance.adoc b/extensions/provenance/standard/requirements/requirements_class_provenance.adoc similarity index 69% rename from extensions/job_management/standard/requirements/requirements_class_provenance.adoc rename to extensions/provenance/standard/requirements/requirements_class_provenance.adoc index 7e660de1..be6e9d69 100644 --- a/extensions/job_management/standard/requirements/requirements_class_provenance.adoc +++ b/extensions/provenance/standard/requirements/requirements_class_provenance.adoc @@ -3,11 +3,11 @@ .Requirements Class 'Provenance' ==== [%metadata] -identifier:: http://www.opengis.net/spec/ogcapi-processes-4/1.0/req/provenance +identifier:: https://www.opengis.net/spec/ogcapi-processes-5/1.0/req/provenance obligation:: requirement subject:: Web API inherit:: <> requirement:: /req/provenance/prov-get-op requirement:: /req/provenance/prov-response -requirement:: /req/provenance/prov-exception +requirement:: /req/provenance/prov-unsupported-format ==== diff --git a/extensions/provenance/standard/sections/annex_ats.adoc b/extensions/provenance/standard/sections/annex_ats.adoc new file mode 100644 index 00000000..c85e2f31 --- /dev/null +++ b/extensions/provenance/standard/sections/annex_ats.adoc @@ -0,0 +1,15 @@ +[[ats]] +[appendix,obligation="normative"] +== Abstract Test Suite + +=== Introduction + +OGC Web Application Programming Interfaces (APIs) are not Web Services in the traditional sense. Rather, they define the behavior and content of a set of Resources exposed through a Web API. Therefore, an API endpoint may expose resources in addition to those defined by the standard. A test engine must be able to traverse an implementation of the API, identify and validate test points, and ignore resource paths which are not to be tested. + +The Web API under test can require authorization. Any Executable Test Suite implementing this test suite should implement the following security schemes supported by OpenAPI 3.0: HTTP Authorization schemes "basic" and "bearer", API keys, and OAuth2 flow "authorizationCode". + + +=== Conformance Class Provenance + +include::../abstract_tests/ATS_class_prov.adoc[] + diff --git a/extensions/provenance/standard/sections/annex_bibliography.adoc b/extensions/provenance/standard/sections/annex_bibliography.adoc new file mode 100644 index 00000000..92489a31 --- /dev/null +++ b/extensions/provenance/standard/sections/annex_bibliography.adoc @@ -0,0 +1,25 @@ +[bibliography] +[[Bibliography]] +== Bibliography + +//// +The TC has approved Springer LNCS as the official document citation type. + +Springer LNCS is widely used in technical and computer science journals and other publications + +* For citations in the text please use square brackets and consecutive numbers: [1], [2], [3] + +– Actual References: + +[n] Journal: Author Surname, A.: Title. Publication Title. Volume number, Issue number, Pages Used (Year Published) + +[n] Web: Author Surname, A.: Title, http://Website-Url + +* [[[OGC2015,OGCTB12]]], _OGC: OGC Testbed 12 Annex B: Architecture_ (2015). + +//// + +* [[[W3C-PROV,W3C PROV Overview]]], W3C PROV Overview. Available at: https://www.w3.org/TR/prov-overview/. + +* [[[OpenAPI-Spec,OpenAPI Specification 3.0.2]]] OpenAPI Initiative. OpenAPI Specification 3.0.2. Available at: +https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md. diff --git a/extensions/provenance/standard/sections/annex_examples.adoc b/extensions/provenance/standard/sections/annex_examples.adoc new file mode 100644 index 00000000..088da8fc --- /dev/null +++ b/extensions/provenance/standard/sections/annex_examples.adoc @@ -0,0 +1,50 @@ +[[prov-content-examples]] +=== Examples + +NOTE: Following examples were generated using a combination of +link:https://github.com/common-workflow-language/cwlprov[cwlprov] and additional metadata defined by +link:https://github.com/crim-ca/weaver[crim-ca/weaver] server implementation, for an `EchoProcess` (see <> example) +runtime encoded in Common Workflow Language (CWL). This standard does not require these specific tools +and provides the examples for illustration purposes only. + +[[example-provenance-job-prov-json]] +.Example: PROV-JSON +[source,json] +---- +include::../examples/job_prov.json[] +---- + +[[example-provenance-job-prov-jsonld]] +.Example: PROV-JSONLD +[source,json] +---- +include::../examples/job_prov.jsonld[] +---- + +[[example-provenance-job-prov-xml]] +.Example: PROV-XML +[source,xml] +---- +include::../examples/job_prov.xml[] +---- + +[[example-provenance-job-prov-provn]] +.Example: PROV-N +[source,text] +---- +include::../examples/job_prov.provn[] +---- + +[[example-provenance-job-prov-nt]] +.Example: PROV-NT +[source,ntriples] +---- +include::../examples/job_prov.nt[] +---- + +[[example-provenance-job-prov-ttl]] +.Example: PROV-TURTLE +[source,turtle] +---- +include::../examples/job_prov.ttl[] +---- diff --git a/extensions/provenance/standard/sections/annex_history.adoc b/extensions/provenance/standard/sections/annex_history.adoc new file mode 100644 index 00000000..26990841 --- /dev/null +++ b/extensions/provenance/standard/sections/annex_history.adoc @@ -0,0 +1,10 @@ +[appendix] +== Revision History + +[cols="12,18,12,12,46",options="header,unnumbered"] +|=== +|Date |Release |Editor | Primary clauses modified |Description +|2026-07-06 |None |Francis Charette-Migneault |all |Moved Provenance definitions from Part 4 to Part 5 (this document). +|2026-07-06 |None |Francis Charette-Migneault |all |Added Provenance response examples based on CWL-Prov execution. +|2026-07-07 |None |Francis Charette-Migneault |all |Added extensive req/rec definitions for PROV contents. +|=== diff --git a/extensions/provenance/standard/sections/clause_0_front_material.adoc b/extensions/provenance/standard/sections/clause_0_front_material.adoc new file mode 100644 index 00000000..674a3007 --- /dev/null +++ b/extensions/provenance/standard/sections/clause_0_front_material.adoc @@ -0,0 +1,29 @@ + +[abstract] +== Abstract + +OGC API Standards define modular API building blocks to spatially enable Web APIs in a consistent way. The https://spec.openapis.org/oas/[OpenAPI specification] is used to define the API building blocks. + +The OGC API Processes Standard (aka Processes API) defines API building blocks to describe, execute, monitor and retrieve results of Web-accessible processes. OGC API Processes is comprised of multiple parts, each of them is a separate OGC Standard. + +The OGC API - Processes - Part 2: Deploy, Replace, Undeploy draft specification extends the core capabilities specified in OGC API - Processes - Part 1: Core [<>] with the ability to dynamically add, modify and/or delete individual processes using an implementation (endpoint) of the OGC API - Processes Standard. + +The OGC API - Processes - Part 3: Workflows draft specification extends the core capabilities specified in OGC API - Processes - Part 1: Core [<>] with the ability to ... + +The OGC API - Processes - Part 4: Job Management draft specification extends the core capabilities specified in OGC API - Processes - Part 1: Core [<>] with the ability to create, manage and monitor jobs that are associated with processes execution. + +The OGC API - Processes - Part 5: Provenance draft specification extends the core capabilities specified in OGC API - Processes - Part 1: Core [<>] with provenance information associated with processes execution through associated jobs. + +CAUTION: This is a DRAFT version of the 5th part of the OGC API - Processes standards. This draft is not complete and there are open issues that are still under discussion. + +== Submitters + +All questions regarding this submission should be directed to the editors or the submitters: + +[cols="2",options="header,unnumbered"] +|=== +| Name | Affiliation +| Francis Charette-Migneault _(editor)_ | Technologies Luqia, Centre de Recherche Informatique de Montréal (CRIM) +| Gérald Fenoy _(editor)_ | GeoLabs +| Panagiotis (Peter) A. Vretanos | CubeWerx Inc. +|=== diff --git a/extensions/provenance/standard/sections/clause_10_security_considerations.adoc b/extensions/provenance/standard/sections/clause_10_security_considerations.adoc new file mode 100644 index 00000000..e772ada3 --- /dev/null +++ b/extensions/provenance/standard/sections/clause_10_security_considerations.adoc @@ -0,0 +1,13 @@ +== Security Considerations + +See <>, Clause 10.4. + +Since creating and updating jobs will change the jobs available to a client, servers will - in almost all cases - restrict the access to these operations. + +Users making modifications to job resources need to: + +. Be authenticated, +. Have "modification privileges" on the jobs offered through the API, +. Have access to one or more of the POST and/or PATCH methods on the jobs `/job` and `/jobs/{jobID}` endpoints. + +The API definition, as defined in Clause 7.3 from <>, must reflect this in the resource paths and their available methods. diff --git a/extensions/provenance/standard/sections/clause_1_scope.adoc b/extensions/provenance/standard/sections/clause_1_scope.adoc new file mode 100644 index 00000000..a2640f43 --- /dev/null +++ b/extensions/provenance/standard/sections/clause_1_scope.adoc @@ -0,0 +1,17 @@ +== Scope + +The *OGC API - Processes - Part 5* Standard is an extension to the +<> Standard and defines the behavior of a server that +supports the ability to collect and document job provenance metadata. + +It also extends the job endpoints to support the management of provenance information associated with a job +once the execution of that job has completed successfully. + +Specifically, the Processes Part 5 Standard specifies: + +* How to handle provenance information associated with a job. + +* How to negotiate provenance content types. + +* How to provide sufficient provenance information to interpret where input data came from, + how it was processed, and made available for downstream processing or decision-making. diff --git a/extensions/provenance/standard/sections/clause_2_conformance.adoc b/extensions/provenance/standard/sections/clause_2_conformance.adoc new file mode 100644 index 00000000..c7f09a2e --- /dev/null +++ b/extensions/provenance/standard/sections/clause_2_conformance.adoc @@ -0,0 +1,34 @@ + +== Conformance + +The OGC API - Processes - Part 5 Standard defines the following requirements classes. + +The main requirements class is: + +* <>. + +This class specifies requirements that any Web API implementing Processes Part 5 must conform with. + +The `Provenance` class does not mandate a specific encoding for the job provenance details beside the default PROV-JSON +representation. Part 5 extension demonstrates multiple <> +and <> for commonly used <> formats. + +The `Provenance` encodings are typically defined with "_workflow_" ontologies (e.g., CWLProv, Wf4Ever, WfProv, etc.) +in order to support the more complex processing graph they require. However, provenance can be applied to any workflow +or process execution. Therefore, a server is not required to support <> to implement this standard. +The concepts are applicable to "single" processes (<>) and mutable processes (<>) as well, +and can be seamlessly integrated with <> job management endpoints. + +Due to the nature of provenance metadata retrieved after completion of a job execution, the `Provenance` class +assumes that the server implementation performs process or workflow executions asynchronously (necessarily creating a job) +or synchronously by leveraging the <> permission to create a job; nevertheless unrequired for the execution itself +(i.e., link:https://docs.ogc.org/DRAFTS/18-062r3.html#per_core_process-execute-sync-job[`/per/core/process-execute-sync-job`]). +The standard does not cover patterns to store and retrieve provenance information when no job is available. + +The standardization target for all Conformance class defined in this Standard is “Web API”. + +Conformance with this Standard shall be checked using all the relevant tests +specified in <> of this document. The framework, concepts, and +methodology for testing, and the criteria to be achieved to claim conformance +are specified in the OGC Compliance Testing Policies and Procedures and the +OGC Compliance Testing web site. diff --git a/extensions/provenance/standard/sections/clause_3_references.adoc b/extensions/provenance/standard/sections/clause_3_references.adoc new file mode 100644 index 00000000..e82c2bc6 --- /dev/null +++ b/extensions/provenance/standard/sections/clause_3_references.adoc @@ -0,0 +1,13 @@ + +[bibliography] +== References + +* [[[OAProc-1,OGC 18-062]]] Pross, B., Vretanos, P.: OGC 18-062, *OGC API - Processes - Part 1: Core* + +* [[[OAProc-2,OGC 20-044]]] Vretanos, P., Fenoy, G.: OGC 20-044, *OGC API - Processes - Part 2: Deploy, Replace, Undeploy* + +* [[[OAProc-3,OGC 21-009]]] Jacovella-St-Louis J.: OGC 21-009, *OGC API - Processes - Part 3: Workflows and Chaining* + +* [[[OAProc-4,OGC 24-051]]] Fenoy, G., Charette-Migneault, F.: OGC 24-051, *OGC API - Processes - Part 4: Job Management* + +* [[rfc6902,IETF RFC 6902]] Bryan, P., Nottingham, M.: IETF RFC 6902, *JavaScript Object Notation (JSON) Patch*, 2013 http://tools.ietf.org/rfc/rfc6902.txt diff --git a/extensions/provenance/standard/sections/clause_4_terms_and_definitions.adoc b/extensions/provenance/standard/sections/clause_4_terms_and_definitions.adoc new file mode 100644 index 00000000..b81b8bf2 --- /dev/null +++ b/extensions/provenance/standard/sections/clause_4_terms_and_definitions.adoc @@ -0,0 +1,10 @@ + +== Terms, definitions and abbreviated terms + +=== Terms and definitions + +See <>, Clause 4.1. + +=== Abbreviated Terms + +See <>, Clause 4.2. \ No newline at end of file diff --git a/extensions/provenance/standard/sections/clause_5_conventions.adoc b/extensions/provenance/standard/sections/clause_5_conventions.adoc new file mode 100644 index 00000000..af2b0125 --- /dev/null +++ b/extensions/provenance/standard/sections/clause_5_conventions.adoc @@ -0,0 +1,4 @@ + +== Conventions and background + +See <>, Clause 5. diff --git a/extensions/provenance/standard/sections/clause_6_provenance.adoc b/extensions/provenance/standard/sections/clause_6_provenance.adoc new file mode 100644 index 00000000..766e928c --- /dev/null +++ b/extensions/provenance/standard/sections/clause_6_provenance.adoc @@ -0,0 +1,86 @@ +== Requirements Class "Provenance" + +[[provenance-overview]] +=== Overview + +This requirements class defines how to allow client application accessing the provenance of a completed job resulting from +the execution of a process. Such process might be a predefined definition (<>), +a mutable process (<>), or a process that represents +a workflow (<>). The submitted job where provenance +details are collected from can result from a <> process execution, +from <> additional endpoints, or any other compatible extension. + +For general information about provenance, see the <> document. + +include::../requirements/requirements_class_provenance.adoc[] + +=== Endpoints + +==== PROV + +The server SHALL provide an endpoint to retrieve the provenance details of a job. + +===== Operation + +include::../requirements/provenance/job-prov/REQ_get-op.adoc[] + +===== Response + +include::../requirements/provenance/job-prov/REQ_response.adoc[] + +===== Errors + +include::../requirements/provenance/job-prov/REQ_missing.adoc[] + +include::../requirements/provenance/job-prov/REQ_unsupported-format.adoc[] + +[[prov-content-negotiation]] +===== PROV Content Negotiation + +include::../recommendations/provenance/job-prov/REC_content-type-json.adoc[] + +include::../recommendations/provenance/job-prov/PER_content-negotiation.adoc[] + +==== PROV Content + +The server SHOULD provide structured PROV metadata elements that describe the executed process, job activity, +input/output entities, and useful associated metadata. Some definitions are required to ensure minimal interoperability +with guaranteed entities (e.g., Process and Job), while others are recommended guide server implementations toward +common practices. See also <> for concrete representations across various PROV formats. + +include::../requirements/provenance/prov-content/REQ_namespaces.adoc[] + +===== Core Entities and Activity + +include::../requirements/provenance/prov-content/REQ_job-entity.adoc[] + +include::../requirements/provenance/prov-content/REQ_process-entity.adoc[] + +include::../requirements/provenance/prov-content/REQ_job-activity.adoc[] + +===== Data Inputs and Results Entities + +include::../requirements/provenance/prov-content/REQ_input-entity.adoc[] + +include::../requirements/provenance/prov-content/REQ_result-entity.adoc[] + +include::../requirements/provenance/prov-content/REQ_collection-entity.adoc[] + +include::../requirements/provenance/prov-content/REQ_file-entity.adoc[] + +===== Recommended Metadata + +include::../recommendations/provenance/prov-content/REC_data-entity.adoc[] + +include::../recommendations/provenance/prov-content/REC_timing.adoc[] + +include::../recommendations/provenance/prov-content/REC_software-agent.adoc[] + +include::../recommendations/provenance/prov-content/REC_prov-associations.adoc[] + +==== Job Status + +To ensure provenance availability and discoverability, servers offering this capability are encouraged to +extend the <> job response to include corresponding links. + +include::../recommendations/provenance/job-prov/REQ_job-status-link.adoc[] diff --git a/extensions/provenance/standard/sections/clause_7_research_object.adoc b/extensions/provenance/standard/sections/clause_7_research_object.adoc new file mode 100644 index 00000000..e5203ac1 --- /dev/null +++ b/extensions/provenance/standard/sections/clause_7_research_object.adoc @@ -0,0 +1,6 @@ +== Requirements Class "Research Object" + +[[research-object-overview]] +=== Overview + +TODO diff --git a/extensions/provenance/standard/sections/clause_8_oas.adoc b/extensions/provenance/standard/sections/clause_8_oas.adoc new file mode 100644 index 00000000..3c7eef5b --- /dev/null +++ b/extensions/provenance/standard/sections/clause_8_oas.adoc @@ -0,0 +1,5 @@ + +[[oas]] +== OpenAPI 3.0 + +See <>, Clause 12. diff --git a/extensions/provenance/standard/sections/clause_9_media_types.adoc b/extensions/provenance/standard/sections/clause_9_media_types.adoc new file mode 100644 index 00000000..656fc359 --- /dev/null +++ b/extensions/provenance/standard/sections/clause_9_media_types.adoc @@ -0,0 +1,4 @@ +[[mediatypes]] +== Media Types + +See <>, Clause 13. diff --git a/metanorma.yml b/metanorma.yml index 2856b575..1bad999a 100644 --- a/metanorma.yml +++ b/metanorma.yml @@ -6,6 +6,7 @@ metanorma: - extensions/workflows/21-009.adoc - extensions/deploy_replace_undeploy/standard/20-044.adoc - extensions/job_management/standard/24-051.adoc + - extensions/provenance/standard/26-038.adoc collection: organization: "OGC" diff --git a/ogcapi-ogc-org-processes-overview.md b/ogcapi-ogc-org-processes-overview.md index 7e92c4c3..d19b0ceb 100644 --- a/ogcapi-ogc-org-processes-overview.md +++ b/ogcapi-ogc-org-processes-overview.md @@ -95,8 +95,11 @@ POST /jobs/{jobID}/results Trigger execution of an existing job. +## Overview of OGC API - Processes - Part 5: Provenance + ``` GET /jobs/{jobID}/prov ``` Returns provenance details of a completed job. + diff --git a/ogcmetanorma.json b/ogcmetanorma.json index 34294639..8926df67 100644 --- a/ogcmetanorma.json +++ b/ogcmetanorma.json @@ -1,30 +1,37 @@ { "0": { "OGC_doc_number": "18-062r3", - "urn":"http://www.opengis.net/doc/IS/ogcapi-processes-1/2.0", + "urn":"https://www.opengis.net/doc/IS/ogcapi-processes-1/2.0", "title":"OGC API - Processes - Part 1: Core", "version":"2.0.0", "path":"18-062.adoc" }, "1": { "OGC_doc_number": "20-044", - "urn":"http://www.opengis.net/doc/IS/ogcapi-processes-2/1.0", + "urn":"https://www.opengis.net/doc/IS/ogcapi-processes-2/1.0", "title":"OGC API - Processes - Part 2: Deploy, Replace, Undeploy", "version":"1.0.0", "path":"extensions/deploy_replace_undeploy/standard/20-044.adoc" }, "2": { "OGC_doc_number": "21-099", - "urn":"http://www.opengis.net/doc/IS/ogcapi-processes-3/1.0", + "urn":"https://www.opengis.net/doc/IS/ogcapi-processes-3/1.0", "title":"OGC API - Processes - Part 3: Workflows and Chaining", "version":"1.0.0", "path":"extensions/workflows/21-099.adoc" }, "3": { "OGC_doc_number": "24-051", - "urn":"http://www.opengis.net/doc/IS/ogcapi-processes-4/1.0", + "urn":"https://www.opengis.net/doc/IS/ogcapi-processes-4/1.0", "title":"OGC API - Processes - Part 4: Job Managment", "version":"1.0.0", "path":"extensions/job_management/standard/24-051.adoc" + }, + "4": { + "OGC_doc_number": "26-038", + "urn":"https://www.opengis.net/doc/IS/ogcapi-processes-5/1.0", + "title":"OGC API - Processes - Part 5: Provenance", + "version":"1.0.0", + "path":"extensions/provenance/standard/26-038.adoc" } } diff --git a/openapi/ogcapi-processes.bundled.json b/openapi/ogcapi-processes.bundled.json index d12e5829..2f945a83 100644 --- a/openapi/ogcapi-processes.bundled.json +++ b/openapi/ogcapi-processes.bundled.json @@ -759,7 +759,8 @@ "description": "Retrieve the job provenance details.\n", "operationId": "getJobProvenance", "tags": [ - "Jobs Management" + "Jobs", + "Provenance" ], "parameters": [ { @@ -768,10 +769,13 @@ ], "responses": { "200": { - "$ref": "#/components/responses/processes-job-management-rJobProvenance" + "$ref": "#/components/responses/processes-provenance-rJobProvenance" }, "404": { - "$ref": "#/components/responses/common-core-rNotFound" + "$ref": "#/components/responses/processes-provenance-rJobProvMissing" + }, + "406": { + "$ref": "#/components/responses/processes-provenance-rJobProvUnsupportedFormat" }, "500": { "$ref": "#/components/responses/common-core-rServerError" @@ -8449,12 +8453,18 @@ "ImmutableProcess": { "$ref": "#/components/responses/processes-dru-rImmutableProcess" }, - "JobProvenance": { - "$ref": "#/components/responses/processes-job-management-rJobProvenance" - }, "JobDefinition": { "$ref": "#/components/responses/processes-job-management-rJobDefinition" }, + "JobProvenance": { + "$ref": "#/components/responses/processes-provenance-rJobProvenance" + }, + "JobProvMissing": { + "$ref": "#/components/responses/processes-provenance-rJobProvMissing" + }, + "JobProvUnsupportedFormat": { + "$ref": "#/components/responses/processes-provenance-rJobProvUnsupportedFormat" + }, "common-core-rLandingPage": { "description": "The landing page provides links to the API definition (link relation `service-desc`, in this case path `/api`),\nto the Conformance declaration (path `/conformance`, link relation `http://www.opengis.net/def/rel/ogc/1.0/conformance`), and to other resources.", "content": { @@ -8826,7 +8836,7 @@ } } }, - "processes-job-management-rJobProvenance": { + "processes-provenance-rJobProvenance": { "description": "Provenance details of a completed job.", "content": { "application/json": { @@ -8834,6 +8844,11 @@ "$ref": "#/components/schemas/schema-2" } }, + "application/provenance+json": { + "schema": { + "$ref": "#/components/schemas/schema-2" + } + }, "application/ld+json": { "schema": { "$ref": "#/components/schemas/prov:Document" @@ -8876,6 +8891,60 @@ } } }, + "processes-provenance-rJobProvMissing": { + "description": "Provenance missing, not yet completed (job pending, running, failed) or dismissed.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/common-core-exception" + }, + { + "type": "object", + "properties": { + "type": { + "const": "https://www.opengis.net/def/exceptions/ogcapi-processes-5/1.0/prov-missing" + } + } + } + ] + } + }, + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "processes-provenance-rJobProvUnsupportedFormat": { + "description": "Provenance format unsupported.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/common-core-exception" + }, + { + "type": "object", + "properties": { + "type": { + "const": "https://www.opengis.net/def/exceptions/ogcapi-processes-5/1.0/prov-unsupported-format" + } + } + } + ] + } + }, + "text/html": { + "schema": { + "type": "string" + } + } + } + }, "common-core-rInvalidParameter": { "description": "A query parameter has an invalid value.", "content": { diff --git a/openapi/ogcapi-processes.yaml b/openapi/ogcapi-processes.yaml index e7877ff8..d1527cf9 100644 --- a/openapi/ogcapi-processes.yaml +++ b/openapi/ogcapi-processes.yaml @@ -83,6 +83,8 @@ paths: /jobs/{jobID}/definition: $ref: 'paths/processes-job-management/pJobDefinition.yaml' + # OGC API - Processes - Part 5: Provenance + /jobs/{jobID}/prov: $ref: 'paths/processes-job-management/pJobProvenance.yaml' @@ -526,7 +528,7 @@ components: Enumeration: $ref: 'responses/dynamic/rEnumeration.yaml' - # Processes - Core + # OGC API - Processes - Part 1: Core ProcessList: $ref: 'responses/processes-core/rProcessList.yaml' @@ -552,28 +554,33 @@ components: EmptyResponse: $ref: 'responses/processes-core/rEmpty.yaml' - # OGC API - Common - Part 2: Deploy, Replace, Undeploy + # OGC API - Processes - Part 2: Deploy, Replace, Undeploy DeployProcess: $ref: 'responses/processes-dru/rDeployProcess.yaml' ProcessSummary: $ref: 'responses/processes-dru/rProcessSummary.yaml' - - # Part 2 additional exceptions DuplicateProcess: $ref: 'responses/processes-dru/rDuplicateProcess.yaml' ImmutableProcess: $ref: 'responses/processes-dru/rImmutableProcess.yaml' - # OGC API - Common - Part 3: Workflows and Chaining + # OGC API - Processes - Part 3: Workflows and Chaining # (pre injected elsewhere as applicable - no extra endpoints) - # OGC API - Common - Part 4: Job Management - JobProvenance: - $ref: 'responses/processes-job-management/rJobProvenance.yaml' + # OGC API - Processes - Part 4: Job Management JobDefinition: $ref: 'responses/processes-job-management/rJobDefinition.yaml' + # OGC API - Processes - Part 5: Provenance + JobProvenance: + $ref: 'responses/processes-provenance/rJobProvenance.yaml' + JobProvMissing: + $ref: 'responses/processes-provenance/rJobProvMissing.yaml' + JobProvUnsupportedFormat: + $ref: 'responses/processes-provenance/rJobProvUnsupportedFormat.yaml' + + # patches for above 'JobProvenance', which includes a JSON-LD schema context that doesn't resolve definitions otherwise definitions: Context: diff --git a/openapi/paths/processes-job-management/pJobProvenance.yaml b/openapi/paths/processes-job-management/pJobProvenance.yaml index 2176d38d..31765f8d 100644 --- a/openapi/paths/processes-job-management/pJobProvenance.yaml +++ b/openapi/paths/processes-job-management/pJobProvenance.yaml @@ -4,13 +4,16 @@ get: Retrieve the job provenance details. operationId: getJobProvenance tags: - - Jobs Management + - Jobs + - Provenance parameters: - $ref: "../../parameters/processes-core/jobID.yaml" responses: 200: - $ref: "../../responses/processes-job-management/rJobProvenance.yaml" + $ref: "../../responses/processes-provenance/rJobProvenance.yaml" 404: - $ref: "../../responses/common-core/rNotFound.yaml" + $ref: "../../responses/processes-provenance/rJobProvMissing.yaml" + 406: + $ref: "../../responses/processes-provenance/rJobProvUnsupportedFormat.yaml" 500: $ref: "../../responses/common-core/rServerError.yaml" diff --git a/openapi/responses/processes-provenance/rJobProvMissing.yaml b/openapi/responses/processes-provenance/rJobProvMissing.yaml new file mode 100644 index 00000000..26fab075 --- /dev/null +++ b/openapi/responses/processes-provenance/rJobProvMissing.yaml @@ -0,0 +1,13 @@ +description: Provenance missing, not yet completed (job pending, running, failed) or dismissed. +content: + application/json: + schema: + allOf: + - $ref: '../../schemas/common-core/exception.yaml' + - type: object + properties: + type: + const: "https://www.opengis.net/def/exceptions/ogcapi-processes-5/1.0/prov-missing" + text/html: + schema: + type: string diff --git a/openapi/responses/processes-provenance/rJobProvUnsupportedFormat.yaml b/openapi/responses/processes-provenance/rJobProvUnsupportedFormat.yaml new file mode 100644 index 00000000..6696941e --- /dev/null +++ b/openapi/responses/processes-provenance/rJobProvUnsupportedFormat.yaml @@ -0,0 +1,13 @@ +description: Provenance format unsupported. +content: + application/json: + schema: + allOf: + - $ref: '../../schemas/common-core/exception.yaml' + - type: object + properties: + type: + const: "https://www.opengis.net/def/exceptions/ogcapi-processes-5/1.0/prov-unsupported-format" + text/html: + schema: + type: string diff --git a/openapi/responses/processes-job-management/rJobProvenance.yaml b/openapi/responses/processes-provenance/rJobProvenance.yaml similarity index 73% rename from openapi/responses/processes-job-management/rJobProvenance.yaml rename to openapi/responses/processes-provenance/rJobProvenance.yaml index ec650073..56b2a7d0 100644 --- a/openapi/responses/processes-job-management/rJobProvenance.yaml +++ b/openapi/responses/processes-provenance/rJobProvenance.yaml @@ -3,17 +3,23 @@ content: application/json: schema: $ref: 'https://www.w3.org/submissions/prov-json/schema' + application/provenance+json: + schema: + $ref: 'https://www.w3.org/submissions/prov-json/schema' application/ld+json: schema: $ref: 'https://www.w3.org/submissions/prov-jsonld/schema.json' application/provenance+xml: schema: + # https://www.w3.org/ns/prov.xsd type: string application/xml: schema: + # https://www.w3.org/ns/prov.xsd type: string text/xml: schema: + # https://www.w3.org/ns/prov.xsd type: string text/provenance-notation: schema: