From 377123d94b11d7c312215e07621725607ae8149c Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Wed, 8 Jul 2026 03:44:11 -0400 Subject: [PATCH 01/13] move job-management/prov to dedicated provenance part + generic typo/fixes in other parts --- asciidoctor.json | 26 +++++-- core/sections/clause_2_conformance.adoc | 12 ++-- .../standard/sections/clause_10_oas.adoc | 2 +- .../job_management/standard/24-051.adoc | 14 ++-- .../prov/PER_content-negotiation.adoc | 69 ------------------- .../provenance/prov/REQ_get-op.adoc | 17 ----- .../provenance/prov/REQ_response.adoc | 24 ------- .../requirements_class_job-management.adoc | 2 +- .../requirements_class_ogcapi-processes.adoc | 4 +- .../requirements_class_openeo.adoc | 4 +- .../requirements_class_provenance.adoc | 13 ---- .../standard/sections/annex_history.adoc | 1 + .../sections/clause_0_front_material.adoc | 4 +- ..._types.adoc => clause_10_media_types.adoc} | 0 .../standard/sections/clause_10_oas.adoc | 5 -- ...=> clause_11_security_considerations.adoc} | 0 .../standard/sections/clause_9_oas.adoc | 5 ++ .../sections/clause_9_provenance.adoc | 24 ------- extensions/job_management/xml/README.md | 1 - metanorma.yml | 1 + ogcapi-ogc-org-processes-overview.md | 5 +- ogcmetanorma.json | 15 ++-- 22 files changed, 64 insertions(+), 184 deletions(-) delete mode 100644 extensions/job_management/standard/recommendations/provenance/prov/PER_content-negotiation.adoc delete mode 100644 extensions/job_management/standard/requirements/provenance/prov/REQ_get-op.adoc delete mode 100644 extensions/job_management/standard/requirements/provenance/prov/REQ_response.adoc delete mode 100644 extensions/job_management/standard/requirements/requirements_class_provenance.adoc rename extensions/job_management/standard/sections/{clause_11_media_types.adoc => clause_10_media_types.adoc} (100%) delete mode 100644 extensions/job_management/standard/sections/clause_10_oas.adoc rename extensions/job_management/standard/sections/{clause_12_security_considerations.adoc => clause_11_security_considerations.adoc} (100%) create mode 100644 extensions/job_management/standard/sections/clause_9_oas.adoc delete mode 100644 extensions/job_management/standard/sections/clause_9_provenance.adoc delete mode 100644 extensions/job_management/xml/README.md 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/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/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/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/requirements/requirements_class_provenance.adoc b/extensions/job_management/standard/requirements/requirements_class_provenance.adoc deleted file mode 100644 index 7e660de1..00000000 --- a/extensions/job_management/standard/requirements/requirements_class_provenance.adoc +++ /dev/null @@ -1,13 +0,0 @@ -[[rc_provenance]] -[requirements_class] -.Requirements Class 'Provenance' -==== -[%metadata] -identifier:: http://www.opengis.net/spec/ogcapi-processes-4/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 -==== 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_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/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..edf26316 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 +GET /jobs/{jobID}/results/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" } } From 4333ad450047287e15300f860e2d5107c256fbf3 Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Wed, 8 Jul 2026 03:46:39 -0400 Subject: [PATCH 02/13] [WIP] add job-prov definitions --- extensions/provenance/standard/26-038.adoc | 53 + extensions/provenance/standard/README.md | 1 + .../abstract_tests/ATS_class_prov.adoc | 15 + .../standard/abstract_tests/README.md | 27 + .../abstract_tests/prov/prov/ATS_get-op.adoc | 24 + .../standard/examples/job_prov.json | 1351 ++++++++++ .../standard/examples/job_prov.jsonld | 2175 +++++++++++++++++ .../provenance/standard/examples/job_prov.nt | 468 ++++ .../standard/examples/job_prov.provn | 198 ++ .../provenance/standard/examples/job_prov.ttl | 513 ++++ .../provenance/standard/examples/job_prov.xml | 796 ++++++ .../provenance/standard/figures/README.md | 5 + .../provenance/standard/images/README.md | 9 + .../job-prov/PER_content-negotiation.adoc | 60 + .../job-prov/REC_content-type-json.adoc | 16 + .../prov-content/REC_data-entity.adoc | 29 + .../prov-content/REC_prov-associations.adoc | 13 + .../prov-content/REC_software-agent.adoc | 36 + .../provenance/prov-content/REC_timing.adoc | 27 + .../provenance/job-prov/REQ_get-op.adoc | 23 + .../provenance/job-prov/REQ_response.adoc | 32 + .../job-prov/REQ_unsupported-format.adoc | 28 + .../prov-content/REQ_collection-entity.adoc | 28 + .../prov-content/REQ_file-entity.adoc | 19 + .../prov-content/REQ_input-entity.adoc | 27 + .../prov-content/REQ_job-activity.adoc | 27 + .../prov-content/REQ_job-entity.adoc | 25 + .../prov-content/REQ_namespaces.adoc | 22 + .../prov-content/REQ_process-entity.adoc | 31 + .../prov-content/REQ_result-entity.adoc | 32 + .../requirements_class_provenance.adoc | 13 + .../standard/sections/annex_ats.adoc | 15 + .../standard/sections/annex_bibliography.adoc | 23 + .../standard/sections/annex_history.adoc | 10 + .../sections/clause_0_front_material.adoc | 29 + .../clause_10_security_considerations.adoc | 13 + .../standard/sections/clause_1_scope.adoc | 19 + .../sections/clause_2_conformance.adoc | 31 + .../sections/clause_3_references.adoc | 13 + .../clause_4_terms_and_definitions.adoc | 10 + .../sections/clause_5_conventions.adoc | 4 + .../sections/clause_6_provenance.adoc | 92 + .../standard/sections/clause_8_oas.adoc | 5 + .../sections/clause_9_media_types.adoc | 4 + 44 files changed, 6391 insertions(+) create mode 100644 extensions/provenance/standard/26-038.adoc create mode 100644 extensions/provenance/standard/README.md create mode 100644 extensions/provenance/standard/abstract_tests/ATS_class_prov.adoc create mode 100644 extensions/provenance/standard/abstract_tests/README.md create mode 100644 extensions/provenance/standard/abstract_tests/prov/prov/ATS_get-op.adoc create mode 100644 extensions/provenance/standard/examples/job_prov.json create mode 100644 extensions/provenance/standard/examples/job_prov.jsonld create mode 100644 extensions/provenance/standard/examples/job_prov.nt create mode 100644 extensions/provenance/standard/examples/job_prov.provn create mode 100644 extensions/provenance/standard/examples/job_prov.ttl create mode 100644 extensions/provenance/standard/examples/job_prov.xml create mode 100644 extensions/provenance/standard/figures/README.md create mode 100644 extensions/provenance/standard/images/README.md create mode 100644 extensions/provenance/standard/recommendations/provenance/job-prov/PER_content-negotiation.adoc create mode 100644 extensions/provenance/standard/recommendations/provenance/job-prov/REC_content-type-json.adoc create mode 100644 extensions/provenance/standard/recommendations/provenance/prov-content/REC_data-entity.adoc create mode 100644 extensions/provenance/standard/recommendations/provenance/prov-content/REC_prov-associations.adoc create mode 100644 extensions/provenance/standard/recommendations/provenance/prov-content/REC_software-agent.adoc create mode 100644 extensions/provenance/standard/recommendations/provenance/prov-content/REC_timing.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/job-prov/REQ_get-op.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/job-prov/REQ_response.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/job-prov/REQ_unsupported-format.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/prov-content/REQ_collection-entity.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/prov-content/REQ_file-entity.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/prov-content/REQ_input-entity.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/prov-content/REQ_job-activity.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/prov-content/REQ_job-entity.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/prov-content/REQ_namespaces.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/prov-content/REQ_process-entity.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/prov-content/REQ_result-entity.adoc create mode 100644 extensions/provenance/standard/requirements/requirements_class_provenance.adoc create mode 100644 extensions/provenance/standard/sections/annex_ats.adoc create mode 100644 extensions/provenance/standard/sections/annex_bibliography.adoc create mode 100644 extensions/provenance/standard/sections/annex_history.adoc create mode 100644 extensions/provenance/standard/sections/clause_0_front_material.adoc create mode 100644 extensions/provenance/standard/sections/clause_10_security_considerations.adoc create mode 100644 extensions/provenance/standard/sections/clause_1_scope.adoc create mode 100644 extensions/provenance/standard/sections/clause_2_conformance.adoc create mode 100644 extensions/provenance/standard/sections/clause_3_references.adoc create mode 100644 extensions/provenance/standard/sections/clause_4_terms_and_definitions.adoc create mode 100644 extensions/provenance/standard/sections/clause_5_conventions.adoc create mode 100644 extensions/provenance/standard/sections/clause_6_provenance.adoc create mode 100644 extensions/provenance/standard/sections/clause_8_oas.adoc create mode 100644 extensions/provenance/standard/sections/clause_9_media_types.adoc diff --git a/extensions/provenance/standard/26-038.adoc b/extensions/provenance/standard/26-038.adoc new file mode 100644 index 00000000..7cc43203 --- /dev/null +++ b/extensions/provenance/standard/26-038.adoc @@ -0,0 +1,53 @@ += 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: Gérald Fenoy, Francis Charette-Migneault +: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[] + +//// +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..d568b6ad --- /dev/null +++ b/extensions/provenance/standard/abstract_tests/ATS_class_prov.adoc @@ -0,0 +1,15 @@ +[[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..d01d1a58 --- /dev/null +++ b/extensions/provenance/standard/abstract_tests/prov/prov/ATS_get-op.adoc @@ -0,0 +1,24 @@ +[[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..91dce4ab --- /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": "crim-ca/weaver:6.9.0-dev2", + "foaf:accountName": "crim-ca/weaver:6.9.0-dev2" + } + ], + "id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990": { + "prov:type": [ + { + "$": "prov:Person", + "type": "prov:QUALIFIED_NAME" + }, + { + "$": "schema:Person", + "type": "prov:QUALIFIED_NAME" + } + ], + "prov:label": "crim-ca/weaver:6.9.0-dev2", + "foaf:name": "crim-ca/weaver:6.9.0-dev2", + "foaf:account": { + "$": "id:dc49c9ee-a913-4e5c-b89a-2201af36af9c", + "type": "prov:QUALIFIED_NAME" + }, + "schema:name": "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" + } + } +} \ No newline at end of file diff --git a/extensions/provenance/standard/examples/job_prov.jsonld b/extensions/provenance/standard/examples/job_prov.jsonld new file mode 100644 index 00000000..675331ae --- /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": "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": "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#Person", + "http://schema.org/Person", + "http://www.w3.org/ns/prov#Agent" + ], + "http://schema.org/name": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#string", + "@value": "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": "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": "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" + } + ] + } +] \ No newline at end of file diff --git a/extensions/provenance/standard/examples/job_prov.nt b/extensions/provenance/standard/examples/job_prov.nt new file mode 100644 index 00000000..eb31a8e0 --- /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"^^ . + "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 . + . + "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 . + "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 . + . + . + . + . + "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"^^ . + . + "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..818b2f89 --- /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="crim-ca/weaver:6.9.0-dev2", foaf:accountName="crim-ca/weaver:6.9.0-dev2"]) + agent(id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990, [prov:type='prov:Person', prov:type='schema:Person', prov:label="crim-ca/weaver:6.9.0-dev2", foaf:name="crim-ca/weaver:6.9.0-dev2", foaf:account='id:dc49c9ee-a913-4e5c-b89a-2201af36af9c', schema:name="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 \ No newline at end of file diff --git a/extensions/provenance/standard/examples/job_prov.ttl b/extensions/provenance/standard/examples/job_prov.ttl new file mode 100644 index 00000000..e9b7a8ba --- /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:Person, + prov:Agent, + prov:Person ; + rdfs:label "crim-ca/weaver:6.9.0-dev2"^^xsd:string ; + schema1:name "crim-ca/weaver:6.9.0-dev2"^^xsd:string ; + foaf:account id:dc49c9ee-a913-4e5c-b89a-2201af36af9c ; + foaf:name "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 "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, + "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..1d3c33af --- /dev/null +++ b/extensions/provenance/standard/examples/job_prov.xml @@ -0,0 +1,796 @@ + + + + + https://hirondelle.crim.ca/weaver + foaf:OnlineAccount + hirondelle.crim.ca + + + crim-ca/weaver:6.9.0-dev2 + foaf:OnlineAccount + crim-ca/weaver:6.9.0-dev2 + + + crim-ca/weaver:6.9.0-dev2 + schema:Person + id:dc49c9ee-a913-4e5c-b89a-2201af36af9c + crim-ca/weaver:6.9.0-dev2 + 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..097176c4 --- /dev/null +++ b/extensions/provenance/standard/recommendations/provenance/job-prov/PER_content-negotiation.adoc @@ -0,0 +1,60 @@ +[[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 link:https://www.w3.org/TR/2013/NOTE-prov-overview-20130430/[PROV] 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 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 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:https://www.w3.org/TR/2013/REC-prov-dm-20130430/[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/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..69d74a67 --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_get-op.adoc @@ -0,0 +1,23 @@ +[[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 <>. +-- + +[.component,class=conditions] +-- +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_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..e5d652e6 --- /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 `"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..a2322afd --- /dev/null +++ b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_job-activity.adoc @@ -0,0 +1,27 @@ +[[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 though 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. 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/provenance/standard/requirements/requirements_class_provenance.adoc b/extensions/provenance/standard/requirements/requirements_class_provenance.adoc new file mode 100644 index 00000000..be6e9d69 --- /dev/null +++ b/extensions/provenance/standard/requirements/requirements_class_provenance.adoc @@ -0,0 +1,13 @@ +[[rc_provenance]] +[requirements_class] +.Requirements Class 'Provenance' +==== +[%metadata] +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-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..620a6586 --- /dev/null +++ b/extensions/provenance/standard/sections/annex_bibliography.adoc @@ -0,0 +1,23 @@ +[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). + +//// + +* [[[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_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..05009f15 --- /dev/null +++ b/extensions/provenance/standard/sections/clause_1_scope.adoc @@ -0,0 +1,19 @@ +== Scope + +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: + +* How to manage job (create, update) resources. + +* How to submit a job with pending execution for parametrization inspection and validation. + +* 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/provenance/standard/sections/clause_2_conformance.adoc b/extensions/provenance/standard/sections/clause_2_conformance.adoc new file mode 100644 index 00000000..bec04fe6 --- /dev/null +++ b/extensions/provenance/standard/sections/clause_2_conformance.adoc @@ -0,0 +1,31 @@ + +== Conformance + +The OGC API - Processes - Part 4 Standard defines the following requirements classes. + +The main requirements class is: + +* <>. + +This class specifies requirements that any Web API implementing Processes Part 4 must conform with. + +The `Job Management` class does not mandate a specific encoding for the job definition. +However, the Part 4 extension defines the following conformance class: + +* <> +* <> + +The `OGC API - Processes - Workflow Execute Request` class defines that jobs can be created from an OGC API - Processes - Workflow Execute Request. + +The `OpenEO Process Graph` class defines that jobs can be created from an OpenEO Process Graph. + +The provenance information associated with a job is not mandated to be supported by the server. +A dedicated requirements class <> is defined for this feature. + +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..64e11497 --- /dev/null +++ b/extensions/provenance/standard/sections/clause_6_provenance.adoc @@ -0,0 +1,92 @@ +== 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 link:https://www.w3.org/TR/prov-overview/[W3C PROV Overview] 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[] + +include::../recommendations/provenance/job-prov/REC_prov-contents.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[] + +===== Errors + +include::../requirements/provenance/job-prov/REQ_unsupported-format.adoc[] + +===== 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/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. From 514ac95bd54c8c9f3e948dcd9231a59d650d7454 Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Wed, 8 Jul 2026 03:48:50 -0400 Subject: [PATCH 03/13] [TMP] prov research object --- .../standard/sections/clause_7_research_object.adoc | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 extensions/provenance/standard/sections/clause_7_research_object.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 From 4af2979340697e9ddf677368c113a840d589f39b Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Wed, 8 Jul 2026 16:31:08 -0400 Subject: [PATCH 04/13] fix prov software agent examples + add missing job prov error + add job prov link on success --- .../standard/examples/job_prov.json | 16 +++++----- .../standard/examples/job_prov.jsonld | 16 +++++----- .../provenance/standard/examples/job_prov.nt | 14 ++++---- .../standard/examples/job_prov.provn | 8 ++--- .../provenance/standard/examples/job_prov.ttl | 14 ++++---- .../provenance/standard/examples/job_prov.xml | 16 +++++----- .../job-prov/REQ_job-status-link.adoc | 32 +++++++++++++++++++ .../provenance/job-prov/REQ_missing.adoc | 29 +++++++++++++++++ 8 files changed, 103 insertions(+), 42 deletions(-) create mode 100644 extensions/provenance/standard/recommendations/provenance/job-prov/REQ_job-status-link.adoc create mode 100644 extensions/provenance/standard/requirements/provenance/job-prov/REQ_missing.adoc diff --git a/extensions/provenance/standard/examples/job_prov.json b/extensions/provenance/standard/examples/job_prov.json index 91dce4ab..d10836c8 100644 --- a/extensions/provenance/standard/examples/job_prov.json +++ b/extensions/provenance/standard/examples/job_prov.json @@ -33,28 +33,28 @@ "$": "foaf:OnlineAccount", "type": "prov:QUALIFIED_NAME" }, - "prov:label": "crim-ca/weaver:6.9.0-dev2", - "foaf:accountName": "crim-ca/weaver:6.9.0-dev2" + "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:Person", + "$": "prov:SoftwareAgent", "type": "prov:QUALIFIED_NAME" }, { - "$": "schema:Person", + "$": "schema:SoftwareApplication", "type": "prov:QUALIFIED_NAME" } ], - "prov:label": "crim-ca/weaver:6.9.0-dev2", - "foaf:name": "crim-ca/weaver:6.9.0-dev2", + "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": "crim-ca/weaver:6.9.0-dev2" + "schema:name": "weaver-worker@crim-ca/weaver:6.9.0-dev2" }, "id:d57aaff6-a93f-4927-a2d8-112beb358d4d": { "prov:type": [ @@ -1348,4 +1348,4 @@ "prov:time": "2026-01-15T16:46:11.419318" } } -} \ No newline at end of file +} diff --git a/extensions/provenance/standard/examples/job_prov.jsonld b/extensions/provenance/standard/examples/job_prov.jsonld index 675331ae..baf36e7e 100644 --- a/extensions/provenance/standard/examples/job_prov.jsonld +++ b/extensions/provenance/standard/examples/job_prov.jsonld @@ -146,7 +146,7 @@ "http://www.w3.org/2000/01/rdf-schema#label": [ { "@type": "http://www.w3.org/2001/XMLSchema#string", - "@value": "crim-ca/weaver:6.9.0-dev2" + "@value": "weaver-worker@crim-ca/weaver:6.9.0-dev2" } ], "http://www.w3.org/ns/prov#actedOnBehalfOf": [ @@ -168,7 +168,7 @@ "http://xmlns.com/foaf/0.1/accountName": [ { "@type": "http://www.w3.org/2001/XMLSchema#string", - "@value": "crim-ca/weaver:6.9.0-dev2" + "@value": "weaver-worker@crim-ca/weaver:6.9.0-dev2" } ], "https://w3id.org/cwl/prov#hostname": [ @@ -1561,20 +1561,20 @@ { "@id": "urn:uuid:6e5f8b71-eb5c-45d8-a497-7f6df55e1990", "@type": [ - "http://www.w3.org/ns/prov#Person", - "http://schema.org/Person", + "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": "crim-ca/weaver:6.9.0-dev2" + "@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": "crim-ca/weaver:6.9.0-dev2" + "@value": "weaver-worker@crim-ca/weaver:6.9.0-dev2" } ], "http://xmlns.com/foaf/0.1/account": [ @@ -1585,7 +1585,7 @@ "http://xmlns.com/foaf/0.1/name": [ { "@type": "http://www.w3.org/2001/XMLSchema#string", - "@value": "crim-ca/weaver:6.9.0-dev2" + "@value": "weaver-worker@crim-ca/weaver:6.9.0-dev2" } ] }, @@ -2172,4 +2172,4 @@ } ] } -] \ No newline at end of file +] diff --git a/extensions/provenance/standard/examples/job_prov.nt b/extensions/provenance/standard/examples/job_prov.nt index eb31a8e0..c257d640 100644 --- a/extensions/provenance/standard/examples/job_prov.nt +++ b/extensions/provenance/standard/examples/job_prov.nt @@ -17,7 +17,7 @@ _:Nf79009e1132246c5aa29e452c3e3017a . _:N6bf312a525af437282f381053e55d478 "2026-01-15T16:46:11.106731"^^ . "crim-ca/weaver"^^ . - "crim-ca/weaver:6.9.0-dev2"^^ . + "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^ . _:N41eeedad6813494c80bc67f688ec0360 . . "input_50x5752r"^^ . @@ -54,7 +54,7 @@ _:Nf513b957acdd4845a25967d8b23139c2 "input_9i61gfqe"^^ . _:N26b26f53152842fb9fcee13b20001e9b . . - "crim-ca/weaver:6.9.0-dev2"^^ . + "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^ . _:N35efb7509caf4f778e66e178daff9612 . _:N41eeedad6813494c80bc67f688ec0360 . . @@ -81,12 +81,12 @@ _:N3819ffacc3114edcacc0e43d60a5c773 "2026-01-15T16:46:10.813646"^^ . . _:Nf36709ec1aa5455aa80e633e7075442d . - "crim-ca/weaver:6.9.0-dev2"^^ . + "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^ . . . . . - . + . _:Ne3499c3e61194710b9d2d70e0c7dafa6 . _:Nd80bca147141491da8187a017409f073 . . @@ -132,7 +132,7 @@ _:N401efcc6ab424149ae2f4583a9516895 "2026-01- . . _:Nc9caf63850954cec884076b45b9ed0c2 . - . + . . "Run of workflow/packed.cwl#main"^^ . "https://hirondelle.crim.ca/weaver/processes/EchoProcess/jobs/53f5a04e-b531-466d-81be-62c34a1431ba"^^ . @@ -176,7 +176,7 @@ _:Nf513b957acdd4845a25967d8b23139c2 . . . - "crim-ca/weaver:6.9.0-dev2"^^ . + "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^ . . . _:Nc9caf63850954cec884076b45b9ed0c2 . @@ -450,7 +450,7 @@ _:Nc9f91ee0fe7d40d3afbe384582e212e6 "2026-01- . _:N4a9853bcd9ca44dfbfbcceecf6d578e5 "2026-01-15T16:46:10.775855"^^ . . - "crim-ca/weaver:6.9.0-dev2"^^ . + "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^ . . . "2"^^ . diff --git a/extensions/provenance/standard/examples/job_prov.provn b/extensions/provenance/standard/examples/job_prov.provn index 818b2f89..1d5c4871 100644 --- a/extensions/provenance/standard/examples/job_prov.provn +++ b/extensions/provenance/standard/examples/job_prov.provn @@ -15,11 +15,11 @@ document 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="crim-ca/weaver:6.9.0-dev2", foaf:accountName="crim-ca/weaver:6.9.0-dev2"]) - agent(id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990, [prov:type='prov:Person', prov:type='schema:Person', prov:label="crim-ca/weaver:6.9.0-dev2", foaf:name="crim-ca/weaver:6.9.0-dev2", foaf:account='id:dc49c9ee-a913-4e5c-b89a-2201af36af9c', schema:name="crim-ca/weaver:6.9.0-dev2"]) + 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) @@ -195,4 +195,4 @@ document 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 \ No newline at end of file +endDocument diff --git a/extensions/provenance/standard/examples/job_prov.ttl b/extensions/provenance/standard/examples/job_prov.ttl index e9b7a8ba..6cad21f2 100644 --- a/extensions/provenance/standard/examples/job_prov.ttl +++ b/extensions/provenance/standard/examples/job_prov.ttl @@ -348,13 +348,13 @@ id:5ec5c130-692c-48d5-9cef-be41cec00d11 a wf4ever:File, cwlprov:nameext ""^^xsd:string ; cwlprov:nameroot "input_9i61gfqe"^^xsd:string . -id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990 a schema1:Person, +id:6e5f8b71-eb5c-45d8-a497-7f6df55e1990 a schema1:SoftwareApplication, prov:Agent, - prov:Person ; - rdfs:label "crim-ca/weaver:6.9.0-dev2"^^xsd:string ; - schema1:name "crim-ca/weaver:6.9.0-dev2"^^xsd:string ; + 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 "crim-ca/weaver:6.9.0-dev2"^^xsd:string . + foaf:name "weaver-worker@crim-ca/weaver:6.9.0-dev2"^^xsd:string . id:9c60ce13-37d4-4dd2-98f5-d1c3bea1f304 a wf4ever:File, wfprov:Artifact, @@ -379,7 +379,7 @@ data:644e201526525f62152815a76a2dc773450f3dd9 a prov:Entity, id:dc49c9ee-a913-4e5c-b89a-2201af36af9c a prov:Agent, foaf:OnlineAccount ; - rdfs:label "crim-ca/weaver:6.9.0-dev2"^^xsd:string ; + 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 ; @@ -389,7 +389,7 @@ id:dc49c9ee-a913-4e5c-b89a-2201af36af9c a prov:Agent, 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, - "crim-ca/weaver:6.9.0-dev2"^^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 ; diff --git a/extensions/provenance/standard/examples/job_prov.xml b/extensions/provenance/standard/examples/job_prov.xml index 1d3c33af..9c6a3a50 100644 --- a/extensions/provenance/standard/examples/job_prov.xml +++ b/extensions/provenance/standard/examples/job_prov.xml @@ -27,17 +27,17 @@ hirondelle.crim.ca - crim-ca/weaver:6.9.0-dev2 + weaver-worker@crim-ca/weaver:6.9.0-dev2 foaf:OnlineAccount - crim-ca/weaver:6.9.0-dev2 + weaver-worker@crim-ca/weaver:6.9.0-dev2 - - crim-ca/weaver:6.9.0-dev2 - schema:Person + + weaver-worker@crim-ca/weaver:6.9.0-dev2 + schema:SoftwareApplication id:dc49c9ee-a913-4e5c-b89a-2201af36af9c - crim-ca/weaver:6.9.0-dev2 - crim-ca/weaver:6.9.0-dev2 - + weaver-worker@crim-ca/weaver:6.9.0-dev2 + weaver-worker@crim-ca/weaver:6.9.0-dev2 + 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..b1d349ce --- /dev/null +++ b/extensions/provenance/standard/recommendations/provenance/job-prov/REQ_job-status-link.adoc @@ -0,0 +1,32 @@ +[[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/requirements/provenance/job-prov/REQ_missing.adoc b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_missing.adoc new file mode 100644 index 00000000..a6f8a392 --- /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 `"https://www.opengis.net/def/exceptions/ogcapi-processes-5/1.0/prov-missing"`. +-- + +==== From 68e5bf7131c8204fd7f530f344a77bd279954b21 Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Wed, 8 Jul 2026 23:08:01 -0400 Subject: [PATCH 05/13] add part5 provenance req/rec/per to section --- .gitignore | 3 ++ .../sections/clause_6_provenance.adoc | 53 +++++++++++++++++-- 2 files changed, 52 insertions(+), 4 deletions(-) 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/extensions/provenance/standard/sections/clause_6_provenance.adoc b/extensions/provenance/standard/sections/clause_6_provenance.adoc index 64e11497..09058965 100644 --- a/extensions/provenance/standard/sections/clause_6_provenance.adoc +++ b/extensions/provenance/standard/sections/clause_6_provenance.adoc @@ -28,7 +28,11 @@ include::../requirements/provenance/job-prov/REQ_get-op.adoc[] include::../requirements/provenance/job-prov/REQ_response.adoc[] -include::../recommendations/provenance/job-prov/REC_prov-contents.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 @@ -37,11 +41,45 @@ include::../recommendations/provenance/job-prov/REC_content-type-json.adoc[] include::../recommendations/provenance/job-prov/PER_content-negotiation.adoc[] -===== Errors +==== PROV Content -include::../requirements/provenance/job-prov/REQ_unsupported-format.adoc[] +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 -===== Examples +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[] + +[[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 @@ -90,3 +128,10 @@ include::../examples/job_prov.nt[] ---- include::../examples/job_prov.ttl[] ---- + +==== 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[] From b14380f757d230dd1e9e547f23467263c71ba15b Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Wed, 8 Jul 2026 23:20:58 -0400 Subject: [PATCH 06/13] minor fixes --- extensions/provenance/standard/26-038.adoc | 2 +- .../requirements/provenance/job-prov/REQ_get-op.adoc | 9 ++------- .../provenance/prov-content/REQ_job-activity.adoc | 4 +++- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/extensions/provenance/standard/26-038.adoc b/extensions/provenance/standard/26-038.adoc index 7cc43203..6a576752 100644 --- a/extensions/provenance/standard/26-038.adoc +++ b/extensions/provenance/standard/26-038.adoc @@ -12,7 +12,7 @@ :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: Gérald Fenoy, Francis Charette-Migneault +:editor: Francis Charette-Migneault, Gérald Fenoy :mn-document-class: ogc :mn-output-extensions: xml,html,doc,pdf 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 index 69d74a67..e5cb4ee2 100644 --- a/extensions/provenance/standard/requirements/provenance/job-prov/REQ_get-op.adoc +++ b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_get-op.adoc @@ -6,13 +6,8 @@ identifier:: /req/provenance/prov-get-op [.component,class=conditions] -- -The parameter `{jobID}` resolves to a valid job as per <>. --- - -[.component,class=conditions] --- -The job reference (path: `/jobs/{jobID}`) for which provenance information is requested -has completed successfully (`status: successful`). +. 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] 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 index a2322afd..abf6959b 100644 --- a/extensions/provenance/standard/requirements/provenance/prov-content/REQ_job-activity.adoc +++ b/extensions/provenance/standard/requirements/provenance/prov-content/REQ_job-activity.adoc @@ -20,8 +20,10 @@ The PROV job activity SHALL indicate a `prov:type` of relevant value to represen ==== NOTE: Multiple activities might be associated between each other (`wasInformedBy`) or might -be related though intermediate agents (e.g., <>) +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. From 15469c2751a066008600ca2424722c2c4aea286e Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Wed, 8 Jul 2026 23:22:37 -0400 Subject: [PATCH 07/13] fix DRU ref --- .../deploy_replace_undeploy/standard/sections/clause_9_cwl.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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. From 484407ea16cb71b25c5685bdc4589b4fcbc5cd17 Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Wed, 8 Jul 2026 23:30:10 -0400 Subject: [PATCH 08/13] fix auto-uri escapes for 'type' problem+json response --- core/requirements/core/REQ_job-exception-no-such-job.adoc | 2 +- ...REQ_job-results-exception-invalid-query-parameter-value.adoc | 2 +- .../core/REQ_job-results-exception-no-such-job.adoc | 2 +- .../core/REQ_job-results-exception-results-not-available.adoc | 2 +- .../core/REQ_job-results-exception-results-not-ready.adoc | 2 +- .../core/REQ_process-exception-no-such-process.adoc | 2 +- .../requirements/cwl/REQ_exception-workflow-not-found.adoc | 2 +- .../deploy/REQ_unsupported-media-type.adoc | 2 +- .../standard/requirements/provenance/job-prov/REQ_missing.adoc | 2 +- .../provenance/job-prov/REQ_unsupported-format.adoc | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) 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/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/provenance/standard/requirements/provenance/job-prov/REQ_missing.adoc b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_missing.adoc index a6f8a392..0f738d26 100644 --- a/extensions/provenance/standard/requirements/provenance/job-prov/REQ_missing.adoc +++ b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_missing.adoc @@ -23,7 +23,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-5/1.0/prov-missing"`. +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_unsupported-format.adoc b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_unsupported-format.adoc index e5d652e6..bc5b0df7 100644 --- a/extensions/provenance/standard/requirements/provenance/job-prov/REQ_unsupported-format.adoc +++ b/extensions/provenance/standard/requirements/provenance/job-prov/REQ_unsupported-format.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-5/1.0/prov-unsupported-format"`. +The `type` of the exception SHALL be `pass:["https://www.opengis.net/def/exceptions/ogcapi-processes-5/1.0/prov-unsupported-format"]`. -- ==== From 60b38fec7bcbb47357cea4ea278a1140dc7a36a1 Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Wed, 8 Jul 2026 23:34:09 -0400 Subject: [PATCH 09/13] move prov examples to annex since they are massive --- extensions/provenance/standard/26-038.adoc | 2 + .../standard/sections/annex_examples.adoc | 50 ++++++++++++++++++ .../sections/clause_6_provenance.adoc | 51 ------------------- 3 files changed, 52 insertions(+), 51 deletions(-) create mode 100644 extensions/provenance/standard/sections/annex_examples.adoc diff --git a/extensions/provenance/standard/26-038.adoc b/extensions/provenance/standard/26-038.adoc index 6a576752..a3ada017 100644 --- a/extensions/provenance/standard/26-038.adoc +++ b/extensions/provenance/standard/26-038.adoc @@ -43,6 +43,8 @@ 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 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/clause_6_provenance.adoc b/extensions/provenance/standard/sections/clause_6_provenance.adoc index 09058965..31af67e7 100644 --- a/extensions/provenance/standard/sections/clause_6_provenance.adoc +++ b/extensions/provenance/standard/sections/clause_6_provenance.adoc @@ -78,57 +78,6 @@ include::../recommendations/provenance/prov-content/REC_software-agent.adoc[] include::../recommendations/provenance/prov-content/REC_prov-associations.adoc[] -[[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[] ----- - ==== Job Status To ensure provenance availability and discoverability, servers offering this capability are encouraged to From 7731a330c1ae26424bd264cd4662960729d287bd Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Wed, 8 Jul 2026 23:51:03 -0400 Subject: [PATCH 10/13] fix prov foreword and bio --- .../standard/sections/annex_bibliography.adoc | 2 ++ .../sections/clause_2_conformance.adoc | 25 ++++++++----------- .../sections/clause_6_provenance.adoc | 2 +- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/extensions/provenance/standard/sections/annex_bibliography.adoc b/extensions/provenance/standard/sections/annex_bibliography.adoc index 620a6586..92489a31 100644 --- a/extensions/provenance/standard/sections/annex_bibliography.adoc +++ b/extensions/provenance/standard/sections/annex_bibliography.adoc @@ -19,5 +19,7 @@ Springer LNCS is widely used in technical and computer science journals and othe //// +* [[[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/clause_2_conformance.adoc b/extensions/provenance/standard/sections/clause_2_conformance.adoc index bec04fe6..312f8278 100644 --- a/extensions/provenance/standard/sections/clause_2_conformance.adoc +++ b/extensions/provenance/standard/sections/clause_2_conformance.adoc @@ -1,26 +1,23 @@ == Conformance -The OGC API - Processes - Part 4 Standard defines the following requirements classes. +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 4 must conform with. +This class specifies requirements that any Web API implementing Processes Part 5 must conform with. -The `Job Management` class does not mandate a specific encoding for the job definition. -However, the Part 4 extension defines the following conformance class: +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 `OGC API - Processes - Workflow Execute Request` class defines that jobs can be created from an OGC API - Processes - Workflow Execute Request. - -The `OpenEO Process Graph` class defines that jobs can be created from an OpenEO Process Graph. - -The provenance information associated with a job is not mandated to be supported by the server. -A dedicated requirements class <> is defined for this feature. +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. The standardization target for all Conformance class defined in this Standard is “Web API”. diff --git a/extensions/provenance/standard/sections/clause_6_provenance.adoc b/extensions/provenance/standard/sections/clause_6_provenance.adoc index 31af67e7..766e928c 100644 --- a/extensions/provenance/standard/sections/clause_6_provenance.adoc +++ b/extensions/provenance/standard/sections/clause_6_provenance.adoc @@ -10,7 +10,7 @@ a workflow (<>). 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 link:https://www.w3.org/TR/prov-overview/[W3C PROV Overview] document. +For general information about provenance, see the <> document. include::../requirements/requirements_class_provenance.adoc[] From 3282c4329054ee9e372cfd9ab03e31475759e13e Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Thu, 9 Jul 2026 00:09:34 -0400 Subject: [PATCH 11/13] more part5: prov foreword updates --- .../standard/sections/clause_1_scope.adoc | 4 ---- .../standard/sections/clause_1_scope.adoc | 20 +++++++++---------- .../sections/clause_2_conformance.adoc | 6 ++++++ 3 files changed, 15 insertions(+), 15 deletions(-) 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/provenance/standard/sections/clause_1_scope.adoc b/extensions/provenance/standard/sections/clause_1_scope.adoc index 05009f15..a2640f43 100644 --- a/extensions/provenance/standard/sections/clause_1_scope.adoc +++ b/extensions/provenance/standard/sections/clause_1_scope.adoc @@ -1,19 +1,17 @@ == Scope -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. +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 4 Standard specifies: - -* How to manage job (create, update) resources. - -* How to submit a job with pending execution for parametrization inspection and validation. - -* How to trigger a pending job to initiate its execution. +Specifically, the Processes Part 5 Standard specifies: * How to handle provenance information associated with a job. -* Bridge job execution strategies between <>, <<<> and other standards. +* 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 index 312f8278..c7f09a2e 100644 --- a/extensions/provenance/standard/sections/clause_2_conformance.adoc +++ b/extensions/provenance/standard/sections/clause_2_conformance.adoc @@ -19,6 +19,12 @@ or process execution. Therefore, a server is not required to support < 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 From 8a249606f2d132cbed7e0c6bd8c53237aabe27dc Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Thu, 9 Jul 2026 00:38:54 -0400 Subject: [PATCH 12/13] move openapi part4/part5 prov schemas --- .../abstract_tests/ATS_class_prov.adoc | 1 - .../abstract_tests/prov/prov/ATS_get-op.adoc | 2 -- .../job-prov/PER_content-negotiation.adoc | 10 ++++---- .../job-prov/REQ_job-status-link.adoc | 3 --- ogcapi-ogc-org-processes-overview.md | 2 +- openapi/ogcapi-processes.yaml | 23 ++++++++++++------- .../pJobProvenance.yaml | 9 +++++--- .../processes-provenance/rJobProvMissing.yaml | 13 +++++++++++ .../rJobProvUnsupportedFormat.yaml | 13 +++++++++++ .../rJobProvenance.yaml | 6 +++++ 10 files changed, 58 insertions(+), 24 deletions(-) create mode 100644 openapi/responses/processes-provenance/rJobProvMissing.yaml create mode 100644 openapi/responses/processes-provenance/rJobProvUnsupportedFormat.yaml rename openapi/responses/{processes-job-management => processes-provenance}/rJobProvenance.yaml (73%) diff --git a/extensions/provenance/standard/abstract_tests/ATS_class_prov.adoc b/extensions/provenance/standard/abstract_tests/ATS_class_prov.adoc index d568b6ad..4fc5f06a 100644 --- a/extensions/provenance/standard/abstract_tests/ATS_class_prov.adoc +++ b/extensions/provenance/standard/abstract_tests/ATS_class_prov.adoc @@ -12,4 +12,3 @@ conformance-test:: /conf/prov/prov/get-op ==== PROV operation include::prov/prov/ATS_get-op.adoc[] - 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 index d01d1a58..c0382cb2 100644 --- a/extensions/provenance/standard/abstract_tests/prov/prov/ATS_get-op.adoc +++ b/extensions/provenance/standard/abstract_tests/prov/prov/ATS_get-op.adoc @@ -20,5 +20,3 @@ test-method:: 5. Validate that the response structure respects the provenance schema if applicable. -- ==== - - 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 index 097176c4..c37e0f07 100644 --- a/extensions/provenance/standard/recommendations/provenance/job-prov/PER_content-negotiation.adoc +++ b/extensions/provenance/standard/recommendations/provenance/job-prov/PER_content-negotiation.adoc @@ -12,8 +12,7 @@ Content negotiation MAY be supported to provide alternate representations of the [.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 link:https://www.w3.org/TR/2013/NOTE-prov-overview-20130430/[PROV] representation +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. -- @@ -22,16 +21,15 @@ link:https://openprovenance.org/prov-jsonld/schema.json[PROV-JSONLD] schema. -- 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 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. +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:https://www.w3.org/TR/2013/REC-prov-dm-20130430/[PROV-DM] data model. +of the link:http://www.w3.org/TR/prov-dm/[PROV-DM] data model. -- [.component,class=part] 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 index b1d349ce..9a34b8fe 100644 --- 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 @@ -27,6 +27,3 @@ corresponding `type` attribute and the same `rel="https://www.w3.org/ns/prov"` r -- ==== - - - diff --git a/ogcapi-ogc-org-processes-overview.md b/ogcapi-ogc-org-processes-overview.md index edf26316..d19b0ceb 100644 --- a/ogcapi-ogc-org-processes-overview.md +++ b/ogcapi-ogc-org-processes-overview.md @@ -98,7 +98,7 @@ Trigger execution of an existing job. ## Overview of OGC API - Processes - Part 5: Provenance ``` -GET /jobs/{jobID}/results/prov +GET /jobs/{jobID}/prov ``` Returns provenance details of a completed job. 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: From 3ec8da25070a398606c75724d0fb547973465a84 Mon Sep 17 00:00:00 2001 From: fmigneault <19194484+fmigneault@users.noreply.github.com> Date: Thu, 9 Jul 2026 04:39:16 +0000 Subject: [PATCH 13/13] Auto-update OpenAPI bundle --- openapi/ogcapi-processes.bundled.json | 83 ++++++++++++++++++++++++--- 1 file changed, 76 insertions(+), 7 deletions(-) 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": {