:py:mod:`wfexs_backend.utils.rocrate`
=====================================

.. py:module:: wfexs_backend.utils.rocrate

.. autodoc2-docstring:: wfexs_backend.utils.rocrate
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`ReproducibilityLevel <wfexs_backend.utils.rocrate.ReproducibilityLevel>`
     -
   * - :py:obj:`ContainerTypeMetadata <wfexs_backend.utils.rocrate.ContainerTypeMetadata>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContainerTypeMetadata
          :summary:
   * - :py:obj:`ROCratePayload <wfexs_backend.utils.rocrate.ROCratePayload>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCratePayload
          :summary:
   * - :py:obj:`ContainerImageAdditionalType <wfexs_backend.utils.rocrate.ContainerImageAdditionalType>`
     -
   * - :py:obj:`ROCrateToolbox <wfexs_backend.utils.rocrate.ROCrateToolbox>`
     -

Functions
~~~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`ReadROCrateMetadata <wfexs_backend.utils.rocrate.ReadROCrateMetadata>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ReadROCrateMetadata
          :summary:

Data
~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`ContainerTypeMetadataDetails <wfexs_backend.utils.rocrate.ContainerTypeMetadataDetails>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContainerTypeMetadataDetails
          :summary:
   * - :py:obj:`ApplicationCategory2ContainerType <wfexs_backend.utils.rocrate.ApplicationCategory2ContainerType>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ApplicationCategory2ContainerType
          :summary:
   * - :py:obj:`WORKFLOW_RUN_BASE <wfexs_backend.utils.rocrate.WORKFLOW_RUN_BASE>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WORKFLOW_RUN_BASE
          :summary:
   * - :py:obj:`WORKFLOW_RUN_CONTEXT <wfexs_backend.utils.rocrate.WORKFLOW_RUN_CONTEXT>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WORKFLOW_RUN_CONTEXT
          :summary:
   * - :py:obj:`WORKFLOW_RUN_NAMESPACE <wfexs_backend.utils.rocrate.WORKFLOW_RUN_NAMESPACE>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WORKFLOW_RUN_NAMESPACE
          :summary:
   * - :py:obj:`WFEXS_TERMS_BASE <wfexs_backend.utils.rocrate.WFEXS_TERMS_BASE>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WFEXS_TERMS_BASE
          :summary:
   * - :py:obj:`WFEXS_TERMS_CONTEXT <wfexs_backend.utils.rocrate.WFEXS_TERMS_CONTEXT>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WFEXS_TERMS_CONTEXT
          :summary:
   * - :py:obj:`WFEXS_TERMS_NAMESPACE <wfexs_backend.utils.rocrate.WFEXS_TERMS_NAMESPACE>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WFEXS_TERMS_NAMESPACE
          :summary:
   * - :py:obj:`CONTAINER_DOCKERIMAGE_SHORT <wfexs_backend.utils.rocrate.CONTAINER_DOCKERIMAGE_SHORT>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.CONTAINER_DOCKERIMAGE_SHORT
          :summary:
   * - :py:obj:`CONTAINER_SIFIMAGE_SHORT <wfexs_backend.utils.rocrate.CONTAINER_SIFIMAGE_SHORT>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.CONTAINER_SIFIMAGE_SHORT
          :summary:
   * - :py:obj:`ContentWithURIsMIMEs <wfexs_backend.utils.rocrate.ContentWithURIsMIMEs>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContentWithURIsMIMEs
          :summary:
   * - :py:obj:`RevContentWithURIsMIMEs <wfexs_backend.utils.rocrate.RevContentWithURIsMIMEs>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.RevContentWithURIsMIMEs
          :summary:
   * - :py:obj:`StrContainerAdditionalType2ContainerImageAdditionalType <wfexs_backend.utils.rocrate.StrContainerAdditionalType2ContainerImageAdditionalType>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.StrContainerAdditionalType2ContainerImageAdditionalType
          :summary:
   * - :py:obj:`ContainerType2AdditionalType <wfexs_backend.utils.rocrate.ContainerType2AdditionalType>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContainerType2AdditionalType
          :summary:
   * - :py:obj:`AdditionalType2ContainerType <wfexs_backend.utils.rocrate.AdditionalType2ContainerType>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.AdditionalType2ContainerType
          :summary:
   * - :py:obj:`ROCRATE_JSONLD_FILENAME <wfexs_backend.utils.rocrate.ROCRATE_JSONLD_FILENAME>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCRATE_JSONLD_FILENAME
          :summary:
   * - :py:obj:`LEGACY_ROCRATE_JSONLD_FILENAME <wfexs_backend.utils.rocrate.LEGACY_ROCRATE_JSONLD_FILENAME>`
     - .. autodoc2-docstring:: wfexs_backend.utils.rocrate.LEGACY_ROCRATE_JSONLD_FILENAME
          :summary:

API
~~~

.. py:class:: ReproducibilityLevel()
   :canonical: wfexs_backend.utils.rocrate.ReproducibilityLevel

   Bases: :py:obj:`enum.IntEnum`

   .. py:attribute:: Minimal
      :canonical: wfexs_backend.utils.rocrate.ReproducibilityLevel.Minimal
      :value: 'auto(...)'

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ReproducibilityLevel.Minimal

   .. py:attribute:: Metadata
      :canonical: wfexs_backend.utils.rocrate.ReproducibilityLevel.Metadata
      :value: 'auto(...)'

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ReproducibilityLevel.Metadata

   .. py:attribute:: Full
      :canonical: wfexs_backend.utils.rocrate.ReproducibilityLevel.Full
      :value: 'auto(...)'

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ReproducibilityLevel.Full

.. py:class:: ContainerTypeMetadata
   :canonical: wfexs_backend.utils.rocrate.ContainerTypeMetadata

   Bases: :py:obj:`typing.NamedTuple`

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContainerTypeMetadata

   .. py:attribute:: sa_id
      :canonical: wfexs_backend.utils.rocrate.ContainerTypeMetadata.sa_id
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContainerTypeMetadata.sa_id

   .. py:attribute:: applicationCategory
      :canonical: wfexs_backend.utils.rocrate.ContainerTypeMetadata.applicationCategory
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContainerTypeMetadata.applicationCategory

   .. py:attribute:: ct_applicationCategory
      :canonical: wfexs_backend.utils.rocrate.ContainerTypeMetadata.ct_applicationCategory
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContainerTypeMetadata.ct_applicationCategory

.. py:class:: ROCratePayload
   :canonical: wfexs_backend.utils.rocrate.ROCratePayload

   Bases: :py:obj:`typing.NamedTuple`

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCratePayload

   .. py:attribute:: rel_path
      :canonical: wfexs_backend.utils.rocrate.ROCratePayload.rel_path
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCratePayload.rel_path

   .. py:attribute:: path
      :canonical: wfexs_backend.utils.rocrate.ROCratePayload.path
      :type: pathlib.Path
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCratePayload.path

   .. py:attribute:: signature
      :canonical: wfexs_backend.utils.rocrate.ROCratePayload.signature
      :type: Optional[Fingerprint]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCratePayload.signature

.. py:data:: ContainerTypeMetadataDetails
   :canonical: wfexs_backend.utils.rocrate.ContainerTypeMetadataDetails
   :type: Final[Mapping[ContainerType, ContainerTypeMetadata]]
   :value: None

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContainerTypeMetadataDetails

.. py:data:: ApplicationCategory2ContainerType
   :canonical: wfexs_backend.utils.rocrate.ApplicationCategory2ContainerType
   :type: Final[Mapping[str, ContainerType]]
   :value: None

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ApplicationCategory2ContainerType

.. py:data:: WORKFLOW_RUN_BASE
   :canonical: wfexs_backend.utils.rocrate.WORKFLOW_RUN_BASE
   :type: Final[str]
   :value: 'https://w3id.org/ro/terms/workflow-run'

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WORKFLOW_RUN_BASE

.. py:data:: WORKFLOW_RUN_CONTEXT
   :canonical: wfexs_backend.utils.rocrate.WORKFLOW_RUN_CONTEXT
   :type: Final[str]
   :value: None

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WORKFLOW_RUN_CONTEXT

.. py:data:: WORKFLOW_RUN_NAMESPACE
   :canonical: wfexs_backend.utils.rocrate.WORKFLOW_RUN_NAMESPACE
   :type: Final[str]
   :value: None

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WORKFLOW_RUN_NAMESPACE

.. py:data:: WFEXS_TERMS_BASE
   :canonical: wfexs_backend.utils.rocrate.WFEXS_TERMS_BASE
   :type: Final[str]
   :value: 'https://w3id.org/ro/terms/wfexs'

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WFEXS_TERMS_BASE

.. py:data:: WFEXS_TERMS_CONTEXT
   :canonical: wfexs_backend.utils.rocrate.WFEXS_TERMS_CONTEXT
   :type: Final[str]
   :value: None

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WFEXS_TERMS_CONTEXT

.. py:data:: WFEXS_TERMS_NAMESPACE
   :canonical: wfexs_backend.utils.rocrate.WFEXS_TERMS_NAMESPACE
   :type: Final[str]
   :value: None

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.WFEXS_TERMS_NAMESPACE

.. py:data:: CONTAINER_DOCKERIMAGE_SHORT
   :canonical: wfexs_backend.utils.rocrate.CONTAINER_DOCKERIMAGE_SHORT
   :type: Final[str]
   :value: 'DockerImage'

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.CONTAINER_DOCKERIMAGE_SHORT

.. py:data:: CONTAINER_SIFIMAGE_SHORT
   :canonical: wfexs_backend.utils.rocrate.CONTAINER_SIFIMAGE_SHORT
   :type: Final[str]
   :value: 'SIFImage'

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.CONTAINER_SIFIMAGE_SHORT

.. py:data:: ContentWithURIsMIMEs
   :canonical: wfexs_backend.utils.rocrate.ContentWithURIsMIMEs
   :value: None

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContentWithURIsMIMEs

.. py:data:: RevContentWithURIsMIMEs
   :canonical: wfexs_backend.utils.rocrate.RevContentWithURIsMIMEs
   :value: 'dict(...)'

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.RevContentWithURIsMIMEs

.. py:class:: ContainerImageAdditionalType(*args, **kwds)
   :canonical: wfexs_backend.utils.rocrate.ContainerImageAdditionalType

   Bases: :py:obj:`enum.Enum`

   .. py:attribute:: Docker
      :canonical: wfexs_backend.utils.rocrate.ContainerImageAdditionalType.Docker
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContainerImageAdditionalType.Docker

   .. py:attribute:: Singularity
      :canonical: wfexs_backend.utils.rocrate.ContainerImageAdditionalType.Singularity
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContainerImageAdditionalType.Singularity

.. py:data:: StrContainerAdditionalType2ContainerImageAdditionalType
   :canonical: wfexs_backend.utils.rocrate.StrContainerAdditionalType2ContainerImageAdditionalType
   :type: Final[Mapping[str, ContainerImageAdditionalType]]
   :value: None

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.StrContainerAdditionalType2ContainerImageAdditionalType

.. py:data:: ContainerType2AdditionalType
   :canonical: wfexs_backend.utils.rocrate.ContainerType2AdditionalType
   :type: Final[Mapping[ContainerType, ContainerImageAdditionalType]]
   :value: None

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ContainerType2AdditionalType

.. py:data:: AdditionalType2ContainerType
   :canonical: wfexs_backend.utils.rocrate.AdditionalType2ContainerType
   :type: Final[Mapping[ContainerImageAdditionalType, ContainerType]]
   :value: None

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.AdditionalType2ContainerType

.. py:exception:: ROCrateToolboxException()
   :canonical: wfexs_backend.utils.rocrate.ROCrateToolboxException

   Bases: :py:obj:`Exception`

.. py:data:: ROCRATE_JSONLD_FILENAME
   :canonical: wfexs_backend.utils.rocrate.ROCRATE_JSONLD_FILENAME
   :type: Final[str]
   :value: 'ro-crate-metadata.json'

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCRATE_JSONLD_FILENAME

.. py:data:: LEGACY_ROCRATE_JSONLD_FILENAME
   :canonical: wfexs_backend.utils.rocrate.LEGACY_ROCRATE_JSONLD_FILENAME
   :type: Final[str]
   :value: 'ro-crate-metadata.jsonld'

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.LEGACY_ROCRATE_JSONLD_FILENAME

.. py:function:: ReadROCrateMetadata(workflowROCrateFilename: pathlib.Path, public_name: str) -> Tuple[Any, Optional[pathlib.Path]]
   :canonical: wfexs_backend.utils.rocrate.ReadROCrateMetadata

   .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ReadROCrateMetadata

.. py:class:: ROCrateToolbox(wfexs: wfexs_backend.wfexs_backend.WfExSBackend)
   :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox

   Bases: :py:obj:`abc.ABC`

   .. py:attribute:: RELATIVE_ROCRATE_SCHEME
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.RELATIVE_ROCRATE_SCHEME
      :type: Final[str]
      :value: 'rel-crate'

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.RELATIVE_ROCRATE_SCHEME

   .. py:attribute:: RELATIVE_ROCRATE_SPARQL_BASE
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.RELATIVE_ROCRATE_SPARQL_BASE
      :type: Final[str]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.RELATIVE_ROCRATE_SPARQL_BASE

   .. py:attribute:: RELATIVE_ROCRATE_NS
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.RELATIVE_ROCRATE_NS
      :type: Final[str]
      :value: 'crate'

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.RELATIVE_ROCRATE_NS

   .. py:attribute:: SCHEMA_ORG_PREFIX
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.SCHEMA_ORG_PREFIX
      :type: Final[str]
      :value: 'http://schema.org/'

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.SCHEMA_ORG_PREFIX

   .. py:attribute:: SPARQL_NS
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.SPARQL_NS
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.SPARQL_NS

   .. py:attribute:: LEAF_TYPE_2_ADDITIONAL_TYPE
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.LEAF_TYPE_2_ADDITIONAL_TYPE
      :type: Final[Mapping[str, str]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.LEAF_TYPE_2_ADDITIONAL_TYPE

   .. py:attribute:: LEAF_TYPE_2_OUTPUT_ADDITIONAL_TYPE
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.LEAF_TYPE_2_OUTPUT_ADDITIONAL_TYPE
      :type: Final[Mapping[str, str]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.LEAF_TYPE_2_OUTPUT_ADDITIONAL_TYPE

   .. py:attribute:: IS_ROCRATE_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.IS_ROCRATE_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.IS_ROCRATE_SPARQL

   .. py:attribute:: GET_LICENCES_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.GET_LICENCES_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.GET_LICENCES_SPARQL

   .. py:method:: identifyROCrate(jsonld: Mapping[str, Any], public_name: str) -> Tuple[Optional[rdflib.query.ResultRow], rdflib.graph.Graph]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.identifyROCrate

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.identifyROCrate

   .. py:attribute:: OBTAIN_WORKFLOW_PID_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_WORKFLOW_PID_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_WORKFLOW_PID_SPARQL

   .. py:attribute:: LIST_PARTS_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.LIST_PARTS_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.LIST_PARTS_SPARQL

   .. py:attribute:: OBTAIN_RUNS_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_RUNS_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_RUNS_SPARQL

   .. py:attribute:: OBTAIN_RUN_CONTAINERS_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_RUN_CONTAINERS_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_RUN_CONTAINERS_SPARQL

   .. py:attribute:: OBTAIN_WORKFLOW_INPUTS_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_WORKFLOW_INPUTS_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_WORKFLOW_INPUTS_SPARQL

   .. py:attribute:: OBTAIN_WORKFLOW_ENV_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_WORKFLOW_ENV_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_WORKFLOW_ENV_SPARQL

   .. py:attribute:: OBTAIN_WORKFLOW_OUTPUTS_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_WORKFLOW_OUTPUTS_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_WORKFLOW_OUTPUTS_SPARQL

   .. py:attribute:: OBTAIN_EXECUTION_INPUTS_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_EXECUTION_INPUTS_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_EXECUTION_INPUTS_SPARQL

   .. py:attribute:: OBTAIN_EXECUTION_ENV_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_EXECUTION_ENV_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_EXECUTION_ENV_SPARQL

   .. py:attribute:: OBTAIN_EXECUTION_OUTPUTS_SPARQL
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_EXECUTION_OUTPUTS_SPARQL
      :type: Final[str]
      :value: <Multiline-String>

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.OBTAIN_EXECUTION_OUTPUTS_SPARQL

   .. py:method:: _parseContainersFromWorkflow(g: rdflib.graph.Graph, main_entity: rdflib.term.Identifier, payload_dir: Optional[pathlib.Path] = None) -> Optional[Tuple[ContainerType, Sequence[Container]]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox._parseContainersFromWorkflow

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox._parseContainersFromWorkflow

   .. py:method:: _parseContainersFromExecution(g: rdflib.graph.Graph, execution: rdflib.term.Identifier, main_entity: rdflib.term.Identifier, payload_dir: Optional[pathlib.Path] = None) -> Optional[Tuple[ContainerType, Sequence[Container]]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox._parseContainersFromExecution

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox._parseContainersFromExecution

   .. py:method:: __parseContainersResults(qcontainersres: rdflib.query.Result, main_entity: rdflib.term.Identifier, payload_dir: Optional[pathlib.Path] = None) -> Optional[Tuple[ContainerType, Sequence[Container]]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.__parseContainersResults

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.__parseContainersResults

   .. py:method:: _parseOutputsFromExecution(g: rdflib.graph.Graph, execution: rdflib.term.Identifier, main_entity: rdflib.term.Identifier, public_name: str) -> wfexs_backend.workflow.OutputsBlock
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox._parseOutputsFromExecution

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox._parseOutputsFromExecution

   .. py:method:: _parseOutputsFromMainEntity(g: rdflib.graph.Graph, main_entity: rdflib.term.Identifier, public_name: str) -> wfexs_backend.workflow.OutputsBlock
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox._parseOutputsFromMainEntity

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox._parseOutputsFromMainEntity

   .. py:method:: __parseOutputsResults(qoutputsres: rdflib.query.Result, g: rdflib.graph.Graph, public_name: str) -> wfexs_backend.workflow.OutputsBlock
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.__parseOutputsResults

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.__parseOutputsResults

   .. py:method:: _parseInputsFromExecution(g: rdflib.graph.Graph, execution: rdflib.term.Identifier, main_entity: rdflib.term.Identifier, default_licences: Sequence[str], public_name: str, payload_dir: Optional[pathlib.Path] = None) -> Tuple[ParamsBlock, Optional[Sequence[MaterializedInput]]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox._parseInputsFromExecution

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox._parseInputsFromExecution

   .. py:method:: _parseInputsFromMainEntity(g: rdflib.graph.Graph, main_entity: rdflib.term.Identifier, default_licences: Sequence[str], public_name: str, payload_dir: Optional[pathlib.Path] = None) -> Tuple[ParamsBlock, Optional[Sequence[MaterializedInput]]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox._parseInputsFromMainEntity

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox._parseInputsFromMainEntity

   .. py:method:: __processPayloadInput(inputrow: rdflib.query.ResultRow, payload_dir: pathlib.Path, the_uri: str, licences: Sequence[str], input_type: str, kindobj: wfexs_backend.common.ContentKind, cached_inputs_hash: MutableMapping[str, MaterializedInput]) -> MutableMapping[str, MaterializedInput]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.__processPayloadInput

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.__processPayloadInput

   .. py:method:: __parseInputsResults(qinputsres: rdflib.query.Result, g: rdflib.graph.Graph, default_licences: Sequence[str], public_name: str, payload_dir: Optional[pathlib.Path] = None) -> Tuple[ParamsBlock, Optional[Sequence[MaterializedInput]]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.__parseInputsResults

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.__parseInputsResults

   .. py:method:: _parseEnvFromExecution(g: rdflib.graph.Graph, execution: rdflib.term.Identifier, main_entity: rdflib.term.Identifier, default_licences: Sequence[str], public_name: str, payload_dir: Optional[pathlib.Path] = None) -> Tuple[EnvironmentBlock, Optional[Sequence[MaterializedInput]]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox._parseEnvFromExecution

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox._parseEnvFromExecution

   .. py:method:: _parseEnvFromMainEntity(g: rdflib.graph.Graph, main_entity: rdflib.term.Identifier, default_licences: Sequence[str], public_name: str, payload_dir: Optional[pathlib.Path] = None) -> Tuple[EnvironmentBlock, Optional[Sequence[MaterializedInput]]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox._parseEnvFromMainEntity

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox._parseEnvFromMainEntity

   .. py:method:: __parseEnvResults(qenvres: rdflib.query.Result, g: rdflib.graph.Graph, default_licences: Sequence[str], public_name: str, payload_dir: Optional[pathlib.Path] = None) -> Tuple[EnvironmentBlock, Optional[Sequence[MaterializedInput]]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.__parseEnvResults

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.__parseEnvResults

   .. py:method:: _getLicences(g: rdflib.graph.Graph, entity: rdflib.term.Identifier, public_name: str) -> Sequence[str]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox._getLicences

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox._getLicences

   .. py:method:: __processPayloadEntity(the_entity: rdflib.term.Identifier, payload_dir: pathlib.Path, kindobj: wfexs_backend.common.ContentKind, entity_type: str, entity_name: str, the_file_size: rdflib.term.Node, the_file_sha256: rdflib.term.Node) -> Optional[ROCratePayload]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.__processPayloadEntity

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.__processPayloadEntity

   .. py:method:: __list_entity_parts(g: rdflib.graph.Graph, entity: rdflib.term.Identifier, public_name: str) -> rdflib.query.Result
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.__list_entity_parts

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.__list_entity_parts

   .. py:method:: __list_payload_entity_parts(g: rdflib.graph.Graph, entity: rdflib.term.Identifier, public_name: str, payload_dir: pathlib.Path) -> Sequence[Union[str, ROCratePayload]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.__list_payload_entity_parts

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.__list_payload_entity_parts

   .. py:method:: extractWorkflowMetadata(g: rdflib.graph.Graph, main_entity: rdflib.term.Identifier, default_repo: Optional[str], public_name: str, payload_dir: Optional[pathlib.Path] = None) -> Tuple[RemoteRepo, WorkflowType, Optional[LocalWorkflow]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.extractWorkflowMetadata

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.extractWorkflowMetadata

   .. py:method:: generateWorkflowMetaFromJSONLD(jsonld_obj: Mapping[str, Any], public_name: str, retrospective_first: bool = True, reproducibility_level: wfexs_backend.utils.rocrate.ReproducibilityLevel = ReproducibilityLevel.Metadata, strict_reproducibility_level: bool = False, payload_dir: Optional[pathlib.Path] = None) -> Tuple[RemoteRepo, WorkflowType, ContainerType, ParamsBlock, Optional[Sequence[str]], EnvironmentBlock, OutputsBlock, Optional[LocalWorkflow], Sequence[Container], Optional[Sequence[MaterializedInput]], Optional[Sequence[MaterializedInput]]]
      :canonical: wfexs_backend.utils.rocrate.ROCrateToolbox.generateWorkflowMetaFromJSONLD

      .. autodoc2-docstring:: wfexs_backend.utils.rocrate.ROCrateToolbox.generateWorkflowMetaFromJSONLD
