diff --git a/.copier-answers.yml b/.copier-answers.yml index f4179013..caa36ad9 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: v0.4.1 +_commit: v0.4.2 _src_path: https://github.com/linkml/linkml-project-copier add_example: true copyright_year: '2025' @@ -9,15 +9,14 @@ gh_action_docs_preview: true gh_action_pypi: true github_org: nfdi-de license: MIT -project_description: "This metadata schema is an Extension of the DCAT Application\ - \ Profile for Providing Links to Use-case Specific Context. It allows to provide\ - \ additional metadata regarding: which kind(s) of entity(s) or activity(s)\ - \ were evaluated (the dcat:Dataset is about), which kind of activity generated\ - \ the dcat:Dataset, which kind of instruments were used in the dataset generating\ - \ activity, in which surrounding (e.g. a laboratory) and according to which\ - \ plan the dataset generating activity took place, as well as regarding which\ - \ kind(s) of qualitative and quantitative characteristic were attributed to\ - \ the evaluated entity or evaluated activity and to the used instruments." +project_description: 'This metadata schema is an Extension of the DCAT Application + Profile for Providing Links to Use-case Specific Context. It allows to provide + additional metadata regarding: which kind(s) of entity(s) or activity(s) were + evaluated (the dcat:Dataset is about), which kind of activity generated the dcat:Dataset, + which kind of instruments were used in the dataset generating activity, in which + surrounding (e.g. a laboratory) and according to which plan the dataset generating + activity took place, as well as regarding which kind(s) of qualitative and quantitative + characteristic were attributed to the evaluated entity or evaluated activity and + to the used instruments.' project_name: dcat-ap-plus project_slug: dcat_ap_plus - diff --git a/.github/dependabot.yml b/.github/dependabot.yml index da995f76..11ea0b64 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,5 +1,6 @@ -# Please see the documentation for all configuration options: -# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference +# This configures updates via dependabot only for github actions. +# All updates are grouped into a single PR. +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates version: 2 updates: @@ -7,3 +8,7 @@ updates: directory: "/" schedule: interval: monthly + groups: + github-actions: + patterns: + - "*" diff --git a/.github/workflows/deploy-docs.yaml b/.github/workflows/deploy-docs.yaml index 3b71e629..523e5ef3 100644 --- a/.github/workflows/deploy-docs.yaml +++ b/.github/workflows/deploy-docs.yaml @@ -2,7 +2,7 @@ name: Deploy docs on: # yamllint disable-line rule:truthy push: - tags: + branches: [main] - 'v[0-9]+.[0-9]+.[0-9]+' - 'v[0-9]+.[0-9]+.[0-9]+rc[0-9]' branches: @@ -18,6 +18,10 @@ jobs: build-docs: runs-on: ubuntu-latest + strategy: + matrix: + pyversion: ["3.13"] + # Grant GITHUB_TOKEN the permissions required to make a gh-pages deployment permissions: contents: write # to let mkdocs write the new docs @@ -42,7 +46,7 @@ jobs: - name: Install uv uses: astral-sh/setup-uv@v7.3.1 with: - python-version: 3.13 + python-version: ${{ matrix.pyversion }} enable-cache: true cache-dependency-glob: "uv.lock" @@ -50,7 +54,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6.2.0 with: - python-version: 3.13 + python-version: ${{ matrix.pyversion }} - name: Install just run: | diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 90ba4b23..59201744 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13"] fail-fast: false steps: diff --git a/.github/workflows/pypi-publish.yaml b/.github/workflows/pypi-publish.yaml index aa07f1ae..c6949e1c 100644 --- a/.github/workflows/pypi-publish.yaml +++ b/.github/workflows/pypi-publish.yaml @@ -25,6 +25,10 @@ jobs: name: Build Python 🐍 distributions 📦 for publishing runs-on: ubuntu-latest + strategy: + matrix: + pyversion: ["3.13"] + steps: # https://github.com/actions/checkout - name: Check out repository @@ -36,14 +40,14 @@ jobs: - name: Install uv uses: astral-sh/setup-uv@v7.3.1 with: - python-version: 3.13 + python-version: ${{ matrix.pyversion }} enable-cache: true # https://github.com/actions/setup-python - name: Set up Python uses: actions/setup-python@v6.2.0 with: - python-version: 3.13 + python-version: ${{ matrix.pyversion }} - name: Install just run: | diff --git a/.github/workflows/test_pages_build.yaml b/.github/workflows/test_pages_build.yaml index 9632039e..93de0c1c 100644 --- a/.github/workflows/test_pages_build.yaml +++ b/.github/workflows/test_pages_build.yaml @@ -16,7 +16,7 @@ permissions: {} jobs: run: - # Don't run for PRs from forks + # Don't run for PRs from forks which fails due to lack of permissions. if: github.event.pull_request.head.repo.full_name == github.repository # Grant GITHUB_TOKEN the permissions required to make a gh-pages deployment permissions: @@ -25,6 +25,11 @@ jobs: id-token: write # allow to generate an OpenID Connect (OIDC) token pull-requests: write # add comment on the PR with the preview URL runs-on: ubuntu-latest + + strategy: + matrix: + pyversion: ["3.13"] + steps: # https://github.com/actions/checkout - name: Checkout @@ -33,16 +38,16 @@ jobs: fetch-depth: 0 # https://github.com/actions/setup-python - - name: Set up Python 3 + - name: Set up Python uses: actions/setup-python@v6.2.0 with: - python-version: 3.13 + python-version: ${{ matrix.pyversion }} # https://github.com/astral-sh/setup-uv - name: Install uv uses: astral-sh/setup-uv@v7.3.1 with: - python-version: 3.13 + python-version: ${{ matrix.pyversion }} enable-cache: true cache-dependency-glob: "uv.lock" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6b81a7c4..312cf47c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,11 +7,13 @@ repos: - id: check-toml - id: check-yaml - id: end-of-file-fixer + exclude: '^(.*\.svg)$' - id: trailing-whitespace + exclude: '^(.*\.svg)$' args: [--markdown-linebreak-ext=md] - repo: https://github.com/adrienverge/yamllint.git - rev: v1.37.1 + rev: v1.38.0 hooks: - id: yamllint args: [-c=.yamllint.yaml] @@ -24,13 +26,14 @@ repos: - tomli - repo: https://github.com/crate-ci/typos - rev: v1.39.2 + rev: v1.44.0 hooks: - id: typos + exclude: '^(.*\.svg)$' - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.14.6 + rev: v0.15.4 hooks: # Run the linter. - id: ruff @@ -40,6 +43,6 @@ repos: - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.9.11 + rev: 0.10.7 hooks: - id: uv-lock diff --git a/README.md b/README.md index da93be73..533796af 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,18 @@ [![DOI](https://zenodo.org/badge/1080296103.svg)](https://doi.org/10.5281/zenodo.17702369) [![PyPI - Version](https://img.shields.io/pypi/v/dcat-ap-plus)](https://pypi.org/project/dcat-ap-plus) [![Build and test](https://github.com/nfdi-de/dcat-ap-plus/actions/workflows/main.yaml/badge.svg)](https://github.com/nfdi-de/dcat-ap-plus/actions/workflows/main.yaml) -[![Copier Badge](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-teal.json)](https://github.com/linkml/linkml-project-copier) +[![Copier Badge](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-teal.json)](https://github.com/linkml/linkml-project-copier) # DCAT Application Profile for Providing Links to Use-case Specific Context (DCAT-AP+) The LinkML schema provided in this repository is an extension of the [DCAT Application Profile](https://semiceu.github.io/DCAT-AP/releases/3.0.0/), which allows to provide additional metadata for a `dcat:Dataset` in a very generic manner, such as: -* which kind(s) of entity(s) or activity(s) were evaluated, -* which kind of activity generated the `dcat:Dataset`, -* which kind of instruments were used in the dataset generating activity, -* in which surrounding (e.g. a laboratory) and according to which plan the dataset generating activity took place, +* which kind(s) of entity(s) or activity(s) were evaluated, +* which kind of activity generated the `dcat:Dataset`, +* which kind of instruments were used in the dataset generating activity, +* in which surrounding (e.g. a laboratory) and according to which plan the dataset generating activity took place, * as well as which kind(s) of qualitative and quantitative characteristic(s) were attributed to the evaluated entity or evaluated activity and to the used instruments. -This extension is mainly based on the [Starting Point Terms of the Provenance Ontology (PROV-O)](https://www.w3.org/TR/prov-o/#description-starting-point-terms), +This extension is mainly based on the [Starting Point Terms of the Provenance Ontology (PROV-O)](https://www.w3.org/TR/prov-o/#description-starting-point-terms), in that it makes the `prov:wasGeneratedBy` property of the `Dataset` class mandatory and specifies necessary properties for its expected range, the `prov:Activity` class. The choice to use LinkML for extending DCAT-AP was based on the need to have different layers that cater to different domain-specific use cases. DCAT-AP+ serves as the basic layer for such extensions and is thus kept very generic. Being the basis of the [ChemDCAT-AP]( @@ -55,7 +55,7 @@ See also the documentation of the template: https://github.com/linkml/linkml-pro Note: Environments with private PyPi repository may need extra configuration (example): export UV_DEFAULT_INDEX=https://nexus.example.com/repository/pypi-all/simple -* +* Copier @@ -80,7 +80,7 @@ To regenerate the DCAT-AP LinkML representation as well as the PLUS extension ru uv run python src/dcat_ap_shacl_2_linkml.py -### Test data validation and convertion +### Test data validation and conversion Validate and test all: `just test` @@ -106,15 +106,15 @@ To convert the test datasets of each DCAT-AP profile into a TTL graph run: ```` ### Build GitHub pages docs locally - + uv run mkdocs serve - + rm -rf docs/elements/*.md && uv run gen-doc -d docs/elements src/dcat_ap_plus/schema/dcat_ap_plus.yaml ## Funding -This work was funded by the German Research Foundation (DFG) through the projects: -* "[NFDI4Cat](https://nfdi4cat.org/) - NFDI for Catalysis-Related Sciences" (DFG project no. [441926934](https://gepris.dfg.de/gepris/projekt/441926934)) and +This work was funded by the German Research Foundation (DFG) through the projects: +* "[NFDI4Cat](https://nfdi4cat.org/) - NFDI for Catalysis-Related Sciences" (DFG project no. [441926934](https://gepris.dfg.de/gepris/projekt/441926934)) and * "[NFDI4Chem](https://nfdi4chem.de) - NFDI for Chemistry" (DFG project no. [441958208](https://gepris.dfg.de/gepris/projekt/441958208))" within the National Research Data Infrastructure (NFDI) programme of the Joint Science Conference (GWK). diff --git a/README_pypkg.md b/README_pypkg.md index 4b399733..b99c42d3 100644 --- a/README_pypkg.md +++ b/README_pypkg.md @@ -1,10 +1,10 @@ # dcat_ap_plus An extension of the [DCAT Application Profile](https://semiceu.github.io/DCAT-AP/releases/3.0.0/), which allows to provide additional metadata for a `dcat:Dataset` in a very generic manner, such as: -* which kind(s) of entity(s) or activity(s) were evaluated, -* which kind of activity generated the `dcat:Dataset`, -* which kind of instruments were used in the dataset generating activity, -* in which surrounding (e.g. a laboratory) and according to which plan the dataset generating activity took place, +* which kind(s) of entity(s) or activity(s) were evaluated, +* which kind of activity generated the `dcat:Dataset`, +* which kind of instruments were used in the dataset generating activity, +* in which surrounding (e.g. a laboratory) and according to which plan the dataset generating activity took place, * as well as which kind(s) of qualitative and quantitative characteristic(s) were attributed to the evaluated entity or evaluated activity and to the used instruments. This package ships the LinkML-generated Python datamodel for the schema. diff --git a/config.public.mk b/config.public.mk index 4720a9db..a2b4b3d5 100644 --- a/config.public.mk +++ b/config.public.mk @@ -27,13 +27,10 @@ LINKML_GENERATORS_CONFIG_YAML=config.yaml LINKML_GENERATORS_DOC_ARGS="--truncate-descriptions False --hierarchical-class-view --subfolder-type-separation --index-name overview" ## pass args to workaround genowl rdfs config bug (linkml#1453) -## (i.e. --no-type-objects --no-metaclasses --metadata-profile rdfs) +## (i.e. --no-type-objects --no-metaclasses --metadata-profile=rdfs) +# LINKML_GENERATORS_OWL_ARGS="--no-type-objects --no-metaclasses --metadata-profile=rdfs" LINKML_GENERATORS_OWL_ARGS= -## pass args to trigger experimental java/typescript generation -LINKML_GENERATORS_JAVA_ARGS= -LINKML_GENERATORS_TYPESCRIPT_ARGS= - ## pass args to pydantic generator which isn't supported by gen-project ## https://github.com/linkml/linkml/issues/2537 LINKML_GENERATORS_PYDANTIC_ARGS= diff --git a/config.yaml b/config.yaml index 08ef3ea2..b8dbe23b 100644 --- a/config.yaml +++ b/config.yaml @@ -23,8 +23,10 @@ generator_args: mergeimports: true owl: mergeimports: true - metaclasses: true - type_objects: true + metaclasses: false + type_objects: false + # add_root_classes: true + # mixins_as_expressions: true # throws 'Cannot handle metadata profile: rdfs' # metadata_profile: rdfs markdown: diff --git a/docs/how-to-extend.md b/docs/how-to-extend.md index 49154a57..248423cf 100644 --- a/docs/how-to-extend.md +++ b/docs/how-to-extend.md @@ -15,7 +15,7 @@ DCAT-AP+ is designed to be imported and specialized. [ChemDCAT-AP](https://githu ## What you MAY do - **Subclass DCAT-AP+ classes** using `is_a` to create a new node shape with additional slots or stricter slot constraints. When you do so and also choose to map to a semantically narrower ontology term via `class_uri`, you should make sure to remain aligned with DCAT-AP+ for interoperability. See [Foundational principle: LinkML elements as SHACL shapes](design-patterns.md#foundational-principle-linkml-elements-as-shacl-shapes) for guidance. For example, ChemDCAT-AP defines `SubstanceSample` as `is_a: EvaluatedEntity` with `class_uri: SIO:001378`. -- **Create sub-slots** using `is_a` on slots for making stricter constraints. When you do so and also choose to map to a semantically narrower ontology term via `slot_uri`, you should make sure to remain aligned with DCAT-AP+ for interoperability. See [Foundational principle: LinkML elements as SHACL shapes](design-patterns.md#foundational-principle-linkml-elements-as-shacl-shapes) for guidance. For example, ChemDCAT-AP defines `used_catalyst` as `is_a: carried_out_by` with `slot_uri: RXNO:0000425`. +- **Create sub-slots** using `is_a` on slots for making stricter constraints. When you do so and also choose to map to a semantically narrower ontology term via `slot_uri`, you should make sure to remain aligned with DCAT-AP+ for interoperability. See [Foundational principle: LinkML elements as SHACL shapes](design-patterns.md#foundational-principle-linkml-elements-as-shacl-shapes) for guidance. For example, ChemDCAT-AP defines `used_catalyst` as `is_a: carried_out_by` with `slot_uri: RXNO:0000425`. - **Add new slots** to your domain classes. - **Constrain ranges** further (narrowing is allowed by DCAT-AP extension rules). - **Provide domain-specific enums** to bind `rdf_type` or `type` to specific controlled vocabularies. diff --git a/docs/index.md b/docs/index.md index 4e3e709b..d681952d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,8 +18,8 @@ description: "13C NMR spectral data for acetylsalicylic acid in CDCl3" was_generated_by: - id: ex:measurement-001 # an instance of the 13C NMR class from the Chemical Methods Ontology - rdf_type: - id: CHMO:0000595 + rdf_type: + id: CHMO:0000595 title: "carbon-13 nuclear magnetic resonance spectroscopy" evaluated_entity: - id: ex:sample-001 @@ -37,7 +37,7 @@ was_generated_by: - id: ex:spectrometer-001 # an instance of "JEOL ECX NMR spectrometer" class from OBI rdf_type: - id: OBI:0000625 + id: OBI:0000625 title: "JEOL ECX NMR spectrometer" ``` diff --git a/docs/js/extra-loader.js b/docs/js/extra-loader.js new file mode 100644 index 00000000..b095c53d --- /dev/null +++ b/docs/js/extra-loader.js @@ -0,0 +1,2 @@ +// See https://facelessuser.github.io/pymdown-extensions/extras/mermaid/#custom-loader +// And https://github.com/facelessuser/pymdown-extensions/blob/main/docs/src/js/material-extra-3rdparty.js diff --git a/docs/schema/README.md b/docs/schema/README.md index 782f8501..25d65089 100644 --- a/docs/schema/README.md +++ b/docs/schema/README.md @@ -1,23 +1,21 @@ # Merged model This folder contains the DCAT-AP+ model serialized as: -* LinkML YAML, -* JSON schema, -* JSON-LD (including context) +* LinkML YAML, +* JSON schema, +* JSON-LD (including context) * and SHACL shapes. -It also contains the prefix map in YAML and [dcat_ap_linkml.yaml](dcat_ap_linkml.yaml), +It also contains the prefix map in YAML and [dcat_ap_linkml.yaml](dcat_ap_linkml.yaml), the direct translation of DCAT-AP into LinkML. -These files are auto-generated from the schema in the `src/dcat_ap_plus/schema` folder and version-stamped by +These files are auto-generated from the schema in the `src/dcat_ap_plus/schema` folder and version-stamped by uv-dynamic-versioning. -For releases, these files are copied to gh-pages along with the rest of the documentation, +For releases, these files are copied to gh-pages along with the rest of the documentation, making schema files with version information available on gh-pages. The w3id.org redirects link to these files. -A fully resolved version of the DCAT-AP+ model with imported models merged in is located in the +A fully resolved version of the DCAT-AP+ model with imported models merged in is located in the subfolder [merged-yaml](merged-yaml). Note, that the generated files are git-ignored. - - diff --git a/justfile b/justfile index 37e3639f..18e8055a 100644 --- a/justfile +++ b/justfile @@ -263,7 +263,7 @@ set allow-duplicate-recipes # Overriding recipes from the root justfile by adding a recipe with the same # name in an imported file is not possible until a known issue in just is fixed, -# https://github.com/casey/just/issues/2540 +# https://github.com/casey/just/issues/2540 - So we need to override them here. # Custom recipe for dcat-ap-plus to add project-specific artifacts to the distribution schema path _add-artifacts: diff --git a/mkdocs.yml b/mkdocs.yml index 061231ea..107f7e29 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -40,18 +40,22 @@ theme: features: - content.tabs.link - - search.highlight - - navigation.expand - - navigation.instant + - header.autohide # maximum screen space during scrolling + + - navigation.expand # optimize user experience + - navigation.instant # optimize user experience - navigation.instant.progress - navigation.tracking + - search.highlight + - search.suggest # suggest good completions + - content.code.copy # enable copy to clipboard favicon: 'images/DCAT-AP-PLUS-Logo.svg' -# for adding extra css/js see https://www.mkdocs.org/user-guide/customizing-your-theme/ +# extra css/js see https://www.mkdocs.org/user-guide/customizing-your-theme/ extra_css: - stylesheets/extra.css - +extra_javascript: [] plugins: - search @@ -72,6 +76,25 @@ plugins: # scripts: # - gen_pages.py # or any other name or path + +markdown_extensions: + - admonition + - footnotes + - pymdownx.details + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + - pymdownx.superfences: + # https://mkdocs-mermaid2.readthedocs.io/en/latest/superfences + # custom code highlighting rules + custom_fences: + - name: mermaid + # disable code highlighting to display diagrams + class: mermaid + format: !!python/name:mermaid2.fence_mermaid_custom + - pymdownx.tasklist: + custom_checkbox: true + watch: - src/dcat_ap_plus/schema @@ -93,21 +116,6 @@ extra: default: - stable -markdown_extensions: - - admonition - - footnotes - - pymdownx.details - - pymdownx.emoji: - emoji_index: !!python/name:material.extensions.emoji.twemoji - emoji_generator: !!python/name:material.extensions.emoji.to_svg - - pymdownx.superfences: - # make exceptions to highlighting of code: - custom_fences: - - name: mermaid - class: mermaid - format: !!python/name:mermaid2.fence_mermaid_custom - - pymdownx.tasklist: - custom_checkbox: true exclude_docs: | /templates-linkml/ diff --git a/project/jsonld/dcat_ap_plus.context.jsonld b/project/jsonld/dcat_ap_plus.context.jsonld index 8b24779f..3282c4c9 100644 --- a/project/jsonld/dcat_ap_plus.context.jsonld +++ b/project/jsonld/dcat_ap_plus.context.jsonld @@ -1,9 +1,4 @@ { - "comments": { - "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2025-11-24T16:42:40", - "source": "dcat_ap_plus.yaml" - }, "@context": { "xsd": "http://www.w3.org/2001/XMLSchema#", "AFE": { @@ -34,7 +29,7 @@ "adms": "http://www.w3.org/ns/adms#", "dcat": "http://www.w3.org/ns/dcat#", "dcatap": "http://data.europa.eu/r5r/", - "dcatap_plus": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "dcatapplus": "https://w3id.org/nfdi-de/dcat-ap-plus/", "dcterms": "http://purl.org/dc/terms/", "eli": "http://data.europa.eu/eli/ontology#", "epos": "https://www.epos-eu.org/epos-dcat-ap#", @@ -88,7 +83,7 @@ "@id": "dcat:byteSize" }, "carried_out_by": { - "@type": "prov:Agent", + "@type": "@id", "@id": "prov:wasAssociatedWith" }, "catalogue": { @@ -147,11 +142,11 @@ "@id": "dcat:endpointURL" }, "evaluated_activity": { - "@type": "prov:Activity", + "@type": "@id", "@id": "prov:wasInformedBy" }, "evaluated_entity": { - "@type": "prov:Entity", + "@type": "@id", "@id": "prov:used" }, "format": { @@ -167,15 +162,15 @@ "@id": "locn:geometry" }, "had_input_activity": { - "@type": "prov:Activity", + "@type": "@id", "@id": "prov:wasInformedBy" }, "had_input_entity": { - "@type": "prov:Entity", + "@type": "@id", "@id": "prov:used" }, "had_output_entity": { - "@type": "prov:Entity", + "@type": "@id", "@id": "prov:generated" }, "had_role": { @@ -192,11 +187,11 @@ "@id": "odrl:hasPolicy" }, "has_qualitative_attribute": { - "@type": "prov:Entity", + "@type": "@id", "@id": "dcterms:relation" }, "has_quantitative_attribute": { - "@type": "qudt:Quantity", + "@type": "@id", "@id": "dcterms:relation" }, "has_version": { @@ -213,11 +208,11 @@ "@id": "dcat:inSeries" }, "is_about_activity": { - "@type": "prov:Activity", + "@type": "@id", "@id": "dcterms:subject" }, "is_about_entity": { - "@type": "prov:Entity", + "@type": "@id", "@id": "dcterms:subject" }, "is_referenced_by": { @@ -254,7 +249,7 @@ "@id": "skos:notation" }, "occurred_in": { - "@type": "prov:Location", + "@type": "@id", "@id": "prov:atLocation" }, "other_identifier": { @@ -294,11 +289,11 @@ "@id": "qudt:unit" }, "rdf_type": { - "@type": "schema:DefinedTerm", + "@type": "@id", "@id": "rdf:type" }, "realized_plan": { - "@type": "prov:Plan", + "@type": "@id", "@id": "prov:used" }, "record": { diff --git a/project/jsonld/dcat_ap_plus.jsonld b/project/jsonld/dcat_ap_plus.jsonld index 0d4118a0..38c43de3 100644 --- a/project/jsonld/dcat_ap_plus.jsonld +++ b/project/jsonld/dcat_ap_plus.jsonld @@ -12,7 +12,7 @@ "https://gitlab.com/opensourcelab/scientificdata/scidats/-/blob/feature/linkml-schemata/schemata/metadata_model_scidats_dcat_ap.yaml?ref_type=heads" ], "id": "https://w3id.org/nfdi-de/dcat-ap-plus/", - "version": "0.1.0rc1.post21.dev0+3faed58", + "version": "0.1.0rc3.post21.dev0+913fb36", "imports": [ "linkml:types" ], @@ -111,7 +111,7 @@ "prefix_reference": "http://schema.org/" }, { - "prefix_prefix": "dcatap_plus", + "prefix_prefix": "dcatapplus", "prefix_reference": "https://w3id.org/nfdi-de/dcat-ap-plus/" }, { @@ -151,7 +151,7 @@ "prefix_reference": "http://example.org/" } ], - "default_prefix": "dcatap_plus", + "default_prefix": "dcatapplus", "default_range": "string", "subsets": [ { @@ -1831,6 +1831,7 @@ ], "range": "Surrounding", "inlined": true, + "inlined_as_list": true, "@type": "SlotDefinition" }, { @@ -2028,6 +2029,7 @@ ], "range": "Plan", "inlined": true, + "inlined_as_list": true, "@type": "SlotDefinition" }, { @@ -7795,9 +7797,9 @@ ], "metamodel_version": "1.7.0", "source_file": "dcat_ap_plus.yaml", - "source_file_date": "2025-11-24T16:42:12", - "source_file_size": 90872, - "generation_date": "2025-11-24T16:42:41", + "source_file_date": "2026-03-04T00:50:32", + "source_file_size": 88107, + "generation_date": "2026-03-04T00:58:55", "@type": "SchemaDefinition", "@context": [ "project\\jsonld/dcat_ap_plus.context.jsonld", diff --git a/project/jsonschema/dcat_ap_plus.schema.json b/project/jsonschema/dcat_ap_plus.schema.json index 3da18e6d..4b3ce735 100644 --- a/project/jsonschema/dcat_ap_plus.schema.json +++ b/project/jsonschema/dcat_ap_plus.schema.json @@ -3886,5 +3886,5 @@ "metamodel_version": "1.7.0", "title": "dcat-ap-plus", "type": "object", - "version": "0.1.0rc1.post21.dev0+3faed58" + "version": "0.1.0rc3.post21.dev0+913fb36" } diff --git a/project/prefixmap/dcat_ap_plus.yaml b/project/prefixmap/dcat_ap_plus.yaml index f78bb604..6c5ba8dd 100644 --- a/project/prefixmap/dcat_ap_plus.yaml +++ b/project/prefixmap/dcat_ap_plus.yaml @@ -9,7 +9,7 @@ "adms": "http://www.w3.org/ns/adms#", "dcat": "http://www.w3.org/ns/dcat#", "dcatap": "http://data.europa.eu/r5r/", - "dcatap_plus": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "dcatapplus": "https://w3id.org/nfdi-de/dcat-ap-plus/", "dcterms": "http://purl.org/dc/terms/", "eli": "http://data.europa.eu/eli/ontology#", "epos": "https://www.epos-eu.org/epos-dcat-ap#", diff --git a/project/shacl/dcat_ap_plus.shacl.ttl b/project/shacl/dcat_ap_plus.shacl.ttl index 8596b968..004e0aa2 100644 --- a/project/shacl/dcat_ap_plus.shacl.ttl +++ b/project/shacl/dcat_ap_plus.shacl.ttl @@ -1,7 +1,7 @@ @prefix adms: . @prefix dcat: . @prefix dcatap: . -@prefix dcatap_plus: . +@prefix dcatapplus: . @prefix dcterms: . @prefix eli: . @prefix foaf: . @@ -21,26 +21,26 @@ @prefix xsd: . linkml:Any a sh:NodeShape ; + rdfs:comment "This abstract class is needed to create the union of Dataset, DatasetSeries, Catalogue and DataService for the range of the slot [primary_topic](https://nfdi-de.github.io/chem-dcat-ap/elements/primary_topic/)." ; sh:closed true ; - sh:description "This abstract class is needed to create the union of Dataset, DatasetSeries, Catalogue and DataService for the range of the slot [primary_topic](https://nfdi-de.github.io/chem-dcat-ap/elements/primary_topic/)." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcterms:title ], + sh:order 1 ; + sh:path dcterms:description ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ] ; + sh:order 0 ; + sh:path dcterms:title ] ; sh:targetClass linkml:Any . -dcatap_plus:ClassifierMixin a sh:NodeShape ; +dcatapplus:ClassifierMixin a sh:NodeShape ; + rdfs:comment "A mixin with which an entity of this schema can be classified via an additional rdf:type or dcterms:type assertion." ; sh:closed false ; - sh:description "A mixin with which an entity of this schema can be classified via an additional rdf:type or dcterms:type assertion." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:class schema1:DefinedTerm ; sh:description "This slot is described in more detail within the class in which it is used." ; @@ -54,12 +54,12 @@ dcatap_plus:ClassifierMixin a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path rdf:type ] ; - sh:targetClass dcatap_plus:ClassifierMixin . + sh:targetClass dcatapplus:ClassifierMixin . -dcatap_plus:SupportiveEntity a sh:NodeShape ; +dcatapplus:SupportiveEntity a sh:NodeShape ; + rdfs:comment "The supportive entities are supporting the main entities in the Application Profile. They are included in the Application Profile because they form the range of properties." ; sh:closed true ; - sh:description "The supportive entities are supporting the main entities in the Application Profile. They are included in the Application Profile because they form the range of properties." ; - sh:ignoredProperties ( skos:prefLabel time:hasBeginning rdf:type time:hasEnd dcterms:type dcat:endDate skos:notation dcat:startDate dcatap_plus:id ) ; + sh:ignoredProperties ( dcatapplus:id dcat:startDate time:hasBeginning dcterms:type time:hasEnd dcat:endDate skos:notation skos:prefLabel rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; @@ -72,11 +72,11 @@ dcatap_plus:SupportiveEntity a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path dcterms:title ] ; - sh:targetClass dcatap_plus:SupportiveEntity . + sh:targetClass dcatapplus:SupportiveEntity . spdx:Checksum a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Checksum](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Checksum)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Checksum](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Checksum)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:class spdx:ChecksumAlgorithm ; sh:description "The algorithm used to produce the subject Checksum." ; @@ -96,8 +96,8 @@ spdx:Checksum a sh:NodeShape ; sh:targetClass spdx:Checksum . spdx:ChecksumAlgorithm a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:ChecksumAlgorithm](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ChecksumAlgorithm)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:ChecksumAlgorithm](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ChecksumAlgorithm)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; @@ -114,8 +114,8 @@ spdx:ChecksumAlgorithm a sh:NodeShape ; sh:targetClass spdx:ChecksumAlgorithm . skos:ConceptScheme a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:ConceptScheme](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ConceptScheme)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:ConceptScheme](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ConceptScheme)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "A name of the concept scheme." ; @@ -132,8 +132,8 @@ skos:ConceptScheme a sh:NodeShape ; sh:targetClass skos:ConceptScheme . dcat:Role a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Role](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Role)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Role](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Role)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; @@ -150,68 +150,79 @@ dcat:Role a sh:NodeShape ; sh:targetClass dcat:Role . locn:Geometry a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Geometry](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Geometry)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Geometry](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Geometry)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ], + sh:order 0 ; + sh:path dcterms:title ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcterms:title ] ; + sh:order 1 ; + sh:path dcterms:description ] ; sh:targetClass locn:Geometry . odrl:Policy a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Policy](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Policy)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Policy](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Policy)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcterms:title ], + sh:order 1 ; + sh:path dcterms:description ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ] ; + sh:order 0 ; + sh:path dcterms:title ] ; sh:targetClass odrl:Policy . prov:SoftwareAgent a sh:NodeShape ; + rdfs:comment "An instrument composed of a series of instructions that can be interpreted by or directly executed by a computer." ; sh:closed true ; - sh:description "An instrument composed of a series of instructions that can be interpreted by or directly executed by a computer." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:class prov:Agent ; + sh:description "The slot to provide the AgenticEntity of which theAgenticEntity is a part." ; + sh:nodeKind sh:IRI ; + sh:order 7 ; + sh:path dcterms:isPartOf ], + [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:title ], + sh:order 2 ; + sh:path dcterms:description ], + [ sh:class prov:Entity ; + sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path dcterms:relation ], [ sh:datatype xsd:anyURI ; sh:description "A slot to provide an URI for an entity within this schema." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path dcatap_plus:id ], - [ sh:class prov:Entity ; - sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path dcterms:relation ], + sh:path dcatapplus:id ], [ sh:class qudt:Quantity ; sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path dcterms:relation ], + [ sh:datatype xsd:string ; + sh:description "This slot is described in more detail within the class in which it is used." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path dcterms:title ], [ sh:class schema1:DefinedTerm ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; @@ -229,45 +240,34 @@ prov:SoftwareAgent a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 9 ; sh:path rdf:type ], - [ sh:datatype xsd:string ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path dcterms:description ], [ sh:class adms:Identifier ; sh:description "A slot to provide a secondary identifier for a Software." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; - sh:path adms:identifier ], - [ sh:class prov:Agent ; - sh:description "The slot to provide the AgenticEntity of which theAgenticEntity is a part." ; - sh:nodeKind sh:IRI ; - sh:order 7 ; - sh:path dcterms:isPartOf ] ; + sh:path adms:identifier ] ; sh:targetClass prov:SoftwareAgent . dcterms:MediaTypeOrExtent a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:MediaTypeOrExtent](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#MediaTypeOrExtent)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:MediaTypeOrExtent](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#MediaTypeOrExtent)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcterms:title ], + sh:order 1 ; + sh:path dcterms:description ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ] ; + sh:order 0 ; + sh:path dcterms:title ] ; sh:targetClass dcterms:MediaTypeOrExtent . dcterms:ProvenanceStatement a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:ProvenanceStatement](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ProvenanceStatement)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:ProvenanceStatement](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ProvenanceStatement)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; @@ -284,51 +284,61 @@ dcterms:ProvenanceStatement a sh:NodeShape ; sh:targetClass dcterms:ProvenanceStatement . time:Instant a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:TimeInstant](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#TimeInstant)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:TimeInstant](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#TimeInstant)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcterms:title ], + sh:order 1 ; + sh:path dcterms:description ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ] ; + sh:order 0 ; + sh:path dcterms:title ] ; sh:targetClass time:Instant . dcat:CatalogRecord a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:CatalogueRecord](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#CatalogueRecord)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:CatalogueRecord](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#CatalogueRecord)" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "A link to the Dataset, Data service or Catalog described in the record." ; + sh:property [ sh:class dcterms:LinguisticSystem ; + sh:description "A language used in the textual metadata describing titles, descriptions, etc. of the Catalogued Resource." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path dcterms:language ], + [ sh:datatype xsd:string ; + sh:description "A name given to the Catalogue Record." ; + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path dcterms:title ], + [ sh:datatype xsd:date ; + sh:description "The most recent date on which the Catalogue entry was changed or modified." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path dcterms:modified ], + [ sh:description "A link to the Dataset, Data service or Catalog described in the record." ; sh:maxCount 1 ; sh:minCount 1 ; sh:or ( [ sh:class dcat:Catalog ] [ sh:class dcat:Dataset ] [ sh:class dcat:DatasetSeries ] [ sh:class dcat:DataService ] ) ; sh:order 6 ; sh:path foaf:primaryTopic ], + [ sh:class dcterms:Standard ; + sh:description "An Application Profile that the Catalogued Resource's metadata conforms to." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + sh:path dcterms:conformsTo ], [ sh:datatype xsd:date ; sh:description "The date on which the description of the Resource was included in the Catalogue." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path dcterms:issued ], - [ sh:datatype xsd:date ; - sh:description "The most recent date on which the Catalogue entry was changed or modified." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path dcterms:modified ], - [ sh:datatype xsd:string ; - sh:description "A name given to the Catalogue Record." ; - sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path dcterms:title ], [ sh:class dcat:CatalogRecord ; sh:description "The original metadata that was used in creating metadata for the Dataset, Data Service or Dataset Series." ; sh:maxCount 1 ; @@ -341,26 +351,16 @@ dcat:CatalogRecord a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 1 ; sh:path adms:status ], - [ sh:class dcterms:LinguisticSystem ; - sh:description "A language used in the textual metadata describing titles, descriptions, etc. of the Catalogued Resource." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path dcterms:language ], [ sh:datatype xsd:string ; sh:description "A free-text account of the record. This property can be repeated for parallel language versions of the description." ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path dcterms:description ], - [ sh:class dcterms:Standard ; - sh:description "An Application Profile that the Catalogued Resource's metadata conforms to." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path dcterms:conformsTo ] ; + sh:path dcterms:description ] ; sh:targetClass dcat:CatalogRecord . dcat:Relationship a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Relationship](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Relationship)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Relationship](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Relationship)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:class dcat:Role ; sh:description "A function of an entity or agent with respect to another entity or resource." ; @@ -377,75 +377,75 @@ dcat:Relationship a sh:NodeShape ; sh:targetClass dcat:Relationship . prov:Attribution a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Attribution](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Attribution)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Attribution](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Attribution)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcterms:title ], + sh:order 1 ; + sh:path dcterms:description ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ] ; + sh:order 0 ; + sh:path dcterms:title ] ; sh:targetClass prov:Attribution . prov:Location a sh:NodeShape ; + rdfs:comment "The surrounding in which the dataset creating activity took place (e.g. a lab)." ; sh:closed true ; - sh:description "The surrounding in which the dataset creating activity took place (e.g. a lab)." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcterms:title ], - [ sh:class schema1:DefinedTerm ; + sh:property [ sh:class schema1:DefinedTerm ; sh:description "The slot to specify the ontology class that is instantiated by an entity." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 3 ; sh:path rdf:type ], + [ sh:class schema1:DefinedTerm ; + sh:description "This slot is described in more detail within the class in which it is used." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path dcterms:type ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ], - [ sh:class schema1:DefinedTerm ; + sh:order 0 ; + sh:path dcterms:title ], + [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path dcterms:type ] ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path dcterms:description ] ; sh:targetClass prov:Location . prov:Plan a sh:NodeShape ; + rdfs:comment "A piece of information that specifies how an activity has to be carried out by its agents including what kind of steps have to be taken and what kind of parameters have to be met/set." ; sh:closed true ; - sh:description "A piece of information that specifies how an activity has to be carried out by its agents including what kind of steps have to be taken and what kind of parameters have to be met/set." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:class schema1:DefinedTerm ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ], + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path dcterms:type ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path dcterms:title ], - [ sh:class schema1:DefinedTerm ; + [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path dcterms:type ], + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path dcterms:description ], [ sh:class schema1:DefinedTerm ; sh:description "The slot to specify the ontology class that is instantiated by an entity." ; sh:maxCount 1 ; @@ -455,8 +455,8 @@ prov:Plan a sh:NodeShape ; sh:targetClass prov:Plan . dcterms:Frequency a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Frequency](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Frequency)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Frequency](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Frequency)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; @@ -473,16 +473,15 @@ dcterms:Frequency a sh:NodeShape ; sh:targetClass dcterms:Frequency . dcterms:LicenseDocument a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:LicenseDocument](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LicenseDocument)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:LicenseDocument](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LicenseDocument)" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; + sh:property [ sh:datatype xsd:string ; + sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcatap_plus:id ], + sh:order 3 ; + sh:path dcterms:description ], [ sh:class skos:Concept ; sh:description "A type of licence, e.g. indicating 'public domain' or 'royalties required'." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -492,19 +491,20 @@ dcterms:LicenseDocument a sh:NodeShape ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path dcterms:description ], - [ sh:datatype xsd:string ; - sh:description "This slot is described in more detail within the class in which it is used." ; + sh:order 2 ; + sh:path dcterms:title ], + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path dcterms:title ] ; + sh:order 1 ; + sh:path dcatapplus:id ] ; sh:targetClass dcterms:LicenseDocument . dcterms:MediaType a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:MediaType](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#MediaType)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:MediaType](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#MediaType)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; @@ -521,36 +521,46 @@ dcterms:MediaType a sh:NodeShape ; sh:targetClass dcterms:MediaType . dcat:Catalog a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Catalogue](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Catalogue)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Catalogue](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Catalogue)" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class eli:LegalResource ; - sh:description "The legislation that mandates the creation or management of the Catalog." ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path dcatap:applicableLegislation ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "A name given to the Catalogue." ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 18 ; sh:path dcterms:title ], - [ sh:class skos:ConceptScheme ; - sh:description "A knowledge organization system used to classify the Resources that are in the Catalogue." ; + [ sh:class dcterms:LinguisticSystem ; + sh:description "A language used in the textual metadata describing titles, descriptions, etc. of the Datasets in the Catalogue." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 17 ; - sh:path dcat:themeTaxonomy ], - [ sh:datatype xsd:string ; - sh:description "A free-text account of the Catalogue." ; - sh:minCount 1 ; + sh:order 8 ; + sh:path dcterms:language ], + [ sh:datatype xsd:date ; + sh:description "The most recent date on which the Catalogue was modified." ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path dcterms:description ], - [ sh:class dcat:DataService ; - sh:description "A site or end-point (Data Service) that is listed in the Catalogue." ; + sh:order 10 ; + sh:path dcterms:modified ], + [ sh:class dcat:CatalogRecord ; + sh:description "A Catalogue Record that is part of the Catalogue." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 15 ; - sh:path dcat:service ], + sh:order 12 ; + sh:path dcat:record ], + [ sh:class dcat:Catalog ; + sh:description "A related Catalogue that is part of the described Catalogue." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path dcterms:hasPart ], + [ sh:class dcterms:PeriodOfTime ; + sh:description "A temporal period that the Catalogue covers." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 16 ; + sh:path dcterms:temporal ], + [ sh:class dcat:Catalog ; + sh:description "A catalogue whose contents are of interest in the context of this catalogue." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path dcat:catalog ], [ sh:class dcterms:Location ; sh:description "A geographical area covered by the Catalogue." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -562,193 +572,178 @@ dcat:Catalog a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 9 ; sh:path dcterms:license ], - [ sh:class dcat:CatalogRecord ; - sh:description "A Catalogue Record that is part of the Catalogue." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 12 ; - sh:path dcat:record ], - [ sh:class dcterms:LinguisticSystem ; - sh:description "A language used in the textual metadata describing titles, descriptions, etc. of the Datasets in the Catalogue." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 8 ; - sh:path dcterms:language ], - [ sh:class foaf:Agent ; - sh:description "An entity responsible for the creation of the catalogue." ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path dcterms:creator ], - [ sh:class dcat:Catalog ; - sh:description "A related Catalogue that is part of the described Catalogue." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path dcterms:hasPart ], - [ sh:class foaf:Agent ; - sh:description "An entity (organisation) responsible for making the Catalogue available." ; - sh:maxCount 1 ; + [ sh:datatype xsd:string ; + sh:description "A free-text account of the Catalogue." ; sh:minCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 11 ; - sh:path dcterms:publisher ], - [ sh:datatype xsd:date ; - sh:description "The date of formal issuance (e.g., publication) of the Catalogue." ; - sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 13 ; - sh:path dcterms:issued ], - [ sh:class dcterms:RightsStatement ; - sh:description "A statement that specifies rights associated with the Catalogue." ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 14 ; - sh:path dcterms:rights ], + sh:order 3 ; + sh:path dcterms:description ], + [ sh:class dcat:Dataset ; + sh:description "A Dataset that is part of the Catalogue." ; + sh:nodeKind sh:IRI ; + sh:order 5 ; + sh:path dcat:dataset ], [ sh:class foaf:Document ; sh:description "A web page that acts as the main page for the Catalogue." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 7 ; sh:path foaf:homepage ], - [ sh:class dcat:Catalog ; - sh:description "A catalogue whose contents are of interest in the context of this catalogue." ; + [ sh:class foaf:Agent ; + sh:description "An entity responsible for the creation of the catalogue." ; + sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path dcat:catalog ], - [ sh:class dcterms:PeriodOfTime ; - sh:description "A temporal period that the Catalogue covers." ; + sh:order 2 ; + sh:path dcterms:creator ], + [ sh:class dcat:DataService ; + sh:description "A site or end-point (Data Service) that is listed in the Catalogue." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 16 ; - sh:path dcterms:temporal ], - [ sh:class dcat:Dataset ; - sh:description "A Dataset that is part of the Catalogue." ; - sh:nodeKind sh:IRI ; - sh:order 5 ; - sh:path dcat:dataset ], + sh:order 15 ; + sh:path dcat:service ], + [ sh:class dcterms:RightsStatement ; + sh:description "A statement that specifies rights associated with the Catalogue." ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 14 ; + sh:path dcterms:rights ], [ sh:datatype xsd:date ; - sh:description "The most recent date on which the Catalogue was modified." ; + sh:description "The date of formal issuance (e.g., publication) of the Catalogue." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 10 ; - sh:path dcterms:modified ] ; + sh:order 13 ; + sh:path dcterms:issued ], + [ sh:class foaf:Agent ; + sh:description "An entity (organisation) responsible for making the Catalogue available." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 11 ; + sh:path dcterms:publisher ], + [ sh:class eli:LegalResource ; + sh:description "The legislation that mandates the creation or management of the Catalog." ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path dcatap:applicableLegislation ], + [ sh:class skos:ConceptScheme ; + sh:description "A knowledge organization system used to classify the Resources that are in the Catalogue." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 17 ; + sh:path dcat:themeTaxonomy ] ; sh:targetClass dcat:Catalog . dcat:DataService a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:DataService](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#DataService)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:DataService](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#DataService)" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class dcterms:Standard ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free-text account of the Data Service." ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path dcterms:description ], + [ sh:datatype xsd:string ; + sh:description "A keyword or tag describing the Data Service." ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path dcat:keyword ], + [ sh:class dcterms:LicenseDocument ; + sh:description "A licence under which the Data service is made available." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 11 ; + sh:path dcterms:license ], + [ sh:class dcterms:MediaTypeOrExtent ; + sh:description "The structure that can be returned by querying the endpointURL." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; + sh:path dcterms:format ], + [ sh:class dcterms:RightsStatement ; + sh:description "Information regarding access or restrictions based on privacy, security, or other policies." ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + sh:path dcterms:accessRights ], + [ sh:class dcterms:Standard ; sh:description "An established (technical) standard to which the Data Service conforms." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; sh:path dcterms:conformsTo ], + [ sh:class rdfs:Resource ; + sh:description "The root location or primary endpoint of the service (an IRI)." ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 6 ; + sh:path dcat:endpointURL ], [ sh:class dcat:Dataset ; sh:description "This property refers to a collection of data that this data service can distribute." ; sh:nodeKind sh:IRI ; sh:order 13 ; sh:path dcat:servesDataset ], - [ sh:class dcterms:LicenseDocument ; - sh:description "A licence under which the Data service is made available." ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 11 ; - sh:path dcterms:license ], - [ sh:class rdfs:Resource ; - sh:description "A description of the services available via the end-points, including their operations, parameters etc." ; - sh:nodeKind sh:IRI ; - sh:order 7 ; - sh:path dcat:endpointDescription ], + [ sh:class vcard:Kind ; + sh:description "Contact information that can be used for sending comments about the Data Service." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path dcat:contactPoint ], [ sh:class skos:Concept ; sh:description "A category of the Data Service." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 14 ; sh:path dcat:theme ], + [ sh:class rdfs:Resource ; + sh:description "A description of the services available via the end-points, including their operations, parameters etc." ; + sh:nodeKind sh:IRI ; + sh:order 7 ; + sh:path dcat:endpointDescription ], + [ sh:class foaf:Document ; + sh:description "A web page that provides access to the Data Service and/or additional information." ; + sh:nodeKind sh:IRI ; + sh:order 10 ; + sh:path dcat:landingPage ], + [ sh:class foaf:Document ; + sh:description "A page or document about this Data Service" ; + sh:nodeKind sh:IRI ; + sh:order 5 ; + sh:path foaf:page ], [ sh:datatype xsd:string ; sh:description "A name given to the Data Service." ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 15 ; sh:path dcterms:title ], - [ sh:datatype xsd:string ; - sh:description "A keyword or tag describing the Data Service." ; - sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path dcat:keyword ], - [ sh:datatype xsd:string ; - sh:description "A free-text account of the Data Service." ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path dcterms:description ], [ sh:class foaf:Agent ; sh:description "An entity (organisation) responsible for making the Data Service available." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 12 ; sh:path dcterms:publisher ], - [ sh:class rdfs:Resource ; - sh:description "The root location or primary endpoint of the service (an IRI)." ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 6 ; - sh:path dcat:endpointURL ], - [ sh:class foaf:Document ; - sh:description "A web page that provides access to the Data Service and/or additional information." ; - sh:nodeKind sh:IRI ; - sh:order 10 ; - sh:path dcat:landingPage ], - [ sh:class dcterms:MediaTypeOrExtent ; - sh:description "The structure that can be returned by querying the endpointURL." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 8 ; - sh:path dcterms:format ], [ sh:class eli:LegalResource ; sh:description "The legislation that mandates the creation or management of the Data Service." ; sh:nodeKind sh:IRI ; sh:order 1 ; - sh:path dcatap:applicableLegislation ], - [ sh:class dcterms:RightsStatement ; - sh:description "Information regarding access or restrictions based on privacy, security, or other policies." ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path dcterms:accessRights ], - [ sh:class vcard:Kind ; - sh:description "Contact information that can be used for sending comments about the Data Service." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path dcat:contactPoint ], - [ sh:class foaf:Document ; - sh:description "A page or document about this Data Service" ; - sh:nodeKind sh:IRI ; - sh:order 5 ; - sh:path foaf:page ] ; + sh:path dcatap:applicableLegislation ] ; sh:targetClass dcat:DataService . dcat:DatasetSeries a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:DatasetSeries](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#DatasetSeries)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:DatasetSeries](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#DatasetSeries)" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class foaf:Agent ; + sh:property [ sh:datatype xsd:date ; + sh:description "The date of formal issuance (e.g., publication) of the Dataset Series." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path dcterms:issued ], + [ sh:class foaf:Agent ; sh:description "An entity (organisation) responsible for ensuring the coherency of the Dataset Series " ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path dcterms:publisher ], - [ sh:datatype xsd:string ; - sh:description "A free-text account of the Dataset Series." ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path dcterms:description ], - [ sh:datatype xsd:string ; - sh:description "A name given to the Dataset Series." ; - sh:minCount 1 ; + [ sh:datatype xsd:date ; + sh:description "The most recent date on which the Dataset Series was changed or modified." ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path dcterms:title ], - [ sh:class vcard:Kind ; - sh:description "Contact information that can be used for sending comments about the Dataset Series." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path dcat:contactPoint ], + sh:order 5 ; + sh:path dcterms:modified ], [ sh:class dcterms:PeriodOfTime ; sh:description "A temporal period that the Dataset Series covers." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -760,6 +755,17 @@ dcat:DatasetSeries a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path dcterms:accrualPeriodicity ], + [ sh:class vcard:Kind ; + sh:description "Contact information that can be used for sending comments about the Dataset Series." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path dcat:contactPoint ], + [ sh:datatype xsd:string ; + sh:description "A name given to the Dataset Series." ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path dcterms:title ], [ sh:class eli:LegalResource ; sh:description "The legislation that mandates the creation or management of the Dataset Series." ; sh:nodeKind sh:IRI ; @@ -770,31 +776,19 @@ dcat:DatasetSeries a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path dcterms:spatial ], - [ sh:datatype xsd:date ; - sh:description "The most recent date on which the Dataset Series was changed or modified." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path dcterms:modified ], - [ sh:datatype xsd:date ; - sh:description "The date of formal issuance (e.g., publication) of the Dataset Series." ; - sh:maxCount 1 ; + [ sh:datatype xsd:string ; + sh:description "A free-text account of the Dataset Series." ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path dcterms:issued ] ; + sh:order 2 ; + sh:path dcterms:description ] ; sh:targetClass dcat:DatasetSeries . dcterms:Location a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Location](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Location)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Location](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Location)" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class locn:Geometry ; - sh:description "The corresponding geometry for a resource." ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path locn:geometry ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "The geographic bounding box of a resource." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -805,43 +799,49 @@ dcterms:Location a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path dcat:centroid ] ; + sh:path dcat:centroid ], + [ sh:class locn:Geometry ; + sh:description "The corresponding geometry for a resource." ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path locn:geometry ] ; sh:targetClass dcterms:Location . dcterms:PeriodOfTime a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:PeriodOfTime](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#PeriodOfTime)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:PeriodOfTime](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#PeriodOfTime)" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class time:Instant ; - sh:description "The beginning of a period or interval." ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path time:hasBeginning ], - [ sh:datatype xsd:date ; - sh:description "The start of the period." ; + sh:property [ sh:datatype xsd:string ; + sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path dcat:startDate ], + sh:order 4 ; + sh:path dcterms:title ], + [ sh:class time:Instant ; + sh:description "The end of a period or interval." ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path time:hasEnd ], [ sh:datatype xsd:date ; sh:description "The end of the period." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path dcat:endDate ], + [ sh:datatype xsd:date ; + sh:description "The start of the period." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path dcat:startDate ], [ sh:class time:Instant ; - sh:description "The end of a period or interval." ; + sh:description "The beginning of a period or interval." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path time:hasEnd ], - [ sh:datatype xsd:string ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path dcterms:title ], + sh:order 0 ; + sh:path time:hasBeginning ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; @@ -851,147 +851,147 @@ dcterms:PeriodOfTime a sh:NodeShape ; sh:targetClass dcterms:PeriodOfTime . vcard:Kind a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Kind](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Kind)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Kind](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Kind)" ; sh:ignoredProperties ( rdf:type ) ; sh:targetClass vcard:Kind . dcat:Distribution a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Distribution](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Distribution)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Distribution](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Distribution)" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class dcterms:RightsStatement ; - sh:description "A statement that specifies rights associated with the Distribution." ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 19 ; - sh:path dcterms:rights ], - [ sh:class odrl:Policy ; - sh:description "The policy expressing the rights associated with the distribution if using the [[ODRL]] vocabulary." ; + sh:property [ sh:class skos:Concept ; + sh:description "The status of the distribution in the context of maturity lifecycle." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 11 ; - sh:path odrl:hasPolicy ], - [ sh:class eli:LegalResource ; - sh:description "The legislation that mandates the creation or management of the Distribution." ; + sh:order 21 ; + sh:path adms:status ], + [ sh:class foaf:Document ; + sh:description "A page or document about this Distribution." ; sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path dcatap:applicableLegislation ], - [ sh:class dcterms:MediaTypeOrExtent ; - sh:description "The file format of the Distribution." ; + sh:order 8 ; + sh:path foaf:page ], + [ sh:class dcterms:MediaType ; + sh:description "The format of the file in which one or more data files are grouped together, e.g. to enable a set of related files to be downloaded together." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 10 ; - sh:path dcterms:format ], + sh:order 17 ; + sh:path dcat:packageFormat ], [ sh:class rdfs:Resource ; sh:description "A URL that gives access to a Distribution of the Dataset." ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path dcat:accessURL ], - [ sh:class dcterms:Standard ; - sh:description "An established schema to which the described Distribution conforms." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 14 ; - sh:path dcterms:conformsTo ], - [ sh:class skos:Concept ; - sh:description "An indication how long it is planned to keep the Distribution of the Dataset available." ; + [ sh:datatype xsd:date ; + sh:description "The date of formal issuance (e.g., publication) of the Distribution." ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path dcatap:availability ], - [ sh:class dcterms:MediaType ; - sh:description "The media type of the Distribution as defined in the official register of media types managed by IANA." ; + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path dcterms:issued ], + [ sh:datatype xsd:duration ; + sh:description "The minimum time period resolvable in the dataset distribution." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path dcat:temporalResolution ; + sh:pattern "-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))" ], + [ sh:class odrl:Policy ; + sh:description "The policy expressing the rights associated with the distribution if using the [[ODRL]] vocabulary." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 15 ; - sh:path dcat:mediaType ], - [ sh:class dcterms:LinguisticSystem ; - sh:description "A language used in the Distribution." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 12 ; - sh:path dcterms:language ], + sh:order 11 ; + sh:path odrl:hasPolicy ], + [ sh:class rdfs:Resource ; + sh:description "A URL that is a direct link to a downloadable file in a given format." ; + sh:nodeKind sh:IRI ; + sh:order 9 ; + sh:path dcat:downloadURL ], [ sh:class dcterms:LicenseDocument ; sh:description "A licence under which the Distribution is made available." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 13 ; sh:path dcterms:license ], - [ sh:class dcat:DataService ; - sh:description "A data service that gives access to the distribution of the dataset." ; + [ sh:class dcterms:LinguisticSystem ; + sh:description "A language used in the Distribution." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path dcat:accessService ], - [ sh:datatype xsd:duration ; - sh:description "The minimum time period resolvable in the dataset distribution." ; - sh:maxCount 1 ; + sh:order 12 ; + sh:path dcterms:language ], + [ sh:datatype xsd:string ; + sh:description "A name given to the Distribution." ; sh:nodeKind sh:Literal ; - sh:order 22 ; - sh:path dcat:temporalResolution ; - sh:pattern "-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))" ], - [ sh:datatype xsd:date ; - sh:description "The date of formal issuance (e.g., publication) of the Distribution." ; + sh:order 23 ; + sh:path dcterms:title ], + [ sh:datatype xsd:decimal ; + sh:description "The minimum spatial separation resolvable in a dataset distribution, measured in meters." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 18 ; - sh:path dcterms:issued ], - [ sh:class foaf:Document ; - sh:description "A page or document about this Distribution." ; - sh:nodeKind sh:IRI ; - sh:order 8 ; - sh:path foaf:page ], + sh:order 20 ; + sh:path dcat:spatialResolutionInMeters ], + [ sh:class dcterms:RightsStatement ; + sh:description "A statement that specifies rights associated with the Distribution." ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 19 ; + sh:path dcterms:rights ], [ sh:class spdx:Checksum ; sh:description "A mechanism that can be used to verify that the contents of a distribution have not changed." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path spdx:checksum ], - [ sh:datatype xsd:nonNegativeInteger ; - sh:description "The size of a Distribution in bytes." ; - sh:maxCount 1 ; + [ sh:datatype xsd:string ; + sh:description "A free-text account of the Distribution." ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path dcat:byteSize ; - sh:pattern "([\\-+]?[0-9]+)" ], - [ sh:class dcterms:MediaType ; - sh:description "The format of the file in which one or more data files are grouped together, e.g. to enable a set of related files to be downloaded together." ; - sh:maxCount 1 ; + sh:order 7 ; + sh:path dcterms:description ], + [ sh:class dcterms:Standard ; + sh:description "An established schema to which the described Distribution conforms." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 17 ; - sh:path dcat:packageFormat ], - [ sh:class skos:Concept ; - sh:description "The status of the distribution in the context of maturity lifecycle." ; + sh:order 14 ; + sh:path dcterms:conformsTo ], + [ sh:class dcterms:MediaTypeOrExtent ; + sh:description "The file format of the Distribution." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 21 ; - sh:path adms:status ], - [ sh:class rdfs:Resource ; - sh:description "A URL that is a direct link to a downloadable file in a given format." ; - sh:nodeKind sh:IRI ; - sh:order 9 ; - sh:path dcat:downloadURL ], + sh:order 10 ; + sh:path dcterms:format ], [ sh:datatype xsd:date ; sh:description "The most recent date on which the Distribution was changed or modified." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 16 ; sh:path dcterms:modified ], - [ sh:datatype xsd:string ; - sh:description "A name given to the Distribution." ; - sh:nodeKind sh:Literal ; - sh:order 23 ; - sh:path dcterms:title ], - [ sh:datatype xsd:string ; - sh:description "A free-text account of the Distribution." ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path dcterms:description ], - [ sh:datatype xsd:decimal ; - sh:description "The minimum spatial separation resolvable in a dataset distribution, measured in meters." ; + [ sh:class eli:LegalResource ; + sh:description "The legislation that mandates the creation or management of the Distribution." ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path dcatap:applicableLegislation ], + [ sh:class skos:Concept ; + sh:description "An indication how long it is planned to keep the Distribution of the Dataset available." ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path dcatap:availability ], + [ sh:class dcterms:MediaType ; + sh:description "The media type of the Distribution as defined in the official register of media types managed by IANA." ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 15 ; + sh:path dcat:mediaType ], + [ sh:datatype xsd:nonNegativeInteger ; + sh:description "The size of a Distribution in bytes." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 20 ; - sh:path dcat:spatialResolutionInMeters ], + sh:order 4 ; + sh:path dcat:byteSize ; + sh:pattern "([\\-+]?[0-9]+)" ], + [ sh:class dcat:DataService ; + sh:description "A data service that gives access to the distribution of the dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path dcat:accessService ], [ sh:class dcterms:MediaType ; sh:description "The format of the file in which the data is contained in a compressed form, e.g. to reduce the size of the downloadable file." ; sh:maxCount 1 ; @@ -1001,26 +1001,26 @@ dcat:Distribution a sh:NodeShape ; sh:targetClass dcat:Distribution . dcterms:LinguisticSystem a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:LinguisticSystem](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LinguisticSystem)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:LinguisticSystem](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LinguisticSystem)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ], + sh:order 0 ; + sh:path dcterms:title ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcterms:title ] ; + sh:order 1 ; + sh:path dcterms:description ] ; sh:targetClass dcterms:LinguisticSystem . dcterms:RightsStatement a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:RightsStatement](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#RightsStatement)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:RightsStatement](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#RightsStatement)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; @@ -1037,26 +1037,26 @@ dcterms:RightsStatement a sh:NodeShape ; sh:targetClass dcterms:RightsStatement . dcterms:Standard a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Standard](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Standard)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Standard](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Standard)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcterms:title ], + sh:order 1 ; + sh:path dcterms:description ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ] ; + sh:order 0 ; + sh:path dcterms:title ] ; sh:targetClass dcterms:Standard . eli:LegalResource a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:LegalResource](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LegalResource)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:LegalResource](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LegalResource)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; @@ -1064,477 +1064,470 @@ eli:LegalResource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path dcterms:title ], + [ sh:datatype xsd:string ; + sh:description "This slot is described in more detail within the class in which it is used." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path dcterms:description ], [ sh:datatype xsd:anyURI ; sh:description "A slot to provide an URI for an entity within this schema." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path dcatap_plus:id ], - [ sh:datatype xsd:string ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path dcterms:description ] ; + sh:path dcatapplus:id ] ; sh:targetClass eli:LegalResource . dcat:Dataset a sh:NodeShape ; - sh:closed true ; - sh:description "A Dataset that was generated by an analysis of some previously generated data. For example, a dataset that contains the data of an assignment of a chemical structure to a sample based on the spectral data obtained from the sample is an AnalyticalDataset.", + rdfs:comment "A Dataset that was generated by an analysis of some previously generated data. For example, a dataset that contains the data of an assignment of a chemical structure to a sample based on the spectral data obtained from the sample is an AnalyticalDataset.", "A collection of data, published or curated by a single agent, and available for access or download in one or more representations." ; + sh:closed true ; sh:ignoredProperties ( rdf:type ), ( rdf:type ) ; - sh:property [ sh:datatype xsd:decimal ; - sh:description "The minimum spatial separation resolvable in a dataset, measured in meters." ; + sh:property [ sh:class foaf:Agent ; + sh:description "An entity responsible for producing the dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path dcterms:creator ], + [ sh:class dcat:Distribution ; + sh:description "An available Distribution for the Dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path dcat:distribution ], + [ sh:datatype xsd:date ; + sh:description "The date of formal issuance (e.g., publication) of the Dataset." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 27 ; - sh:path dcat:spatialResolutionInMeters ], - [ sh:class skos:Concept ; - sh:description "A category of the Dataset." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 30 ; + sh:order 24 ; + sh:path dcterms:issued ], + [ sh:class foaf:Agent ; + sh:description "An entity (organisation) responsible for making the Dataset available." ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 20 ; + sh:path dcterms:publisher ], + [ sh:class dcterms:Location ; + sh:description "A geographic region that is covered by the Dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 9 ; + sh:path dcterms:spatial ], + [ sh:class skos:Concept ; + sh:description "A type of the Dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 32 ; + sh:path dcterms:type ], + [ sh:class prov:Attribution ; + sh:description "An Agent having some form of responsibility for the resource." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 21 ; + sh:path prov:qualifiedAttribution ], + [ sh:class foaf:Document ; + sh:description "A page or document about this Dataset." ; + sh:nodeKind sh:IRI ; + sh:order 7 ; + sh:path foaf:page ], + [ sh:class dcat:DatasetSeries ; + sh:description "A dataset series of which the dataset is part." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 12 ; + sh:path dcat:inSeries ], + [ sh:class dcat:Dataset ; + sh:description "A related Dataset from which the described Dataset is derived." ; + sh:nodeKind sh:IRI ; + sh:order 26 ; + sh:path dcterms:source ], + [ sh:datatype xsd:string ; + sh:description "A description of the differences between this version and a previous version of the Dataset." ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path adms:versionNotes ], + [ sh:class dcat:DatasetSeries ; + sh:description "A dataset series of which the dataset is part." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 12 ; + sh:path dcat:inSeries ], + [ sh:class skos:Concept ; + sh:description "A category of the Dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 30 ; sh:path dcat:theme ], + [ sh:class foaf:Agent ; + sh:description "An entity responsible for producing the dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path dcterms:creator ], + [ sh:class prov:Activity ; + sh:description "A slot to provide the EvaluatedActivity a Dataset is about." ; + sh:nodeKind sh:IRI ; + sh:order 38 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:decimal ; + sh:description "The minimum spatial separation resolvable in a dataset, measured in meters." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 27 ; + sh:path dcat:spatialResolutionInMeters ], + [ sh:class dcterms:LinguisticSystem ; + sh:description "A language of the Dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 16 ; + sh:path dcterms:language ], + [ sh:class dcat:Dataset ; + sh:description "A related Dataset from which the described Dataset is derived." ; + sh:nodeKind sh:IRI ; + sh:order 26 ; + sh:path dcterms:source ], + [ sh:class rdfs:Resource ; + sh:description "A related resource, such as a publication, that references, cites, or otherwise points to the dataset." ; + sh:nodeKind sh:IRI ; + sh:order 13 ; + sh:path dcterms:isReferencedBy ], + [ sh:datatype xsd:string ; + sh:description "A keyword or tag describing the Dataset." ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path dcat:keyword ], + [ sh:class rdfs:Resource ; + sh:description "A related resource, such as a publication, that references, cites, or otherwise points to the dataset." ; + sh:nodeKind sh:IRI ; + sh:order 13 ; + sh:path dcterms:isReferencedBy ], [ sh:class rdfs:Resource ; sh:description "A related resource." ; sh:nodeKind sh:IRI ; sh:order 23 ; sh:path dcterms:relation ], [ sh:datatype xsd:string ; - sh:description "A description of the differences between this version and a previous version of the Dataset." ; + sh:description "The main identifier for the Dataset, e.g. the URI or other unique identifier in the context of the Catalogue." ; sh:nodeKind sh:Literal ; - sh:order 34 ; - sh:path adms:versionNotes ], + sh:order 11 ; + sh:path dcterms:identifier ], + [ sh:class dcterms:PeriodOfTime ; + sh:description "A temporal period that the Dataset covers." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 28 ; + sh:path dcterms:temporal ], + [ sh:class dcat:Distribution ; + sh:description "A sample distribution of the dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 25 ; + sh:path adms:sample ], [ sh:class foaf:Document ; sh:description "A web page that provides access to the Dataset, its Distributions and/or additional information." ; sh:nodeKind sh:IRI ; sh:order 15 ; sh:path dcat:landingPage ], - [ sh:datatype xsd:string ; - sh:description "A name given to the Dataset." ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 31 ; - sh:path dcterms:title ], - [ sh:class dcterms:Frequency ; - sh:description "The frequency at which the Dataset is updated." ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 8 ; - sh:path dcterms:accrualPeriodicity ], [ sh:datatype xsd:string ; sh:description "A keyword or tag describing the Dataset." ; sh:nodeKind sh:Literal ; sh:order 14 ; sh:path dcat:keyword ], + [ sh:datatype xsd:duration ; + sh:description "The minimum time period resolvable in the dataset." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path dcat:temporalResolution ; + sh:pattern "-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))" ], + [ sh:class dcterms:ProvenanceStatement ; + sh:description "A statement about the lineage of a Dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 19 ; + sh:path dcterms:provenance ], + [ sh:class dcat:Dataset ; + sh:description "A related Dataset that is a version, edition, or adaptation of the described Dataset." ; + sh:nodeKind sh:IRI ; + sh:order 10 ; + sh:path dcat:hasVersion ], + [ sh:class dcterms:PeriodOfTime ; + sh:description "A temporal period that the Dataset covers." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 28 ; + sh:path dcterms:temporal ], + [ sh:datatype xsd:duration ; + sh:description "The minimum time period resolvable in the dataset." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path dcat:temporalResolution ; + sh:pattern "-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))" ], + [ sh:class dcat:Dataset ; + sh:description "A related Dataset that is a version, edition, or adaptation of the described Dataset." ; + sh:nodeKind sh:IRI ; + sh:order 10 ; + sh:path dcat:hasVersion ], + [ sh:class dcat:Relationship ; + sh:description "A description of a relationship with another resource." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 22 ; + sh:path dcat:qualifiedRelation ], [ sh:datatype xsd:anyURI ; sh:description "A slot to provide an URI for an entity within this schema." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 36 ; - sh:path dcatap_plus:id ], + sh:path dcatapplus:id ], [ sh:class dcterms:RightsStatement ; sh:description "Information that indicates whether the Dataset is publicly accessible, has access restrictions or is not public." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; sh:path dcterms:accessRights ], - [ sh:class dcterms:Location ; - sh:description "A geographic region that is covered by the Dataset." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 9 ; - sh:path dcterms:spatial ], - [ sh:class dcat:Distribution ; - sh:description "A sample distribution of the dataset." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 25 ; - sh:path adms:sample ], - [ sh:class foaf:Agent ; - sh:description "An entity responsible for producing the dataset." ; + [ sh:datatype xsd:string ; + sh:description "The version indicator (name or identifier) of a resource." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path dcat:version ], + [ sh:class vcard:Kind ; + sh:description "Contact information that can be used for sending comments about the Dataset." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path dcterms:creator ], - [ sh:datatype xsd:date ; - sh:description "The most recent date on which the Dataset was changed or modified." ; + sh:order 3 ; + sh:path dcat:contactPoint ], + [ sh:class eli:LegalResource ; + sh:description "The legislation that mandates the creation or management of the Dataset." ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path dcatap:applicableLegislation ], + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 17 ; - sh:path dcterms:modified ], - [ sh:class dcterms:LinguisticSystem ; - sh:description "A language of the Dataset." ; + sh:order 36 ; + sh:path dcatapplus:id ], + [ sh:datatype xsd:string ; + sh:description "The version indicator (name or identifier) of a resource." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path dcat:version ], + [ sh:class skos:Concept ; + sh:description "A category of the Dataset." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 16 ; - sh:path dcterms:language ], + sh:order 30 ; + sh:path dcat:theme ], [ sh:class foaf:Agent ; sh:description "An entity (organisation) responsible for making the Dataset available." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 20 ; sh:path dcterms:publisher ], - [ sh:class foaf:Document ; - sh:description "A page or document about this Dataset." ; - sh:nodeKind sh:IRI ; - sh:order 7 ; - sh:path foaf:page ], - [ sh:class dcat:Distribution ; - sh:description "An available Distribution for the Dataset." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path dcat:distribution ], - [ sh:class dcterms:Standard ; - sh:description "An implementing rule or other specification." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path dcterms:conformsTo ], - [ sh:class dcat:Distribution ; - sh:description "A sample distribution of the dataset." ; + [ sh:class dcterms:Frequency ; + sh:description "The frequency at which the Dataset is updated." ; + sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 25 ; - sh:path adms:sample ], + sh:order 8 ; + sh:path dcterms:accrualPeriodicity ], [ sh:datatype xsd:string ; - sh:description "A free-text account of the Dataset." ; + sh:description "A name given to the Dataset." ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path dcterms:description ], - [ sh:class dcat:Dataset ; - sh:description "A related Dataset that is a version, edition, or adaptation of the described Dataset." ; - sh:nodeKind sh:IRI ; - sh:order 10 ; - sh:path dcat:hasVersion ], - [ sh:class dcat:Relationship ; - sh:description "A description of a relationship with another resource." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 22 ; - sh:path dcat:qualifiedRelation ], + sh:order 31 ; + sh:path dcterms:title ], [ sh:class adms:Identifier ; sh:description "A secondary identifier of the Dataset" ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 18 ; sh:path adms:identifier ], - [ sh:class dcterms:PeriodOfTime ; - sh:description "A temporal period that the Dataset covers." ; + [ sh:class rdfs:Resource ; + sh:description "A related resource." ; + sh:nodeKind sh:IRI ; + sh:order 23 ; + sh:path dcterms:relation ], + [ sh:class prov:Entity ; + sh:description "A slot to provide the EvaluatedEntity a Dataset is about." ; + sh:nodeKind sh:IRI ; + sh:order 37 ; + sh:path dcterms:subject ], + [ sh:class dcterms:RightsStatement ; + sh:description "Information that indicates whether the Dataset is publicly accessible, has access restrictions or is not public." ; + sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 28 ; - sh:path dcterms:temporal ], - [ sh:datatype xsd:string ; - sh:description "The main identifier for the Dataset, e.g. the URI or other unique identifier in the context of the Catalogue." ; - sh:nodeKind sh:Literal ; - sh:order 11 ; - sh:path dcterms:identifier ], + sh:order 0 ; + sh:path dcterms:accessRights ], [ sh:datatype xsd:string ; sh:description "A name given to the Dataset." ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 31 ; sh:path dcterms:title ], - [ sh:datatype xsd:duration ; - sh:description "The minimum time period resolvable in the dataset." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 29 ; - sh:path dcat:temporalResolution ; - sh:pattern "-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))" ], - [ sh:class prov:Activity ; - sh:description "A slot to provide the EvaluatedActivity a Dataset is about." ; - sh:nodeKind sh:IRI ; - sh:order 38 ; - sh:path dcterms:subject ], - [ sh:class skos:Concept ; - sh:description "A type of the Dataset." ; + [ sh:class dcat:Distribution ; + sh:description "A sample distribution of the dataset." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 32 ; - sh:path dcterms:type ], - [ sh:class prov:Activity ; - sh:description "A slot to provide the EvaluatedActivity a Dataset is about." ; + sh:order 25 ; + sh:path adms:sample ], + [ sh:class prov:Entity ; + sh:description "A slot to provide the EvaluatedEntity a Dataset is about." ; sh:nodeKind sh:IRI ; - sh:order 38 ; + sh:order 37 ; sh:path dcterms:subject ], - [ sh:class skos:Concept ; - sh:description "A type of the Dataset." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 32 ; - sh:path dcterms:type ], - [ sh:class dcterms:ProvenanceStatement ; - sh:description "A statement about the lineage of a Dataset." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 19 ; - sh:path dcterms:provenance ], - [ sh:datatype xsd:string ; - sh:description "A keyword or tag describing the Dataset." ; - sh:nodeKind sh:Literal ; - sh:order 14 ; - sh:path dcat:keyword ], [ sh:class prov:Activity ; sh:description "An activity that generated, or provides the business context for, the creation of the dataset." ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 35 ; sh:path prov:wasGeneratedBy ], - [ sh:class rdfs:Resource ; - sh:description "A related resource, such as a publication, that references, cites, or otherwise points to the dataset." ; - sh:nodeKind sh:IRI ; - sh:order 13 ; - sh:path dcterms:isReferencedBy ], - [ sh:class foaf:Document ; - sh:description "A page or document about this Dataset." ; - sh:nodeKind sh:IRI ; - sh:order 7 ; - sh:path foaf:page ], + [ sh:class dcterms:ProvenanceStatement ; + sh:description "A statement about the lineage of a Dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 19 ; + sh:path dcterms:provenance ], [ sh:class dcterms:LinguisticSystem ; sh:description "A language of the Dataset." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 16 ; sh:path dcterms:language ], - [ sh:class dcterms:Standard ; - sh:description "An implementing rule or other specification." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path dcterms:conformsTo ], - [ sh:class skos:Concept ; - sh:description "A category of the Dataset." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 30 ; - sh:path dcat:theme ], - [ sh:class prov:Attribution ; - sh:description "An Agent having some form of responsibility for the resource." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 21 ; - sh:path prov:qualifiedAttribution ], - [ sh:datatype xsd:decimal ; - sh:description "The minimum spatial separation resolvable in a dataset, measured in meters." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 27 ; - sh:path dcat:spatialResolutionInMeters ], - [ sh:class eli:LegalResource ; - sh:description "The legislation that mandates the creation or management of the Dataset." ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path dcatap:applicableLegislation ], [ sh:datatype xsd:date ; sh:description "The most recent date on which the Dataset was changed or modified." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 17 ; sh:path dcterms:modified ], - [ sh:class foaf:Document ; - sh:description "A web page that provides access to the Dataset, its Distributions and/or additional information." ; + [ sh:class prov:Activity ; + sh:description "An activity that generated, or provides the business context for, the creation of the dataset." ; + sh:minCount 1 ; sh:nodeKind sh:IRI ; - sh:order 15 ; - sh:path dcat:landingPage ], + sh:order 35 ; + sh:path prov:wasGeneratedBy ], [ sh:datatype xsd:string ; - sh:description "A free-text account of the Dataset." ; - sh:minCount 1 ; + sh:description "The main identifier for the Dataset, e.g. the URI or other unique identifier in the context of the Catalogue." ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path dcterms:description ], - [ sh:class dcat:DatasetSeries ; - sh:description "A dataset series of which the dataset is part." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 12 ; - sh:path dcat:inSeries ], - [ sh:class foaf:Agent ; - sh:description "An entity (organisation) responsible for making the Dataset available." ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 20 ; - sh:path dcterms:publisher ], - [ sh:class eli:LegalResource ; - sh:description "The legislation that mandates the creation or management of the Dataset." ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path dcatap:applicableLegislation ], - [ sh:class dcat:Relationship ; - sh:description "A description of a relationship with another resource." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 22 ; - sh:path dcat:qualifiedRelation ], - [ sh:class dcterms:ProvenanceStatement ; - sh:description "A statement about the lineage of a Dataset." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 19 ; - sh:path dcterms:provenance ], - [ sh:class dcterms:PeriodOfTime ; - sh:description "A temporal period that the Dataset covers." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 28 ; - sh:path dcterms:temporal ], - [ sh:class foaf:Agent ; - sh:description "An entity responsible for producing the dataset." ; + sh:order 11 ; + sh:path dcterms:identifier ], + [ sh:class adms:Identifier ; + sh:description "A secondary identifier of the Dataset" ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path dcterms:creator ], - [ sh:class dcterms:Location ; - sh:description "A geographic region that is covered by the Dataset." ; + sh:order 18 ; + sh:path adms:identifier ], + [ sh:class prov:Activity ; + sh:description "A slot to provide the EvaluatedActivity a Dataset is about." ; + sh:nodeKind sh:IRI ; + sh:order 38 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:string ; + sh:description "A free-text account of the Dataset." ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path dcterms:description ], + [ sh:class eli:LegalResource ; + sh:description "The legislation that mandates the creation or management of the Dataset." ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path dcatap:applicableLegislation ], + [ sh:class dcterms:Standard ; + sh:description "An implementing rule or other specification." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 9 ; - sh:path dcterms:spatial ], + sh:order 2 ; + sh:path dcterms:conformsTo ], [ sh:datatype xsd:date ; sh:description "The date of formal issuance (e.g., publication) of the Dataset." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 24 ; sh:path dcterms:issued ], - [ sh:class rdfs:Resource ; - sh:description "A related resource." ; - sh:nodeKind sh:IRI ; - sh:order 23 ; - sh:path dcterms:relation ], - [ sh:class dcat:Dataset ; - sh:description "A related Dataset from which the described Dataset is derived." ; - sh:nodeKind sh:IRI ; - sh:order 26 ; - sh:path dcterms:source ], - [ sh:class adms:Identifier ; - sh:description "A secondary identifier of the Dataset" ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 18 ; - sh:path adms:identifier ], - [ sh:class dcat:DatasetSeries ; - sh:description "A dataset series of which the dataset is part." ; + [ sh:class vcard:Kind ; + sh:description "Contact information that can be used for sending comments about the Dataset." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 12 ; - sh:path dcat:inSeries ], + sh:order 3 ; + sh:path dcat:contactPoint ], [ sh:datatype xsd:string ; - sh:description "The version indicator (name or identifier) of a resource." ; + sh:description "A description of the differences between this version and a previous version of the Dataset." ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path adms:versionNotes ], + [ sh:datatype xsd:decimal ; + sh:description "The minimum spatial separation resolvable in a dataset, measured in meters." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 33 ; - sh:path dcat:version ], - [ sh:class dcat:Dataset ; - sh:description "A related Dataset that is a version, edition, or adaptation of the described Dataset." ; - sh:nodeKind sh:IRI ; - sh:order 10 ; - sh:path dcat:hasVersion ], - [ sh:class prov:Activity ; - sh:description "An activity that generated, or provides the business context for, the creation of the dataset." ; - sh:minCount 1 ; + sh:order 27 ; + sh:path dcat:spatialResolutionInMeters ], + [ sh:class skos:Concept ; + sh:description "A type of the Dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 32 ; + sh:path dcterms:type ], + [ sh:class foaf:Document ; + sh:description "A page or document about this Dataset." ; sh:nodeKind sh:IRI ; - sh:order 35 ; - sh:path prov:wasGeneratedBy ], - [ sh:datatype xsd:duration ; - sh:description "The minimum time period resolvable in the dataset." ; + sh:order 7 ; + sh:path foaf:page ], + [ sh:datatype xsd:date ; + sh:description "The most recent date on which the Dataset was changed or modified." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 29 ; - sh:path dcat:temporalResolution ; - sh:pattern "-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))" ], + sh:order 17 ; + sh:path dcterms:modified ], + [ sh:class foaf:Document ; + sh:description "A web page that provides access to the Dataset, its Distributions and/or additional information." ; + sh:nodeKind sh:IRI ; + sh:order 15 ; + sh:path dcat:landingPage ], [ sh:class prov:Attribution ; sh:description "An Agent having some form of responsibility for the resource." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 21 ; sh:path prov:qualifiedAttribution ], - [ sh:datatype xsd:string ; - sh:description "A description of the differences between this version and a previous version of the Dataset." ; - sh:nodeKind sh:Literal ; - sh:order 34 ; - sh:path adms:versionNotes ], [ sh:class dcterms:Frequency ; sh:description "The frequency at which the Dataset is updated." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 8 ; sh:path dcterms:accrualPeriodicity ], - [ sh:class dcat:Dataset ; - sh:description "A related Dataset from which the described Dataset is derived." ; - sh:nodeKind sh:IRI ; - sh:order 26 ; - sh:path dcterms:source ], - [ sh:class vcard:Kind ; - sh:description "Contact information that can be used for sending comments about the Dataset." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path dcat:contactPoint ], - [ sh:class prov:Entity ; - sh:description "A slot to provide the EvaluatedEntity a Dataset is about." ; - sh:nodeKind sh:IRI ; - sh:order 37 ; - sh:path dcterms:subject ], - [ sh:class dcterms:RightsStatement ; - sh:description "Information that indicates whether the Dataset is publicly accessible, has access restrictions or is not public." ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path dcterms:accessRights ], - [ sh:datatype xsd:date ; - sh:description "The date of formal issuance (e.g., publication) of the Dataset." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 24 ; - sh:path dcterms:issued ], [ sh:class dcat:Distribution ; sh:description "An available Distribution for the Dataset." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path dcat:distribution ], + [ sh:class dcat:Relationship ; + sh:description "A description of a relationship with another resource." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 22 ; + sh:path dcat:qualifiedRelation ], + [ sh:class dcterms:Location ; + sh:description "A geographic region that is covered by the Dataset." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 9 ; + sh:path dcterms:spatial ], [ sh:datatype xsd:string ; - sh:description "The main identifier for the Dataset, e.g. the URI or other unique identifier in the context of the Catalogue." ; - sh:nodeKind sh:Literal ; - sh:order 11 ; - sh:path dcterms:identifier ], - [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; - sh:maxCount 1 ; + sh:description "A free-text account of the Dataset." ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 36 ; - sh:path dcatap_plus:id ], - [ sh:datatype xsd:string ; - sh:description "The version indicator (name or identifier) of a resource." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 33 ; - sh:path dcat:version ], - [ sh:class prov:Entity ; - sh:description "A slot to provide the EvaluatedEntity a Dataset is about." ; - sh:nodeKind sh:IRI ; - sh:order 37 ; - sh:path dcterms:subject ], - [ sh:class vcard:Kind ; - sh:description "Contact information that can be used for sending comments about the Dataset." ; + sh:order 6 ; + sh:path dcterms:description ], + [ sh:class dcterms:Standard ; + sh:description "An implementing rule or other specification." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path dcat:contactPoint ], - [ sh:class rdfs:Resource ; - sh:description "A related resource, such as a publication, that references, cites, or otherwise points to the dataset." ; - sh:nodeKind sh:IRI ; - sh:order 13 ; - sh:path dcterms:isReferencedBy ] ; + sh:order 2 ; + sh:path dcterms:conformsTo ] ; sh:targetClass dcat:Dataset . foaf:Agent a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Agent](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Agent)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Agent](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Agent)" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A name of the agent." ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path foaf:name ], - [ sh:class skos:Concept ; + sh:property [ sh:class skos:Concept ; sh:description "The nature of the agent." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 1 ; - sh:path dcterms:type ] ; + sh:path dcterms:type ], + [ sh:datatype xsd:string ; + sh:description "A name of the agent." ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path foaf:name ] ; sh:targetClass foaf:Agent . foaf:Document a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Document](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Document)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Document](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Document)" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcatap_plus:id ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1545,14 +1538,27 @@ foaf:Document a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path dcterms:title ] ; + sh:path dcterms:title ], + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path dcatapplus:id ] ; sh:targetClass foaf:Document . rdfs:Resource a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Resource](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Resource)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Resource](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Resource)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; + sh:description "This slot is described in more detail within the class in which it is used." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path dcterms:title ], + [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1564,84 +1570,76 @@ rdfs:Resource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path dcatap_plus:id ], - [ sh:datatype xsd:string ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:title ] ; + sh:path dcatapplus:id ] ; sh:targetClass rdfs:Resource . prov:Agent a sh:NodeShape ; - sh:closed true ; - sh:description "A material instrument that is designed to perform a function primarily by means of its mechanical or electrical nature.", + rdfs:comment "A material instrument that is designed to perform a function primarily by means of its mechanical or electrical nature.", "An entity that is somehow responsible for an Activity to take place." ; + sh:closed true ; sh:ignoredProperties ( rdf:type ), ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path dcterms:description ], - [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcatap_plus:id ], + sh:order 1 ; + sh:path dcterms:title ], [ sh:class prov:Agent ; - sh:description "The slot to specify parts of an AgenticEntity that are themselves AgenticEntities." ; + sh:description "The slot to provide the AgenticEntity of which theAgenticEntity is a part." ; sh:nodeKind sh:IRI ; - sh:order 6 ; - sh:path dcterms:hasPart ], - [ sh:class adms:Identifier ; - sh:description "A slot to provide a secondary identifier for a Device." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path adms:identifier ], + sh:order 7 ; + sh:path dcterms:isPartOf ], [ sh:class prov:Entity ; sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path dcterms:relation ], - [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcatap_plus:id ], [ sh:class schema1:DefinedTerm ; - sh:description "The slot to specify the ontology class that is instantiated by an entity." ; + sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; - sh:order 9 ; - sh:path rdf:type ], - [ sh:datatype xsd:string ; + sh:order 8 ; + sh:path dcterms:type ], + [ sh:class schema1:DefinedTerm ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:title ], + sh:nodeKind sh:IRI ; + sh:order 8 ; + sh:path dcterms:type ], + [ sh:class qudt:Quantity ; + sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path dcterms:relation ], [ sh:class prov:Agent ; sh:description "The slot to specify parts of a Device that are themselves Devices." ; sh:nodeKind sh:IRI ; sh:order 6 ; sh:path dcterms:hasPart ], + [ sh:datatype xsd:string ; + sh:description "This slot is described in more detail within the class in which it is used." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path dcterms:description ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path dcterms:title ], - [ sh:class qudt:Quantity ; - sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; + [ sh:class schema1:DefinedTerm ; + sh:description "The slot to specify the ontology class that is instantiated by an entity." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 9 ; + sh:path rdf:type ], + [ sh:class adms:Identifier ; + sh:description "A slot to provide a secondary identifier for an Instrument." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path dcterms:relation ], + sh:order 3 ; + sh:path adms:identifier ], [ sh:class prov:Agent ; sh:description "The slot to provide the AgenticEntity of which theAgenticEntity is a part." ; sh:nodeKind sh:IRI ; @@ -1653,51 +1651,64 @@ prov:Agent a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 9 ; sh:path rdf:type ], - [ sh:class schema1:DefinedTerm ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; + [ sh:class prov:Agent ; + sh:description "The slot to specify parts of an AgenticEntity that are themselves AgenticEntities." ; sh:nodeKind sh:IRI ; - sh:order 8 ; - sh:path dcterms:type ], - [ sh:class adms:Identifier ; - sh:description "A slot to provide a secondary identifier for an Instrument." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path adms:identifier ], + sh:order 6 ; + sh:path dcterms:hasPart ], [ sh:class prov:Entity ; sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path dcterms:relation ], - [ sh:class qudt:Quantity ; - sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path dcatapplus:id ], + [ sh:class adms:Identifier ; + sh:description "A slot to provide a secondary identifier for a Device." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path dcterms:relation ], - [ sh:class schema1:DefinedTerm ; - sh:description "This slot is described in more detail within the class in which it is used." ; + sh:order 3 ; + sh:path adms:identifier ], + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 8 ; - sh:path dcterms:type ], + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path dcatapplus:id ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path dcterms:description ], - [ sh:class prov:Agent ; - sh:description "The slot to provide the AgenticEntity of which theAgenticEntity is a part." ; - sh:nodeKind sh:IRI ; - sh:order 7 ; - sh:path dcterms:isPartOf ] ; + [ sh:class qudt:Quantity ; + sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path dcterms:relation ] ; sh:targetClass prov:Agent . qudt:Quantity a sh:NodeShape ; + rdfs:comment "A quantifiable piece of information that is attributed to an Entity, Activity or AgenticEntity." ; sh:closed true ; - sh:description "A quantifiable piece of information that is attributed to an Entity, Activity or AgenticEntity." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:class schema1:DefinedTerm ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 4 ; + sh:path qudt:unit ], + [ sh:class schema1:DefinedTerm ; + sh:description "This slot is described in more detail within the class in which it is used." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 5 ; + sh:path dcterms:type ], + [ sh:class schema1:DefinedTerm ; sh:description "The slot to specify the ontology class that is instantiated by an entity." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; @@ -1710,17 +1721,12 @@ qudt:Quantity a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 3 ; sh:path qudt:hasQuantityKind ], - [ sh:class schema1:DefinedTerm ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 4 ; - sh:path qudt:unit ], - [ sh:class schema1:DefinedTerm ; + [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 5 ; - sh:path dcterms:type ], + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path dcterms:description ], [ sh:datatype xsd:float ; sh:description "The slot to provide the literal value of the QuantitativeAttribute." ; sh:maxCount 1 ; @@ -1728,12 +1734,6 @@ qudt:Quantity a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path prov:value ], - [ sh:datatype xsd:string ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; @@ -1743,21 +1743,21 @@ qudt:Quantity a sh:NodeShape ; sh:targetClass qudt:Quantity . skos:Concept a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Concept](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Concept)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Concept](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Concept)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:title ], + sh:order 2 ; + sh:path dcterms:description ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path dcterms:description ], + sh:order 1 ; + sh:path dcterms:title ], [ sh:datatype xsd:string ; sh:description "A preferred label of the concept." ; sh:minCount 1 ; @@ -1767,8 +1767,8 @@ skos:Concept a sh:NodeShape ; sh:targetClass skos:Concept . adms:Identifier a sh:NodeShape ; + rdfs:comment "See [DCAT-AP specs:Identifier](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Identifier)" ; sh:closed true ; - sh:description "See [DCAT-AP specs:Identifier](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Identifier)" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; sh:description "A string that is an identifier in the context of the identifier scheme referenced by its datatype." ; @@ -1792,317 +1792,305 @@ adms:Identifier a sh:NodeShape ; sh:targetClass adms:Identifier . prov:Activity a sh:NodeShape ; - sh:closed true ; - sh:description "An Activity (process) that has the objective to produce information (in form of a dataset) about another Activity or Entity.", + rdfs:comment "An Activity (process) that has the objective to produce information (in form of a dataset) about another Activity or Entity.", "An Activity that evaluates the data produced by another Activity.", "An activity or process that is being evaluated in a DataGeneratingActivity.", "See [DCAT-AP specs:Activity](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Activity)" ; - sh:ignoredProperties ( rdf:type prov:atLocation ), - ( rdf:type ), + sh:closed true ; + sh:ignoredProperties ( rdf:type ), ( rdf:type ), + ( prov:atLocation rdf:type ), ( rdf:type ) ; - sh:property [ sh:class prov:Activity ; - sh:description "The slot to provide a previous Activity that informed the Activity by being causally via a shared participant." ; - sh:nodeKind sh:IRI ; - sh:order 7 ; - sh:path prov:wasInformedBy ], - [ sh:class prov:Activity ; - sh:description "The slot to provide an Activity of which the Activity is a part." ; - sh:nodeKind sh:IRI ; - sh:order 11 ; - sh:path dcterms:isPartOf ], - [ sh:class prov:Entity ; - sh:description "The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed." ; - sh:nodeKind sh:IRI ; - sh:order 5 ; - sh:path prov:used ], + sh:property [ sh:class prov:Location ; + sh:description "The slot to specify the Surrounding in which an Activity took place." ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path prov:atLocation ], [ sh:class qudt:Quantity ; sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 10 ; sh:path dcterms:relation ], - [ sh:class schema1:DefinedTerm ; - sh:description "The slot to specify the ontology class that is instantiated by an entity." ; - sh:maxCount 1 ; + [ sh:class prov:Activity ; + sh:description "The slot to provide an Activity that is part of the Activity." ; sh:nodeKind sh:IRI ; - sh:order 13 ; - sh:path rdf:type ], + sh:order 4 ; + sh:path dcterms:hasPart ], + [ sh:datatype xsd:string ; + sh:description "The slot to provide a description for the Activity." ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path dcterms:description ], [ sh:class prov:Activity ; sh:description "The slot to provide a previous Activity that informed the Activity by being causally via a shared participant." ; sh:nodeKind sh:IRI ; sh:order 11 ; sh:path prov:wasInformedBy ], - [ sh:class prov:Activity ; - sh:description "The slot to provide an Activity that is part of the Activity." ; + [ sh:class prov:Agent ; + sh:description "The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity." ; sh:nodeKind sh:IRI ; - sh:order 4 ; - sh:path dcterms:hasPart ], - [ sh:class schema1:DefinedTerm ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; + sh:order 8 ; + sh:path prov:wasAssociatedWith ], + [ sh:class prov:Activity ; + sh:description "The slot to provide a previous Activity that informed the Activity by being causally via a shared participant." ; sh:nodeKind sh:IRI ; - sh:order 12 ; - sh:path dcterms:type ], + sh:order 11 ; + sh:path prov:wasInformedBy ], [ sh:class schema1:DefinedTerm ; sh:description "The slot to specify the ontology class that is instantiated by an entity." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 17 ; sh:path rdf:type ], - [ sh:class schema1:DefinedTerm ; - sh:description "This slot is described in more detail within the class in which it is used." ; + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 12 ; - sh:path dcterms:type ], - [ sh:datatype xsd:string ; - sh:description "The slot to provide a title for the Activity." ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:title ], - [ sh:class prov:Activity ; - sh:description "The slot to provide an Activity of which the Activity is a part." ; - sh:nodeKind sh:IRI ; - sh:order 15 ; - sh:path dcterms:isPartOf ], - [ sh:class schema1:DefinedTerm ; - sh:description "The slot to specify the ontology class that is instantiated by an entity." ; - sh:maxCount 1 ; + sh:order 0 ; + sh:path dcatapplus:id ], + [ sh:class prov:Agent ; + sh:description "The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity." ; sh:nodeKind sh:IRI ; - sh:order 13 ; - sh:path rdf:type ], - [ sh:class prov:Plan ; - sh:description "The slot to specify the Plan (i.e. directive information or procedure) that was realized by an Activity." ; + sh:order 12 ; + sh:path prov:wasAssociatedWith ], + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path prov:used ], + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path dcatapplus:id ], [ sh:datatype xsd:string ; sh:description "The slot to provide a title for the Activity." ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path dcterms:title ], - [ sh:class schema1:DefinedTerm ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 16 ; - sh:path dcterms:type ], - [ sh:class prov:Location ; - sh:description "The slot to specify the Surrounding in which an Activity took place." ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path prov:atLocation ], [ sh:class prov:Entity ; sh:description "The slot to specify the Entity that was generated as an output of an Activity." ; sh:nodeKind sh:IRI ; sh:order 10 ; sh:path prov:generated ], - [ sh:class qudt:Quantity ; - sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 14 ; - sh:path dcterms:relation ], + [ sh:class prov:Entity ; + sh:description "The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed." ; + sh:nodeKind sh:IRI ; + sh:order 9 ; + sh:path prov:used ], [ sh:class prov:Activity ; - sh:description "The slot to provide an Activity that is part of the Activity." ; + sh:description "The slot to provide an Activity of which the Activity is a part." ; sh:nodeKind sh:IRI ; - sh:order 8 ; - sh:path dcterms:hasPart ], - [ sh:datatype xsd:string ; - sh:description "The slot to provide a title for the Activity." ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path dcterms:title ], - [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path dcatap_plus:id ], + sh:order 11 ; + sh:path dcterms:isPartOf ], [ sh:class prov:Entity ; - sh:description "The slot to specify the Entity about which the DataGeneratingActivity produced information." ; + sh:description "The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed." ; sh:nodeKind sh:IRI ; - sh:order 0 ; + sh:order 9 ; sh:path prov:used ], [ sh:class qudt:Quantity ; sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 10 ; + sh:order 14 ; sh:path dcterms:relation ], + [ sh:class adms:Identifier ; + sh:description "A slot to provide a secondary identifier of the EvaluatedActivity." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path adms:identifier ], + [ sh:class prov:Activity ; + sh:description "The slot to provide an Activity of which the Activity is a part." ; + sh:nodeKind sh:IRI ; + sh:order 15 ; + sh:path dcterms:isPartOf ], [ sh:class prov:Entity ; - sh:description "The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed." ; + sh:description "The slot to specify the Entity that was generated as an output of an Activity." ; sh:nodeKind sh:IRI ; - sh:order 9 ; + sh:order 6 ; + sh:path prov:generated ], + [ sh:class prov:Entity ; + sh:description "A slot to provide the data that was analysed by the DataAnalysis." ; + sh:nodeKind sh:IRI ; + sh:order 0 ; sh:path prov:used ], - [ sh:class schema1:DefinedTerm ; - sh:description "The slot to specify the ontology class that is instantiated by an entity." ; - sh:maxCount 1 ; + [ sh:class prov:Activity ; + sh:description "The slot to provide an Activity of which the Activity is a part." ; sh:nodeKind sh:IRI ; - sh:order 17 ; - sh:path rdf:type ], + sh:order 11 ; + sh:path dcterms:isPartOf ], [ sh:class prov:Agent ; sh:description "The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity." ; sh:nodeKind sh:IRI ; sh:order 8 ; sh:path prov:wasAssociatedWith ], + [ sh:class schema1:DefinedTerm ; + sh:description "This slot is described in more detail within the class in which it is used." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 12 ; + sh:path dcterms:type ], [ sh:class prov:Entity ; sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 13 ; sh:path dcterms:relation ], - [ sh:class prov:Activity ; - sh:description "The slot to provide a previous Activity that informed the Activity by being causally via a shared participant." ; - sh:nodeKind sh:IRI ; - sh:order 11 ; - sh:path prov:wasInformedBy ], - [ sh:class prov:Entity ; - sh:description "The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed." ; - sh:nodeKind sh:IRI ; - sh:order 5 ; - sh:path prov:used ], - [ sh:class prov:Entity ; - sh:description "The slot to specify the Entity that was generated as an output of an Activity." ; - sh:nodeKind sh:IRI ; - sh:order 6 ; - sh:path prov:generated ], [ sh:datatype xsd:string ; sh:description "The slot to provide a title for the Activity." ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path dcterms:title ], [ sh:class prov:Entity ; - sh:description "The slot to specify the Entity that was generated as an output of an Activity." ; - sh:nodeKind sh:IRI ; - sh:order 10 ; - sh:path prov:generated ], - [ sh:class prov:Entity ; - sh:description "The slot to specify the Entity that was generated as an output of an Activity." ; - sh:nodeKind sh:IRI ; - sh:order 6 ; - sh:path prov:generated ], - [ sh:class prov:Activity ; - sh:description "The slot to specify the Activity about which the DataGeneratingActivity produced information." ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path prov:wasInformedBy ], - [ sh:class prov:Entity ; - sh:description "The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed." ; + sh:description "The slot to specify the Entity about which the DataGeneratingActivity produced information." ; sh:nodeKind sh:IRI ; - sh:order 9 ; + sh:order 0 ; sh:path prov:used ], - [ sh:class prov:Activity ; - sh:description "The slot to provide an Activity that is part of the Activity." ; - sh:nodeKind sh:IRI ; - sh:order 4 ; - sh:path dcterms:hasPart ], - [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; + [ sh:class schema1:DefinedTerm ; + sh:description "The slot to specify the ontology class that is instantiated by an entity." ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcatap_plus:id ], - [ sh:class prov:Agent ; - sh:description "The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity." ; sh:nodeKind sh:IRI ; - sh:order 12 ; - sh:path prov:wasAssociatedWith ], - [ sh:datatype xsd:string ; - sh:description "The slot to provide a description for the Activity." ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path dcterms:description ], + sh:order 13 ; + sh:path rdf:type ], [ sh:class prov:Activity ; sh:description "The slot to provide an Activity of which the Activity is a part." ; sh:nodeKind sh:IRI ; sh:order 15 ; sh:path dcterms:isPartOf ], [ sh:class prov:Activity ; - sh:description "The slot to provide an Activity that is part of the Activity." ; + sh:description "The slot to provide a previous Activity that informed the Activity by being causally via a shared participant." ; sh:nodeKind sh:IRI ; - sh:order 8 ; - sh:path dcterms:hasPart ], + sh:order 7 ; + sh:path prov:wasInformedBy ], + [ sh:class prov:Location ; + sh:description "The slot to specify the Surrounding in which an Activity took place." ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path prov:atLocation ], + [ sh:class prov:Activity ; + sh:description "The slot to provide a previous Activity that informed the Activity by being causally via a shared participant." ; + sh:nodeKind sh:IRI ; + sh:order 7 ; + sh:path prov:wasInformedBy ], + [ sh:class prov:Activity ; + sh:description "The slot to specify the Activity about which the DataGeneratingActivity produced information." ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path prov:wasInformedBy ], + [ sh:class prov:Plan ; + sh:description "The slot to specify the Plan (i.e. directive information or procedure) that was realized by an Activity." ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path prov:used ], + [ sh:class schema1:DefinedTerm ; + sh:description "The slot to specify the ontology class that is instantiated by an entity." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 17 ; + sh:path rdf:type ], [ sh:class prov:Entity ; sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 9 ; sh:path dcterms:relation ], - [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; + [ sh:class schema1:DefinedTerm ; + sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path dcatap_plus:id ], - [ sh:class prov:Activity ; - sh:description "The slot to provide an Activity of which the Activity is a part." ; sh:nodeKind sh:IRI ; - sh:order 11 ; - sh:path dcterms:isPartOf ], + sh:order 12 ; + sh:path dcterms:type ], [ sh:class prov:Plan ; sh:description "The slot to specify the Plan (i.e. directive information or procedure) that was realized by an Activity." ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; sh:path prov:used ], - [ sh:datatype xsd:string ; - sh:description "The slot to provide a description for the Activity." ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path dcterms:description ], [ sh:class qudt:Quantity ; sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 14 ; + sh:order 10 ; sh:path dcterms:relation ], + [ sh:class prov:Activity ; + sh:description "The slot to provide an Activity that is part of the Activity." ; + sh:nodeKind sh:IRI ; + sh:order 4 ; + sh:path dcterms:hasPart ], [ sh:class prov:Entity ; sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 9 ; sh:path dcterms:relation ], - [ sh:class prov:Entity ; - sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; + [ sh:class adms:Identifier ; + sh:description "The slot to provide a secondary identifier of the Activity." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 13 ; - sh:path dcterms:relation ], + sh:order 7 ; + sh:path adms:identifier ], + [ sh:datatype xsd:string ; + sh:description "The slot to provide a title for the Activity." ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path dcterms:title ], + [ sh:datatype xsd:string ; + sh:description "The slot to provide a title for the Activity." ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path dcterms:title ], + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path dcatapplus:id ], [ sh:datatype xsd:string ; sh:description "The slot to provide a description for the Activity." ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path dcterms:description ], [ sh:class prov:Entity ; - sh:description "A slot to provide the data that was analysed by the DataAnalysis." ; + sh:description "The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed." ; sh:nodeKind sh:IRI ; - sh:order 0 ; + sh:order 5 ; sh:path prov:used ], + [ sh:class schema1:DefinedTerm ; + sh:description "The slot to specify the ontology class that is instantiated by an entity." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 13 ; + sh:path rdf:type ], [ sh:class prov:Activity ; sh:description "The slot to specify the Activity about which the DataGeneratingActivity produced information." ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path prov:wasInformedBy ], - [ sh:class adms:Identifier ; - sh:description "The slot to provide a secondary identifier of the Activity." ; + [ sh:class qudt:Quantity ; + sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 7 ; - sh:path adms:identifier ], + sh:order 14 ; + sh:path dcterms:relation ], + [ sh:class prov:Entity ; + sh:description "The slot to specify the Entity that was generated as an output of an Activity." ; + sh:nodeKind sh:IRI ; + sh:order 10 ; + sh:path prov:generated ], + [ sh:class prov:Entity ; + sh:description "The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed." ; + sh:nodeKind sh:IRI ; + sh:order 5 ; + sh:path prov:used ], + [ sh:class prov:Entity ; + sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 13 ; + sh:path dcterms:relation ], + [ sh:datatype xsd:string ; + sh:description "The slot to provide a description for the Activity." ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path dcterms:description ], [ sh:class prov:Agent ; sh:description "The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity." ; sh:nodeKind sh:IRI ; - sh:order 8 ; + sh:order 12 ; sh:path prov:wasAssociatedWith ], - [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcatap_plus:id ], - [ sh:class adms:Identifier ; - sh:description "A slot to provide a secondary identifier of the EvaluatedActivity." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path adms:identifier ], [ sh:class schema1:DefinedTerm ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; @@ -2114,135 +2102,118 @@ prov:Activity a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 7 ; sh:path adms:identifier ], - [ sh:datatype xsd:string ; - sh:description "The slot to provide a description for the Activity." ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path dcterms:description ], - [ sh:class prov:Location ; - sh:description "The slot to specify the Surrounding in which an Activity took place." ; + [ sh:class schema1:DefinedTerm ; + sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path prov:atLocation ], - [ sh:class prov:Agent ; - sh:description "The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity." ; sh:nodeKind sh:IRI ; - sh:order 12 ; - sh:path prov:wasAssociatedWith ], + sh:order 16 ; + sh:path dcterms:type ], + [ sh:class prov:Activity ; + sh:description "The slot to provide an Activity that is part of the Activity." ; + sh:nodeKind sh:IRI ; + sh:order 8 ; + sh:path dcterms:hasPart ], [ sh:class adms:Identifier ; sh:description "The slot to provide a secondary identifier of the Activity." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path adms:identifier ], - [ sh:class prov:Activity ; - sh:description "The slot to provide a previous Activity that informed the Activity by being causally via a shared participant." ; - sh:nodeKind sh:IRI ; - sh:order 7 ; - sh:path prov:wasInformedBy ] ; - sh:targetClass prov:Activity . - -prov:Entity a sh:NodeShape ; - sh:closed true ; - sh:description "A physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary.", - "A piece of information that is attributed to an Entity, Activity or AgenticEntity.", - "An Entity that is being evaluated in a DataGeneratingActivity.", - "Information that was evaluated within a DataAnalysis." ; - sh:ignoredProperties ( rdf:type ), - ( rdf:type ), - ( rdf:type prov:wasGeneratedBy ), - ( rdf:type ) ; - sh:property [ sh:class schema1:DefinedTerm ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 9 ; - sh:path dcterms:type ], [ sh:class prov:Entity ; - sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path dcterms:relation ], - [ sh:class schema1:DefinedTerm ; - sh:description "The slot to specify the ontology class that is instantiated by an entity." ; - sh:maxCount 1 ; + sh:description "The slot to specify the Entity that was generated as an output of an Activity." ; sh:nodeKind sh:IRI ; - sh:order 10 ; - sh:path rdf:type ], + sh:order 6 ; + sh:path prov:generated ], [ sh:datatype xsd:anyURI ; sh:description "A slot to provide an URI for an entity within this schema." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path dcatap_plus:id ], - [ sh:class schema1:DefinedTerm ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path dcterms:type ], - [ sh:class prov:Entity ; - sh:description "A slot to provide a part of the Entity." ; - sh:nodeKind sh:IRI ; - sh:order 6 ; - sh:path dcterms:hasPart ], + sh:order 4 ; + sh:path dcatapplus:id ], [ sh:datatype xsd:string ; - sh:description "This slot is described in more detail within the class in which it is used." ; - sh:maxCount 1 ; + sh:description "The slot to provide a description for the Activity." ; sh:nodeKind sh:Literal ; - sh:order 1 ; + sh:order 6 ; sh:path dcterms:description ], - [ sh:class qudt:Quantity ; - sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; + [ sh:class prov:Activity ; + sh:description "The slot to provide an Activity that is part of the Activity." ; + sh:nodeKind sh:IRI ; + sh:order 8 ; + sh:path dcterms:hasPart ] ; + sh:targetClass prov:Activity . + +prov:Entity a sh:NodeShape ; + rdfs:comment "A physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary.", + "A piece of information that is attributed to an Entity, Activity or AgenticEntity.", + "An Entity that is being evaluated in a DataGeneratingActivity.", + "Information that was evaluated within a DataAnalysis." ; + sh:closed true ; + sh:ignoredProperties ( rdf:type prov:wasGeneratedBy ), + ( rdf:type ), + ( rdf:type ), + ( rdf:type ) ; + sh:property [ sh:class prov:Entity ; + sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; + sh:order 5 ; sh:path dcterms:relation ], [ sh:class qudt:Quantity ; sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; + sh:order 6 ; sh:path dcterms:relation ], - [ sh:datatype xsd:string ; - sh:description "The slot to provide a description for the EvaluatedEntity." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path dcterms:description ], - [ sh:class prov:Entity ; - sh:description "The slot to specify an Entity of which the Entity is a part." ; - sh:nodeKind sh:IRI ; - sh:order 8 ; - sh:path dcterms:isPartOf ], [ sh:class adms:Identifier ; sh:description "A slot to provide a secondary identifier of the EvaluatedEntity." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path adms:identifier ], + [ sh:class prov:Activity ; + sh:description "A slot to provide the Activity which created the EvaluatedEntity." ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path prov:wasGeneratedBy ], [ sh:datatype xsd:string ; - sh:description "This slot is described in more detail within the class in which it is used." ; + sh:description "The slot to provide a description for the Entity." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcterms:title ], + sh:order 1 ; + sh:path dcterms:description ], + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path dcatapplus:id ], [ sh:class schema1:DefinedTerm ; - sh:description "This slot is described in more detail within the class in which it is used." ; + sh:description "The slot to specify the ontology class that is instantiated by an entity." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; - sh:order 8 ; - sh:path dcterms:type ], + sh:order 4 ; + sh:path rdf:type ], + [ sh:class schema1:DefinedTerm ; + sh:description "The slot to specify the ontology class that is instantiated by an entity." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 10 ; + sh:path rdf:type ], [ sh:class prov:Entity ; - sh:description "A slot to provide a part of the Entity." ; + sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path dcterms:relation ], + [ sh:class schema1:DefinedTerm ; + sh:description "This slot is described in more detail within the class in which it is used." ; + sh:maxCount 1 ; sh:nodeKind sh:IRI ; - sh:order 7 ; - sh:path dcterms:hasPart ], - [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; + sh:order 9 ; + sh:path dcterms:type ], + [ sh:datatype xsd:string ; + sh:description "The slot to provide a description for the EvaluatedEntity." ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path dcatap_plus:id ], + sh:path dcterms:description ], [ sh:datatype xsd:string ; sh:description "The slot to provide the literal value of the QualitativeAttribute." ; sh:maxCount 1 ; @@ -2250,136 +2221,165 @@ prov:Entity a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path prov:value ], - [ sh:class prov:Activity ; - sh:description "A slot to provide the Activity which created the EvaluatedEntity." ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path prov:wasGeneratedBy ], [ sh:class prov:Activity ; sh:description "A slot to provide the Activity which created the AnalysisSourceData." ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path prov:wasGeneratedBy ], + [ sh:class prov:Entity ; + sh:description "The slot to specify an Entity of which the Entity is a part." ; + sh:nodeKind sh:IRI ; + sh:order 8 ; + sh:path dcterms:isPartOf ], [ sh:datatype xsd:string ; - sh:description "The slot to provide a description for the EvaluatedEntity." ; + sh:description "The slot to provide a title for the EvaluatedEntity." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path dcterms:description ], + sh:order 1 ; + sh:path dcterms:title ], [ sh:class schema1:DefinedTerm ; sh:description "The slot to specify the ontology class that is instantiated by an entity." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; - sh:order 10 ; + sh:order 9 ; sh:path rdf:type ], - [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; + [ sh:class adms:Identifier ; + sh:description "A slot to provide a secondary identifier of the EvaluatedEntity." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path adms:identifier ], + [ sh:class prov:Entity ; + sh:description "The slot to specify an Entity of which the Entity is a part." ; + sh:nodeKind sh:IRI ; + sh:order 8 ; + sh:path dcterms:isPartOf ], + [ sh:datatype xsd:string ; + sh:description "The slot to provide a title for the EvaluatedEntity." ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path dcatap_plus:id ], + sh:order 1 ; + sh:path dcterms:title ], [ sh:datatype xsd:string ; sh:description "The slot to provide a title for the Entity." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path dcterms:title ], - [ sh:class adms:Identifier ; - sh:description "A slot to provide a secondary identifier of the Entity." ; + [ sh:class prov:Entity ; + sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path adms:identifier ], - [ sh:class schema1:DefinedTerm ; - sh:description "The slot to specify the ontology class that is instantiated by an entity." ; - sh:maxCount 1 ; + sh:order 4 ; + sh:path dcterms:relation ], + [ sh:class prov:Entity ; + sh:description "The slot to specify an Entity of which the Entity is a part." ; sh:nodeKind sh:IRI ; - sh:order 9 ; - sh:path rdf:type ], + sh:order 7 ; + sh:path dcterms:isPartOf ], + [ sh:class prov:Entity ; + sh:description "A slot to provide a part of the Entity." ; + sh:nodeKind sh:IRI ; + sh:order 6 ; + sh:path dcterms:hasPart ], [ sh:datatype xsd:string ; - sh:description "The slot to provide a title for the EvaluatedEntity." ; + sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path dcterms:title ], - [ sh:class schema1:DefinedTerm ; - sh:description "The slot to specify the ontology class that is instantiated by an entity." ; + sh:path dcterms:description ], + [ sh:class qudt:Quantity ; + sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path dcterms:relation ], + [ sh:datatype xsd:string ; + sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 4 ; - sh:path rdf:type ], + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path dcterms:title ], [ sh:class prov:Entity ; sh:description "A slot to provide a part of the Entity." ; sh:nodeKind sh:IRI ; sh:order 7 ; sh:path dcterms:hasPart ], [ sh:class adms:Identifier ; - sh:description "A slot to provide a secondary identifier of the EvaluatedEntity." ; + sh:description "A slot to provide a secondary identifier of the Entity." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; + sh:order 3 ; sh:path adms:identifier ], - [ sh:class prov:Entity ; - sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; + [ sh:class qudt:Quantity ; + sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; + sh:order 5 ; sh:path dcterms:relation ], + [ sh:class schema1:DefinedTerm ; + sh:description "This slot is described in more detail within the class in which it is used." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 8 ; + sh:path dcterms:type ], [ sh:class schema1:DefinedTerm ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 9 ; sh:path dcterms:type ], - [ sh:class qudt:Quantity ; - sh:description "The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path dcterms:relation ], - [ sh:class prov:Entity ; - sh:description "The slot to specify an Entity of which the Entity is a part." ; + [ sh:class schema1:DefinedTerm ; + sh:description "The slot to specify the ontology class that is instantiated by an entity." ; + sh:maxCount 1 ; sh:nodeKind sh:IRI ; - sh:order 7 ; - sh:path dcterms:isPartOf ], - [ sh:datatype xsd:string ; - sh:description "The slot to provide a description for the Entity." ; + sh:order 10 ; + sh:path rdf:type ], + [ sh:class schema1:DefinedTerm ; + sh:description "This slot is described in more detail within the class in which it is used." ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 3 ; + sh:path dcterms:type ], + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:description ], + sh:order 3 ; + sh:path dcatapplus:id ], + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path dcatapplus:id ], [ sh:datatype xsd:string ; - sh:description "The slot to provide a title for the EvaluatedEntity." ; + sh:description "The slot to provide a description for the EvaluatedEntity." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path dcterms:title ], - [ sh:class prov:Entity ; - sh:description "The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity" ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path dcterms:relation ], + sh:order 2 ; + sh:path dcterms:description ], [ sh:class prov:Entity ; - sh:description "The slot to specify an Entity of which the Entity is a part." ; + sh:description "A slot to provide a part of the Entity." ; sh:nodeKind sh:IRI ; - sh:order 8 ; - sh:path dcterms:isPartOf ] ; + sh:order 7 ; + sh:path dcterms:hasPart ] ; sh:targetClass prov:Entity . schema1:DefinedTerm a sh:NodeShape ; + rdfs:comment "A word, name, acronym or phrase that is defined in a controlled vocabulary (CV) and that is used to provide an additional rdf:type or dcterms:type of a class within this schema." ; sh:closed true ; - sh:description "A word, name, acronym or phrase that is defined in a controlled vocabulary (CV) and that is used to provide an additional rdf:type or dcterms:type of a class within this schema." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:anyURI ; - sh:description "A slot to provide an URI for an entity within this schema." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path dcatap_plus:id ], - [ sh:datatype xsd:anyURI ; sh:description "The URL of the controlled vocabulary." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path schema1:inDefinedTermSet ], + [ sh:datatype xsd:anyURI ; + sh:description "A slot to provide an URI for an entity within this schema." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path dcatapplus:id ], [ sh:datatype xsd:string ; sh:description "This slot is described in more detail within the class in which it is used." ; sh:maxCount 1 ; @@ -2387,4 +2387,3 @@ schema1:DefinedTerm a sh:NodeShape ; sh:order 1 ; sh:path schema1:name ] ; sh:targetClass schema1:DefinedTerm . - diff --git a/pyproject.toml b/pyproject.toml index 97cc5187..459b38a7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,10 +12,11 @@ authors = [ license = "MIT" license-files = ["LICENSE"] readme = "README_pypkg.md" -requires-python = ">=3.9,<4.0" +requires-python = ">=3.10,<4.0" dynamic = ["version"] dependencies = [ + "linkml>=1.9.6", "linkml-runtime >=1.9.4", ] @@ -25,6 +26,7 @@ dev = [ "mike>=2.1.3", "mkdocs-material>=8.2.8", "mkdocs-mermaid2-plugin>=1.1.1", + "mkdocs-pymdownx-material-extras>=2.5.6", "jupyter>=1.0.0", "mknotebooks>= 0.8.0", "pytest>=8.3.5", diff --git a/src/dcat_ap_plus/datamodel/dcat_ap_plus.py b/src/dcat_ap_plus/datamodel/dcat_ap_plus.py index cdebd95f..3fa07c1e 100644 --- a/src/dcat_ap_plus/datamodel/dcat_ap_plus.py +++ b/src/dcat_ap_plus/datamodel/dcat_ap_plus.py @@ -1,107 +1,70 @@ # Auto generated from dcat_ap_plus.yaml by pythongen.py version: 0.0.1 -# Generation date: 2026-01-26T14:14:50 +# Generation date: 2026-03-04T00:58:56 # Schema: dcat-ap-plus # # id: https://w3id.org/nfdi-de/dcat-ap-plus/ # description: This metadata schema is an Extension of the DCAT Application Profile for Providing Links to Use-case Specific Context. It allows to provide additional metadata regarding: which kind(s) of entity(s) or activity(s) were evaluated (the dcat:Dataset is about), which kind of activity generated the dcat:Dataset, which kind of instruments were used in the dataset generating activity, in which surrounding (e.g. a laboratory) and according to which plan the dataset generating activity took place, as well as regarding which kind(s) of qualitative and quantitative characteristic were attributed to the evaluated entity or evaluated activity and to the used instruments. # license: CC-BY 4.0 -import dataclasses -import re from dataclasses import dataclass -from datetime import ( - date, - datetime, - time -) -from typing import ( - Any, - ClassVar, - Dict, - List, - Optional, - Union -) +from typing import Any, ClassVar, Optional, Union -from jsonasobj2 import ( - JsonObj, - as_dict -) -from linkml_runtime.linkml_model.meta import ( - EnumDefinition, - PermissibleValue, - PvFormulaOptions -) +from jsonasobj2 import as_dict +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue from linkml_runtime.utils.curienamespace import CurieNamespace from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from linkml_runtime.utils.formatutils import ( - camelcase, - sfx, - underscore -) -from linkml_runtime.utils.metamodelcore import ( - bnode, - empty_dict, - empty_list -) +from linkml_runtime.utils.metamodelcore import empty_dict, empty_list from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.yamlutils import ( - YAMLRoot, - extended_float, - extended_int, - extended_str -) -from rdflib import ( - Namespace, - URIRef -) +from linkml_runtime.utils.yamlutils import YAMLRoot +from rdflib import URIRef -from linkml_runtime.linkml_model.types import Date, Decimal, Float, String, Uriorcurie +from linkml_runtime.linkml_model.types import Decimal from linkml_runtime.utils.metamodelcore import Decimal, URIorCURIE, XSDDate metamodel_version = "1.7.0" version = "0.1.0rc3.post21.dev0+913fb36" # Namespaces -AFE = CurieNamespace('AFE', 'http://purl.allotrope.org/ontologies/equipment#AFE_') -BFO = CurieNamespace('BFO', 'http://purl.obolibrary.org/obo/BFO_') -IAO = CurieNamespace('IAO', 'http://purl.obolibrary.org/obo/IAO_') -NCIT = CurieNamespace('NCIT', 'http://purl.obolibrary.org/obo/NCIT_') -OBI = CurieNamespace('OBI', 'http://purl.obolibrary.org/obo/OBI_') -SIO = CurieNamespace('SIO', 'http://semanticscience.org/resource/SIO_') -SOSA = CurieNamespace('SOSA', 'http://www.w3.org/ns/sosa/') -ADMS = CurieNamespace('adms', 'http://www.w3.org/ns/adms#') -DCAT = CurieNamespace('dcat', 'http://www.w3.org/ns/dcat#') -DCATAP = CurieNamespace('dcatap', 'http://data.europa.eu/r5r/') -DCATAPPLUS = CurieNamespace('dcatapplus', 'https://w3id.org/nfdi-de/dcat-ap-plus/') -DCTERMS = CurieNamespace('dcterms', 'http://purl.org/dc/terms/') -ELI = CurieNamespace('eli', 'http://data.europa.eu/eli/ontology#') -EPOS = CurieNamespace('epos', 'https://www.epos-eu.org/epos-dcat-ap#') -EX = CurieNamespace('ex', 'http://example.org/') -FOAF = CurieNamespace('foaf', 'http://xmlns.com/foaf/0.1/') -IANA = CurieNamespace('iana', 'https://www.iana.org/assignments/') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -LOCN = CurieNamespace('locn', 'http://www.w3.org/ns/locn#') -ODRL = CurieNamespace('odrl', 'http://www.w3.org/ns/odrl/2/') -PROV = CurieNamespace('prov', 'http://www.w3.org/ns/prov#') -QB = CurieNamespace('qb', 'http://purl.org/linked-data/cube#') -QUDT = CurieNamespace('qudt', 'http://qudt.org/schema/qudt/') -RDF = CurieNamespace('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#') -RDFS = CurieNamespace('rdfs', 'http://www.w3.org/2000/01/rdf-schema#') -SCHEMA = CurieNamespace('schema', 'http://schema.org/') -SH = CurieNamespace('sh', 'http://www.w3.org/ns/shacl#') -SKOS = CurieNamespace('skos', 'http://www.w3.org/2004/02/skos/core#') -SPDX = CurieNamespace('spdx', 'http://spdx.org/rdf/terms#') -TIME = CurieNamespace('time', 'http://www.w3.org/2006/time#') -VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') -VL = CurieNamespace('vl', 'https://purl.eu/ns/shacl#') -XSD = CurieNamespace('xsd', 'http://www.w3.org/2001/XMLSchema#') +AFE = CurieNamespace("AFE", "http://purl.allotrope.org/ontologies/equipment#AFE_") +BFO = CurieNamespace("BFO", "http://purl.obolibrary.org/obo/BFO_") +IAO = CurieNamespace("IAO", "http://purl.obolibrary.org/obo/IAO_") +NCIT = CurieNamespace("NCIT", "http://purl.obolibrary.org/obo/NCIT_") +OBI = CurieNamespace("OBI", "http://purl.obolibrary.org/obo/OBI_") +SIO = CurieNamespace("SIO", "http://semanticscience.org/resource/SIO_") +SOSA = CurieNamespace("SOSA", "http://www.w3.org/ns/sosa/") +ADMS = CurieNamespace("adms", "http://www.w3.org/ns/adms#") +DCAT = CurieNamespace("dcat", "http://www.w3.org/ns/dcat#") +DCATAP = CurieNamespace("dcatap", "http://data.europa.eu/r5r/") +DCATAPPLUS = CurieNamespace("dcatapplus", "https://w3id.org/nfdi-de/dcat-ap-plus/") +DCTERMS = CurieNamespace("dcterms", "http://purl.org/dc/terms/") +ELI = CurieNamespace("eli", "http://data.europa.eu/eli/ontology#") +EPOS = CurieNamespace("epos", "https://www.epos-eu.org/epos-dcat-ap#") +EX = CurieNamespace("ex", "http://example.org/") +FOAF = CurieNamespace("foaf", "http://xmlns.com/foaf/0.1/") +IANA = CurieNamespace("iana", "https://www.iana.org/assignments/") +LINKML = CurieNamespace("linkml", "https://w3id.org/linkml/") +LOCN = CurieNamespace("locn", "http://www.w3.org/ns/locn#") +ODRL = CurieNamespace("odrl", "http://www.w3.org/ns/odrl/2/") +PROV = CurieNamespace("prov", "http://www.w3.org/ns/prov#") +QB = CurieNamespace("qb", "http://purl.org/linked-data/cube#") +QUDT = CurieNamespace("qudt", "http://qudt.org/schema/qudt/") +RDF = CurieNamespace("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#") +RDFS = CurieNamespace("rdfs", "http://www.w3.org/2000/01/rdf-schema#") +SCHEMA = CurieNamespace("schema", "http://schema.org/") +SH = CurieNamespace("sh", "http://www.w3.org/ns/shacl#") +SKOS = CurieNamespace("skos", "http://www.w3.org/2004/02/skos/core#") +SPDX = CurieNamespace("spdx", "http://spdx.org/rdf/terms#") +TIME = CurieNamespace("time", "http://www.w3.org/2006/time#") +VCARD = CurieNamespace("vcard", "http://www.w3.org/2006/vcard/ns#") +VL = CurieNamespace("vl", "https://purl.eu/ns/shacl#") +XSD = CurieNamespace("xsd", "http://www.w3.org/2001/XMLSchema#") DEFAULT_ = DCATAPPLUS # Types class Duration(str): - """ The datatype that represents durations of time. """ + """The datatype that represents durations of time.""" + type_class_uri = XSD["duration"] type_class_curie = "xsd:duration" type_name = "duration" @@ -109,7 +72,8 @@ class Duration(str): class HexBinary(str): - """ The datatype that represents arbitrary hex-encoded binary data. """ + """The datatype that represents arbitrary hex-encoded binary data.""" + type_class_uri = XSD["hexBinary"] type_class_curie = "xsd:hexBinary" type_name = "hexBinary" @@ -117,7 +81,8 @@ class HexBinary(str): class NonNegativeInteger(int): - """ The datatype that represents non-negative integers. """ + """The datatype that represents non-negative integers.""" + type_class_uri = XSD["nonNegativeInteger"] type_class_curie = "xsd:nonNegativeInteger" type_name = "nonNegativeInteger" @@ -198,6 +163,7 @@ class Activity(YAMLRoot): """ See [DCAT-AP specs:Activity](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Activity) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Activity"] @@ -208,15 +174,57 @@ class Activity(YAMLRoot): id: Union[str, ActivityId] = None title: Optional[Union[str, list[str]]] = empty_list() description: Optional[Union[str, list[str]]] = empty_list() - other_identifier: Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]] = empty_list() - has_part: Optional[Union[dict[Union[str, ActivityId], Union[dict, "Activity"]], list[Union[dict, "Activity"]]]] = empty_dict() - had_input_entity: Optional[Union[dict[Union[str, EntityId], Union[dict, "Entity"]], list[Union[dict, "Entity"]]]] = empty_dict() - had_output_entity: Optional[Union[dict[Union[str, EntityId], Union[dict, "Entity"]], list[Union[dict, "Entity"]]]] = empty_dict() - had_input_activity: Optional[Union[dict[Union[str, ActivityId], Union[dict, "Activity"]], list[Union[dict, "Activity"]]]] = empty_dict() - carried_out_by: Optional[Union[dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], list[Union[dict, "AgenticEntity"]]]] = empty_dict() - has_qualitative_attribute: Optional[Union[Union[dict, "QualitativeAttribute"], list[Union[dict, "QualitativeAttribute"]]]] = empty_list() - has_quantitative_attribute: Optional[Union[Union[dict, "QuantitativeAttribute"], list[Union[dict, "QuantitativeAttribute"]]]] = empty_list() - part_of: Optional[Union[dict[Union[str, ActivityId], Union[dict, "Activity"]], list[Union[dict, "Activity"]]]] = empty_dict() + other_identifier: Optional[ + Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]] + ] = empty_list() + has_part: Optional[ + Union[ + dict[Union[str, ActivityId], Union[dict, "Activity"]], + list[Union[dict, "Activity"]], + ] + ] = empty_dict() + had_input_entity: Optional[ + Union[ + dict[Union[str, EntityId], Union[dict, "Entity"]], + list[Union[dict, "Entity"]], + ] + ] = empty_dict() + had_output_entity: Optional[ + Union[ + dict[Union[str, EntityId], Union[dict, "Entity"]], + list[Union[dict, "Entity"]], + ] + ] = empty_dict() + had_input_activity: Optional[ + Union[ + dict[Union[str, ActivityId], Union[dict, "Activity"]], + list[Union[dict, "Activity"]], + ] + ] = empty_dict() + carried_out_by: Optional[ + Union[ + dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], + list[Union[dict, "AgenticEntity"]], + ] + ] = empty_dict() + has_qualitative_attribute: Optional[ + Union[ + Union[dict, "QualitativeAttribute"], + list[Union[dict, "QualitativeAttribute"]], + ] + ] = empty_list() + has_quantitative_attribute: Optional[ + Union[ + Union[dict, "QuantitativeAttribute"], + list[Union[dict, "QuantitativeAttribute"]], + ] + ] = empty_list() + part_of: Optional[ + Union[ + dict[Union[str, ActivityId], Union[dict, "Activity"]], + list[Union[dict, "Activity"]], + ] + ] = empty_dict() type: Optional[Union[dict, "DefinedTerm"]] = None rdf_type: Optional[Union[dict, "DefinedTerm"]] = None @@ -231,32 +239,63 @@ def __post_init__(self, *_: str, **kwargs: Any): self.title = [v if isinstance(v, str) else str(v) for v in self.title] if not isinstance(self.description, list): - self.description = [self.description] if self.description is not None else [] - self.description = [v if isinstance(v, str) else str(v) for v in self.description] - - if not isinstance(self.other_identifier, list): - self.other_identifier = [self.other_identifier] if self.other_identifier is not None else [] - self.other_identifier = [v if isinstance(v, Identifier) else Identifier(**as_dict(v)) for v in self.other_identifier] - - self._normalize_inlined_as_list(slot_name="has_part", slot_type=Activity, key_name="id", keyed=True) - - self._normalize_inlined_as_list(slot_name="had_input_entity", slot_type=Entity, key_name="id", keyed=True) - - self._normalize_inlined_as_list(slot_name="had_output_entity", slot_type=Entity, key_name="id", keyed=True) - - self._normalize_inlined_as_list(slot_name="had_input_activity", slot_type=Activity, key_name="id", keyed=True) - - self._normalize_inlined_as_list(slot_name="carried_out_by", slot_type=AgenticEntity, key_name="id", keyed=True) - - if not isinstance(self.has_qualitative_attribute, list): - self.has_qualitative_attribute = [self.has_qualitative_attribute] if self.has_qualitative_attribute is not None else [] - self.has_qualitative_attribute = [v if isinstance(v, QualitativeAttribute) else QualitativeAttribute(**as_dict(v)) for v in self.has_qualitative_attribute] - - if not isinstance(self.has_quantitative_attribute, list): - self.has_quantitative_attribute = [self.has_quantitative_attribute] if self.has_quantitative_attribute is not None else [] - self.has_quantitative_attribute = [v if isinstance(v, QuantitativeAttribute) else QuantitativeAttribute(**as_dict(v)) for v in self.has_quantitative_attribute] - - self._normalize_inlined_as_list(slot_name="part_of", slot_type=Activity, key_name="id", keyed=True) + self.description = ( + [self.description] if self.description is not None else [] + ) + self.description = [ + v if isinstance(v, str) else str(v) for v in self.description + ] + + self._normalize_inlined_as_list( + slot_name="other_identifier", + slot_type=Identifier, + key_name="notation", + keyed=False, + ) + + self._normalize_inlined_as_list( + slot_name="has_part", slot_type=Activity, key_name="id", keyed=True + ) + + self._normalize_inlined_as_list( + slot_name="had_input_entity", slot_type=Entity, key_name="id", keyed=True + ) + + self._normalize_inlined_as_list( + slot_name="had_output_entity", slot_type=Entity, key_name="id", keyed=True + ) + + self._normalize_inlined_as_list( + slot_name="had_input_activity", + slot_type=Activity, + key_name="id", + keyed=True, + ) + + self._normalize_inlined_as_list( + slot_name="carried_out_by", + slot_type=AgenticEntity, + key_name="id", + keyed=True, + ) + + self._normalize_inlined_as_list( + slot_name="has_qualitative_attribute", + slot_type=QualitativeAttribute, + key_name="value", + keyed=False, + ) + + self._normalize_inlined_as_list( + slot_name="has_quantitative_attribute", + slot_type=QuantitativeAttribute, + key_name="value", + keyed=False, + ) + + self._normalize_inlined_as_list( + slot_name="part_of", slot_type=Activity, key_name="id", keyed=True + ) if self.type is not None and not isinstance(self.type, DefinedTerm): self.type = DefinedTerm(**as_dict(self.type)) @@ -272,6 +311,7 @@ class Agent(YAMLRoot): """ See [DCAT-AP specs:Agent](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Agent) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = FOAF["Agent"] @@ -300,6 +340,7 @@ class AgenticEntity(YAMLRoot): """ An entity that is somehow responsible for an Activity to take place. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Agent"] @@ -310,11 +351,33 @@ class AgenticEntity(YAMLRoot): id: Union[str, AgenticEntityId] = None title: Optional[str] = None description: Optional[str] = None - other_identifier: Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]] = empty_list() - has_qualitative_attribute: Optional[Union[Union[dict, "QualitativeAttribute"], list[Union[dict, "QualitativeAttribute"]]]] = empty_list() - has_quantitative_attribute: Optional[Union[Union[dict, "QuantitativeAttribute"], list[Union[dict, "QuantitativeAttribute"]]]] = empty_list() - has_part: Optional[Union[dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], list[Union[dict, "AgenticEntity"]]]] = empty_dict() - part_of: Optional[Union[dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], list[Union[dict, "AgenticEntity"]]]] = empty_dict() + other_identifier: Optional[ + Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]] + ] = empty_list() + has_qualitative_attribute: Optional[ + Union[ + Union[dict, "QualitativeAttribute"], + list[Union[dict, "QualitativeAttribute"]], + ] + ] = empty_list() + has_quantitative_attribute: Optional[ + Union[ + Union[dict, "QuantitativeAttribute"], + list[Union[dict, "QuantitativeAttribute"]], + ] + ] = empty_list() + has_part: Optional[ + Union[ + dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], + list[Union[dict, "AgenticEntity"]], + ] + ] = empty_dict() + part_of: Optional[ + Union[ + dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], + list[Union[dict, "AgenticEntity"]], + ] + ] = empty_dict() type: Optional[Union[dict, "DefinedTerm"]] = None rdf_type: Optional[Union[dict, "DefinedTerm"]] = None @@ -330,21 +393,34 @@ def __post_init__(self, *_: str, **kwargs: Any): if self.description is not None and not isinstance(self.description, str): self.description = str(self.description) - if not isinstance(self.other_identifier, list): - self.other_identifier = [self.other_identifier] if self.other_identifier is not None else [] - self.other_identifier = [v if isinstance(v, Identifier) else Identifier(**as_dict(v)) for v in self.other_identifier] - - if not isinstance(self.has_qualitative_attribute, list): - self.has_qualitative_attribute = [self.has_qualitative_attribute] if self.has_qualitative_attribute is not None else [] - self.has_qualitative_attribute = [v if isinstance(v, QualitativeAttribute) else QualitativeAttribute(**as_dict(v)) for v in self.has_qualitative_attribute] - - if not isinstance(self.has_quantitative_attribute, list): - self.has_quantitative_attribute = [self.has_quantitative_attribute] if self.has_quantitative_attribute is not None else [] - self.has_quantitative_attribute = [v if isinstance(v, QuantitativeAttribute) else QuantitativeAttribute(**as_dict(v)) for v in self.has_quantitative_attribute] - - self._normalize_inlined_as_list(slot_name="has_part", slot_type=AgenticEntity, key_name="id", keyed=True) - - self._normalize_inlined_as_list(slot_name="part_of", slot_type=AgenticEntity, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="other_identifier", + slot_type=Identifier, + key_name="notation", + keyed=False, + ) + + self._normalize_inlined_as_list( + slot_name="has_qualitative_attribute", + slot_type=QualitativeAttribute, + key_name="value", + keyed=False, + ) + + self._normalize_inlined_as_list( + slot_name="has_quantitative_attribute", + slot_type=QuantitativeAttribute, + key_name="value", + keyed=False, + ) + + self._normalize_inlined_as_list( + slot_name="has_part", slot_type=AgenticEntity, key_name="id", keyed=True + ) + + self._normalize_inlined_as_list( + slot_name="part_of", slot_type=AgenticEntity, key_name="id", keyed=True + ) if self.type is not None and not isinstance(self.type, DefinedTerm): self.type = DefinedTerm(**as_dict(self.type)) @@ -357,11 +433,13 @@ def __post_init__(self, *_: str, **kwargs: Any): Any = Any + @dataclass(repr=False) class Catalogue(YAMLRoot): """ See [DCAT-AP specs:Catalogue](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Catalogue) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCAT["Catalog"] @@ -372,29 +450,59 @@ class Catalogue(YAMLRoot): description: Union[str, list[str]] = None publisher: Union[dict, Agent] = None title: Union[str, list[str]] = None - applicable_legislation: Optional[Union[dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], list[Union[dict, "LegalResource"]]]] = empty_dict() - catalogue: Optional[Union[Union[dict, "Catalogue"], list[Union[dict, "Catalogue"]]]] = empty_list() + applicable_legislation: Optional[ + Union[ + dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], + list[Union[dict, "LegalResource"]], + ] + ] = empty_dict() + catalogue: Optional[ + Union[Union[dict, "Catalogue"], list[Union[dict, "Catalogue"]]] + ] = empty_list() creator: Optional[Union[dict, Agent]] = None - geographical_coverage: Optional[Union[Union[dict, "Location"], list[Union[dict, "Location"]]]] = empty_list() - has_dataset: Optional[Union[dict[Union[str, DatasetId], Union[dict, "Dataset"]], list[Union[dict, "Dataset"]]]] = empty_dict() - has_part: Optional[Union[Union[dict, "Catalogue"], list[Union[dict, "Catalogue"]]]] = empty_list() + geographical_coverage: Optional[ + Union[Union[dict, "Location"], list[Union[dict, "Location"]]] + ] = empty_list() + has_dataset: Optional[ + Union[ + dict[Union[str, DatasetId], Union[dict, "Dataset"]], + list[Union[dict, "Dataset"]], + ] + ] = empty_dict() + has_part: Optional[ + Union[Union[dict, "Catalogue"], list[Union[dict, "Catalogue"]]] + ] = empty_list() homepage: Optional[Union[dict, "Document"]] = None - language: Optional[Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]]] = empty_list() + language: Optional[ + Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]] + ] = empty_list() licence: Optional[Union[dict, "LicenseDocument"]] = None modification_date: Optional[Union[str, XSDDate]] = None - record: Optional[Union[Union[dict, "CatalogueRecord"], list[Union[dict, "CatalogueRecord"]]]] = empty_list() + record: Optional[ + Union[Union[dict, "CatalogueRecord"], list[Union[dict, "CatalogueRecord"]]] + ] = empty_list() release_date: Optional[Union[str, XSDDate]] = None rights: Optional[Union[dict, "RightsStatement"]] = None - service: Optional[Union[Union[dict, "DataService"], list[Union[dict, "DataService"]]]] = empty_list() - temporal_coverage: Optional[Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]]] = empty_list() - themes: Optional[Union[Union[dict, "ConceptScheme"], list[Union[dict, "ConceptScheme"]]]] = empty_list() + service: Optional[ + Union[Union[dict, "DataService"], list[Union[dict, "DataService"]]] + ] = empty_list() + temporal_coverage: Optional[ + Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]] + ] = empty_list() + themes: Optional[ + Union[Union[dict, "ConceptScheme"], list[Union[dict, "ConceptScheme"]]] + ] = empty_list() def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.description): self.MissingRequiredField("description") if not isinstance(self.description, list): - self.description = [self.description] if self.description is not None else [] - self.description = [v if isinstance(v, str) else str(v) for v in self.description] + self.description = ( + [self.description] if self.description is not None else [] + ) + self.description = [ + v if isinstance(v, str) else str(v) for v in self.description + ] if self._is_empty(self.publisher): self.MissingRequiredField("publisher") @@ -407,41 +515,69 @@ def __post_init__(self, *_: str, **kwargs: Any): self.title = [self.title] if self.title is not None else [] self.title = [v if isinstance(v, str) else str(v) for v in self.title] - self._normalize_inlined_as_list(slot_name="applicable_legislation", slot_type=LegalResource, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="applicable_legislation", + slot_type=LegalResource, + key_name="id", + keyed=True, + ) - if not isinstance(self.catalogue, list): - self.catalogue = [self.catalogue] if self.catalogue is not None else [] - self.catalogue = [v if isinstance(v, Catalogue) else Catalogue(**as_dict(v)) for v in self.catalogue] + self._normalize_inlined_as_list( + slot_name="catalogue", + slot_type=Catalogue, + key_name="description", + keyed=False, + ) if self.creator is not None and not isinstance(self.creator, Agent): self.creator = Agent(**as_dict(self.creator)) if not isinstance(self.geographical_coverage, list): - self.geographical_coverage = [self.geographical_coverage] if self.geographical_coverage is not None else [] - self.geographical_coverage = [v if isinstance(v, Location) else Location(**as_dict(v)) for v in self.geographical_coverage] - - self._normalize_inlined_as_list(slot_name="has_dataset", slot_type=Dataset, key_name="id", keyed=True) - - if not isinstance(self.has_part, list): - self.has_part = [self.has_part] if self.has_part is not None else [] - self.has_part = [v if isinstance(v, Catalogue) else Catalogue(**as_dict(v)) for v in self.has_part] + self.geographical_coverage = ( + [self.geographical_coverage] + if self.geographical_coverage is not None + else [] + ) + self.geographical_coverage = [ + v if isinstance(v, Location) else Location(**as_dict(v)) + for v in self.geographical_coverage + ] + + self._normalize_inlined_as_list( + slot_name="has_dataset", slot_type=Dataset, key_name="id", keyed=True + ) + + self._normalize_inlined_as_list( + slot_name="has_part", + slot_type=Catalogue, + key_name="description", + keyed=False, + ) if self.homepage is not None and not isinstance(self.homepage, Document): self.homepage = Document(**as_dict(self.homepage)) if not isinstance(self.language, list): self.language = [self.language] if self.language is not None else [] - self.language = [v if isinstance(v, LinguisticSystem) else LinguisticSystem(**as_dict(v)) for v in self.language] + self.language = [ + v if isinstance(v, LinguisticSystem) else LinguisticSystem(**as_dict(v)) + for v in self.language + ] if self.licence is not None and not isinstance(self.licence, LicenseDocument): self.licence = LicenseDocument(**as_dict(self.licence)) - if self.modification_date is not None and not isinstance(self.modification_date, XSDDate): + if self.modification_date is not None and not isinstance( + self.modification_date, XSDDate + ): self.modification_date = XSDDate(self.modification_date) - if not isinstance(self.record, list): - self.record = [self.record] if self.record is not None else [] - self.record = [v if isinstance(v, CatalogueRecord) else CatalogueRecord(**as_dict(v)) for v in self.record] + self._normalize_inlined_as_list( + slot_name="record", + slot_type=CatalogueRecord, + key_name="modification_date", + keyed=False, + ) if self.release_date is not None and not isinstance(self.release_date, XSDDate): self.release_date = XSDDate(self.release_date) @@ -449,17 +585,22 @@ def __post_init__(self, *_: str, **kwargs: Any): if self.rights is not None and not isinstance(self.rights, RightsStatement): self.rights = RightsStatement(**as_dict(self.rights)) - if not isinstance(self.service, list): - self.service = [self.service] if self.service is not None else [] - self.service = [v if isinstance(v, DataService) else DataService(**as_dict(v)) for v in self.service] + self._normalize_inlined_as_list( + slot_name="service", slot_type=DataService, key_name="title", keyed=False + ) if not isinstance(self.temporal_coverage, list): - self.temporal_coverage = [self.temporal_coverage] if self.temporal_coverage is not None else [] - self.temporal_coverage = [v if isinstance(v, PeriodOfTime) else PeriodOfTime(**as_dict(v)) for v in self.temporal_coverage] - - if not isinstance(self.themes, list): - self.themes = [self.themes] if self.themes is not None else [] - self.themes = [v if isinstance(v, ConceptScheme) else ConceptScheme(**as_dict(v)) for v in self.themes] + self.temporal_coverage = ( + [self.temporal_coverage] if self.temporal_coverage is not None else [] + ) + self.temporal_coverage = [ + v if isinstance(v, PeriodOfTime) else PeriodOfTime(**as_dict(v)) + for v in self.temporal_coverage + ] + + self._normalize_inlined_as_list( + slot_name="themes", slot_type=ConceptScheme, key_name="title", keyed=False + ) super().__post_init__(**kwargs) @@ -469,6 +610,7 @@ class CatalogueRecord(YAMLRoot): """ See [DCAT-AP specs:CatalogueRecord](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#CatalogueRecord) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCAT["CatalogRecord"] @@ -478,10 +620,14 @@ class CatalogueRecord(YAMLRoot): modification_date: Union[str, XSDDate] = None primary_topic: Union[dict, Any] = None - application_profile: Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]] = empty_list() + application_profile: Optional[ + Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]] + ] = empty_list() change_type: Optional[Union[dict, "Concept"]] = None description: Optional[Union[str, list[str]]] = empty_list() - language: Optional[Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]]] = empty_list() + language: Optional[ + Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]] + ] = empty_list() listing_date: Optional[Union[str, XSDDate]] = None source_metadata: Optional[Union[dict, "CatalogueRecord"]] = None title: Optional[Union[str, list[str]]] = empty_list() @@ -493,24 +639,40 @@ def __post_init__(self, *_: str, **kwargs: Any): self.modification_date = XSDDate(self.modification_date) if not isinstance(self.application_profile, list): - self.application_profile = [self.application_profile] if self.application_profile is not None else [] - self.application_profile = [v if isinstance(v, Standard) else Standard(**as_dict(v)) for v in self.application_profile] + self.application_profile = ( + [self.application_profile] + if self.application_profile is not None + else [] + ) + self.application_profile = [ + v if isinstance(v, Standard) else Standard(**as_dict(v)) + for v in self.application_profile + ] if self.change_type is not None and not isinstance(self.change_type, Concept): self.change_type = Concept(**as_dict(self.change_type)) if not isinstance(self.description, list): - self.description = [self.description] if self.description is not None else [] - self.description = [v if isinstance(v, str) else str(v) for v in self.description] + self.description = ( + [self.description] if self.description is not None else [] + ) + self.description = [ + v if isinstance(v, str) else str(v) for v in self.description + ] if not isinstance(self.language, list): self.language = [self.language] if self.language is not None else [] - self.language = [v if isinstance(v, LinguisticSystem) else LinguisticSystem(**as_dict(v)) for v in self.language] + self.language = [ + v if isinstance(v, LinguisticSystem) else LinguisticSystem(**as_dict(v)) + for v in self.language + ] if self.listing_date is not None and not isinstance(self.listing_date, XSDDate): self.listing_date = XSDDate(self.listing_date) - if self.source_metadata is not None and not isinstance(self.source_metadata, CatalogueRecord): + if self.source_metadata is not None and not isinstance( + self.source_metadata, CatalogueRecord + ): self.source_metadata = CatalogueRecord(**as_dict(self.source_metadata)) if not isinstance(self.title, list): @@ -525,6 +687,7 @@ class Checksum(YAMLRoot): """ See [DCAT-AP specs:Checksum](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Checksum) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = SPDX["Checksum"] @@ -554,6 +717,7 @@ class ClassifierMixin(YAMLRoot): """ A mixin with which an entity of this schema can be classified via an additional rdf:type or dcterms:type assertion. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCATAPPLUS["ClassifierMixin"] @@ -580,6 +744,7 @@ class DataGeneratingActivity(Activity): An Activity (process) that has the objective to produce information (in form of a dataset) about another Activity or Entity. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Activity"] @@ -588,8 +753,18 @@ class DataGeneratingActivity(Activity): class_model_uri: ClassVar[URIRef] = DCATAPPLUS.DataGeneratingActivity id: Union[str, DataGeneratingActivityId] = None - evaluated_entity: Optional[Union[dict[Union[str, EvaluatedEntityId], Union[dict, "EvaluatedEntity"]], list[Union[dict, "EvaluatedEntity"]]]] = empty_dict() - evaluated_activity: Optional[Union[dict[Union[str, EvaluatedActivityId], Union[dict, "EvaluatedActivity"]], list[Union[dict, "EvaluatedActivity"]]]] = empty_dict() + evaluated_entity: Optional[ + Union[ + dict[Union[str, EvaluatedEntityId], Union[dict, "EvaluatedEntity"]], + list[Union[dict, "EvaluatedEntity"]], + ] + ] = empty_dict() + evaluated_activity: Optional[ + Union[ + dict[Union[str, EvaluatedActivityId], Union[dict, "EvaluatedActivity"]], + list[Union[dict, "EvaluatedActivity"]], + ] + ] = empty_dict() realized_plan: Optional[Union[dict, "Plan"]] = None occurred_in: Optional[Union[dict, "Surrounding"]] = None @@ -599,14 +774,26 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, DataGeneratingActivityId): self.id = DataGeneratingActivityId(self.id) - self._normalize_inlined_as_list(slot_name="evaluated_entity", slot_type=EvaluatedEntity, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="evaluated_entity", + slot_type=EvaluatedEntity, + key_name="id", + keyed=True, + ) - self._normalize_inlined_as_list(slot_name="evaluated_activity", slot_type=EvaluatedActivity, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="evaluated_activity", + slot_type=EvaluatedActivity, + key_name="id", + keyed=True, + ) if self.realized_plan is not None and not isinstance(self.realized_plan, Plan): self.realized_plan = Plan(**as_dict(self.realized_plan)) - if self.occurred_in is not None and not isinstance(self.occurred_in, Surrounding): + if self.occurred_in is not None and not isinstance( + self.occurred_in, Surrounding + ): self.occurred_in = Surrounding(**as_dict(self.occurred_in)) super().__post_init__(**kwargs) @@ -617,6 +804,7 @@ class DataAnalysis(DataGeneratingActivity): """ An Activity that evaluates the data produced by another Activity. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Activity"] @@ -625,7 +813,12 @@ class DataAnalysis(DataGeneratingActivity): class_model_uri: ClassVar[URIRef] = DCATAPPLUS.DataAnalysis id: Union[str, DataAnalysisId] = None - evaluated_entity: Optional[Union[dict[Union[str, AnalysisSourceDataId], Union[dict, "AnalysisSourceData"]], list[Union[dict, "AnalysisSourceData"]]]] = empty_dict() + evaluated_entity: Optional[ + Union[ + dict[Union[str, AnalysisSourceDataId], Union[dict, "AnalysisSourceData"]], + list[Union[dict, "AnalysisSourceData"]], + ] + ] = empty_dict() def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -633,7 +826,12 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, DataAnalysisId): self.id = DataAnalysisId(self.id) - self._normalize_inlined_as_list(slot_name="evaluated_entity", slot_type=AnalysisSourceData, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="evaluated_entity", + slot_type=AnalysisSourceData, + key_name="id", + keyed=True, + ) super().__post_init__(**kwargs) @@ -643,6 +841,7 @@ class DataService(YAMLRoot): """ See [DCAT-AP specs:DataService](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#DataService) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCAT["DataService"] @@ -650,27 +849,65 @@ class DataService(YAMLRoot): class_name: ClassVar[str] = "DataService" class_model_uri: ClassVar[URIRef] = DCATAPPLUS.DataService - endpoint_URL: Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]] = empty_dict() + endpoint_URL: Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ] = empty_dict() title: Union[str, list[str]] = None access_rights: Optional[Union[dict, "RightsStatement"]] = None - applicable_legislation: Optional[Union[dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], list[Union[dict, "LegalResource"]]]] = empty_dict() - conforms_to: Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]] = empty_list() - contact_point: Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]] = empty_list() + applicable_legislation: Optional[ + Union[ + dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], + list[Union[dict, "LegalResource"]], + ] + ] = empty_dict() + conforms_to: Optional[ + Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]] + ] = empty_list() + contact_point: Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]] = ( + empty_list() + ) description: Optional[Union[str, list[str]]] = empty_list() - documentation: Optional[Union[dict[Union[str, DocumentId], Union[dict, "Document"]], list[Union[dict, "Document"]]]] = empty_dict() - endpoint_description: Optional[Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]]] = empty_dict() - format: Optional[Union[Union[dict, "MediaTypeOrExtent"], list[Union[dict, "MediaTypeOrExtent"]]]] = empty_list() + documentation: Optional[ + Union[ + dict[Union[str, DocumentId], Union[dict, "Document"]], + list[Union[dict, "Document"]], + ] + ] = empty_dict() + endpoint_description: Optional[ + Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ] + ] = empty_dict() + format: Optional[ + Union[Union[dict, "MediaTypeOrExtent"], list[Union[dict, "MediaTypeOrExtent"]]] + ] = empty_list() keyword: Optional[Union[str, list[str]]] = empty_list() - landing_page: Optional[Union[dict[Union[str, DocumentId], Union[dict, "Document"]], list[Union[dict, "Document"]]]] = empty_dict() + landing_page: Optional[ + Union[ + dict[Union[str, DocumentId], Union[dict, "Document"]], + list[Union[dict, "Document"]], + ] + ] = empty_dict() licence: Optional[Union[dict, "LicenseDocument"]] = None publisher: Optional[Union[dict, Agent]] = None - serves_dataset: Optional[Union[dict[Union[str, DatasetId], Union[dict, "Dataset"]], list[Union[dict, "Dataset"]]]] = empty_dict() - theme: Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]] = empty_list() + serves_dataset: Optional[ + Union[ + dict[Union[str, DatasetId], Union[dict, "Dataset"]], + list[Union[dict, "Dataset"]], + ] + ] = empty_dict() + theme: Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]] = ( + empty_list() + ) def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.endpoint_URL): self.MissingRequiredField("endpoint_URL") - self._normalize_inlined_as_list(slot_name="endpoint_URL", slot_type=Resource, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="endpoint_URL", slot_type=Resource, key_name="id", keyed=True + ) if self._is_empty(self.title): self.MissingRequiredField("title") @@ -678,36 +915,68 @@ def __post_init__(self, *_: str, **kwargs: Any): self.title = [self.title] if self.title is not None else [] self.title = [v if isinstance(v, str) else str(v) for v in self.title] - if self.access_rights is not None and not isinstance(self.access_rights, RightsStatement): + if self.access_rights is not None and not isinstance( + self.access_rights, RightsStatement + ): self.access_rights = RightsStatement(**as_dict(self.access_rights)) - self._normalize_inlined_as_list(slot_name="applicable_legislation", slot_type=LegalResource, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="applicable_legislation", + slot_type=LegalResource, + key_name="id", + keyed=True, + ) if not isinstance(self.conforms_to, list): - self.conforms_to = [self.conforms_to] if self.conforms_to is not None else [] - self.conforms_to = [v if isinstance(v, Standard) else Standard(**as_dict(v)) for v in self.conforms_to] + self.conforms_to = ( + [self.conforms_to] if self.conforms_to is not None else [] + ) + self.conforms_to = [ + v if isinstance(v, Standard) else Standard(**as_dict(v)) + for v in self.conforms_to + ] if not isinstance(self.contact_point, list): - self.contact_point = [self.contact_point] if self.contact_point is not None else [] - self.contact_point = [v if isinstance(v, Kind) else Kind(**as_dict(v)) for v in self.contact_point] + self.contact_point = ( + [self.contact_point] if self.contact_point is not None else [] + ) + self.contact_point = [ + v if isinstance(v, Kind) else Kind(**as_dict(v)) for v in self.contact_point + ] if not isinstance(self.description, list): - self.description = [self.description] if self.description is not None else [] - self.description = [v if isinstance(v, str) else str(v) for v in self.description] - - self._normalize_inlined_as_list(slot_name="documentation", slot_type=Document, key_name="id", keyed=True) - - self._normalize_inlined_as_list(slot_name="endpoint_description", slot_type=Resource, key_name="id", keyed=True) + self.description = ( + [self.description] if self.description is not None else [] + ) + self.description = [ + v if isinstance(v, str) else str(v) for v in self.description + ] + + self._normalize_inlined_as_list( + slot_name="documentation", slot_type=Document, key_name="id", keyed=True + ) + + self._normalize_inlined_as_list( + slot_name="endpoint_description", + slot_type=Resource, + key_name="id", + keyed=True, + ) if not isinstance(self.format, list): self.format = [self.format] if self.format is not None else [] - self.format = [v if isinstance(v, MediaTypeOrExtent) else MediaTypeOrExtent(**as_dict(v)) for v in self.format] + self.format = [ + v if isinstance(v, MediaTypeOrExtent) else MediaTypeOrExtent(**as_dict(v)) + for v in self.format + ] if not isinstance(self.keyword, list): self.keyword = [self.keyword] if self.keyword is not None else [] self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - self._normalize_inlined_as_list(slot_name="landing_page", slot_type=Document, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="landing_page", slot_type=Document, key_name="id", keyed=True + ) if self.licence is not None and not isinstance(self.licence, LicenseDocument): self.licence = LicenseDocument(**as_dict(self.licence)) @@ -715,11 +984,16 @@ def __post_init__(self, *_: str, **kwargs: Any): if self.publisher is not None and not isinstance(self.publisher, Agent): self.publisher = Agent(**as_dict(self.publisher)) - self._normalize_inlined_as_list(slot_name="serves_dataset", slot_type=Dataset, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="serves_dataset", slot_type=Dataset, key_name="id", keyed=True + ) - if not isinstance(self.theme, list): - self.theme = [self.theme] if self.theme is not None else [] - self.theme = [v if isinstance(v, Concept) else Concept(**as_dict(v)) for v in self.theme] + self._normalize_inlined_as_list( + slot_name="theme", + slot_type=Concept, + key_name="preferred_label", + keyed=False, + ) super().__post_init__(**kwargs) @@ -730,6 +1004,7 @@ class Dataset(YAMLRoot): A collection of data, published or curated by a single agent, and available for access or download in one or more representations. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCAT["Dataset"] @@ -740,42 +1015,122 @@ class Dataset(YAMLRoot): id: Union[str, DatasetId] = None description: Union[str, list[str]] = None title: Union[str, list[str]] = None - was_generated_by: Union[dict[Union[str, DataGeneratingActivityId], Union[dict, DataGeneratingActivity]], list[Union[dict, DataGeneratingActivity]]] = empty_dict() + was_generated_by: Union[ + dict[Union[str, DataGeneratingActivityId], Union[dict, DataGeneratingActivity]], + list[Union[dict, DataGeneratingActivity]], + ] = empty_dict() access_rights: Optional[Union[dict, "RightsStatement"]] = None - applicable_legislation: Optional[Union[dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], list[Union[dict, "LegalResource"]]]] = empty_dict() - conforms_to: Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]] = empty_list() - contact_point: Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]] = empty_list() - creator: Optional[Union[Union[dict, Agent], list[Union[dict, Agent]]]] = empty_list() - dataset_distribution: Optional[Union[Union[dict, "Distribution"], list[Union[dict, "Distribution"]]]] = empty_list() - documentation: Optional[Union[dict[Union[str, DocumentId], Union[dict, "Document"]], list[Union[dict, "Document"]]]] = empty_dict() + applicable_legislation: Optional[ + Union[ + dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], + list[Union[dict, "LegalResource"]], + ] + ] = empty_dict() + conforms_to: Optional[ + Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]] + ] = empty_list() + contact_point: Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]] = ( + empty_list() + ) + creator: Optional[Union[Union[dict, Agent], list[Union[dict, Agent]]]] = ( + empty_list() + ) + dataset_distribution: Optional[ + Union[Union[dict, "Distribution"], list[Union[dict, "Distribution"]]] + ] = empty_list() + documentation: Optional[ + Union[ + dict[Union[str, DocumentId], Union[dict, "Document"]], + list[Union[dict, "Document"]], + ] + ] = empty_dict() frequency: Optional[Union[dict, "Frequency"]] = None - geographical_coverage: Optional[Union[Union[dict, "Location"], list[Union[dict, "Location"]]]] = empty_list() - has_version: Optional[Union[dict[Union[str, DatasetId], Union[dict, "Dataset"]], list[Union[dict, "Dataset"]]]] = empty_dict() + geographical_coverage: Optional[ + Union[Union[dict, "Location"], list[Union[dict, "Location"]]] + ] = empty_list() + has_version: Optional[ + Union[ + dict[Union[str, DatasetId], Union[dict, "Dataset"]], + list[Union[dict, "Dataset"]], + ] + ] = empty_dict() identifier: Optional[Union[str, list[str]]] = empty_list() - in_series: Optional[Union[Union[dict, "DatasetSeries"], list[Union[dict, "DatasetSeries"]]]] = empty_list() - is_referenced_by: Optional[Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]]] = empty_dict() + in_series: Optional[ + Union[Union[dict, "DatasetSeries"], list[Union[dict, "DatasetSeries"]]] + ] = empty_list() + is_referenced_by: Optional[ + Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ] + ] = empty_dict() keyword: Optional[Union[str, list[str]]] = empty_list() - landing_page: Optional[Union[dict[Union[str, DocumentId], Union[dict, "Document"]], list[Union[dict, "Document"]]]] = empty_dict() - language: Optional[Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]]] = empty_list() + landing_page: Optional[ + Union[ + dict[Union[str, DocumentId], Union[dict, "Document"]], + list[Union[dict, "Document"]], + ] + ] = empty_dict() + language: Optional[ + Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]] + ] = empty_list() modification_date: Optional[Union[str, XSDDate]] = None - other_identifier: Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]] = empty_list() - provenance: Optional[Union[Union[dict, "ProvenanceStatement"], list[Union[dict, "ProvenanceStatement"]]]] = empty_list() + other_identifier: Optional[ + Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]] + ] = empty_list() + provenance: Optional[ + Union[ + Union[dict, "ProvenanceStatement"], list[Union[dict, "ProvenanceStatement"]] + ] + ] = empty_list() publisher: Optional[Union[dict, Agent]] = None - qualified_attribution: Optional[Union[Union[dict, "Attribution"], list[Union[dict, "Attribution"]]]] = empty_list() - qualified_relation: Optional[Union[Union[dict, "Relationship"], list[Union[dict, "Relationship"]]]] = empty_list() - related_resource: Optional[Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]]] = empty_dict() + qualified_attribution: Optional[ + Union[Union[dict, "Attribution"], list[Union[dict, "Attribution"]]] + ] = empty_list() + qualified_relation: Optional[ + Union[Union[dict, "Relationship"], list[Union[dict, "Relationship"]]] + ] = empty_list() + related_resource: Optional[ + Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ] + ] = empty_dict() release_date: Optional[Union[str, XSDDate]] = None - sample: Optional[Union[Union[dict, "Distribution"], list[Union[dict, "Distribution"]]]] = empty_list() - source: Optional[Union[dict[Union[str, DatasetId], Union[dict, "Dataset"]], list[Union[dict, "Dataset"]]]] = empty_dict() + sample: Optional[ + Union[Union[dict, "Distribution"], list[Union[dict, "Distribution"]]] + ] = empty_list() + source: Optional[ + Union[ + dict[Union[str, DatasetId], Union[dict, "Dataset"]], + list[Union[dict, "Dataset"]], + ] + ] = empty_dict() spatial_resolution: Optional[Decimal] = None - temporal_coverage: Optional[Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]]] = empty_list() + temporal_coverage: Optional[ + Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]] + ] = empty_list() temporal_resolution: Optional[str] = None - theme: Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]] = empty_list() - type: Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]] = empty_list() + theme: Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]] = ( + empty_list() + ) + type: Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]] = ( + empty_list() + ) version: Optional[str] = None version_notes: Optional[Union[str, list[str]]] = empty_list() - is_about_entity: Optional[Union[dict[Union[str, EvaluatedEntityId], Union[dict, "EvaluatedEntity"]], list[Union[dict, "EvaluatedEntity"]]]] = empty_dict() - is_about_activity: Optional[Union[dict[Union[str, EvaluatedActivityId], Union[dict, "EvaluatedActivity"]], list[Union[dict, "EvaluatedActivity"]]]] = empty_dict() + is_about_entity: Optional[ + Union[ + dict[Union[str, EvaluatedEntityId], Union[dict, "EvaluatedEntity"]], + list[Union[dict, "EvaluatedEntity"]], + ] + ] = empty_dict() + is_about_activity: Optional[ + Union[ + dict[Union[str, EvaluatedActivityId], Union[dict, "EvaluatedActivity"]], + list[Union[dict, "EvaluatedActivity"]], + ] + ] = empty_dict() def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -786,8 +1141,12 @@ def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.description): self.MissingRequiredField("description") if not isinstance(self.description, list): - self.description = [self.description] if self.description is not None else [] - self.description = [v if isinstance(v, str) else str(v) for v in self.description] + self.description = ( + [self.description] if self.description is not None else [] + ) + self.description = [ + v if isinstance(v, str) else str(v) for v in self.description + ] if self._is_empty(self.title): self.MissingRequiredField("title") @@ -797,121 +1156,225 @@ def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.was_generated_by): self.MissingRequiredField("was_generated_by") - self._normalize_inlined_as_list(slot_name="was_generated_by", slot_type=DataGeneratingActivity, key_name="id", keyed=True) - - if self.access_rights is not None and not isinstance(self.access_rights, RightsStatement): + self._normalize_inlined_as_list( + slot_name="was_generated_by", + slot_type=DataGeneratingActivity, + key_name="id", + keyed=True, + ) + + if self.access_rights is not None and not isinstance( + self.access_rights, RightsStatement + ): self.access_rights = RightsStatement(**as_dict(self.access_rights)) - self._normalize_inlined_as_list(slot_name="applicable_legislation", slot_type=LegalResource, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="applicable_legislation", + slot_type=LegalResource, + key_name="id", + keyed=True, + ) if not isinstance(self.conforms_to, list): - self.conforms_to = [self.conforms_to] if self.conforms_to is not None else [] - self.conforms_to = [v if isinstance(v, Standard) else Standard(**as_dict(v)) for v in self.conforms_to] + self.conforms_to = ( + [self.conforms_to] if self.conforms_to is not None else [] + ) + self.conforms_to = [ + v if isinstance(v, Standard) else Standard(**as_dict(v)) + for v in self.conforms_to + ] if not isinstance(self.contact_point, list): - self.contact_point = [self.contact_point] if self.contact_point is not None else [] - self.contact_point = [v if isinstance(v, Kind) else Kind(**as_dict(v)) for v in self.contact_point] + self.contact_point = ( + [self.contact_point] if self.contact_point is not None else [] + ) + self.contact_point = [ + v if isinstance(v, Kind) else Kind(**as_dict(v)) for v in self.contact_point + ] - if not isinstance(self.creator, list): - self.creator = [self.creator] if self.creator is not None else [] - self.creator = [v if isinstance(v, Agent) else Agent(**as_dict(v)) for v in self.creator] + self._normalize_inlined_as_list( + slot_name="creator", slot_type=Agent, key_name="name", keyed=False + ) if not isinstance(self.dataset_distribution, list): - self.dataset_distribution = [self.dataset_distribution] if self.dataset_distribution is not None else [] - self.dataset_distribution = [v if isinstance(v, Distribution) else Distribution(**as_dict(v)) for v in self.dataset_distribution] - - self._normalize_inlined_as_list(slot_name="documentation", slot_type=Document, key_name="id", keyed=True) + self.dataset_distribution = ( + [self.dataset_distribution] + if self.dataset_distribution is not None + else [] + ) + self.dataset_distribution = [ + v if isinstance(v, Distribution) else Distribution(**as_dict(v)) + for v in self.dataset_distribution + ] + + self._normalize_inlined_as_list( + slot_name="documentation", slot_type=Document, key_name="id", keyed=True + ) if self.frequency is not None and not isinstance(self.frequency, Frequency): self.frequency = Frequency(**as_dict(self.frequency)) if not isinstance(self.geographical_coverage, list): - self.geographical_coverage = [self.geographical_coverage] if self.geographical_coverage is not None else [] - self.geographical_coverage = [v if isinstance(v, Location) else Location(**as_dict(v)) for v in self.geographical_coverage] - - self._normalize_inlined_as_list(slot_name="has_version", slot_type=Dataset, key_name="id", keyed=True) + self.geographical_coverage = ( + [self.geographical_coverage] + if self.geographical_coverage is not None + else [] + ) + self.geographical_coverage = [ + v if isinstance(v, Location) else Location(**as_dict(v)) + for v in self.geographical_coverage + ] + + self._normalize_inlined_as_list( + slot_name="has_version", slot_type=Dataset, key_name="id", keyed=True + ) if not isinstance(self.identifier, list): self.identifier = [self.identifier] if self.identifier is not None else [] self.identifier = [v if isinstance(v, str) else str(v) for v in self.identifier] - if not isinstance(self.in_series, list): - self.in_series = [self.in_series] if self.in_series is not None else [] - self.in_series = [v if isinstance(v, DatasetSeries) else DatasetSeries(**as_dict(v)) for v in self.in_series] + self._normalize_inlined_as_list( + slot_name="in_series", + slot_type=DatasetSeries, + key_name="description", + keyed=False, + ) - self._normalize_inlined_as_list(slot_name="is_referenced_by", slot_type=Resource, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="is_referenced_by", slot_type=Resource, key_name="id", keyed=True + ) if not isinstance(self.keyword, list): self.keyword = [self.keyword] if self.keyword is not None else [] self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - self._normalize_inlined_as_list(slot_name="landing_page", slot_type=Document, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="landing_page", slot_type=Document, key_name="id", keyed=True + ) if not isinstance(self.language, list): self.language = [self.language] if self.language is not None else [] - self.language = [v if isinstance(v, LinguisticSystem) else LinguisticSystem(**as_dict(v)) for v in self.language] - - if self.modification_date is not None and not isinstance(self.modification_date, XSDDate): + self.language = [ + v if isinstance(v, LinguisticSystem) else LinguisticSystem(**as_dict(v)) + for v in self.language + ] + + if self.modification_date is not None and not isinstance( + self.modification_date, XSDDate + ): self.modification_date = XSDDate(self.modification_date) - if not isinstance(self.other_identifier, list): - self.other_identifier = [self.other_identifier] if self.other_identifier is not None else [] - self.other_identifier = [v if isinstance(v, Identifier) else Identifier(**as_dict(v)) for v in self.other_identifier] + self._normalize_inlined_as_list( + slot_name="other_identifier", + slot_type=Identifier, + key_name="notation", + keyed=False, + ) if not isinstance(self.provenance, list): self.provenance = [self.provenance] if self.provenance is not None else [] - self.provenance = [v if isinstance(v, ProvenanceStatement) else ProvenanceStatement(**as_dict(v)) for v in self.provenance] + self.provenance = [ + v + if isinstance(v, ProvenanceStatement) + else ProvenanceStatement(**as_dict(v)) + for v in self.provenance + ] if self.publisher is not None and not isinstance(self.publisher, Agent): self.publisher = Agent(**as_dict(self.publisher)) if not isinstance(self.qualified_attribution, list): - self.qualified_attribution = [self.qualified_attribution] if self.qualified_attribution is not None else [] - self.qualified_attribution = [v if isinstance(v, Attribution) else Attribution(**as_dict(v)) for v in self.qualified_attribution] + self.qualified_attribution = ( + [self.qualified_attribution] + if self.qualified_attribution is not None + else [] + ) + self.qualified_attribution = [ + v if isinstance(v, Attribution) else Attribution(**as_dict(v)) + for v in self.qualified_attribution + ] if not isinstance(self.qualified_relation, list): - self.qualified_relation = [self.qualified_relation] if self.qualified_relation is not None else [] - self.qualified_relation = [v if isinstance(v, Relationship) else Relationship(**as_dict(v)) for v in self.qualified_relation] - - self._normalize_inlined_as_list(slot_name="related_resource", slot_type=Resource, key_name="id", keyed=True) + self.qualified_relation = ( + [self.qualified_relation] if self.qualified_relation is not None else [] + ) + self.qualified_relation = [ + v if isinstance(v, Relationship) else Relationship(**as_dict(v)) + for v in self.qualified_relation + ] + + self._normalize_inlined_as_list( + slot_name="related_resource", slot_type=Resource, key_name="id", keyed=True + ) if self.release_date is not None and not isinstance(self.release_date, XSDDate): self.release_date = XSDDate(self.release_date) if not isinstance(self.sample, list): self.sample = [self.sample] if self.sample is not None else [] - self.sample = [v if isinstance(v, Distribution) else Distribution(**as_dict(v)) for v in self.sample] - - self._normalize_inlined_as_list(slot_name="source", slot_type=Dataset, key_name="id", keyed=True) - - if self.spatial_resolution is not None and not isinstance(self.spatial_resolution, Decimal): + self.sample = [ + v if isinstance(v, Distribution) else Distribution(**as_dict(v)) + for v in self.sample + ] + + self._normalize_inlined_as_list( + slot_name="source", slot_type=Dataset, key_name="id", keyed=True + ) + + if self.spatial_resolution is not None and not isinstance( + self.spatial_resolution, Decimal + ): self.spatial_resolution = Decimal(self.spatial_resolution) if not isinstance(self.temporal_coverage, list): - self.temporal_coverage = [self.temporal_coverage] if self.temporal_coverage is not None else [] - self.temporal_coverage = [v if isinstance(v, PeriodOfTime) else PeriodOfTime(**as_dict(v)) for v in self.temporal_coverage] - - if self.temporal_resolution is not None and not isinstance(self.temporal_resolution, str): + self.temporal_coverage = ( + [self.temporal_coverage] if self.temporal_coverage is not None else [] + ) + self.temporal_coverage = [ + v if isinstance(v, PeriodOfTime) else PeriodOfTime(**as_dict(v)) + for v in self.temporal_coverage + ] + + if self.temporal_resolution is not None and not isinstance( + self.temporal_resolution, str + ): self.temporal_resolution = str(self.temporal_resolution) - if not isinstance(self.theme, list): - self.theme = [self.theme] if self.theme is not None else [] - self.theme = [v if isinstance(v, Concept) else Concept(**as_dict(v)) for v in self.theme] + self._normalize_inlined_as_list( + slot_name="theme", + slot_type=Concept, + key_name="preferred_label", + keyed=False, + ) - if not isinstance(self.type, list): - self.type = [self.type] if self.type is not None else [] - self.type = [v if isinstance(v, Concept) else Concept(**as_dict(v)) for v in self.type] + self._normalize_inlined_as_list( + slot_name="type", slot_type=Concept, key_name="preferred_label", keyed=False + ) if self.version is not None and not isinstance(self.version, str): self.version = str(self.version) if not isinstance(self.version_notes, list): - self.version_notes = [self.version_notes] if self.version_notes is not None else [] - self.version_notes = [v if isinstance(v, str) else str(v) for v in self.version_notes] - - self._normalize_inlined_as_list(slot_name="is_about_entity", slot_type=EvaluatedEntity, key_name="id", keyed=True) - - self._normalize_inlined_as_list(slot_name="is_about_activity", slot_type=EvaluatedActivity, key_name="id", keyed=True) + self.version_notes = ( + [self.version_notes] if self.version_notes is not None else [] + ) + self.version_notes = [ + v if isinstance(v, str) else str(v) for v in self.version_notes + ] + + self._normalize_inlined_as_list( + slot_name="is_about_entity", + slot_type=EvaluatedEntity, + key_name="id", + keyed=True, + ) + + self._normalize_inlined_as_list( + slot_name="is_about_activity", + slot_type=EvaluatedActivity, + key_name="id", + keyed=True, + ) super().__post_init__(**kwargs) @@ -923,6 +1386,7 @@ class AnalysisDataset(Dataset): contains the data of an assignment of a chemical structure to a sample based on the spectral data obtained from the sample is an AnalyticalDataset. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCAT["Dataset"] @@ -933,7 +1397,12 @@ class AnalysisDataset(Dataset): id: Union[str, AnalysisDatasetId] = None description: Union[str, list[str]] = None title: Union[str, list[str]] = None - was_generated_by: Optional[Union[dict[Union[str, DataAnalysisId], Union[dict, DataAnalysis]], list[Union[dict, DataAnalysis]]]] = empty_dict() + was_generated_by: Optional[ + Union[ + dict[Union[str, DataAnalysisId], Union[dict, DataAnalysis]], + list[Union[dict, DataAnalysis]], + ] + ] = empty_dict() def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -941,7 +1410,12 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, AnalysisDatasetId): self.id = AnalysisDatasetId(self.id) - self._normalize_inlined_as_list(slot_name="was_generated_by", slot_type=DataAnalysis, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="was_generated_by", + slot_type=DataAnalysis, + key_name="id", + keyed=True, + ) super().__post_init__(**kwargs) @@ -951,6 +1425,7 @@ class DatasetSeries(YAMLRoot): """ See [DCAT-AP specs:DatasetSeries](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#DatasetSeries) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCAT["DatasetSeries"] @@ -960,21 +1435,36 @@ class DatasetSeries(YAMLRoot): description: Union[str, list[str]] = None title: Union[str, list[str]] = None - applicable_legislation: Optional[Union[dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], list[Union[dict, "LegalResource"]]]] = empty_dict() - contact_point: Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]] = empty_list() + applicable_legislation: Optional[ + Union[ + dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], + list[Union[dict, "LegalResource"]], + ] + ] = empty_dict() + contact_point: Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]] = ( + empty_list() + ) frequency: Optional[Union[dict, "Frequency"]] = None - geographical_coverage: Optional[Union[Union[dict, "Location"], list[Union[dict, "Location"]]]] = empty_list() + geographical_coverage: Optional[ + Union[Union[dict, "Location"], list[Union[dict, "Location"]]] + ] = empty_list() modification_date: Optional[Union[str, XSDDate]] = None publisher: Optional[Union[dict, Agent]] = None release_date: Optional[Union[str, XSDDate]] = None - temporal_coverage: Optional[Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]]] = empty_list() + temporal_coverage: Optional[ + Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]] + ] = empty_list() def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.description): self.MissingRequiredField("description") if not isinstance(self.description, list): - self.description = [self.description] if self.description is not None else [] - self.description = [v if isinstance(v, str) else str(v) for v in self.description] + self.description = ( + [self.description] if self.description is not None else [] + ) + self.description = [ + v if isinstance(v, str) else str(v) for v in self.description + ] if self._is_empty(self.title): self.MissingRequiredField("title") @@ -982,20 +1472,38 @@ def __post_init__(self, *_: str, **kwargs: Any): self.title = [self.title] if self.title is not None else [] self.title = [v if isinstance(v, str) else str(v) for v in self.title] - self._normalize_inlined_as_list(slot_name="applicable_legislation", slot_type=LegalResource, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="applicable_legislation", + slot_type=LegalResource, + key_name="id", + keyed=True, + ) if not isinstance(self.contact_point, list): - self.contact_point = [self.contact_point] if self.contact_point is not None else [] - self.contact_point = [v if isinstance(v, Kind) else Kind(**as_dict(v)) for v in self.contact_point] + self.contact_point = ( + [self.contact_point] if self.contact_point is not None else [] + ) + self.contact_point = [ + v if isinstance(v, Kind) else Kind(**as_dict(v)) for v in self.contact_point + ] if self.frequency is not None and not isinstance(self.frequency, Frequency): self.frequency = Frequency(**as_dict(self.frequency)) if not isinstance(self.geographical_coverage, list): - self.geographical_coverage = [self.geographical_coverage] if self.geographical_coverage is not None else [] - self.geographical_coverage = [v if isinstance(v, Location) else Location(**as_dict(v)) for v in self.geographical_coverage] - - if self.modification_date is not None and not isinstance(self.modification_date, XSDDate): + self.geographical_coverage = ( + [self.geographical_coverage] + if self.geographical_coverage is not None + else [] + ) + self.geographical_coverage = [ + v if isinstance(v, Location) else Location(**as_dict(v)) + for v in self.geographical_coverage + ] + + if self.modification_date is not None and not isinstance( + self.modification_date, XSDDate + ): self.modification_date = XSDDate(self.modification_date) if self.publisher is not None and not isinstance(self.publisher, Agent): @@ -1005,8 +1513,13 @@ def __post_init__(self, *_: str, **kwargs: Any): self.release_date = XSDDate(self.release_date) if not isinstance(self.temporal_coverage, list): - self.temporal_coverage = [self.temporal_coverage] if self.temporal_coverage is not None else [] - self.temporal_coverage = [v if isinstance(v, PeriodOfTime) else PeriodOfTime(**as_dict(v)) for v in self.temporal_coverage] + self.temporal_coverage = ( + [self.temporal_coverage] if self.temporal_coverage is not None else [] + ) + self.temporal_coverage = [ + v if isinstance(v, PeriodOfTime) else PeriodOfTime(**as_dict(v)) + for v in self.temporal_coverage + ] super().__post_init__(**kwargs) @@ -1017,6 +1530,7 @@ class DefinedTerm(YAMLRoot): A word, name, acronym or phrase that is defined in a controlled vocabulary (CV) and that is used to provide an additional rdf:type or dcterms:type of a class within this schema. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = SCHEMA["DefinedTerm"] @@ -1049,6 +1563,7 @@ class Device(AgenticEntity): A material instrument that is designed to perform a function primarily by means of its mechanical or electrical nature. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Agent"] @@ -1057,8 +1572,15 @@ class Device(AgenticEntity): class_model_uri: ClassVar[URIRef] = DCATAPPLUS.Device id: Union[str, DeviceId] = None - has_part: Optional[Union[dict[Union[str, DeviceId], Union[dict, "Device"]], list[Union[dict, "Device"]]]] = empty_dict() - other_identifier: Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]] = empty_list() + has_part: Optional[ + Union[ + dict[Union[str, DeviceId], Union[dict, "Device"]], + list[Union[dict, "Device"]], + ] + ] = empty_dict() + other_identifier: Optional[ + Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]] + ] = empty_list() def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -1066,11 +1588,16 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, DeviceId): self.id = DeviceId(self.id) - self._normalize_inlined_as_list(slot_name="has_part", slot_type=Device, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="has_part", slot_type=Device, key_name="id", keyed=True + ) - if not isinstance(self.other_identifier, list): - self.other_identifier = [self.other_identifier] if self.other_identifier is not None else [] - self.other_identifier = [v if isinstance(v, Identifier) else Identifier(**as_dict(v)) for v in self.other_identifier] + self._normalize_inlined_as_list( + slot_name="other_identifier", + slot_type=Identifier, + key_name="notation", + keyed=False, + ) super().__post_init__(**kwargs) @@ -1080,6 +1607,7 @@ class Distribution(YAMLRoot): """ See [DCAT-AP specs:Distribution](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Distribution) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCAT["Distribution"] @@ -1087,21 +1615,45 @@ class Distribution(YAMLRoot): class_name: ClassVar[str] = "Distribution" class_model_uri: ClassVar[URIRef] = DCATAPPLUS.Distribution - access_URL: Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]] = empty_dict() - access_service: Optional[Union[Union[dict, DataService], list[Union[dict, DataService]]]] = empty_list() - applicable_legislation: Optional[Union[dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], list[Union[dict, "LegalResource"]]]] = empty_dict() + access_URL: Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ] = empty_dict() + access_service: Optional[ + Union[Union[dict, DataService], list[Union[dict, DataService]]] + ] = empty_list() + applicable_legislation: Optional[ + Union[ + dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], + list[Union[dict, "LegalResource"]], + ] + ] = empty_dict() availability: Optional[Union[dict, "Concept"]] = None byte_size: Optional[int] = None checksum: Optional[Union[dict, Checksum]] = None compression_format: Optional[Union[dict, "MediaType"]] = None description: Optional[Union[str, list[str]]] = empty_list() - documentation: Optional[Union[dict[Union[str, DocumentId], Union[dict, "Document"]], list[Union[dict, "Document"]]]] = empty_dict() - download_URL: Optional[Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]]] = empty_dict() + documentation: Optional[ + Union[ + dict[Union[str, DocumentId], Union[dict, "Document"]], + list[Union[dict, "Document"]], + ] + ] = empty_dict() + download_URL: Optional[ + Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ] + ] = empty_dict() format: Optional[Union[dict, "MediaTypeOrExtent"]] = None has_policy: Optional[Union[dict, "Policy"]] = None - language: Optional[Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]]] = empty_list() + language: Optional[ + Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]] + ] = empty_list() licence: Optional[Union[dict, "LicenseDocument"]] = None - linked_schemas: Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]] = empty_list() + linked_schemas: Optional[ + Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]] + ] = empty_list() media_type: Optional[Union[dict, "MediaType"]] = None modification_date: Optional[Union[str, XSDDate]] = None packaging_format: Optional[Union[dict, "MediaType"]] = None @@ -1115,13 +1667,23 @@ class Distribution(YAMLRoot): def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.access_URL): self.MissingRequiredField("access_URL") - self._normalize_inlined_as_list(slot_name="access_URL", slot_type=Resource, key_name="id", keyed=True) - - if not isinstance(self.access_service, list): - self.access_service = [self.access_service] if self.access_service is not None else [] - self.access_service = [v if isinstance(v, DataService) else DataService(**as_dict(v)) for v in self.access_service] - - self._normalize_inlined_as_list(slot_name="applicable_legislation", slot_type=LegalResource, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="access_URL", slot_type=Resource, key_name="id", keyed=True + ) + + self._normalize_inlined_as_list( + slot_name="access_service", + slot_type=DataService, + key_name="title", + keyed=False, + ) + + self._normalize_inlined_as_list( + slot_name="applicable_legislation", + slot_type=LegalResource, + key_name="id", + keyed=True, + ) if self.availability is not None and not isinstance(self.availability, Concept): self.availability = Concept(**as_dict(self.availability)) @@ -1132,16 +1694,26 @@ def __post_init__(self, *_: str, **kwargs: Any): if self.checksum is not None and not isinstance(self.checksum, Checksum): self.checksum = Checksum(**as_dict(self.checksum)) - if self.compression_format is not None and not isinstance(self.compression_format, MediaType): + if self.compression_format is not None and not isinstance( + self.compression_format, MediaType + ): self.compression_format = MediaType(**as_dict(self.compression_format)) if not isinstance(self.description, list): - self.description = [self.description] if self.description is not None else [] - self.description = [v if isinstance(v, str) else str(v) for v in self.description] + self.description = ( + [self.description] if self.description is not None else [] + ) + self.description = [ + v if isinstance(v, str) else str(v) for v in self.description + ] - self._normalize_inlined_as_list(slot_name="documentation", slot_type=Document, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="documentation", slot_type=Document, key_name="id", keyed=True + ) - self._normalize_inlined_as_list(slot_name="download_URL", slot_type=Resource, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="download_URL", slot_type=Resource, key_name="id", keyed=True + ) if self.format is not None and not isinstance(self.format, MediaTypeOrExtent): self.format = MediaTypeOrExtent(**as_dict(self.format)) @@ -1151,22 +1723,34 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.language, list): self.language = [self.language] if self.language is not None else [] - self.language = [v if isinstance(v, LinguisticSystem) else LinguisticSystem(**as_dict(v)) for v in self.language] + self.language = [ + v if isinstance(v, LinguisticSystem) else LinguisticSystem(**as_dict(v)) + for v in self.language + ] if self.licence is not None and not isinstance(self.licence, LicenseDocument): self.licence = LicenseDocument(**as_dict(self.licence)) if not isinstance(self.linked_schemas, list): - self.linked_schemas = [self.linked_schemas] if self.linked_schemas is not None else [] - self.linked_schemas = [v if isinstance(v, Standard) else Standard(**as_dict(v)) for v in self.linked_schemas] + self.linked_schemas = ( + [self.linked_schemas] if self.linked_schemas is not None else [] + ) + self.linked_schemas = [ + v if isinstance(v, Standard) else Standard(**as_dict(v)) + for v in self.linked_schemas + ] if self.media_type is not None and not isinstance(self.media_type, MediaType): self.media_type = MediaType(**as_dict(self.media_type)) - if self.modification_date is not None and not isinstance(self.modification_date, XSDDate): + if self.modification_date is not None and not isinstance( + self.modification_date, XSDDate + ): self.modification_date = XSDDate(self.modification_date) - if self.packaging_format is not None and not isinstance(self.packaging_format, MediaType): + if self.packaging_format is not None and not isinstance( + self.packaging_format, MediaType + ): self.packaging_format = MediaType(**as_dict(self.packaging_format)) if self.release_date is not None and not isinstance(self.release_date, XSDDate): @@ -1175,13 +1759,17 @@ def __post_init__(self, *_: str, **kwargs: Any): if self.rights is not None and not isinstance(self.rights, RightsStatement): self.rights = RightsStatement(**as_dict(self.rights)) - if self.spatial_resolution is not None and not isinstance(self.spatial_resolution, Decimal): + if self.spatial_resolution is not None and not isinstance( + self.spatial_resolution, Decimal + ): self.spatial_resolution = Decimal(self.spatial_resolution) if self.status is not None and not isinstance(self.status, Concept): self.status = Concept(**as_dict(self.status)) - if self.temporal_resolution is not None and not isinstance(self.temporal_resolution, str): + if self.temporal_resolution is not None and not isinstance( + self.temporal_resolution, str + ): self.temporal_resolution = str(self.temporal_resolution) if not isinstance(self.title, list): @@ -1196,6 +1784,7 @@ class Entity(YAMLRoot): """ A physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Entity"] @@ -1206,11 +1795,33 @@ class Entity(YAMLRoot): id: Union[str, EntityId] = None title: Optional[str] = None description: Optional[str] = None - other_identifier: Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]] = empty_list() - has_qualitative_attribute: Optional[Union[Union[dict, "QualitativeAttribute"], list[Union[dict, "QualitativeAttribute"]]]] = empty_list() - has_quantitative_attribute: Optional[Union[Union[dict, "QuantitativeAttribute"], list[Union[dict, "QuantitativeAttribute"]]]] = empty_list() - has_part: Optional[Union[dict[Union[str, EntityId], Union[dict, "Entity"]], list[Union[dict, "Entity"]]]] = empty_dict() - part_of: Optional[Union[dict[Union[str, EntityId], Union[dict, "Entity"]], list[Union[dict, "Entity"]]]] = empty_dict() + other_identifier: Optional[ + Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]] + ] = empty_list() + has_qualitative_attribute: Optional[ + Union[ + Union[dict, "QualitativeAttribute"], + list[Union[dict, "QualitativeAttribute"]], + ] + ] = empty_list() + has_quantitative_attribute: Optional[ + Union[ + Union[dict, "QuantitativeAttribute"], + list[Union[dict, "QuantitativeAttribute"]], + ] + ] = empty_list() + has_part: Optional[ + Union[ + dict[Union[str, EntityId], Union[dict, "Entity"]], + list[Union[dict, "Entity"]], + ] + ] = empty_dict() + part_of: Optional[ + Union[ + dict[Union[str, EntityId], Union[dict, "Entity"]], + list[Union[dict, "Entity"]], + ] + ] = empty_dict() type: Optional[Union[dict, DefinedTerm]] = None rdf_type: Optional[Union[dict, DefinedTerm]] = None @@ -1226,21 +1837,34 @@ def __post_init__(self, *_: str, **kwargs: Any): if self.description is not None and not isinstance(self.description, str): self.description = str(self.description) - if not isinstance(self.other_identifier, list): - self.other_identifier = [self.other_identifier] if self.other_identifier is not None else [] - self.other_identifier = [v if isinstance(v, Identifier) else Identifier(**as_dict(v)) for v in self.other_identifier] - - if not isinstance(self.has_qualitative_attribute, list): - self.has_qualitative_attribute = [self.has_qualitative_attribute] if self.has_qualitative_attribute is not None else [] - self.has_qualitative_attribute = [v if isinstance(v, QualitativeAttribute) else QualitativeAttribute(**as_dict(v)) for v in self.has_qualitative_attribute] - - if not isinstance(self.has_quantitative_attribute, list): - self.has_quantitative_attribute = [self.has_quantitative_attribute] if self.has_quantitative_attribute is not None else [] - self.has_quantitative_attribute = [v if isinstance(v, QuantitativeAttribute) else QuantitativeAttribute(**as_dict(v)) for v in self.has_quantitative_attribute] - - self._normalize_inlined_as_list(slot_name="has_part", slot_type=Entity, key_name="id", keyed=True) - - self._normalize_inlined_as_list(slot_name="part_of", slot_type=Entity, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="other_identifier", + slot_type=Identifier, + key_name="notation", + keyed=False, + ) + + self._normalize_inlined_as_list( + slot_name="has_qualitative_attribute", + slot_type=QualitativeAttribute, + key_name="value", + keyed=False, + ) + + self._normalize_inlined_as_list( + slot_name="has_quantitative_attribute", + slot_type=QuantitativeAttribute, + key_name="value", + keyed=False, + ) + + self._normalize_inlined_as_list( + slot_name="has_part", slot_type=Entity, key_name="id", keyed=True + ) + + self._normalize_inlined_as_list( + slot_name="part_of", slot_type=Entity, key_name="id", keyed=True + ) if self.type is not None and not isinstance(self.type, DefinedTerm): self.type = DefinedTerm(**as_dict(self.type)) @@ -1256,6 +1880,7 @@ class EvaluatedActivity(Activity): """ An activity or process that is being evaluated in a DataGeneratingActivity. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Activity"] @@ -1264,7 +1889,9 @@ class EvaluatedActivity(Activity): class_model_uri: ClassVar[URIRef] = DCATAPPLUS.EvaluatedActivity id: Union[str, EvaluatedActivityId] = None - other_identifier: Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]] = empty_list() + other_identifier: Optional[ + Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]] + ] = empty_list() def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -1272,9 +1899,12 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, EvaluatedActivityId): self.id = EvaluatedActivityId(self.id) - if not isinstance(self.other_identifier, list): - self.other_identifier = [self.other_identifier] if self.other_identifier is not None else [] - self.other_identifier = [v if isinstance(v, Identifier) else Identifier(**as_dict(v)) for v in self.other_identifier] + self._normalize_inlined_as_list( + slot_name="other_identifier", + slot_type=Identifier, + key_name="notation", + keyed=False, + ) super().__post_init__(**kwargs) @@ -1284,6 +1914,7 @@ class EvaluatedEntity(Entity): """ An Entity that is being evaluated in a DataGeneratingActivity. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Entity"] @@ -1292,10 +1923,17 @@ class EvaluatedEntity(Entity): class_model_uri: ClassVar[URIRef] = DCATAPPLUS.EvaluatedEntity id: Union[str, EvaluatedEntityId] = None - was_generated_by: Optional[Union[dict[Union[str, ActivityId], Union[dict, Activity]], list[Union[dict, Activity]]]] = empty_dict() + was_generated_by: Optional[ + Union[ + dict[Union[str, ActivityId], Union[dict, Activity]], + list[Union[dict, Activity]], + ] + ] = empty_dict() title: Optional[str] = None description: Optional[str] = None - other_identifier: Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]] = empty_list() + other_identifier: Optional[ + Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]] + ] = empty_list() def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -1303,7 +1941,9 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, EvaluatedEntityId): self.id = EvaluatedEntityId(self.id) - self._normalize_inlined_as_list(slot_name="was_generated_by", slot_type=Activity, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="was_generated_by", slot_type=Activity, key_name="id", keyed=True + ) if self.title is not None and not isinstance(self.title, str): self.title = str(self.title) @@ -1311,9 +1951,12 @@ def __post_init__(self, *_: str, **kwargs: Any): if self.description is not None and not isinstance(self.description, str): self.description = str(self.description) - if not isinstance(self.other_identifier, list): - self.other_identifier = [self.other_identifier] if self.other_identifier is not None else [] - self.other_identifier = [v if isinstance(v, Identifier) else Identifier(**as_dict(v)) for v in self.other_identifier] + self._normalize_inlined_as_list( + slot_name="other_identifier", + slot_type=Identifier, + key_name="notation", + keyed=False, + ) super().__post_init__(**kwargs) @@ -1323,6 +1966,7 @@ class AnalysisSourceData(EvaluatedEntity): """ Information that was evaluated within a DataAnalysis. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Entity"] @@ -1331,7 +1975,15 @@ class AnalysisSourceData(EvaluatedEntity): class_model_uri: ClassVar[URIRef] = DCATAPPLUS.AnalysisSourceData id: Union[str, AnalysisSourceDataId] = None - was_generated_by: Optional[Union[dict[Union[str, DataGeneratingActivityId], Union[dict, DataGeneratingActivity]], list[Union[dict, DataGeneratingActivity]]]] = empty_dict() + was_generated_by: Optional[ + Union[ + dict[ + Union[str, DataGeneratingActivityId], + Union[dict, DataGeneratingActivity], + ], + list[Union[dict, DataGeneratingActivity]], + ] + ] = empty_dict() def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -1339,7 +1991,12 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, AnalysisSourceDataId): self.id = AnalysisSourceDataId(self.id) - self._normalize_inlined_as_list(slot_name="was_generated_by", slot_type=DataGeneratingActivity, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="was_generated_by", + slot_type=DataGeneratingActivity, + key_name="id", + keyed=True, + ) super().__post_init__(**kwargs) @@ -1348,6 +2005,7 @@ class Kind(YAMLRoot): """ See [DCAT-AP specs:Kind](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Kind) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = VCARD["Kind"] @@ -1361,6 +2019,7 @@ class Location(YAMLRoot): """ See [DCAT-AP specs:Location](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Location) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCTERMS["Location"] @@ -1391,6 +2050,7 @@ class Plan(YAMLRoot): A piece of information that specifies how an activity has to be carried out by its agents including what kind of steps have to be taken and what kind of parameters have to be met/set. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Plan"] @@ -1424,6 +2084,7 @@ class QualitativeAttribute(YAMLRoot): """ A piece of information that is attributed to an Entity, Activity or AgenticEntity. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Entity"] @@ -1463,6 +2124,7 @@ class QuantitativeAttribute(YAMLRoot): """ A quantifiable piece of information that is attributed to an Entity, Activity or AgenticEntity. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["Quantity"] @@ -1512,6 +2174,7 @@ class Relationship(YAMLRoot): """ See [DCAT-AP specs:Relationship](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Relationship) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCAT["Relationship"] @@ -1520,18 +2183,25 @@ class Relationship(YAMLRoot): class_model_uri: ClassVar[URIRef] = DCATAPPLUS.Relationship had_role: Union[Union[dict, "Role"], list[Union[dict, "Role"]]] = None - relation: Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]] = empty_dict() + relation: Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ] = empty_dict() def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.had_role): self.MissingRequiredField("had_role") if not isinstance(self.had_role, list): self.had_role = [self.had_role] if self.had_role is not None else [] - self.had_role = [v if isinstance(v, Role) else Role(**as_dict(v)) for v in self.had_role] + self.had_role = [ + v if isinstance(v, Role) else Role(**as_dict(v)) for v in self.had_role + ] if self._is_empty(self.relation): self.MissingRequiredField("relation") - self._normalize_inlined_as_list(slot_name="relation", slot_type=Resource, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="relation", slot_type=Resource, key_name="id", keyed=True + ) super().__post_init__(**kwargs) @@ -1541,6 +2211,7 @@ class Software(AgenticEntity): """ An instrument composed of a series of instructions that can be interpreted by or directly executed by a computer. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["SoftwareAgent"] @@ -1549,8 +2220,15 @@ class Software(AgenticEntity): class_model_uri: ClassVar[URIRef] = DCATAPPLUS.Software id: Union[str, SoftwareId] = None - has_part: Optional[Union[dict[Union[str, SoftwareId], Union[dict, "Software"]], list[Union[dict, "Software"]]]] = empty_dict() - other_identifier: Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]] = empty_list() + has_part: Optional[ + Union[ + dict[Union[str, SoftwareId], Union[dict, "Software"]], + list[Union[dict, "Software"]], + ] + ] = empty_dict() + other_identifier: Optional[ + Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]] + ] = empty_list() def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -1558,11 +2236,16 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, SoftwareId): self.id = SoftwareId(self.id) - self._normalize_inlined_as_list(slot_name="has_part", slot_type=Software, key_name="id", keyed=True) + self._normalize_inlined_as_list( + slot_name="has_part", slot_type=Software, key_name="id", keyed=True + ) - if not isinstance(self.other_identifier, list): - self.other_identifier = [self.other_identifier] if self.other_identifier is not None else [] - self.other_identifier = [v if isinstance(v, Identifier) else Identifier(**as_dict(v)) for v in self.other_identifier] + self._normalize_inlined_as_list( + slot_name="other_identifier", + slot_type=Identifier, + key_name="notation", + keyed=False, + ) super().__post_init__(**kwargs) @@ -1573,6 +2256,7 @@ class SupportiveEntity(YAMLRoot): The supportive entities are supporting the main entities in the Application Profile. They are included in the Application Profile because they form the range of properties. """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCATAPPLUS["SupportiveEntity"] @@ -1598,6 +2282,7 @@ class Attribution(SupportiveEntity): """ See [DCAT-AP specs:Attribution](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Attribution) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Attribution"] @@ -1623,6 +2308,7 @@ class ChecksumAlgorithm(SupportiveEntity): """ See [DCAT-AP specs:ChecksumAlgorithm](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ChecksumAlgorithm) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = SPDX["ChecksumAlgorithm"] @@ -1648,6 +2334,7 @@ class Concept(SupportiveEntity): """ See [DCAT-AP specs:Concept](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Concept) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = SKOS["Concept"] @@ -1663,8 +2350,12 @@ def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.preferred_label): self.MissingRequiredField("preferred_label") if not isinstance(self.preferred_label, list): - self.preferred_label = [self.preferred_label] if self.preferred_label is not None else [] - self.preferred_label = [v if isinstance(v, str) else str(v) for v in self.preferred_label] + self.preferred_label = ( + [self.preferred_label] if self.preferred_label is not None else [] + ) + self.preferred_label = [ + v if isinstance(v, str) else str(v) for v in self.preferred_label + ] if self.title is not None and not isinstance(self.title, str): self.title = str(self.title) @@ -1680,6 +2371,7 @@ class ConceptScheme(SupportiveEntity): """ See [DCAT-AP specs:ConceptScheme](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ConceptScheme) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = SKOS["ConceptScheme"] @@ -1708,6 +2400,7 @@ class Document(SupportiveEntity): """ See [DCAT-AP specs:Document](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Document) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = FOAF["Document"] @@ -1739,6 +2432,7 @@ class Frequency(SupportiveEntity): """ See [DCAT-AP specs:Frequency](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Frequency) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCTERMS["Frequency"] @@ -1764,6 +2458,7 @@ class Geometry(SupportiveEntity): """ See [DCAT-AP specs:Geometry](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Geometry) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = LOCN["Geometry"] @@ -1789,6 +2484,7 @@ class Identifier(SupportiveEntity): """ See [DCAT-AP specs:Identifier](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Identifier) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = ADMS["Identifier"] @@ -1820,6 +2516,7 @@ class LegalResource(SupportiveEntity): """ See [DCAT-AP specs:LegalResource](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LegalResource) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = ELI["LegalResource"] @@ -1851,6 +2548,7 @@ class LicenseDocument(SupportiveEntity): """ See [DCAT-AP specs:LicenseDocument](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LicenseDocument) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCTERMS["LicenseDocument"] @@ -1859,7 +2557,9 @@ class LicenseDocument(SupportiveEntity): class_model_uri: ClassVar[URIRef] = DCATAPPLUS.LicenseDocument id: Union[str, LicenseDocumentId] = None - type: Optional[Union[Union[dict, Concept], list[Union[dict, Concept]]]] = empty_list() + type: Optional[Union[Union[dict, Concept], list[Union[dict, Concept]]]] = ( + empty_list() + ) title: Optional[str] = None description: Optional[str] = None @@ -1869,9 +2569,9 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, LicenseDocumentId): self.id = LicenseDocumentId(self.id) - if not isinstance(self.type, list): - self.type = [self.type] if self.type is not None else [] - self.type = [v if isinstance(v, Concept) else Concept(**as_dict(v)) for v in self.type] + self._normalize_inlined_as_list( + slot_name="type", slot_type=Concept, key_name="preferred_label", keyed=False + ) if self.title is not None and not isinstance(self.title, str): self.title = str(self.title) @@ -1887,6 +2587,7 @@ class LinguisticSystem(SupportiveEntity): """ See [DCAT-AP specs:LinguisticSystem](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LinguisticSystem) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCTERMS["LinguisticSystem"] @@ -1912,6 +2613,7 @@ class MediaType(SupportiveEntity): """ See [DCAT-AP specs:MediaType](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#MediaType) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCTERMS["MediaType"] @@ -1937,6 +2639,7 @@ class MediaTypeOrExtent(SupportiveEntity): """ See [DCAT-AP specs:MediaTypeOrExtent](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#MediaTypeOrExtent) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCTERMS["MediaTypeOrExtent"] @@ -1962,6 +2665,7 @@ class PeriodOfTime(SupportiveEntity): """ See [DCAT-AP specs:PeriodOfTime](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#PeriodOfTime) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCTERMS["PeriodOfTime"] @@ -2003,6 +2707,7 @@ class Policy(SupportiveEntity): """ See [DCAT-AP specs:Policy](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Policy) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = ODRL["Policy"] @@ -2028,6 +2733,7 @@ class ProvenanceStatement(SupportiveEntity): """ See [DCAT-AP specs:ProvenanceStatement](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ProvenanceStatement) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCTERMS["ProvenanceStatement"] @@ -2053,6 +2759,7 @@ class Resource(SupportiveEntity): """ See [DCAT-AP specs:Resource](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Resource) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = RDFS["Resource"] @@ -2084,6 +2791,7 @@ class RightsStatement(SupportiveEntity): """ See [DCAT-AP specs:RightsStatement](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#RightsStatement) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCTERMS["RightsStatement"] @@ -2109,6 +2817,7 @@ class Role(SupportiveEntity): """ See [DCAT-AP specs:Role](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Role) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCAT["Role"] @@ -2134,6 +2843,7 @@ class Standard(SupportiveEntity): """ See [DCAT-AP specs:Standard](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Standard) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = DCTERMS["Standard"] @@ -2159,6 +2869,7 @@ class Surrounding(YAMLRoot): """ The surrounding in which the dataset creating activity took place (e.g. a lab). """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = PROV["Location"] @@ -2192,6 +2903,7 @@ class TimeInstant(SupportiveEntity): """ See [DCAT-AP specs:TimeInstant](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#TimeInstant) """ + _inherited_slots: ClassVar[list[str]] = [] class_class_uri: ClassVar[URIRef] = TIME["Instant"] @@ -2214,70 +2926,47 @@ def __post_init__(self, *_: str, **kwargs: Any): # Enumerations class DatasetThemes(EnumDefinitionImpl): - AGRI = PermissibleValue( text="AGRI", description="Agriculture, fisheries, forestry and food", - meaning=None) + meaning=None, + ) ECON = PermissibleValue( - text="ECON", - description="Economy and finance", - meaning=None) + text="ECON", description="Economy and finance", meaning=None + ) EDUC = PermissibleValue( - text="EDUC", - description="Education, culture and sport", - meaning=None) - ENER = PermissibleValue( - text="ENER", - description="Energy", - meaning=None) - ENVI = PermissibleValue( - text="ENVI", - description="Environment", - meaning=None) + text="EDUC", description="Education, culture and sport", meaning=None + ) + ENER = PermissibleValue(text="ENER", description="Energy", meaning=None) + ENVI = PermissibleValue(text="ENVI", description="Environment", meaning=None) GOVE = PermissibleValue( - text="GOVE", - description="Government and public sector", - meaning=None) - HEAL = PermissibleValue( - text="HEAL", - description="Health", - meaning=None) + text="GOVE", description="Government and public sector", meaning=None + ) + HEAL = PermissibleValue(text="HEAL", description="Health", meaning=None) INTR = PermissibleValue( - text="INTR", - description="International issues", - meaning=None) + text="INTR", description="International issues", meaning=None + ) JUST = PermissibleValue( - text="JUST", - description="Justice, legal system and public safety", - meaning=None) + text="JUST", description="Justice, legal system and public safety", meaning=None + ) OP_DATPRO = PermissibleValue( - text="OP_DATPRO", - description="Provisional data", - meaning=None) - REGI = PermissibleValue( - text="REGI", - description="Regions and cities", - meaning=None) + text="OP_DATPRO", description="Provisional data", meaning=None + ) + REGI = PermissibleValue(text="REGI", description="Regions and cities", meaning=None) SOCI = PermissibleValue( - text="SOCI", - description="Population and society", - meaning=None) + text="SOCI", description="Population and society", meaning=None + ) TECH = PermissibleValue( - text="TECH", - description="Science and technology", - meaning=None) - TRAN = PermissibleValue( - text="TRAN", - description="Transport", - meaning=None) + text="TECH", description="Science and technology", meaning=None + ) + TRAN = PermissibleValue(text="TRAN", description="Transport", meaning=None) _defn = EnumDefinition( name="DatasetThemes", ) -class TopLevelMediaTypes(EnumDefinitionImpl): +class TopLevelMediaTypes(EnumDefinitionImpl): application = PermissibleValue(text="application") audio = PermissibleValue(text="audio") example = PermissibleValue(text="example") @@ -2294,819 +2983,2688 @@ class TopLevelMediaTypes(EnumDefinitionImpl): name="TopLevelMediaTypes", ) + class QUDTQuantityKindEnum(EnumDefinitionImpl): """ Possible kinds of quantifiable attribute types provided as QUDT QualityKind instances. """ + _defn = EnumDefinition( name="QUDTQuantityKindEnum", description="Possible kinds of quantifiable attribute types provided as QUDT QualityKind instances.", ) + class QUDTUnitEnum(EnumDefinitionImpl): """ Possible kinds of QUDT unit instances. """ + _defn = EnumDefinition( name="QUDTUnitEnum", description="Possible kinds of QUDT unit instances.", ) + # Slots class slots: pass -slots.access_URL = Slot(uri=DCAT.accessURL, name="access_URL", curie=DCAT.curie('accessURL'), - model_uri=DCATAPPLUS.access_URL, domain=None, range=Optional[str]) -slots.access_rights = Slot(uri=DCTERMS.accessRights, name="access_rights", curie=DCTERMS.curie('accessRights'), - model_uri=DCATAPPLUS.access_rights, domain=None, range=Optional[str]) +slots.access_URL = Slot( + uri=DCAT.accessURL, + name="access_URL", + curie=DCAT.curie("accessURL"), + model_uri=DCATAPPLUS.access_URL, + domain=None, + range=Optional[str], +) -slots.access_service = Slot(uri=DCAT.accessService, name="access_service", curie=DCAT.curie('accessService'), - model_uri=DCATAPPLUS.access_service, domain=None, range=Optional[str]) +slots.access_rights = Slot( + uri=DCTERMS.accessRights, + name="access_rights", + curie=DCTERMS.curie("accessRights"), + model_uri=DCATAPPLUS.access_rights, + domain=None, + range=Optional[str], +) -slots.algorithm = Slot(uri=SPDX.algorithm, name="algorithm", curie=SPDX.curie('algorithm'), - model_uri=DCATAPPLUS.algorithm, domain=None, range=Optional[str]) +slots.access_service = Slot( + uri=DCAT.accessService, + name="access_service", + curie=DCAT.curie("accessService"), + model_uri=DCATAPPLUS.access_service, + domain=None, + range=Optional[str], +) -slots.applicable_legislation = Slot(uri=DCATAP.applicableLegislation, name="applicable_legislation", curie=DCATAP.curie('applicableLegislation'), - model_uri=DCATAPPLUS.applicable_legislation, domain=None, range=Optional[str]) +slots.algorithm = Slot( + uri=SPDX.algorithm, + name="algorithm", + curie=SPDX.curie("algorithm"), + model_uri=DCATAPPLUS.algorithm, + domain=None, + range=Optional[str], +) -slots.application_profile = Slot(uri=DCTERMS.conformsTo, name="application_profile", curie=DCTERMS.curie('conformsTo'), - model_uri=DCATAPPLUS.application_profile, domain=None, range=Optional[str]) +slots.applicable_legislation = Slot( + uri=DCATAP.applicableLegislation, + name="applicable_legislation", + curie=DCATAP.curie("applicableLegislation"), + model_uri=DCATAPPLUS.applicable_legislation, + domain=None, + range=Optional[str], +) -slots.availability = Slot(uri=DCATAP.availability, name="availability", curie=DCATAP.curie('availability'), - model_uri=DCATAPPLUS.availability, domain=None, range=Optional[str]) +slots.application_profile = Slot( + uri=DCTERMS.conformsTo, + name="application_profile", + curie=DCTERMS.curie("conformsTo"), + model_uri=DCATAPPLUS.application_profile, + domain=None, + range=Optional[str], +) -slots.bbox = Slot(uri=DCAT.bbox, name="bbox", curie=DCAT.curie('bbox'), - model_uri=DCATAPPLUS.bbox, domain=None, range=Optional[str]) +slots.availability = Slot( + uri=DCATAP.availability, + name="availability", + curie=DCATAP.curie("availability"), + model_uri=DCATAPPLUS.availability, + domain=None, + range=Optional[str], +) -slots.beginning = Slot(uri=TIME.hasBeginning, name="beginning", curie=TIME.curie('hasBeginning'), - model_uri=DCATAPPLUS.beginning, domain=None, range=Optional[str]) +slots.bbox = Slot( + uri=DCAT.bbox, + name="bbox", + curie=DCAT.curie("bbox"), + model_uri=DCATAPPLUS.bbox, + domain=None, + range=Optional[str], +) -slots.byte_size = Slot(uri=DCAT.byteSize, name="byte_size", curie=DCAT.curie('byteSize'), - model_uri=DCATAPPLUS.byte_size, domain=None, range=Optional[str]) +slots.beginning = Slot( + uri=TIME.hasBeginning, + name="beginning", + curie=TIME.curie("hasBeginning"), + model_uri=DCATAPPLUS.beginning, + domain=None, + range=Optional[str], +) -slots.carried_out_by = Slot(uri=PROV.wasAssociatedWith, name="carried_out_by", curie=PROV.curie('wasAssociatedWith'), - model_uri=DCATAPPLUS.carried_out_by, domain=None, range=Optional[Union[dict[Union[str, AgenticEntityId], Union[dict, AgenticEntity]], list[Union[dict, AgenticEntity]]]]) +slots.byte_size = Slot( + uri=DCAT.byteSize, + name="byte_size", + curie=DCAT.curie("byteSize"), + model_uri=DCATAPPLUS.byte_size, + domain=None, + range=Optional[str], +) -slots.catalogue = Slot(uri=DCAT.catalog, name="catalogue", curie=DCAT.curie('catalog'), - model_uri=DCATAPPLUS.catalogue, domain=None, range=Optional[str]) +slots.carried_out_by = Slot( + uri=PROV.wasAssociatedWith, + name="carried_out_by", + curie=PROV.curie("wasAssociatedWith"), + model_uri=DCATAPPLUS.carried_out_by, + domain=None, + range=Optional[ + Union[ + dict[Union[str, AgenticEntityId], Union[dict, AgenticEntity]], + list[Union[dict, AgenticEntity]], + ] + ], +) -slots.centroid = Slot(uri=DCAT.centroid, name="centroid", curie=DCAT.curie('centroid'), - model_uri=DCATAPPLUS.centroid, domain=None, range=Optional[str]) +slots.catalogue = Slot( + uri=DCAT.catalog, + name="catalogue", + curie=DCAT.curie("catalog"), + model_uri=DCATAPPLUS.catalogue, + domain=None, + range=Optional[str], +) -slots.change_type = Slot(uri=ADMS.status, name="change_type", curie=ADMS.curie('status'), - model_uri=DCATAPPLUS.change_type, domain=None, range=Optional[str]) +slots.centroid = Slot( + uri=DCAT.centroid, + name="centroid", + curie=DCAT.curie("centroid"), + model_uri=DCATAPPLUS.centroid, + domain=None, + range=Optional[str], +) -slots.checksum = Slot(uri=SPDX.checksum, name="checksum", curie=SPDX.curie('checksum'), - model_uri=DCATAPPLUS.checksum, domain=None, range=Optional[str]) +slots.change_type = Slot( + uri=ADMS.status, + name="change_type", + curie=ADMS.curie("status"), + model_uri=DCATAPPLUS.change_type, + domain=None, + range=Optional[str], +) -slots.checksum_value = Slot(uri=SPDX.checksumValue, name="checksum_value", curie=SPDX.curie('checksumValue'), - model_uri=DCATAPPLUS.checksum_value, domain=None, range=Optional[str]) +slots.checksum = Slot( + uri=SPDX.checksum, + name="checksum", + curie=SPDX.curie("checksum"), + model_uri=DCATAPPLUS.checksum, + domain=None, + range=Optional[str], +) -slots.compression_format = Slot(uri=DCAT.compressFormat, name="compression_format", curie=DCAT.curie('compressFormat'), - model_uri=DCATAPPLUS.compression_format, domain=None, range=Optional[str]) +slots.checksum_value = Slot( + uri=SPDX.checksumValue, + name="checksum_value", + curie=SPDX.curie("checksumValue"), + model_uri=DCATAPPLUS.checksum_value, + domain=None, + range=Optional[str], +) -slots.conforms_to = Slot(uri=DCTERMS.conformsTo, name="conforms_to", curie=DCTERMS.curie('conformsTo'), - model_uri=DCATAPPLUS.conforms_to, domain=None, range=Optional[str]) +slots.compression_format = Slot( + uri=DCAT.compressFormat, + name="compression_format", + curie=DCAT.curie("compressFormat"), + model_uri=DCATAPPLUS.compression_format, + domain=None, + range=Optional[str], +) -slots.contact_point = Slot(uri=DCAT.contactPoint, name="contact_point", curie=DCAT.curie('contactPoint'), - model_uri=DCATAPPLUS.contact_point, domain=None, range=Optional[str]) +slots.conforms_to = Slot( + uri=DCTERMS.conformsTo, + name="conforms_to", + curie=DCTERMS.curie("conformsTo"), + model_uri=DCATAPPLUS.conforms_to, + domain=None, + range=Optional[str], +) -slots.creator = Slot(uri=DCTERMS.creator, name="creator", curie=DCTERMS.curie('creator'), - model_uri=DCATAPPLUS.creator, domain=None, range=Optional[str]) +slots.contact_point = Slot( + uri=DCAT.contactPoint, + name="contact_point", + curie=DCAT.curie("contactPoint"), + model_uri=DCATAPPLUS.contact_point, + domain=None, + range=Optional[str], +) -slots.dataset_distribution = Slot(uri=DCAT.distribution, name="dataset_distribution", curie=DCAT.curie('distribution'), - model_uri=DCATAPPLUS.dataset_distribution, domain=None, range=Optional[str]) +slots.creator = Slot( + uri=DCTERMS.creator, + name="creator", + curie=DCTERMS.curie("creator"), + model_uri=DCATAPPLUS.creator, + domain=None, + range=Optional[str], +) -slots.description = Slot(uri=DCTERMS.description, name="description", curie=DCTERMS.curie('description'), - model_uri=DCATAPPLUS.description, domain=None, range=Optional[str]) +slots.dataset_distribution = Slot( + uri=DCAT.distribution, + name="dataset_distribution", + curie=DCAT.curie("distribution"), + model_uri=DCATAPPLUS.dataset_distribution, + domain=None, + range=Optional[str], +) -slots.documentation = Slot(uri=FOAF.page, name="documentation", curie=FOAF.curie('page'), - model_uri=DCATAPPLUS.documentation, domain=None, range=Optional[str]) +slots.description = Slot( + uri=DCTERMS.description, + name="description", + curie=DCTERMS.curie("description"), + model_uri=DCATAPPLUS.description, + domain=None, + range=Optional[str], +) -slots.download_URL = Slot(uri=DCAT.downloadURL, name="download_URL", curie=DCAT.curie('downloadURL'), - model_uri=DCATAPPLUS.download_URL, domain=None, range=Optional[str]) +slots.documentation = Slot( + uri=FOAF.page, + name="documentation", + curie=FOAF.curie("page"), + model_uri=DCATAPPLUS.documentation, + domain=None, + range=Optional[str], +) -slots.end = Slot(uri=TIME.hasEnd, name="end", curie=TIME.curie('hasEnd'), - model_uri=DCATAPPLUS.end, domain=None, range=Optional[str]) +slots.download_URL = Slot( + uri=DCAT.downloadURL, + name="download_URL", + curie=DCAT.curie("downloadURL"), + model_uri=DCATAPPLUS.download_URL, + domain=None, + range=Optional[str], +) -slots.end_date = Slot(uri=DCAT.endDate, name="end_date", curie=DCAT.curie('endDate'), - model_uri=DCATAPPLUS.end_date, domain=None, range=Optional[str]) +slots.end = Slot( + uri=TIME.hasEnd, + name="end", + curie=TIME.curie("hasEnd"), + model_uri=DCATAPPLUS.end, + domain=None, + range=Optional[str], +) + +slots.end_date = Slot( + uri=DCAT.endDate, + name="end_date", + curie=DCAT.curie("endDate"), + model_uri=DCATAPPLUS.end_date, + domain=None, + range=Optional[str], +) -slots.endpoint_URL = Slot(uri=DCAT.endpointURL, name="endpoint_URL", curie=DCAT.curie('endpointURL'), - model_uri=DCATAPPLUS.endpoint_URL, domain=None, range=Optional[str]) +slots.endpoint_URL = Slot( + uri=DCAT.endpointURL, + name="endpoint_URL", + curie=DCAT.curie("endpointURL"), + model_uri=DCATAPPLUS.endpoint_URL, + domain=None, + range=Optional[str], +) -slots.endpoint_description = Slot(uri=DCAT.endpointDescription, name="endpoint_description", curie=DCAT.curie('endpointDescription'), - model_uri=DCATAPPLUS.endpoint_description, domain=None, range=Optional[str]) +slots.endpoint_description = Slot( + uri=DCAT.endpointDescription, + name="endpoint_description", + curie=DCAT.curie("endpointDescription"), + model_uri=DCATAPPLUS.endpoint_description, + domain=None, + range=Optional[str], +) -slots.evaluated_activity = Slot(uri=PROV.wasInformedBy, name="evaluated_activity", curie=PROV.curie('wasInformedBy'), - model_uri=DCATAPPLUS.evaluated_activity, domain=None, range=Optional[Union[dict[Union[str, EvaluatedActivityId], Union[dict, EvaluatedActivity]], list[Union[dict, EvaluatedActivity]]]]) +slots.evaluated_activity = Slot( + uri=PROV.wasInformedBy, + name="evaluated_activity", + curie=PROV.curie("wasInformedBy"), + model_uri=DCATAPPLUS.evaluated_activity, + domain=None, + range=Optional[ + Union[ + dict[Union[str, EvaluatedActivityId], Union[dict, EvaluatedActivity]], + list[Union[dict, EvaluatedActivity]], + ] + ], +) -slots.evaluated_entity = Slot(uri=PROV.used, name="evaluated_entity", curie=PROV.curie('used'), - model_uri=DCATAPPLUS.evaluated_entity, domain=None, range=Optional[Union[dict[Union[str, EvaluatedEntityId], Union[dict, EvaluatedEntity]], list[Union[dict, EvaluatedEntity]]]]) +slots.evaluated_entity = Slot( + uri=PROV.used, + name="evaluated_entity", + curie=PROV.curie("used"), + model_uri=DCATAPPLUS.evaluated_entity, + domain=None, + range=Optional[ + Union[ + dict[Union[str, EvaluatedEntityId], Union[dict, EvaluatedEntity]], + list[Union[dict, EvaluatedEntity]], + ] + ], +) -slots.format = Slot(uri=DCTERMS.format, name="format", curie=DCTERMS.curie('format'), - model_uri=DCATAPPLUS.format, domain=None, range=Optional[str]) +slots.format = Slot( + uri=DCTERMS.format, + name="format", + curie=DCTERMS.curie("format"), + model_uri=DCATAPPLUS.format, + domain=None, + range=Optional[str], +) -slots.frequency = Slot(uri=DCTERMS.accrualPeriodicity, name="frequency", curie=DCTERMS.curie('accrualPeriodicity'), - model_uri=DCATAPPLUS.frequency, domain=None, range=Optional[str]) +slots.frequency = Slot( + uri=DCTERMS.accrualPeriodicity, + name="frequency", + curie=DCTERMS.curie("accrualPeriodicity"), + model_uri=DCATAPPLUS.frequency, + domain=None, + range=Optional[str], +) -slots.geographical_coverage = Slot(uri=DCTERMS.spatial, name="geographical_coverage", curie=DCTERMS.curie('spatial'), - model_uri=DCATAPPLUS.geographical_coverage, domain=None, range=Optional[str]) +slots.geographical_coverage = Slot( + uri=DCTERMS.spatial, + name="geographical_coverage", + curie=DCTERMS.curie("spatial"), + model_uri=DCATAPPLUS.geographical_coverage, + domain=None, + range=Optional[str], +) -slots.geometry = Slot(uri=LOCN.geometry, name="geometry", curie=LOCN.curie('geometry'), - model_uri=DCATAPPLUS.geometry, domain=None, range=Optional[str]) +slots.geometry = Slot( + uri=LOCN.geometry, + name="geometry", + curie=LOCN.curie("geometry"), + model_uri=DCATAPPLUS.geometry, + domain=None, + range=Optional[str], +) -slots.had_input_activity = Slot(uri=PROV.wasInformedBy, name="had_input_activity", curie=PROV.curie('wasInformedBy'), - model_uri=DCATAPPLUS.had_input_activity, domain=None, range=Optional[Union[dict[Union[str, ActivityId], Union[dict, Activity]], list[Union[dict, Activity]]]]) +slots.had_input_activity = Slot( + uri=PROV.wasInformedBy, + name="had_input_activity", + curie=PROV.curie("wasInformedBy"), + model_uri=DCATAPPLUS.had_input_activity, + domain=None, + range=Optional[ + Union[ + dict[Union[str, ActivityId], Union[dict, Activity]], + list[Union[dict, Activity]], + ] + ], +) -slots.had_input_entity = Slot(uri=PROV.used, name="had_input_entity", curie=PROV.curie('used'), - model_uri=DCATAPPLUS.had_input_entity, domain=None, range=Optional[Union[dict[Union[str, EntityId], Union[dict, Entity]], list[Union[dict, Entity]]]]) +slots.had_input_entity = Slot( + uri=PROV.used, + name="had_input_entity", + curie=PROV.curie("used"), + model_uri=DCATAPPLUS.had_input_entity, + domain=None, + range=Optional[ + Union[ + dict[Union[str, EntityId], Union[dict, Entity]], list[Union[dict, Entity]] + ] + ], +) -slots.had_output_entity = Slot(uri=PROV.generated, name="had_output_entity", curie=PROV.curie('generated'), - model_uri=DCATAPPLUS.had_output_entity, domain=None, range=Optional[Union[dict[Union[str, EntityId], Union[dict, Entity]], list[Union[dict, Entity]]]]) +slots.had_output_entity = Slot( + uri=PROV.generated, + name="had_output_entity", + curie=PROV.curie("generated"), + model_uri=DCATAPPLUS.had_output_entity, + domain=None, + range=Optional[ + Union[ + dict[Union[str, EntityId], Union[dict, Entity]], list[Union[dict, Entity]] + ] + ], +) -slots.had_role = Slot(uri=DCAT.hadRole, name="had_role", curie=DCAT.curie('hadRole'), - model_uri=DCATAPPLUS.had_role, domain=None, range=Optional[str]) +slots.had_role = Slot( + uri=DCAT.hadRole, + name="had_role", + curie=DCAT.curie("hadRole"), + model_uri=DCATAPPLUS.had_role, + domain=None, + range=Optional[str], +) -slots.has_dataset = Slot(uri=DCAT.dataset, name="has_dataset", curie=DCAT.curie('dataset'), - model_uri=DCATAPPLUS.has_dataset, domain=None, range=Optional[str]) +slots.has_dataset = Slot( + uri=DCAT.dataset, + name="has_dataset", + curie=DCAT.curie("dataset"), + model_uri=DCATAPPLUS.has_dataset, + domain=None, + range=Optional[str], +) -slots.has_part = Slot(uri=DCTERMS.hasPart, name="has_part", curie=DCTERMS.curie('hasPart'), - model_uri=DCATAPPLUS.has_part, domain=None, range=Optional[Union[str, ActivityId]]) +slots.has_part = Slot( + uri=DCTERMS.hasPart, + name="has_part", + curie=DCTERMS.curie("hasPart"), + model_uri=DCATAPPLUS.has_part, + domain=None, + range=Optional[Union[str, ActivityId]], +) -slots.has_policy = Slot(uri=ODRL.hasPolicy, name="has_policy", curie=ODRL.curie('hasPolicy'), - model_uri=DCATAPPLUS.has_policy, domain=None, range=Optional[str]) +slots.has_policy = Slot( + uri=ODRL.hasPolicy, + name="has_policy", + curie=ODRL.curie("hasPolicy"), + model_uri=DCATAPPLUS.has_policy, + domain=None, + range=Optional[str], +) -slots.has_qualitative_attribute = Slot(uri=DCTERMS.relation, name="has_qualitative_attribute", curie=DCTERMS.curie('relation'), - model_uri=DCATAPPLUS.has_qualitative_attribute, domain=None, range=Optional[Union[Union[dict, QualitativeAttribute], list[Union[dict, QualitativeAttribute]]]]) +slots.has_qualitative_attribute = Slot( + uri=DCTERMS.relation, + name="has_qualitative_attribute", + curie=DCTERMS.curie("relation"), + model_uri=DCATAPPLUS.has_qualitative_attribute, + domain=None, + range=Optional[ + Union[ + Union[dict, QualitativeAttribute], list[Union[dict, QualitativeAttribute]] + ] + ], +) -slots.has_quantitative_attribute = Slot(uri=DCTERMS.relation, name="has_quantitative_attribute", curie=DCTERMS.curie('relation'), - model_uri=DCATAPPLUS.has_quantitative_attribute, domain=None, range=Optional[Union[Union[dict, QuantitativeAttribute], list[Union[dict, QuantitativeAttribute]]]]) +slots.has_quantitative_attribute = Slot( + uri=DCTERMS.relation, + name="has_quantitative_attribute", + curie=DCTERMS.curie("relation"), + model_uri=DCATAPPLUS.has_quantitative_attribute, + domain=None, + range=Optional[ + Union[ + Union[dict, QuantitativeAttribute], list[Union[dict, QuantitativeAttribute]] + ] + ], +) -slots.has_version = Slot(uri=DCAT.hasVersion, name="has_version", curie=DCAT.curie('hasVersion'), - model_uri=DCATAPPLUS.has_version, domain=None, range=Optional[str]) +slots.has_version = Slot( + uri=DCAT.hasVersion, + name="has_version", + curie=DCAT.curie("hasVersion"), + model_uri=DCATAPPLUS.has_version, + domain=None, + range=Optional[str], +) -slots.homepage = Slot(uri=FOAF.homepage, name="homepage", curie=FOAF.curie('homepage'), - model_uri=DCATAPPLUS.homepage, domain=None, range=Optional[str]) +slots.homepage = Slot( + uri=FOAF.homepage, + name="homepage", + curie=FOAF.curie("homepage"), + model_uri=DCATAPPLUS.homepage, + domain=None, + range=Optional[str], +) -slots.id = Slot(uri=DCATAPPLUS.id, name="id", curie=DCATAPPLUS.curie('id'), - model_uri=DCATAPPLUS.id, domain=None, range=URIRef) +slots.id = Slot( + uri=DCATAPPLUS.id, + name="id", + curie=DCATAPPLUS.curie("id"), + model_uri=DCATAPPLUS.id, + domain=None, + range=URIRef, +) -slots.identifier = Slot(uri=DCTERMS.identifier, name="identifier", curie=DCTERMS.curie('identifier'), - model_uri=DCATAPPLUS.identifier, domain=None, range=Optional[str]) +slots.identifier = Slot( + uri=DCTERMS.identifier, + name="identifier", + curie=DCTERMS.curie("identifier"), + model_uri=DCATAPPLUS.identifier, + domain=None, + range=Optional[str], +) -slots.in_series = Slot(uri=DCAT.inSeries, name="in_series", curie=DCAT.curie('inSeries'), - model_uri=DCATAPPLUS.in_series, domain=None, range=Optional[str]) +slots.in_series = Slot( + uri=DCAT.inSeries, + name="in_series", + curie=DCAT.curie("inSeries"), + model_uri=DCATAPPLUS.in_series, + domain=None, + range=Optional[str], +) -slots.is_about_activity = Slot(uri=DCTERMS.subject, name="is_about_activity", curie=DCTERMS.curie('subject'), - model_uri=DCATAPPLUS.is_about_activity, domain=None, range=Optional[Union[dict[Union[str, EvaluatedActivityId], Union[dict, EvaluatedActivity]], list[Union[dict, EvaluatedActivity]]]]) +slots.is_about_activity = Slot( + uri=DCTERMS.subject, + name="is_about_activity", + curie=DCTERMS.curie("subject"), + model_uri=DCATAPPLUS.is_about_activity, + domain=None, + range=Optional[ + Union[ + dict[Union[str, EvaluatedActivityId], Union[dict, EvaluatedActivity]], + list[Union[dict, EvaluatedActivity]], + ] + ], +) -slots.is_about_entity = Slot(uri=DCTERMS.subject, name="is_about_entity", curie=DCTERMS.curie('subject'), - model_uri=DCATAPPLUS.is_about_entity, domain=None, range=Optional[Union[dict[Union[str, EvaluatedEntityId], Union[dict, EvaluatedEntity]], list[Union[dict, EvaluatedEntity]]]]) +slots.is_about_entity = Slot( + uri=DCTERMS.subject, + name="is_about_entity", + curie=DCTERMS.curie("subject"), + model_uri=DCATAPPLUS.is_about_entity, + domain=None, + range=Optional[ + Union[ + dict[Union[str, EvaluatedEntityId], Union[dict, EvaluatedEntity]], + list[Union[dict, EvaluatedEntity]], + ] + ], +) -slots.is_referenced_by = Slot(uri=DCTERMS.isReferencedBy, name="is_referenced_by", curie=DCTERMS.curie('isReferencedBy'), - model_uri=DCATAPPLUS.is_referenced_by, domain=None, range=Optional[str]) +slots.is_referenced_by = Slot( + uri=DCTERMS.isReferencedBy, + name="is_referenced_by", + curie=DCTERMS.curie("isReferencedBy"), + model_uri=DCATAPPLUS.is_referenced_by, + domain=None, + range=Optional[str], +) -slots.keyword = Slot(uri=DCAT.keyword, name="keyword", curie=DCAT.curie('keyword'), - model_uri=DCATAPPLUS.keyword, domain=None, range=Optional[str]) +slots.keyword = Slot( + uri=DCAT.keyword, + name="keyword", + curie=DCAT.curie("keyword"), + model_uri=DCATAPPLUS.keyword, + domain=None, + range=Optional[str], +) -slots.landing_page = Slot(uri=DCAT.landingPage, name="landing_page", curie=DCAT.curie('landingPage'), - model_uri=DCATAPPLUS.landing_page, domain=None, range=Optional[str]) +slots.landing_page = Slot( + uri=DCAT.landingPage, + name="landing_page", + curie=DCAT.curie("landingPage"), + model_uri=DCATAPPLUS.landing_page, + domain=None, + range=Optional[str], +) -slots.language = Slot(uri=DCTERMS.language, name="language", curie=DCTERMS.curie('language'), - model_uri=DCATAPPLUS.language, domain=None, range=Optional[str]) +slots.language = Slot( + uri=DCTERMS.language, + name="language", + curie=DCTERMS.curie("language"), + model_uri=DCATAPPLUS.language, + domain=None, + range=Optional[str], +) -slots.licence = Slot(uri=DCTERMS.license, name="licence", curie=DCTERMS.curie('license'), - model_uri=DCATAPPLUS.licence, domain=None, range=Optional[str]) +slots.licence = Slot( + uri=DCTERMS.license, + name="licence", + curie=DCTERMS.curie("license"), + model_uri=DCATAPPLUS.licence, + domain=None, + range=Optional[str], +) -slots.linked_schemas = Slot(uri=DCTERMS.conformsTo, name="linked_schemas", curie=DCTERMS.curie('conformsTo'), - model_uri=DCATAPPLUS.linked_schemas, domain=None, range=Optional[str]) +slots.linked_schemas = Slot( + uri=DCTERMS.conformsTo, + name="linked_schemas", + curie=DCTERMS.curie("conformsTo"), + model_uri=DCATAPPLUS.linked_schemas, + domain=None, + range=Optional[str], +) -slots.listing_date = Slot(uri=DCTERMS.issued, name="listing_date", curie=DCTERMS.curie('issued'), - model_uri=DCATAPPLUS.listing_date, domain=None, range=Optional[str]) +slots.listing_date = Slot( + uri=DCTERMS.issued, + name="listing_date", + curie=DCTERMS.curie("issued"), + model_uri=DCATAPPLUS.listing_date, + domain=None, + range=Optional[str], +) -slots.media_type = Slot(uri=DCAT.mediaType, name="media_type", curie=DCAT.curie('mediaType'), - model_uri=DCATAPPLUS.media_type, domain=None, range=Optional[str]) +slots.media_type = Slot( + uri=DCAT.mediaType, + name="media_type", + curie=DCAT.curie("mediaType"), + model_uri=DCATAPPLUS.media_type, + domain=None, + range=Optional[str], +) -slots.modification_date = Slot(uri=DCTERMS.modified, name="modification_date", curie=DCTERMS.curie('modified'), - model_uri=DCATAPPLUS.modification_date, domain=None, range=Optional[str]) +slots.modification_date = Slot( + uri=DCTERMS.modified, + name="modification_date", + curie=DCTERMS.curie("modified"), + model_uri=DCATAPPLUS.modification_date, + domain=None, + range=Optional[str], +) -slots.name = Slot(uri=FOAF.name, name="name", curie=FOAF.curie('name'), - model_uri=DCATAPPLUS.name, domain=None, range=Optional[str]) +slots.name = Slot( + uri=FOAF.name, + name="name", + curie=FOAF.curie("name"), + model_uri=DCATAPPLUS.name, + domain=None, + range=Optional[str], +) -slots.notation = Slot(uri=SKOS.notation, name="notation", curie=SKOS.curie('notation'), - model_uri=DCATAPPLUS.notation, domain=None, range=Optional[str]) +slots.notation = Slot( + uri=SKOS.notation, + name="notation", + curie=SKOS.curie("notation"), + model_uri=DCATAPPLUS.notation, + domain=None, + range=Optional[str], +) -slots.occurred_in = Slot(uri=PROV.atLocation, name="occurred_in", curie=PROV.curie('atLocation'), - model_uri=DCATAPPLUS.occurred_in, domain=None, range=Optional[Union[dict, Surrounding]]) +slots.occurred_in = Slot( + uri=PROV.atLocation, + name="occurred_in", + curie=PROV.curie("atLocation"), + model_uri=DCATAPPLUS.occurred_in, + domain=None, + range=Optional[Union[dict, Surrounding]], +) -slots.other_identifier = Slot(uri=ADMS.identifier, name="other_identifier", curie=ADMS.curie('identifier'), - model_uri=DCATAPPLUS.other_identifier, domain=None, range=Optional[str]) +slots.other_identifier = Slot( + uri=ADMS.identifier, + name="other_identifier", + curie=ADMS.curie("identifier"), + model_uri=DCATAPPLUS.other_identifier, + domain=None, + range=Optional[str], +) -slots.packaging_format = Slot(uri=DCAT.packageFormat, name="packaging_format", curie=DCAT.curie('packageFormat'), - model_uri=DCATAPPLUS.packaging_format, domain=None, range=Optional[str]) +slots.packaging_format = Slot( + uri=DCAT.packageFormat, + name="packaging_format", + curie=DCAT.curie("packageFormat"), + model_uri=DCATAPPLUS.packaging_format, + domain=None, + range=Optional[str], +) -slots.part_of = Slot(uri=DCTERMS.isPartOf, name="part_of", curie=DCTERMS.curie('isPartOf'), - model_uri=DCATAPPLUS.part_of, domain=None, range=Optional[Union[str, ActivityId]]) +slots.part_of = Slot( + uri=DCTERMS.isPartOf, + name="part_of", + curie=DCTERMS.curie("isPartOf"), + model_uri=DCATAPPLUS.part_of, + domain=None, + range=Optional[Union[str, ActivityId]], +) -slots.preferred_label = Slot(uri=SKOS.prefLabel, name="preferred_label", curie=SKOS.curie('prefLabel'), - model_uri=DCATAPPLUS.preferred_label, domain=None, range=Optional[str]) +slots.preferred_label = Slot( + uri=SKOS.prefLabel, + name="preferred_label", + curie=SKOS.curie("prefLabel"), + model_uri=DCATAPPLUS.preferred_label, + domain=None, + range=Optional[str], +) -slots.primary_topic = Slot(uri=FOAF.primaryTopic, name="primary_topic", curie=FOAF.curie('primaryTopic'), - model_uri=DCATAPPLUS.primary_topic, domain=None, range=Optional[str]) +slots.primary_topic = Slot( + uri=FOAF.primaryTopic, + name="primary_topic", + curie=FOAF.curie("primaryTopic"), + model_uri=DCATAPPLUS.primary_topic, + domain=None, + range=Optional[str], +) -slots.provenance = Slot(uri=DCTERMS.provenance, name="provenance", curie=DCTERMS.curie('provenance'), - model_uri=DCATAPPLUS.provenance, domain=None, range=Optional[str]) +slots.provenance = Slot( + uri=DCTERMS.provenance, + name="provenance", + curie=DCTERMS.curie("provenance"), + model_uri=DCATAPPLUS.provenance, + domain=None, + range=Optional[str], +) -slots.publisher = Slot(uri=DCTERMS.publisher, name="publisher", curie=DCTERMS.curie('publisher'), - model_uri=DCATAPPLUS.publisher, domain=None, range=Optional[str]) +slots.publisher = Slot( + uri=DCTERMS.publisher, + name="publisher", + curie=DCTERMS.curie("publisher"), + model_uri=DCATAPPLUS.publisher, + domain=None, + range=Optional[str], +) -slots.qualified_attribution = Slot(uri=PROV.qualifiedAttribution, name="qualified_attribution", curie=PROV.curie('qualifiedAttribution'), - model_uri=DCATAPPLUS.qualified_attribution, domain=None, range=Optional[str]) +slots.qualified_attribution = Slot( + uri=PROV.qualifiedAttribution, + name="qualified_attribution", + curie=PROV.curie("qualifiedAttribution"), + model_uri=DCATAPPLUS.qualified_attribution, + domain=None, + range=Optional[str], +) -slots.qualified_relation = Slot(uri=DCAT.qualifiedRelation, name="qualified_relation", curie=DCAT.curie('qualifiedRelation'), - model_uri=DCATAPPLUS.qualified_relation, domain=None, range=Optional[str]) +slots.qualified_relation = Slot( + uri=DCAT.qualifiedRelation, + name="qualified_relation", + curie=DCAT.curie("qualifiedRelation"), + model_uri=DCATAPPLUS.qualified_relation, + domain=None, + range=Optional[str], +) -slots.rdf_type = Slot(uri=RDF.type, name="rdf_type", curie=RDF.curie('type'), - model_uri=DCATAPPLUS.rdf_type, domain=None, range=Optional[Union[dict, DefinedTerm]]) +slots.rdf_type = Slot( + uri=RDF.type, + name="rdf_type", + curie=RDF.curie("type"), + model_uri=DCATAPPLUS.rdf_type, + domain=None, + range=Optional[Union[dict, DefinedTerm]], +) -slots.realized_plan = Slot(uri=PROV.used, name="realized_plan", curie=PROV.curie('used'), - model_uri=DCATAPPLUS.realized_plan, domain=None, range=Optional[Union[dict, Plan]]) +slots.realized_plan = Slot( + uri=PROV.used, + name="realized_plan", + curie=PROV.curie("used"), + model_uri=DCATAPPLUS.realized_plan, + domain=None, + range=Optional[Union[dict, Plan]], +) -slots.record = Slot(uri=DCAT.record, name="record", curie=DCAT.curie('record'), - model_uri=DCATAPPLUS.record, domain=None, range=Optional[str]) +slots.record = Slot( + uri=DCAT.record, + name="record", + curie=DCAT.curie("record"), + model_uri=DCATAPPLUS.record, + domain=None, + range=Optional[str], +) -slots.related_resource = Slot(uri=DCTERMS.relation, name="related_resource", curie=DCTERMS.curie('relation'), - model_uri=DCATAPPLUS.related_resource, domain=None, range=Optional[str]) +slots.related_resource = Slot( + uri=DCTERMS.relation, + name="related_resource", + curie=DCTERMS.curie("relation"), + model_uri=DCATAPPLUS.related_resource, + domain=None, + range=Optional[str], +) -slots.relation = Slot(uri=DCTERMS.relation, name="relation", curie=DCTERMS.curie('relation'), - model_uri=DCATAPPLUS.relation, domain=None, range=Optional[str]) +slots.relation = Slot( + uri=DCTERMS.relation, + name="relation", + curie=DCTERMS.curie("relation"), + model_uri=DCATAPPLUS.relation, + domain=None, + range=Optional[str], +) -slots.release_date = Slot(uri=DCTERMS.issued, name="release_date", curie=DCTERMS.curie('issued'), - model_uri=DCATAPPLUS.release_date, domain=None, range=Optional[str]) +slots.release_date = Slot( + uri=DCTERMS.issued, + name="release_date", + curie=DCTERMS.curie("issued"), + model_uri=DCATAPPLUS.release_date, + domain=None, + range=Optional[str], +) -slots.rights = Slot(uri=DCTERMS.rights, name="rights", curie=DCTERMS.curie('rights'), - model_uri=DCATAPPLUS.rights, domain=None, range=Optional[str]) +slots.rights = Slot( + uri=DCTERMS.rights, + name="rights", + curie=DCTERMS.curie("rights"), + model_uri=DCATAPPLUS.rights, + domain=None, + range=Optional[str], +) -slots.sample = Slot(uri=ADMS.sample, name="sample", curie=ADMS.curie('sample'), - model_uri=DCATAPPLUS.sample, domain=None, range=Optional[str]) +slots.sample = Slot( + uri=ADMS.sample, + name="sample", + curie=ADMS.curie("sample"), + model_uri=DCATAPPLUS.sample, + domain=None, + range=Optional[str], +) -slots.serves_dataset = Slot(uri=DCAT.servesDataset, name="serves_dataset", curie=DCAT.curie('servesDataset'), - model_uri=DCATAPPLUS.serves_dataset, domain=None, range=Optional[str]) +slots.serves_dataset = Slot( + uri=DCAT.servesDataset, + name="serves_dataset", + curie=DCAT.curie("servesDataset"), + model_uri=DCATAPPLUS.serves_dataset, + domain=None, + range=Optional[str], +) -slots.service = Slot(uri=DCAT.service, name="service", curie=DCAT.curie('service'), - model_uri=DCATAPPLUS.service, domain=None, range=Optional[str]) +slots.service = Slot( + uri=DCAT.service, + name="service", + curie=DCAT.curie("service"), + model_uri=DCATAPPLUS.service, + domain=None, + range=Optional[str], +) -slots.source = Slot(uri=DCTERMS.source, name="source", curie=DCTERMS.curie('source'), - model_uri=DCATAPPLUS.source, domain=None, range=Optional[str]) +slots.source = Slot( + uri=DCTERMS.source, + name="source", + curie=DCTERMS.curie("source"), + model_uri=DCATAPPLUS.source, + domain=None, + range=Optional[str], +) -slots.source_metadata = Slot(uri=DCTERMS.source, name="source_metadata", curie=DCTERMS.curie('source'), - model_uri=DCATAPPLUS.source_metadata, domain=None, range=Optional[str]) +slots.source_metadata = Slot( + uri=DCTERMS.source, + name="source_metadata", + curie=DCTERMS.curie("source"), + model_uri=DCATAPPLUS.source_metadata, + domain=None, + range=Optional[str], +) -slots.spatial_resolution = Slot(uri=DCAT.spatialResolutionInMeters, name="spatial_resolution", curie=DCAT.curie('spatialResolutionInMeters'), - model_uri=DCATAPPLUS.spatial_resolution, domain=None, range=Optional[str]) +slots.spatial_resolution = Slot( + uri=DCAT.spatialResolutionInMeters, + name="spatial_resolution", + curie=DCAT.curie("spatialResolutionInMeters"), + model_uri=DCATAPPLUS.spatial_resolution, + domain=None, + range=Optional[str], +) -slots.start_date = Slot(uri=DCAT.startDate, name="start_date", curie=DCAT.curie('startDate'), - model_uri=DCATAPPLUS.start_date, domain=None, range=Optional[str]) +slots.start_date = Slot( + uri=DCAT.startDate, + name="start_date", + curie=DCAT.curie("startDate"), + model_uri=DCATAPPLUS.start_date, + domain=None, + range=Optional[str], +) -slots.status = Slot(uri=ADMS.status, name="status", curie=ADMS.curie('status'), - model_uri=DCATAPPLUS.status, domain=None, range=Optional[str]) +slots.status = Slot( + uri=ADMS.status, + name="status", + curie=ADMS.curie("status"), + model_uri=DCATAPPLUS.status, + domain=None, + range=Optional[str], +) -slots.temporal_coverage = Slot(uri=DCTERMS.temporal, name="temporal_coverage", curie=DCTERMS.curie('temporal'), - model_uri=DCATAPPLUS.temporal_coverage, domain=None, range=Optional[str]) +slots.temporal_coverage = Slot( + uri=DCTERMS.temporal, + name="temporal_coverage", + curie=DCTERMS.curie("temporal"), + model_uri=DCATAPPLUS.temporal_coverage, + domain=None, + range=Optional[str], +) -slots.temporal_resolution = Slot(uri=DCAT.temporalResolution, name="temporal_resolution", curie=DCAT.curie('temporalResolution'), - model_uri=DCATAPPLUS.temporal_resolution, domain=None, range=Optional[str]) +slots.temporal_resolution = Slot( + uri=DCAT.temporalResolution, + name="temporal_resolution", + curie=DCAT.curie("temporalResolution"), + model_uri=DCATAPPLUS.temporal_resolution, + domain=None, + range=Optional[str], +) -slots.theme = Slot(uri=DCAT.theme, name="theme", curie=DCAT.curie('theme'), - model_uri=DCATAPPLUS.theme, domain=None, range=Optional[str]) +slots.theme = Slot( + uri=DCAT.theme, + name="theme", + curie=DCAT.curie("theme"), + model_uri=DCATAPPLUS.theme, + domain=None, + range=Optional[str], +) -slots.themes = Slot(uri=DCAT.themeTaxonomy, name="themes", curie=DCAT.curie('themeTaxonomy'), - model_uri=DCATAPPLUS.themes, domain=None, range=Optional[str]) +slots.themes = Slot( + uri=DCAT.themeTaxonomy, + name="themes", + curie=DCAT.curie("themeTaxonomy"), + model_uri=DCATAPPLUS.themes, + domain=None, + range=Optional[str], +) -slots.title = Slot(uri=DCTERMS.title, name="title", curie=DCTERMS.curie('title'), - model_uri=DCATAPPLUS.title, domain=None, range=Optional[str]) +slots.title = Slot( + uri=DCTERMS.title, + name="title", + curie=DCTERMS.curie("title"), + model_uri=DCATAPPLUS.title, + domain=None, + range=Optional[str], +) -slots.type = Slot(uri=DCTERMS.type, name="type", curie=DCTERMS.curie('type'), - model_uri=DCATAPPLUS.type, domain=None, range=Optional[str]) +slots.type = Slot( + uri=DCTERMS.type, + name="type", + curie=DCTERMS.curie("type"), + model_uri=DCATAPPLUS.type, + domain=None, + range=Optional[str], +) -slots.value = Slot(uri=PROV.value, name="value", curie=PROV.curie('value'), - model_uri=DCATAPPLUS.value, domain=None, range=Optional[str]) +slots.value = Slot( + uri=PROV.value, + name="value", + curie=PROV.curie("value"), + model_uri=DCATAPPLUS.value, + domain=None, + range=Optional[str], +) -slots.version = Slot(uri=DCAT.version, name="version", curie=DCAT.curie('version'), - model_uri=DCATAPPLUS.version, domain=None, range=Optional[str]) +slots.version = Slot( + uri=DCAT.version, + name="version", + curie=DCAT.curie("version"), + model_uri=DCATAPPLUS.version, + domain=None, + range=Optional[str], +) -slots.version_notes = Slot(uri=ADMS.versionNotes, name="version_notes", curie=ADMS.curie('versionNotes'), - model_uri=DCATAPPLUS.version_notes, domain=None, range=Optional[str]) +slots.version_notes = Slot( + uri=ADMS.versionNotes, + name="version_notes", + curie=ADMS.curie("versionNotes"), + model_uri=DCATAPPLUS.version_notes, + domain=None, + range=Optional[str], +) -slots.was_generated_by = Slot(uri=PROV.wasGeneratedBy, name="was_generated_by", curie=PROV.curie('wasGeneratedBy'), - model_uri=DCATAPPLUS.was_generated_by, domain=None, range=Optional[str]) +slots.was_generated_by = Slot( + uri=PROV.wasGeneratedBy, + name="was_generated_by", + curie=PROV.curie("wasGeneratedBy"), + model_uri=DCATAPPLUS.was_generated_by, + domain=None, + range=Optional[str], +) -slots.definedTerm__from_CV = Slot(uri=SCHEMA.inDefinedTermSet, name="definedTerm__from_CV", curie=SCHEMA.curie('inDefinedTermSet'), - model_uri=DCATAPPLUS.definedTerm__from_CV, domain=None, range=Optional[Union[str, URIorCURIE]]) +slots.definedTerm__from_CV = Slot( + uri=SCHEMA.inDefinedTermSet, + name="definedTerm__from_CV", + curie=SCHEMA.curie("inDefinedTermSet"), + model_uri=DCATAPPLUS.definedTerm__from_CV, + domain=None, + range=Optional[Union[str, URIorCURIE]], +) -slots.quantitativeAttribute__has_quantity_type = Slot(uri=QUDT.hasQuantityKind, name="quantitativeAttribute__has_quantity_type", curie=QUDT.curie('hasQuantityKind'), - model_uri=DCATAPPLUS.quantitativeAttribute__has_quantity_type, domain=None, range=Union[str, DefinedTermId]) +slots.quantitativeAttribute__has_quantity_type = Slot( + uri=QUDT.hasQuantityKind, + name="quantitativeAttribute__has_quantity_type", + curie=QUDT.curie("hasQuantityKind"), + model_uri=DCATAPPLUS.quantitativeAttribute__has_quantity_type, + domain=None, + range=Union[str, DefinedTermId], +) -slots.quantitativeAttribute__unit = Slot(uri=QUDT.unit, name="quantitativeAttribute__unit", curie=QUDT.curie('unit'), - model_uri=DCATAPPLUS.quantitativeAttribute__unit, domain=None, range=Optional[Union[str, DefinedTermId]]) +slots.quantitativeAttribute__unit = Slot( + uri=QUDT.unit, + name="quantitativeAttribute__unit", + curie=QUDT.curie("unit"), + model_uri=DCATAPPLUS.quantitativeAttribute__unit, + domain=None, + range=Optional[Union[str, DefinedTermId]], +) -slots.Activity_title = Slot(uri=DCTERMS.title, name="Activity_title", curie=DCTERMS.curie('title'), - model_uri=DCATAPPLUS.Activity_title, domain=Activity, range=Optional[Union[str, list[str]]]) +slots.Activity_title = Slot( + uri=DCTERMS.title, + name="Activity_title", + curie=DCTERMS.curie("title"), + model_uri=DCATAPPLUS.Activity_title, + domain=Activity, + range=Optional[Union[str, list[str]]], +) -slots.Activity_description = Slot(uri=DCTERMS.description, name="Activity_description", curie=DCTERMS.curie('description'), - model_uri=DCATAPPLUS.Activity_description, domain=Activity, range=Optional[Union[str, list[str]]]) +slots.Activity_description = Slot( + uri=DCTERMS.description, + name="Activity_description", + curie=DCTERMS.curie("description"), + model_uri=DCATAPPLUS.Activity_description, + domain=Activity, + range=Optional[Union[str, list[str]]], +) -slots.Activity_has_part = Slot(uri=DCTERMS.hasPart, name="Activity_has_part", curie=DCTERMS.curie('hasPart'), - model_uri=DCATAPPLUS.Activity_has_part, domain=Activity, range=Optional[Union[dict[Union[str, ActivityId], Union[dict, "Activity"]], list[Union[dict, "Activity"]]]]) +slots.Activity_has_part = Slot( + uri=DCTERMS.hasPart, + name="Activity_has_part", + curie=DCTERMS.curie("hasPart"), + model_uri=DCATAPPLUS.Activity_has_part, + domain=Activity, + range=Optional[ + Union[ + dict[Union[str, ActivityId], Union[dict, "Activity"]], + list[Union[dict, "Activity"]], + ] + ], +) -slots.Activity_part_of = Slot(uri=DCTERMS.isPartOf, name="Activity_part_of", curie=DCTERMS.curie('isPartOf'), - model_uri=DCATAPPLUS.Activity_part_of, domain=Activity, range=Optional[Union[dict[Union[str, ActivityId], Union[dict, "Activity"]], list[Union[dict, "Activity"]]]]) +slots.Activity_part_of = Slot( + uri=DCTERMS.isPartOf, + name="Activity_part_of", + curie=DCTERMS.curie("isPartOf"), + model_uri=DCATAPPLUS.Activity_part_of, + domain=Activity, + range=Optional[ + Union[ + dict[Union[str, ActivityId], Union[dict, "Activity"]], + list[Union[dict, "Activity"]], + ] + ], +) -slots.Activity_other_identifier = Slot(uri=ADMS.identifier, name="Activity_other_identifier", curie=ADMS.curie('identifier'), - model_uri=DCATAPPLUS.Activity_other_identifier, domain=Activity, range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]]) +slots.Activity_other_identifier = Slot( + uri=ADMS.identifier, + name="Activity_other_identifier", + curie=ADMS.curie("identifier"), + model_uri=DCATAPPLUS.Activity_other_identifier, + domain=Activity, + range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]], +) -slots.Activity_has_qualitative_attribute = Slot(uri=DCTERMS.relation, name="Activity_has_qualitative_attribute", curie=DCTERMS.curie('relation'), - model_uri=DCATAPPLUS.Activity_has_qualitative_attribute, domain=Activity, range=Optional[Union[Union[dict, "QualitativeAttribute"], list[Union[dict, "QualitativeAttribute"]]]]) +slots.Activity_has_qualitative_attribute = Slot( + uri=DCTERMS.relation, + name="Activity_has_qualitative_attribute", + curie=DCTERMS.curie("relation"), + model_uri=DCATAPPLUS.Activity_has_qualitative_attribute, + domain=Activity, + range=Optional[ + Union[ + Union[dict, "QualitativeAttribute"], + list[Union[dict, "QualitativeAttribute"]], + ] + ], +) -slots.Activity_has_quantitative_attribute = Slot(uri=DCTERMS.relation, name="Activity_has_quantitative_attribute", curie=DCTERMS.curie('relation'), - model_uri=DCATAPPLUS.Activity_has_quantitative_attribute, domain=Activity, range=Optional[Union[Union[dict, "QuantitativeAttribute"], list[Union[dict, "QuantitativeAttribute"]]]]) +slots.Activity_has_quantitative_attribute = Slot( + uri=DCTERMS.relation, + name="Activity_has_quantitative_attribute", + curie=DCTERMS.curie("relation"), + model_uri=DCATAPPLUS.Activity_has_quantitative_attribute, + domain=Activity, + range=Optional[ + Union[ + Union[dict, "QuantitativeAttribute"], + list[Union[dict, "QuantitativeAttribute"]], + ] + ], +) -slots.Activity_had_input_entity = Slot(uri=PROV.used, name="Activity_had_input_entity", curie=PROV.curie('used'), - model_uri=DCATAPPLUS.Activity_had_input_entity, domain=Activity, range=Optional[Union[dict[Union[str, EntityId], Union[dict, "Entity"]], list[Union[dict, "Entity"]]]]) +slots.Activity_had_input_entity = Slot( + uri=PROV.used, + name="Activity_had_input_entity", + curie=PROV.curie("used"), + model_uri=DCATAPPLUS.Activity_had_input_entity, + domain=Activity, + range=Optional[ + Union[ + dict[Union[str, EntityId], Union[dict, "Entity"]], + list[Union[dict, "Entity"]], + ] + ], +) -slots.Activity_had_output_entity = Slot(uri=PROV.generated, name="Activity_had_output_entity", curie=PROV.curie('generated'), - model_uri=DCATAPPLUS.Activity_had_output_entity, domain=Activity, range=Optional[Union[dict[Union[str, EntityId], Union[dict, "Entity"]], list[Union[dict, "Entity"]]]]) +slots.Activity_had_output_entity = Slot( + uri=PROV.generated, + name="Activity_had_output_entity", + curie=PROV.curie("generated"), + model_uri=DCATAPPLUS.Activity_had_output_entity, + domain=Activity, + range=Optional[ + Union[ + dict[Union[str, EntityId], Union[dict, "Entity"]], + list[Union[dict, "Entity"]], + ] + ], +) -slots.Activity_had_input_activity = Slot(uri=PROV.wasInformedBy, name="Activity_had_input_activity", curie=PROV.curie('wasInformedBy'), - model_uri=DCATAPPLUS.Activity_had_input_activity, domain=Activity, range=Optional[Union[dict[Union[str, ActivityId], Union[dict, "Activity"]], list[Union[dict, "Activity"]]]]) +slots.Activity_had_input_activity = Slot( + uri=PROV.wasInformedBy, + name="Activity_had_input_activity", + curie=PROV.curie("wasInformedBy"), + model_uri=DCATAPPLUS.Activity_had_input_activity, + domain=Activity, + range=Optional[ + Union[ + dict[Union[str, ActivityId], Union[dict, "Activity"]], + list[Union[dict, "Activity"]], + ] + ], +) -slots.Activity_carried_out_by = Slot(uri=PROV.wasAssociatedWith, name="Activity_carried_out_by", curie=PROV.curie('wasAssociatedWith'), - model_uri=DCATAPPLUS.Activity_carried_out_by, domain=Activity, range=Optional[Union[dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], list[Union[dict, "AgenticEntity"]]]]) +slots.Activity_carried_out_by = Slot( + uri=PROV.wasAssociatedWith, + name="Activity_carried_out_by", + curie=PROV.curie("wasAssociatedWith"), + model_uri=DCATAPPLUS.Activity_carried_out_by, + domain=Activity, + range=Optional[ + Union[ + dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], + list[Union[dict, "AgenticEntity"]], + ] + ], +) -slots.Agent_name = Slot(uri=FOAF.name, name="Agent_name", curie=FOAF.curie('name'), - model_uri=DCATAPPLUS.Agent_name, domain=Agent, range=Union[str, list[str]]) +slots.Agent_name = Slot( + uri=FOAF.name, + name="Agent_name", + curie=FOAF.curie("name"), + model_uri=DCATAPPLUS.Agent_name, + domain=Agent, + range=Union[str, list[str]], +) -slots.Agent_type = Slot(uri=DCTERMS.type, name="Agent_type", curie=DCTERMS.curie('type'), - model_uri=DCATAPPLUS.Agent_type, domain=Agent, range=Optional[Union[dict, "Concept"]]) +slots.Agent_type = Slot( + uri=DCTERMS.type, + name="Agent_type", + curie=DCTERMS.curie("type"), + model_uri=DCATAPPLUS.Agent_type, + domain=Agent, + range=Optional[Union[dict, "Concept"]], +) -slots.AgenticEntity_has_part = Slot(uri=DCTERMS.hasPart, name="AgenticEntity_has_part", curie=DCTERMS.curie('hasPart'), - model_uri=DCATAPPLUS.AgenticEntity_has_part, domain=AgenticEntity, range=Optional[Union[dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], list[Union[dict, "AgenticEntity"]]]]) +slots.AgenticEntity_has_part = Slot( + uri=DCTERMS.hasPart, + name="AgenticEntity_has_part", + curie=DCTERMS.curie("hasPart"), + model_uri=DCATAPPLUS.AgenticEntity_has_part, + domain=AgenticEntity, + range=Optional[ + Union[ + dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], + list[Union[dict, "AgenticEntity"]], + ] + ], +) -slots.AgenticEntity_part_of = Slot(uri=DCTERMS.isPartOf, name="AgenticEntity_part_of", curie=DCTERMS.curie('isPartOf'), - model_uri=DCATAPPLUS.AgenticEntity_part_of, domain=AgenticEntity, range=Optional[Union[dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], list[Union[dict, "AgenticEntity"]]]]) +slots.AgenticEntity_part_of = Slot( + uri=DCTERMS.isPartOf, + name="AgenticEntity_part_of", + curie=DCTERMS.curie("isPartOf"), + model_uri=DCATAPPLUS.AgenticEntity_part_of, + domain=AgenticEntity, + range=Optional[ + Union[ + dict[Union[str, AgenticEntityId], Union[dict, "AgenticEntity"]], + list[Union[dict, "AgenticEntity"]], + ] + ], +) -slots.AgenticEntity_other_identifier = Slot(uri=ADMS.identifier, name="AgenticEntity_other_identifier", curie=ADMS.curie('identifier'), - model_uri=DCATAPPLUS.AgenticEntity_other_identifier, domain=AgenticEntity, range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]]) +slots.AgenticEntity_other_identifier = Slot( + uri=ADMS.identifier, + name="AgenticEntity_other_identifier", + curie=ADMS.curie("identifier"), + model_uri=DCATAPPLUS.AgenticEntity_other_identifier, + domain=AgenticEntity, + range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]], +) -slots.AnalysisDataset_was_generated_by = Slot(uri=PROV.wasGeneratedBy, name="AnalysisDataset_was_generated_by", curie=PROV.curie('wasGeneratedBy'), - model_uri=DCATAPPLUS.AnalysisDataset_was_generated_by, domain=AnalysisDataset, range=Optional[Union[dict[Union[str, DataAnalysisId], Union[dict, DataAnalysis]], list[Union[dict, DataAnalysis]]]]) +slots.AnalysisDataset_was_generated_by = Slot( + uri=PROV.wasGeneratedBy, + name="AnalysisDataset_was_generated_by", + curie=PROV.curie("wasGeneratedBy"), + model_uri=DCATAPPLUS.AnalysisDataset_was_generated_by, + domain=AnalysisDataset, + range=Optional[ + Union[ + dict[Union[str, DataAnalysisId], Union[dict, DataAnalysis]], + list[Union[dict, DataAnalysis]], + ] + ], +) -slots.AnalysisSourceData_was_generated_by = Slot(uri=PROV.wasGeneratedBy, name="AnalysisSourceData_was_generated_by", curie=PROV.curie('wasGeneratedBy'), - model_uri=DCATAPPLUS.AnalysisSourceData_was_generated_by, domain=AnalysisSourceData, range=Optional[Union[dict[Union[str, DataGeneratingActivityId], Union[dict, DataGeneratingActivity]], list[Union[dict, DataGeneratingActivity]]]]) +slots.AnalysisSourceData_was_generated_by = Slot( + uri=PROV.wasGeneratedBy, + name="AnalysisSourceData_was_generated_by", + curie=PROV.curie("wasGeneratedBy"), + model_uri=DCATAPPLUS.AnalysisSourceData_was_generated_by, + domain=AnalysisSourceData, + range=Optional[ + Union[ + dict[ + Union[str, DataGeneratingActivityId], + Union[dict, DataGeneratingActivity], + ], + list[Union[dict, DataGeneratingActivity]], + ] + ], +) -slots.Catalogue_applicable_legislation = Slot(uri=DCATAP.applicableLegislation, name="Catalogue_applicable_legislation", curie=DCATAP.curie('applicableLegislation'), - model_uri=DCATAPPLUS.Catalogue_applicable_legislation, domain=Catalogue, range=Optional[Union[dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], list[Union[dict, "LegalResource"]]]]) +slots.Catalogue_applicable_legislation = Slot( + uri=DCATAP.applicableLegislation, + name="Catalogue_applicable_legislation", + curie=DCATAP.curie("applicableLegislation"), + model_uri=DCATAPPLUS.Catalogue_applicable_legislation, + domain=Catalogue, + range=Optional[ + Union[ + dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], + list[Union[dict, "LegalResource"]], + ] + ], +) -slots.Catalogue_catalogue = Slot(uri=DCAT.catalog, name="Catalogue_catalogue", curie=DCAT.curie('catalog'), - model_uri=DCATAPPLUS.Catalogue_catalogue, domain=Catalogue, range=Optional[Union[Union[dict, "Catalogue"], list[Union[dict, "Catalogue"]]]]) +slots.Catalogue_catalogue = Slot( + uri=DCAT.catalog, + name="Catalogue_catalogue", + curie=DCAT.curie("catalog"), + model_uri=DCATAPPLUS.Catalogue_catalogue, + domain=Catalogue, + range=Optional[Union[Union[dict, "Catalogue"], list[Union[dict, "Catalogue"]]]], +) -slots.Catalogue_creator = Slot(uri=DCTERMS.creator, name="Catalogue_creator", curie=DCTERMS.curie('creator'), - model_uri=DCATAPPLUS.Catalogue_creator, domain=Catalogue, range=Optional[Union[dict, Agent]]) +slots.Catalogue_creator = Slot( + uri=DCTERMS.creator, + name="Catalogue_creator", + curie=DCTERMS.curie("creator"), + model_uri=DCATAPPLUS.Catalogue_creator, + domain=Catalogue, + range=Optional[Union[dict, Agent]], +) -slots.Catalogue_description = Slot(uri=DCTERMS.description, name="Catalogue_description", curie=DCTERMS.curie('description'), - model_uri=DCATAPPLUS.Catalogue_description, domain=Catalogue, range=Union[str, list[str]]) +slots.Catalogue_description = Slot( + uri=DCTERMS.description, + name="Catalogue_description", + curie=DCTERMS.curie("description"), + model_uri=DCATAPPLUS.Catalogue_description, + domain=Catalogue, + range=Union[str, list[str]], +) -slots.Catalogue_geographical_coverage = Slot(uri=DCTERMS.spatial, name="Catalogue_geographical_coverage", curie=DCTERMS.curie('spatial'), - model_uri=DCATAPPLUS.Catalogue_geographical_coverage, domain=Catalogue, range=Optional[Union[Union[dict, "Location"], list[Union[dict, "Location"]]]]) +slots.Catalogue_geographical_coverage = Slot( + uri=DCTERMS.spatial, + name="Catalogue_geographical_coverage", + curie=DCTERMS.curie("spatial"), + model_uri=DCATAPPLUS.Catalogue_geographical_coverage, + domain=Catalogue, + range=Optional[Union[Union[dict, "Location"], list[Union[dict, "Location"]]]], +) -slots.Catalogue_has_dataset = Slot(uri=DCAT.dataset, name="Catalogue_has_dataset", curie=DCAT.curie('dataset'), - model_uri=DCATAPPLUS.Catalogue_has_dataset, domain=Catalogue, range=Optional[Union[dict[Union[str, DatasetId], Union[dict, "Dataset"]], list[Union[dict, "Dataset"]]]]) +slots.Catalogue_has_dataset = Slot( + uri=DCAT.dataset, + name="Catalogue_has_dataset", + curie=DCAT.curie("dataset"), + model_uri=DCATAPPLUS.Catalogue_has_dataset, + domain=Catalogue, + range=Optional[ + Union[ + dict[Union[str, DatasetId], Union[dict, "Dataset"]], + list[Union[dict, "Dataset"]], + ] + ], +) -slots.Catalogue_has_part = Slot(uri=DCTERMS.hasPart, name="Catalogue_has_part", curie=DCTERMS.curie('hasPart'), - model_uri=DCATAPPLUS.Catalogue_has_part, domain=Catalogue, range=Optional[Union[Union[dict, "Catalogue"], list[Union[dict, "Catalogue"]]]]) +slots.Catalogue_has_part = Slot( + uri=DCTERMS.hasPart, + name="Catalogue_has_part", + curie=DCTERMS.curie("hasPart"), + model_uri=DCATAPPLUS.Catalogue_has_part, + domain=Catalogue, + range=Optional[Union[Union[dict, "Catalogue"], list[Union[dict, "Catalogue"]]]], +) -slots.Catalogue_homepage = Slot(uri=FOAF.homepage, name="Catalogue_homepage", curie=FOAF.curie('homepage'), - model_uri=DCATAPPLUS.Catalogue_homepage, domain=Catalogue, range=Optional[Union[dict, "Document"]]) +slots.Catalogue_homepage = Slot( + uri=FOAF.homepage, + name="Catalogue_homepage", + curie=FOAF.curie("homepage"), + model_uri=DCATAPPLUS.Catalogue_homepage, + domain=Catalogue, + range=Optional[Union[dict, "Document"]], +) -slots.Catalogue_language = Slot(uri=DCTERMS.language, name="Catalogue_language", curie=DCTERMS.curie('language'), - model_uri=DCATAPPLUS.Catalogue_language, domain=Catalogue, range=Optional[Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]]]) +slots.Catalogue_language = Slot( + uri=DCTERMS.language, + name="Catalogue_language", + curie=DCTERMS.curie("language"), + model_uri=DCATAPPLUS.Catalogue_language, + domain=Catalogue, + range=Optional[ + Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]] + ], +) -slots.Catalogue_licence = Slot(uri=DCTERMS.license, name="Catalogue_licence", curie=DCTERMS.curie('license'), - model_uri=DCATAPPLUS.Catalogue_licence, domain=Catalogue, range=Optional[Union[dict, "LicenseDocument"]]) +slots.Catalogue_licence = Slot( + uri=DCTERMS.license, + name="Catalogue_licence", + curie=DCTERMS.curie("license"), + model_uri=DCATAPPLUS.Catalogue_licence, + domain=Catalogue, + range=Optional[Union[dict, "LicenseDocument"]], +) -slots.Catalogue_modification_date = Slot(uri=DCTERMS.modified, name="Catalogue_modification_date", curie=DCTERMS.curie('modified'), - model_uri=DCATAPPLUS.Catalogue_modification_date, domain=Catalogue, range=Optional[Union[str, XSDDate]]) +slots.Catalogue_modification_date = Slot( + uri=DCTERMS.modified, + name="Catalogue_modification_date", + curie=DCTERMS.curie("modified"), + model_uri=DCATAPPLUS.Catalogue_modification_date, + domain=Catalogue, + range=Optional[Union[str, XSDDate]], +) -slots.Catalogue_publisher = Slot(uri=DCTERMS.publisher, name="Catalogue_publisher", curie=DCTERMS.curie('publisher'), - model_uri=DCATAPPLUS.Catalogue_publisher, domain=Catalogue, range=Union[dict, Agent]) +slots.Catalogue_publisher = Slot( + uri=DCTERMS.publisher, + name="Catalogue_publisher", + curie=DCTERMS.curie("publisher"), + model_uri=DCATAPPLUS.Catalogue_publisher, + domain=Catalogue, + range=Union[dict, Agent], +) -slots.Catalogue_record = Slot(uri=DCAT.record, name="Catalogue_record", curie=DCAT.curie('record'), - model_uri=DCATAPPLUS.Catalogue_record, domain=Catalogue, range=Optional[Union[Union[dict, "CatalogueRecord"], list[Union[dict, "CatalogueRecord"]]]]) +slots.Catalogue_record = Slot( + uri=DCAT.record, + name="Catalogue_record", + curie=DCAT.curie("record"), + model_uri=DCATAPPLUS.Catalogue_record, + domain=Catalogue, + range=Optional[ + Union[Union[dict, "CatalogueRecord"], list[Union[dict, "CatalogueRecord"]]] + ], +) -slots.Catalogue_release_date = Slot(uri=DCTERMS.issued, name="Catalogue_release_date", curie=DCTERMS.curie('issued'), - model_uri=DCATAPPLUS.Catalogue_release_date, domain=Catalogue, range=Optional[Union[str, XSDDate]]) +slots.Catalogue_release_date = Slot( + uri=DCTERMS.issued, + name="Catalogue_release_date", + curie=DCTERMS.curie("issued"), + model_uri=DCATAPPLUS.Catalogue_release_date, + domain=Catalogue, + range=Optional[Union[str, XSDDate]], +) -slots.Catalogue_rights = Slot(uri=DCTERMS.rights, name="Catalogue_rights", curie=DCTERMS.curie('rights'), - model_uri=DCATAPPLUS.Catalogue_rights, domain=Catalogue, range=Optional[Union[dict, "RightsStatement"]]) +slots.Catalogue_rights = Slot( + uri=DCTERMS.rights, + name="Catalogue_rights", + curie=DCTERMS.curie("rights"), + model_uri=DCATAPPLUS.Catalogue_rights, + domain=Catalogue, + range=Optional[Union[dict, "RightsStatement"]], +) -slots.Catalogue_service = Slot(uri=DCAT.service, name="Catalogue_service", curie=DCAT.curie('service'), - model_uri=DCATAPPLUS.Catalogue_service, domain=Catalogue, range=Optional[Union[Union[dict, "DataService"], list[Union[dict, "DataService"]]]]) +slots.Catalogue_service = Slot( + uri=DCAT.service, + name="Catalogue_service", + curie=DCAT.curie("service"), + model_uri=DCATAPPLUS.Catalogue_service, + domain=Catalogue, + range=Optional[Union[Union[dict, "DataService"], list[Union[dict, "DataService"]]]], +) -slots.Catalogue_temporal_coverage = Slot(uri=DCTERMS.temporal, name="Catalogue_temporal_coverage", curie=DCTERMS.curie('temporal'), - model_uri=DCATAPPLUS.Catalogue_temporal_coverage, domain=Catalogue, range=Optional[Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]]]) +slots.Catalogue_temporal_coverage = Slot( + uri=DCTERMS.temporal, + name="Catalogue_temporal_coverage", + curie=DCTERMS.curie("temporal"), + model_uri=DCATAPPLUS.Catalogue_temporal_coverage, + domain=Catalogue, + range=Optional[ + Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]] + ], +) -slots.Catalogue_themes = Slot(uri=DCAT.themeTaxonomy, name="Catalogue_themes", curie=DCAT.curie('themeTaxonomy'), - model_uri=DCATAPPLUS.Catalogue_themes, domain=Catalogue, range=Optional[Union[Union[dict, "ConceptScheme"], list[Union[dict, "ConceptScheme"]]]]) +slots.Catalogue_themes = Slot( + uri=DCAT.themeTaxonomy, + name="Catalogue_themes", + curie=DCAT.curie("themeTaxonomy"), + model_uri=DCATAPPLUS.Catalogue_themes, + domain=Catalogue, + range=Optional[ + Union[Union[dict, "ConceptScheme"], list[Union[dict, "ConceptScheme"]]] + ], +) -slots.Catalogue_title = Slot(uri=DCTERMS.title, name="Catalogue_title", curie=DCTERMS.curie('title'), - model_uri=DCATAPPLUS.Catalogue_title, domain=Catalogue, range=Union[str, list[str]]) +slots.Catalogue_title = Slot( + uri=DCTERMS.title, + name="Catalogue_title", + curie=DCTERMS.curie("title"), + model_uri=DCATAPPLUS.Catalogue_title, + domain=Catalogue, + range=Union[str, list[str]], +) -slots.CatalogueRecord_application_profile = Slot(uri=DCTERMS.conformsTo, name="CatalogueRecord_application_profile", curie=DCTERMS.curie('conformsTo'), - model_uri=DCATAPPLUS.CatalogueRecord_application_profile, domain=CatalogueRecord, range=Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]]) +slots.CatalogueRecord_application_profile = Slot( + uri=DCTERMS.conformsTo, + name="CatalogueRecord_application_profile", + curie=DCTERMS.curie("conformsTo"), + model_uri=DCATAPPLUS.CatalogueRecord_application_profile, + domain=CatalogueRecord, + range=Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]], +) -slots.CatalogueRecord_change_type = Slot(uri=ADMS.status, name="CatalogueRecord_change_type", curie=ADMS.curie('status'), - model_uri=DCATAPPLUS.CatalogueRecord_change_type, domain=CatalogueRecord, range=Optional[Union[dict, "Concept"]]) +slots.CatalogueRecord_change_type = Slot( + uri=ADMS.status, + name="CatalogueRecord_change_type", + curie=ADMS.curie("status"), + model_uri=DCATAPPLUS.CatalogueRecord_change_type, + domain=CatalogueRecord, + range=Optional[Union[dict, "Concept"]], +) -slots.CatalogueRecord_description = Slot(uri=DCTERMS.description, name="CatalogueRecord_description", curie=DCTERMS.curie('description'), - model_uri=DCATAPPLUS.CatalogueRecord_description, domain=CatalogueRecord, range=Optional[Union[str, list[str]]]) +slots.CatalogueRecord_description = Slot( + uri=DCTERMS.description, + name="CatalogueRecord_description", + curie=DCTERMS.curie("description"), + model_uri=DCATAPPLUS.CatalogueRecord_description, + domain=CatalogueRecord, + range=Optional[Union[str, list[str]]], +) -slots.CatalogueRecord_language = Slot(uri=DCTERMS.language, name="CatalogueRecord_language", curie=DCTERMS.curie('language'), - model_uri=DCATAPPLUS.CatalogueRecord_language, domain=CatalogueRecord, range=Optional[Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]]]) +slots.CatalogueRecord_language = Slot( + uri=DCTERMS.language, + name="CatalogueRecord_language", + curie=DCTERMS.curie("language"), + model_uri=DCATAPPLUS.CatalogueRecord_language, + domain=CatalogueRecord, + range=Optional[ + Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]] + ], +) -slots.CatalogueRecord_listing_date = Slot(uri=DCTERMS.issued, name="CatalogueRecord_listing_date", curie=DCTERMS.curie('issued'), - model_uri=DCATAPPLUS.CatalogueRecord_listing_date, domain=CatalogueRecord, range=Optional[Union[str, XSDDate]]) +slots.CatalogueRecord_listing_date = Slot( + uri=DCTERMS.issued, + name="CatalogueRecord_listing_date", + curie=DCTERMS.curie("issued"), + model_uri=DCATAPPLUS.CatalogueRecord_listing_date, + domain=CatalogueRecord, + range=Optional[Union[str, XSDDate]], +) -slots.CatalogueRecord_modification_date = Slot(uri=DCTERMS.modified, name="CatalogueRecord_modification_date", curie=DCTERMS.curie('modified'), - model_uri=DCATAPPLUS.CatalogueRecord_modification_date, domain=CatalogueRecord, range=Union[str, XSDDate]) +slots.CatalogueRecord_modification_date = Slot( + uri=DCTERMS.modified, + name="CatalogueRecord_modification_date", + curie=DCTERMS.curie("modified"), + model_uri=DCATAPPLUS.CatalogueRecord_modification_date, + domain=CatalogueRecord, + range=Union[str, XSDDate], +) -slots.CatalogueRecord_primary_topic = Slot(uri=FOAF.primaryTopic, name="CatalogueRecord_primary_topic", curie=FOAF.curie('primaryTopic'), - model_uri=DCATAPPLUS.CatalogueRecord_primary_topic, domain=CatalogueRecord, range=Union[dict, Any]) +slots.CatalogueRecord_primary_topic = Slot( + uri=FOAF.primaryTopic, + name="CatalogueRecord_primary_topic", + curie=FOAF.curie("primaryTopic"), + model_uri=DCATAPPLUS.CatalogueRecord_primary_topic, + domain=CatalogueRecord, + range=Union[dict, Any], +) -slots.CatalogueRecord_source_metadata = Slot(uri=DCTERMS.source, name="CatalogueRecord_source_metadata", curie=DCTERMS.curie('source'), - model_uri=DCATAPPLUS.CatalogueRecord_source_metadata, domain=CatalogueRecord, range=Optional[Union[dict, "CatalogueRecord"]]) +slots.CatalogueRecord_source_metadata = Slot( + uri=DCTERMS.source, + name="CatalogueRecord_source_metadata", + curie=DCTERMS.curie("source"), + model_uri=DCATAPPLUS.CatalogueRecord_source_metadata, + domain=CatalogueRecord, + range=Optional[Union[dict, "CatalogueRecord"]], +) -slots.CatalogueRecord_title = Slot(uri=DCTERMS.title, name="CatalogueRecord_title", curie=DCTERMS.curie('title'), - model_uri=DCATAPPLUS.CatalogueRecord_title, domain=CatalogueRecord, range=Optional[Union[str, list[str]]]) +slots.CatalogueRecord_title = Slot( + uri=DCTERMS.title, + name="CatalogueRecord_title", + curie=DCTERMS.curie("title"), + model_uri=DCATAPPLUS.CatalogueRecord_title, + domain=CatalogueRecord, + range=Optional[Union[str, list[str]]], +) -slots.Checksum_algorithm = Slot(uri=SPDX.algorithm, name="Checksum_algorithm", curie=SPDX.curie('algorithm'), - model_uri=DCATAPPLUS.Checksum_algorithm, domain=Checksum, range=Union[dict, "ChecksumAlgorithm"]) +slots.Checksum_algorithm = Slot( + uri=SPDX.algorithm, + name="Checksum_algorithm", + curie=SPDX.curie("algorithm"), + model_uri=DCATAPPLUS.Checksum_algorithm, + domain=Checksum, + range=Union[dict, "ChecksumAlgorithm"], +) -slots.Checksum_checksum_value = Slot(uri=SPDX.checksumValue, name="Checksum_checksum_value", curie=SPDX.curie('checksumValue'), - model_uri=DCATAPPLUS.Checksum_checksum_value, domain=Checksum, range=str) +slots.Checksum_checksum_value = Slot( + uri=SPDX.checksumValue, + name="Checksum_checksum_value", + curie=SPDX.curie("checksumValue"), + model_uri=DCATAPPLUS.Checksum_checksum_value, + domain=Checksum, + range=str, +) -slots.ClassifierMixin_type = Slot(uri=DCTERMS.type, name="ClassifierMixin_type", curie=DCTERMS.curie('type'), - model_uri=DCATAPPLUS.ClassifierMixin_type, domain=None, range=Optional[Union[dict, "DefinedTerm"]]) +slots.ClassifierMixin_type = Slot( + uri=DCTERMS.type, + name="ClassifierMixin_type", + curie=DCTERMS.curie("type"), + model_uri=DCATAPPLUS.ClassifierMixin_type, + domain=None, + range=Optional[Union[dict, "DefinedTerm"]], +) -slots.Concept_preferred_label = Slot(uri=SKOS.prefLabel, name="Concept_preferred_label", curie=SKOS.curie('prefLabel'), - model_uri=DCATAPPLUS.Concept_preferred_label, domain=Concept, range=Union[str, list[str]]) +slots.Concept_preferred_label = Slot( + uri=SKOS.prefLabel, + name="Concept_preferred_label", + curie=SKOS.curie("prefLabel"), + model_uri=DCATAPPLUS.Concept_preferred_label, + domain=Concept, + range=Union[str, list[str]], +) -slots.ConceptScheme_title = Slot(uri=DCTERMS.title, name="ConceptScheme_title", curie=DCTERMS.curie('title'), - model_uri=DCATAPPLUS.ConceptScheme_title, domain=ConceptScheme, range=Union[str, list[str]]) +slots.ConceptScheme_title = Slot( + uri=DCTERMS.title, + name="ConceptScheme_title", + curie=DCTERMS.curie("title"), + model_uri=DCATAPPLUS.ConceptScheme_title, + domain=ConceptScheme, + range=Union[str, list[str]], +) -slots.DataAnalysis_evaluated_entity = Slot(uri=PROV.used, name="DataAnalysis_evaluated_entity", curie=PROV.curie('used'), - model_uri=DCATAPPLUS.DataAnalysis_evaluated_entity, domain=DataAnalysis, range=Optional[Union[dict[Union[str, AnalysisSourceDataId], Union[dict, "AnalysisSourceData"]], list[Union[dict, "AnalysisSourceData"]]]]) +slots.DataAnalysis_evaluated_entity = Slot( + uri=PROV.used, + name="DataAnalysis_evaluated_entity", + curie=PROV.curie("used"), + model_uri=DCATAPPLUS.DataAnalysis_evaluated_entity, + domain=DataAnalysis, + range=Optional[ + Union[ + dict[Union[str, AnalysisSourceDataId], Union[dict, "AnalysisSourceData"]], + list[Union[dict, "AnalysisSourceData"]], + ] + ], +) -slots.DataService_access_rights = Slot(uri=DCTERMS.accessRights, name="DataService_access_rights", curie=DCTERMS.curie('accessRights'), - model_uri=DCATAPPLUS.DataService_access_rights, domain=DataService, range=Optional[Union[dict, "RightsStatement"]]) +slots.DataService_access_rights = Slot( + uri=DCTERMS.accessRights, + name="DataService_access_rights", + curie=DCTERMS.curie("accessRights"), + model_uri=DCATAPPLUS.DataService_access_rights, + domain=DataService, + range=Optional[Union[dict, "RightsStatement"]], +) -slots.DataService_applicable_legislation = Slot(uri=DCATAP.applicableLegislation, name="DataService_applicable_legislation", curie=DCATAP.curie('applicableLegislation'), - model_uri=DCATAPPLUS.DataService_applicable_legislation, domain=DataService, range=Optional[Union[dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], list[Union[dict, "LegalResource"]]]]) +slots.DataService_applicable_legislation = Slot( + uri=DCATAP.applicableLegislation, + name="DataService_applicable_legislation", + curie=DCATAP.curie("applicableLegislation"), + model_uri=DCATAPPLUS.DataService_applicable_legislation, + domain=DataService, + range=Optional[ + Union[ + dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], + list[Union[dict, "LegalResource"]], + ] + ], +) -slots.DataService_conforms_to = Slot(uri=DCTERMS.conformsTo, name="DataService_conforms_to", curie=DCTERMS.curie('conformsTo'), - model_uri=DCATAPPLUS.DataService_conforms_to, domain=DataService, range=Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]]) +slots.DataService_conforms_to = Slot( + uri=DCTERMS.conformsTo, + name="DataService_conforms_to", + curie=DCTERMS.curie("conformsTo"), + model_uri=DCATAPPLUS.DataService_conforms_to, + domain=DataService, + range=Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]], +) -slots.DataService_contact_point = Slot(uri=DCAT.contactPoint, name="DataService_contact_point", curie=DCAT.curie('contactPoint'), - model_uri=DCATAPPLUS.DataService_contact_point, domain=DataService, range=Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]]) +slots.DataService_contact_point = Slot( + uri=DCAT.contactPoint, + name="DataService_contact_point", + curie=DCAT.curie("contactPoint"), + model_uri=DCATAPPLUS.DataService_contact_point, + domain=DataService, + range=Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]], +) -slots.DataService_description = Slot(uri=DCTERMS.description, name="DataService_description", curie=DCTERMS.curie('description'), - model_uri=DCATAPPLUS.DataService_description, domain=DataService, range=Optional[Union[str, list[str]]]) +slots.DataService_description = Slot( + uri=DCTERMS.description, + name="DataService_description", + curie=DCTERMS.curie("description"), + model_uri=DCATAPPLUS.DataService_description, + domain=DataService, + range=Optional[Union[str, list[str]]], +) -slots.DataService_documentation = Slot(uri=FOAF.page, name="DataService_documentation", curie=FOAF.curie('page'), - model_uri=DCATAPPLUS.DataService_documentation, domain=DataService, range=Optional[Union[dict[Union[str, DocumentId], Union[dict, "Document"]], list[Union[dict, "Document"]]]]) +slots.DataService_documentation = Slot( + uri=FOAF.page, + name="DataService_documentation", + curie=FOAF.curie("page"), + model_uri=DCATAPPLUS.DataService_documentation, + domain=DataService, + range=Optional[ + Union[ + dict[Union[str, DocumentId], Union[dict, "Document"]], + list[Union[dict, "Document"]], + ] + ], +) -slots.DataService_endpoint_URL = Slot(uri=DCAT.endpointURL, name="DataService_endpoint_URL", curie=DCAT.curie('endpointURL'), - model_uri=DCATAPPLUS.DataService_endpoint_URL, domain=DataService, range=Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]]) +slots.DataService_endpoint_URL = Slot( + uri=DCAT.endpointURL, + name="DataService_endpoint_URL", + curie=DCAT.curie("endpointURL"), + model_uri=DCATAPPLUS.DataService_endpoint_URL, + domain=DataService, + range=Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ], +) -slots.DataService_endpoint_description = Slot(uri=DCAT.endpointDescription, name="DataService_endpoint_description", curie=DCAT.curie('endpointDescription'), - model_uri=DCATAPPLUS.DataService_endpoint_description, domain=DataService, range=Optional[Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]]]) +slots.DataService_endpoint_description = Slot( + uri=DCAT.endpointDescription, + name="DataService_endpoint_description", + curie=DCAT.curie("endpointDescription"), + model_uri=DCATAPPLUS.DataService_endpoint_description, + domain=DataService, + range=Optional[ + Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ] + ], +) -slots.DataService_format = Slot(uri=DCTERMS.format, name="DataService_format", curie=DCTERMS.curie('format'), - model_uri=DCATAPPLUS.DataService_format, domain=DataService, range=Optional[Union[Union[dict, "MediaTypeOrExtent"], list[Union[dict, "MediaTypeOrExtent"]]]]) +slots.DataService_format = Slot( + uri=DCTERMS.format, + name="DataService_format", + curie=DCTERMS.curie("format"), + model_uri=DCATAPPLUS.DataService_format, + domain=DataService, + range=Optional[ + Union[Union[dict, "MediaTypeOrExtent"], list[Union[dict, "MediaTypeOrExtent"]]] + ], +) -slots.DataService_keyword = Slot(uri=DCAT.keyword, name="DataService_keyword", curie=DCAT.curie('keyword'), - model_uri=DCATAPPLUS.DataService_keyword, domain=DataService, range=Optional[Union[str, list[str]]]) +slots.DataService_keyword = Slot( + uri=DCAT.keyword, + name="DataService_keyword", + curie=DCAT.curie("keyword"), + model_uri=DCATAPPLUS.DataService_keyword, + domain=DataService, + range=Optional[Union[str, list[str]]], +) -slots.DataService_landing_page = Slot(uri=DCAT.landingPage, name="DataService_landing_page", curie=DCAT.curie('landingPage'), - model_uri=DCATAPPLUS.DataService_landing_page, domain=DataService, range=Optional[Union[dict[Union[str, DocumentId], Union[dict, "Document"]], list[Union[dict, "Document"]]]]) +slots.DataService_landing_page = Slot( + uri=DCAT.landingPage, + name="DataService_landing_page", + curie=DCAT.curie("landingPage"), + model_uri=DCATAPPLUS.DataService_landing_page, + domain=DataService, + range=Optional[ + Union[ + dict[Union[str, DocumentId], Union[dict, "Document"]], + list[Union[dict, "Document"]], + ] + ], +) -slots.DataService_licence = Slot(uri=DCTERMS.license, name="DataService_licence", curie=DCTERMS.curie('license'), - model_uri=DCATAPPLUS.DataService_licence, domain=DataService, range=Optional[Union[dict, "LicenseDocument"]]) +slots.DataService_licence = Slot( + uri=DCTERMS.license, + name="DataService_licence", + curie=DCTERMS.curie("license"), + model_uri=DCATAPPLUS.DataService_licence, + domain=DataService, + range=Optional[Union[dict, "LicenseDocument"]], +) -slots.DataService_publisher = Slot(uri=DCTERMS.publisher, name="DataService_publisher", curie=DCTERMS.curie('publisher'), - model_uri=DCATAPPLUS.DataService_publisher, domain=DataService, range=Optional[Union[dict, Agent]]) +slots.DataService_publisher = Slot( + uri=DCTERMS.publisher, + name="DataService_publisher", + curie=DCTERMS.curie("publisher"), + model_uri=DCATAPPLUS.DataService_publisher, + domain=DataService, + range=Optional[Union[dict, Agent]], +) -slots.DataService_serves_dataset = Slot(uri=DCAT.servesDataset, name="DataService_serves_dataset", curie=DCAT.curie('servesDataset'), - model_uri=DCATAPPLUS.DataService_serves_dataset, domain=DataService, range=Optional[Union[dict[Union[str, DatasetId], Union[dict, "Dataset"]], list[Union[dict, "Dataset"]]]]) +slots.DataService_serves_dataset = Slot( + uri=DCAT.servesDataset, + name="DataService_serves_dataset", + curie=DCAT.curie("servesDataset"), + model_uri=DCATAPPLUS.DataService_serves_dataset, + domain=DataService, + range=Optional[ + Union[ + dict[Union[str, DatasetId], Union[dict, "Dataset"]], + list[Union[dict, "Dataset"]], + ] + ], +) -slots.DataService_theme = Slot(uri=DCAT.theme, name="DataService_theme", curie=DCAT.curie('theme'), - model_uri=DCATAPPLUS.DataService_theme, domain=DataService, range=Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]]) +slots.DataService_theme = Slot( + uri=DCAT.theme, + name="DataService_theme", + curie=DCAT.curie("theme"), + model_uri=DCATAPPLUS.DataService_theme, + domain=DataService, + range=Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]], +) -slots.DataService_title = Slot(uri=DCTERMS.title, name="DataService_title", curie=DCTERMS.curie('title'), - model_uri=DCATAPPLUS.DataService_title, domain=DataService, range=Union[str, list[str]]) +slots.DataService_title = Slot( + uri=DCTERMS.title, + name="DataService_title", + curie=DCTERMS.curie("title"), + model_uri=DCATAPPLUS.DataService_title, + domain=DataService, + range=Union[str, list[str]], +) -slots.Dataset_access_rights = Slot(uri=DCTERMS.accessRights, name="Dataset_access_rights", curie=DCTERMS.curie('accessRights'), - model_uri=DCATAPPLUS.Dataset_access_rights, domain=Dataset, range=Optional[Union[dict, "RightsStatement"]]) +slots.Dataset_access_rights = Slot( + uri=DCTERMS.accessRights, + name="Dataset_access_rights", + curie=DCTERMS.curie("accessRights"), + model_uri=DCATAPPLUS.Dataset_access_rights, + domain=Dataset, + range=Optional[Union[dict, "RightsStatement"]], +) -slots.Dataset_applicable_legislation = Slot(uri=DCATAP.applicableLegislation, name="Dataset_applicable_legislation", curie=DCATAP.curie('applicableLegislation'), - model_uri=DCATAPPLUS.Dataset_applicable_legislation, domain=Dataset, range=Optional[Union[dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], list[Union[dict, "LegalResource"]]]]) +slots.Dataset_applicable_legislation = Slot( + uri=DCATAP.applicableLegislation, + name="Dataset_applicable_legislation", + curie=DCATAP.curie("applicableLegislation"), + model_uri=DCATAPPLUS.Dataset_applicable_legislation, + domain=Dataset, + range=Optional[ + Union[ + dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], + list[Union[dict, "LegalResource"]], + ] + ], +) -slots.Dataset_conforms_to = Slot(uri=DCTERMS.conformsTo, name="Dataset_conforms_to", curie=DCTERMS.curie('conformsTo'), - model_uri=DCATAPPLUS.Dataset_conforms_to, domain=Dataset, range=Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]]) +slots.Dataset_conforms_to = Slot( + uri=DCTERMS.conformsTo, + name="Dataset_conforms_to", + curie=DCTERMS.curie("conformsTo"), + model_uri=DCATAPPLUS.Dataset_conforms_to, + domain=Dataset, + range=Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]], +) -slots.Dataset_contact_point = Slot(uri=DCAT.contactPoint, name="Dataset_contact_point", curie=DCAT.curie('contactPoint'), - model_uri=DCATAPPLUS.Dataset_contact_point, domain=Dataset, range=Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]]) +slots.Dataset_contact_point = Slot( + uri=DCAT.contactPoint, + name="Dataset_contact_point", + curie=DCAT.curie("contactPoint"), + model_uri=DCATAPPLUS.Dataset_contact_point, + domain=Dataset, + range=Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]], +) -slots.Dataset_creator = Slot(uri=DCTERMS.creator, name="Dataset_creator", curie=DCTERMS.curie('creator'), - model_uri=DCATAPPLUS.Dataset_creator, domain=Dataset, range=Optional[Union[Union[dict, Agent], list[Union[dict, Agent]]]]) +slots.Dataset_creator = Slot( + uri=DCTERMS.creator, + name="Dataset_creator", + curie=DCTERMS.curie("creator"), + model_uri=DCATAPPLUS.Dataset_creator, + domain=Dataset, + range=Optional[Union[Union[dict, Agent], list[Union[dict, Agent]]]], +) -slots.Dataset_dataset_distribution = Slot(uri=DCAT.distribution, name="Dataset_dataset_distribution", curie=DCAT.curie('distribution'), - model_uri=DCATAPPLUS.Dataset_dataset_distribution, domain=Dataset, range=Optional[Union[Union[dict, "Distribution"], list[Union[dict, "Distribution"]]]]) +slots.Dataset_dataset_distribution = Slot( + uri=DCAT.distribution, + name="Dataset_dataset_distribution", + curie=DCAT.curie("distribution"), + model_uri=DCATAPPLUS.Dataset_dataset_distribution, + domain=Dataset, + range=Optional[ + Union[Union[dict, "Distribution"], list[Union[dict, "Distribution"]]] + ], +) -slots.Dataset_description = Slot(uri=DCTERMS.description, name="Dataset_description", curie=DCTERMS.curie('description'), - model_uri=DCATAPPLUS.Dataset_description, domain=Dataset, range=Union[str, list[str]]) +slots.Dataset_description = Slot( + uri=DCTERMS.description, + name="Dataset_description", + curie=DCTERMS.curie("description"), + model_uri=DCATAPPLUS.Dataset_description, + domain=Dataset, + range=Union[str, list[str]], +) -slots.Dataset_documentation = Slot(uri=FOAF.page, name="Dataset_documentation", curie=FOAF.curie('page'), - model_uri=DCATAPPLUS.Dataset_documentation, domain=Dataset, range=Optional[Union[dict[Union[str, DocumentId], Union[dict, "Document"]], list[Union[dict, "Document"]]]]) +slots.Dataset_documentation = Slot( + uri=FOAF.page, + name="Dataset_documentation", + curie=FOAF.curie("page"), + model_uri=DCATAPPLUS.Dataset_documentation, + domain=Dataset, + range=Optional[ + Union[ + dict[Union[str, DocumentId], Union[dict, "Document"]], + list[Union[dict, "Document"]], + ] + ], +) -slots.Dataset_frequency = Slot(uri=DCTERMS.accrualPeriodicity, name="Dataset_frequency", curie=DCTERMS.curie('accrualPeriodicity'), - model_uri=DCATAPPLUS.Dataset_frequency, domain=Dataset, range=Optional[Union[dict, "Frequency"]]) +slots.Dataset_frequency = Slot( + uri=DCTERMS.accrualPeriodicity, + name="Dataset_frequency", + curie=DCTERMS.curie("accrualPeriodicity"), + model_uri=DCATAPPLUS.Dataset_frequency, + domain=Dataset, + range=Optional[Union[dict, "Frequency"]], +) -slots.Dataset_geographical_coverage = Slot(uri=DCTERMS.spatial, name="Dataset_geographical_coverage", curie=DCTERMS.curie('spatial'), - model_uri=DCATAPPLUS.Dataset_geographical_coverage, domain=Dataset, range=Optional[Union[Union[dict, "Location"], list[Union[dict, "Location"]]]]) +slots.Dataset_geographical_coverage = Slot( + uri=DCTERMS.spatial, + name="Dataset_geographical_coverage", + curie=DCTERMS.curie("spatial"), + model_uri=DCATAPPLUS.Dataset_geographical_coverage, + domain=Dataset, + range=Optional[Union[Union[dict, "Location"], list[Union[dict, "Location"]]]], +) -slots.Dataset_has_version = Slot(uri=DCAT.hasVersion, name="Dataset_has_version", curie=DCAT.curie('hasVersion'), - model_uri=DCATAPPLUS.Dataset_has_version, domain=Dataset, range=Optional[Union[dict[Union[str, DatasetId], Union[dict, "Dataset"]], list[Union[dict, "Dataset"]]]]) +slots.Dataset_has_version = Slot( + uri=DCAT.hasVersion, + name="Dataset_has_version", + curie=DCAT.curie("hasVersion"), + model_uri=DCATAPPLUS.Dataset_has_version, + domain=Dataset, + range=Optional[ + Union[ + dict[Union[str, DatasetId], Union[dict, "Dataset"]], + list[Union[dict, "Dataset"]], + ] + ], +) -slots.Dataset_identifier = Slot(uri=DCTERMS.identifier, name="Dataset_identifier", curie=DCTERMS.curie('identifier'), - model_uri=DCATAPPLUS.Dataset_identifier, domain=Dataset, range=Optional[Union[str, list[str]]]) +slots.Dataset_identifier = Slot( + uri=DCTERMS.identifier, + name="Dataset_identifier", + curie=DCTERMS.curie("identifier"), + model_uri=DCATAPPLUS.Dataset_identifier, + domain=Dataset, + range=Optional[Union[str, list[str]]], +) -slots.Dataset_in_series = Slot(uri=DCAT.inSeries, name="Dataset_in_series", curie=DCAT.curie('inSeries'), - model_uri=DCATAPPLUS.Dataset_in_series, domain=Dataset, range=Optional[Union[Union[dict, "DatasetSeries"], list[Union[dict, "DatasetSeries"]]]]) +slots.Dataset_in_series = Slot( + uri=DCAT.inSeries, + name="Dataset_in_series", + curie=DCAT.curie("inSeries"), + model_uri=DCATAPPLUS.Dataset_in_series, + domain=Dataset, + range=Optional[ + Union[Union[dict, "DatasetSeries"], list[Union[dict, "DatasetSeries"]]] + ], +) -slots.Dataset_is_referenced_by = Slot(uri=DCTERMS.isReferencedBy, name="Dataset_is_referenced_by", curie=DCTERMS.curie('isReferencedBy'), - model_uri=DCATAPPLUS.Dataset_is_referenced_by, domain=Dataset, range=Optional[Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]]]) +slots.Dataset_is_referenced_by = Slot( + uri=DCTERMS.isReferencedBy, + name="Dataset_is_referenced_by", + curie=DCTERMS.curie("isReferencedBy"), + model_uri=DCATAPPLUS.Dataset_is_referenced_by, + domain=Dataset, + range=Optional[ + Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ] + ], +) -slots.Dataset_keyword = Slot(uri=DCAT.keyword, name="Dataset_keyword", curie=DCAT.curie('keyword'), - model_uri=DCATAPPLUS.Dataset_keyword, domain=Dataset, range=Optional[Union[str, list[str]]]) +slots.Dataset_keyword = Slot( + uri=DCAT.keyword, + name="Dataset_keyword", + curie=DCAT.curie("keyword"), + model_uri=DCATAPPLUS.Dataset_keyword, + domain=Dataset, + range=Optional[Union[str, list[str]]], +) -slots.Dataset_landing_page = Slot(uri=DCAT.landingPage, name="Dataset_landing_page", curie=DCAT.curie('landingPage'), - model_uri=DCATAPPLUS.Dataset_landing_page, domain=Dataset, range=Optional[Union[dict[Union[str, DocumentId], Union[dict, "Document"]], list[Union[dict, "Document"]]]]) +slots.Dataset_landing_page = Slot( + uri=DCAT.landingPage, + name="Dataset_landing_page", + curie=DCAT.curie("landingPage"), + model_uri=DCATAPPLUS.Dataset_landing_page, + domain=Dataset, + range=Optional[ + Union[ + dict[Union[str, DocumentId], Union[dict, "Document"]], + list[Union[dict, "Document"]], + ] + ], +) -slots.Dataset_language = Slot(uri=DCTERMS.language, name="Dataset_language", curie=DCTERMS.curie('language'), - model_uri=DCATAPPLUS.Dataset_language, domain=Dataset, range=Optional[Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]]]) +slots.Dataset_language = Slot( + uri=DCTERMS.language, + name="Dataset_language", + curie=DCTERMS.curie("language"), + model_uri=DCATAPPLUS.Dataset_language, + domain=Dataset, + range=Optional[ + Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]] + ], +) -slots.Dataset_modification_date = Slot(uri=DCTERMS.modified, name="Dataset_modification_date", curie=DCTERMS.curie('modified'), - model_uri=DCATAPPLUS.Dataset_modification_date, domain=Dataset, range=Optional[Union[str, XSDDate]]) +slots.Dataset_modification_date = Slot( + uri=DCTERMS.modified, + name="Dataset_modification_date", + curie=DCTERMS.curie("modified"), + model_uri=DCATAPPLUS.Dataset_modification_date, + domain=Dataset, + range=Optional[Union[str, XSDDate]], +) -slots.Dataset_other_identifier = Slot(uri=ADMS.identifier, name="Dataset_other_identifier", curie=ADMS.curie('identifier'), - model_uri=DCATAPPLUS.Dataset_other_identifier, domain=Dataset, range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]]) +slots.Dataset_other_identifier = Slot( + uri=ADMS.identifier, + name="Dataset_other_identifier", + curie=ADMS.curie("identifier"), + model_uri=DCATAPPLUS.Dataset_other_identifier, + domain=Dataset, + range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]], +) -slots.Dataset_provenance = Slot(uri=DCTERMS.provenance, name="Dataset_provenance", curie=DCTERMS.curie('provenance'), - model_uri=DCATAPPLUS.Dataset_provenance, domain=Dataset, range=Optional[Union[Union[dict, "ProvenanceStatement"], list[Union[dict, "ProvenanceStatement"]]]]) +slots.Dataset_provenance = Slot( + uri=DCTERMS.provenance, + name="Dataset_provenance", + curie=DCTERMS.curie("provenance"), + model_uri=DCATAPPLUS.Dataset_provenance, + domain=Dataset, + range=Optional[ + Union[ + Union[dict, "ProvenanceStatement"], list[Union[dict, "ProvenanceStatement"]] + ] + ], +) -slots.Dataset_publisher = Slot(uri=DCTERMS.publisher, name="Dataset_publisher", curie=DCTERMS.curie('publisher'), - model_uri=DCATAPPLUS.Dataset_publisher, domain=Dataset, range=Optional[Union[dict, Agent]]) +slots.Dataset_publisher = Slot( + uri=DCTERMS.publisher, + name="Dataset_publisher", + curie=DCTERMS.curie("publisher"), + model_uri=DCATAPPLUS.Dataset_publisher, + domain=Dataset, + range=Optional[Union[dict, Agent]], +) -slots.Dataset_qualified_attribution = Slot(uri=PROV.qualifiedAttribution, name="Dataset_qualified_attribution", curie=PROV.curie('qualifiedAttribution'), - model_uri=DCATAPPLUS.Dataset_qualified_attribution, domain=Dataset, range=Optional[Union[Union[dict, "Attribution"], list[Union[dict, "Attribution"]]]]) +slots.Dataset_qualified_attribution = Slot( + uri=PROV.qualifiedAttribution, + name="Dataset_qualified_attribution", + curie=PROV.curie("qualifiedAttribution"), + model_uri=DCATAPPLUS.Dataset_qualified_attribution, + domain=Dataset, + range=Optional[Union[Union[dict, "Attribution"], list[Union[dict, "Attribution"]]]], +) -slots.Dataset_qualified_relation = Slot(uri=DCAT.qualifiedRelation, name="Dataset_qualified_relation", curie=DCAT.curie('qualifiedRelation'), - model_uri=DCATAPPLUS.Dataset_qualified_relation, domain=Dataset, range=Optional[Union[Union[dict, "Relationship"], list[Union[dict, "Relationship"]]]]) +slots.Dataset_qualified_relation = Slot( + uri=DCAT.qualifiedRelation, + name="Dataset_qualified_relation", + curie=DCAT.curie("qualifiedRelation"), + model_uri=DCATAPPLUS.Dataset_qualified_relation, + domain=Dataset, + range=Optional[ + Union[Union[dict, "Relationship"], list[Union[dict, "Relationship"]]] + ], +) -slots.Dataset_related_resource = Slot(uri=DCTERMS.relation, name="Dataset_related_resource", curie=DCTERMS.curie('relation'), - model_uri=DCATAPPLUS.Dataset_related_resource, domain=Dataset, range=Optional[Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]]]) +slots.Dataset_related_resource = Slot( + uri=DCTERMS.relation, + name="Dataset_related_resource", + curie=DCTERMS.curie("relation"), + model_uri=DCATAPPLUS.Dataset_related_resource, + domain=Dataset, + range=Optional[ + Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ] + ], +) -slots.Dataset_release_date = Slot(uri=DCTERMS.issued, name="Dataset_release_date", curie=DCTERMS.curie('issued'), - model_uri=DCATAPPLUS.Dataset_release_date, domain=Dataset, range=Optional[Union[str, XSDDate]]) +slots.Dataset_release_date = Slot( + uri=DCTERMS.issued, + name="Dataset_release_date", + curie=DCTERMS.curie("issued"), + model_uri=DCATAPPLUS.Dataset_release_date, + domain=Dataset, + range=Optional[Union[str, XSDDate]], +) -slots.Dataset_sample = Slot(uri=ADMS.sample, name="Dataset_sample", curie=ADMS.curie('sample'), - model_uri=DCATAPPLUS.Dataset_sample, domain=Dataset, range=Optional[Union[Union[dict, "Distribution"], list[Union[dict, "Distribution"]]]]) +slots.Dataset_sample = Slot( + uri=ADMS.sample, + name="Dataset_sample", + curie=ADMS.curie("sample"), + model_uri=DCATAPPLUS.Dataset_sample, + domain=Dataset, + range=Optional[ + Union[Union[dict, "Distribution"], list[Union[dict, "Distribution"]]] + ], +) -slots.Dataset_source = Slot(uri=DCTERMS.source, name="Dataset_source", curie=DCTERMS.curie('source'), - model_uri=DCATAPPLUS.Dataset_source, domain=Dataset, range=Optional[Union[dict[Union[str, DatasetId], Union[dict, "Dataset"]], list[Union[dict, "Dataset"]]]]) +slots.Dataset_source = Slot( + uri=DCTERMS.source, + name="Dataset_source", + curie=DCTERMS.curie("source"), + model_uri=DCATAPPLUS.Dataset_source, + domain=Dataset, + range=Optional[ + Union[ + dict[Union[str, DatasetId], Union[dict, "Dataset"]], + list[Union[dict, "Dataset"]], + ] + ], +) -slots.Dataset_spatial_resolution = Slot(uri=DCAT.spatialResolutionInMeters, name="Dataset_spatial_resolution", curie=DCAT.curie('spatialResolutionInMeters'), - model_uri=DCATAPPLUS.Dataset_spatial_resolution, domain=Dataset, range=Optional[Decimal]) +slots.Dataset_spatial_resolution = Slot( + uri=DCAT.spatialResolutionInMeters, + name="Dataset_spatial_resolution", + curie=DCAT.curie("spatialResolutionInMeters"), + model_uri=DCATAPPLUS.Dataset_spatial_resolution, + domain=Dataset, + range=Optional[Decimal], +) -slots.Dataset_temporal_coverage = Slot(uri=DCTERMS.temporal, name="Dataset_temporal_coverage", curie=DCTERMS.curie('temporal'), - model_uri=DCATAPPLUS.Dataset_temporal_coverage, domain=Dataset, range=Optional[Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]]]) +slots.Dataset_temporal_coverage = Slot( + uri=DCTERMS.temporal, + name="Dataset_temporal_coverage", + curie=DCTERMS.curie("temporal"), + model_uri=DCATAPPLUS.Dataset_temporal_coverage, + domain=Dataset, + range=Optional[ + Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]] + ], +) -slots.Dataset_temporal_resolution = Slot(uri=DCAT.temporalResolution, name="Dataset_temporal_resolution", curie=DCAT.curie('temporalResolution'), - model_uri=DCATAPPLUS.Dataset_temporal_resolution, domain=Dataset, range=Optional[str]) +slots.Dataset_temporal_resolution = Slot( + uri=DCAT.temporalResolution, + name="Dataset_temporal_resolution", + curie=DCAT.curie("temporalResolution"), + model_uri=DCATAPPLUS.Dataset_temporal_resolution, + domain=Dataset, + range=Optional[str], +) -slots.Dataset_theme = Slot(uri=DCAT.theme, name="Dataset_theme", curie=DCAT.curie('theme'), - model_uri=DCATAPPLUS.Dataset_theme, domain=Dataset, range=Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]]) +slots.Dataset_theme = Slot( + uri=DCAT.theme, + name="Dataset_theme", + curie=DCAT.curie("theme"), + model_uri=DCATAPPLUS.Dataset_theme, + domain=Dataset, + range=Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]], +) -slots.Dataset_title = Slot(uri=DCTERMS.title, name="Dataset_title", curie=DCTERMS.curie('title'), - model_uri=DCATAPPLUS.Dataset_title, domain=Dataset, range=Union[str, list[str]]) +slots.Dataset_title = Slot( + uri=DCTERMS.title, + name="Dataset_title", + curie=DCTERMS.curie("title"), + model_uri=DCATAPPLUS.Dataset_title, + domain=Dataset, + range=Union[str, list[str]], +) -slots.Dataset_type = Slot(uri=DCTERMS.type, name="Dataset_type", curie=DCTERMS.curie('type'), - model_uri=DCATAPPLUS.Dataset_type, domain=Dataset, range=Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]]) +slots.Dataset_type = Slot( + uri=DCTERMS.type, + name="Dataset_type", + curie=DCTERMS.curie("type"), + model_uri=DCATAPPLUS.Dataset_type, + domain=Dataset, + range=Optional[Union[Union[dict, "Concept"], list[Union[dict, "Concept"]]]], +) -slots.Dataset_version = Slot(uri=DCAT.version, name="Dataset_version", curie=DCAT.curie('version'), - model_uri=DCATAPPLUS.Dataset_version, domain=Dataset, range=Optional[str]) +slots.Dataset_version = Slot( + uri=DCAT.version, + name="Dataset_version", + curie=DCAT.curie("version"), + model_uri=DCATAPPLUS.Dataset_version, + domain=Dataset, + range=Optional[str], +) -slots.Dataset_version_notes = Slot(uri=ADMS.versionNotes, name="Dataset_version_notes", curie=ADMS.curie('versionNotes'), - model_uri=DCATAPPLUS.Dataset_version_notes, domain=Dataset, range=Optional[Union[str, list[str]]]) +slots.Dataset_version_notes = Slot( + uri=ADMS.versionNotes, + name="Dataset_version_notes", + curie=ADMS.curie("versionNotes"), + model_uri=DCATAPPLUS.Dataset_version_notes, + domain=Dataset, + range=Optional[Union[str, list[str]]], +) -slots.Dataset_was_generated_by = Slot(uri=PROV.wasGeneratedBy, name="Dataset_was_generated_by", curie=PROV.curie('wasGeneratedBy'), - model_uri=DCATAPPLUS.Dataset_was_generated_by, domain=Dataset, range=Union[dict[Union[str, DataGeneratingActivityId], Union[dict, DataGeneratingActivity]], list[Union[dict, DataGeneratingActivity]]]) +slots.Dataset_was_generated_by = Slot( + uri=PROV.wasGeneratedBy, + name="Dataset_was_generated_by", + curie=PROV.curie("wasGeneratedBy"), + model_uri=DCATAPPLUS.Dataset_was_generated_by, + domain=Dataset, + range=Union[ + dict[Union[str, DataGeneratingActivityId], Union[dict, DataGeneratingActivity]], + list[Union[dict, DataGeneratingActivity]], + ], +) -slots.DatasetSeries_applicable_legislation = Slot(uri=DCATAP.applicableLegislation, name="DatasetSeries_applicable_legislation", curie=DCATAP.curie('applicableLegislation'), - model_uri=DCATAPPLUS.DatasetSeries_applicable_legislation, domain=DatasetSeries, range=Optional[Union[dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], list[Union[dict, "LegalResource"]]]]) +slots.DatasetSeries_applicable_legislation = Slot( + uri=DCATAP.applicableLegislation, + name="DatasetSeries_applicable_legislation", + curie=DCATAP.curie("applicableLegislation"), + model_uri=DCATAPPLUS.DatasetSeries_applicable_legislation, + domain=DatasetSeries, + range=Optional[ + Union[ + dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], + list[Union[dict, "LegalResource"]], + ] + ], +) -slots.DatasetSeries_contact_point = Slot(uri=DCAT.contactPoint, name="DatasetSeries_contact_point", curie=DCAT.curie('contactPoint'), - model_uri=DCATAPPLUS.DatasetSeries_contact_point, domain=DatasetSeries, range=Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]]) +slots.DatasetSeries_contact_point = Slot( + uri=DCAT.contactPoint, + name="DatasetSeries_contact_point", + curie=DCAT.curie("contactPoint"), + model_uri=DCATAPPLUS.DatasetSeries_contact_point, + domain=DatasetSeries, + range=Optional[Union[Union[dict, "Kind"], list[Union[dict, "Kind"]]]], +) -slots.DatasetSeries_description = Slot(uri=DCTERMS.description, name="DatasetSeries_description", curie=DCTERMS.curie('description'), - model_uri=DCATAPPLUS.DatasetSeries_description, domain=DatasetSeries, range=Union[str, list[str]]) +slots.DatasetSeries_description = Slot( + uri=DCTERMS.description, + name="DatasetSeries_description", + curie=DCTERMS.curie("description"), + model_uri=DCATAPPLUS.DatasetSeries_description, + domain=DatasetSeries, + range=Union[str, list[str]], +) -slots.DatasetSeries_frequency = Slot(uri=DCTERMS.accrualPeriodicity, name="DatasetSeries_frequency", curie=DCTERMS.curie('accrualPeriodicity'), - model_uri=DCATAPPLUS.DatasetSeries_frequency, domain=DatasetSeries, range=Optional[Union[dict, "Frequency"]]) +slots.DatasetSeries_frequency = Slot( + uri=DCTERMS.accrualPeriodicity, + name="DatasetSeries_frequency", + curie=DCTERMS.curie("accrualPeriodicity"), + model_uri=DCATAPPLUS.DatasetSeries_frequency, + domain=DatasetSeries, + range=Optional[Union[dict, "Frequency"]], +) -slots.DatasetSeries_geographical_coverage = Slot(uri=DCTERMS.spatial, name="DatasetSeries_geographical_coverage", curie=DCTERMS.curie('spatial'), - model_uri=DCATAPPLUS.DatasetSeries_geographical_coverage, domain=DatasetSeries, range=Optional[Union[Union[dict, "Location"], list[Union[dict, "Location"]]]]) +slots.DatasetSeries_geographical_coverage = Slot( + uri=DCTERMS.spatial, + name="DatasetSeries_geographical_coverage", + curie=DCTERMS.curie("spatial"), + model_uri=DCATAPPLUS.DatasetSeries_geographical_coverage, + domain=DatasetSeries, + range=Optional[Union[Union[dict, "Location"], list[Union[dict, "Location"]]]], +) -slots.DatasetSeries_modification_date = Slot(uri=DCTERMS.modified, name="DatasetSeries_modification_date", curie=DCTERMS.curie('modified'), - model_uri=DCATAPPLUS.DatasetSeries_modification_date, domain=DatasetSeries, range=Optional[Union[str, XSDDate]]) +slots.DatasetSeries_modification_date = Slot( + uri=DCTERMS.modified, + name="DatasetSeries_modification_date", + curie=DCTERMS.curie("modified"), + model_uri=DCATAPPLUS.DatasetSeries_modification_date, + domain=DatasetSeries, + range=Optional[Union[str, XSDDate]], +) -slots.DatasetSeries_publisher = Slot(uri=DCTERMS.publisher, name="DatasetSeries_publisher", curie=DCTERMS.curie('publisher'), - model_uri=DCATAPPLUS.DatasetSeries_publisher, domain=DatasetSeries, range=Optional[Union[dict, Agent]]) +slots.DatasetSeries_publisher = Slot( + uri=DCTERMS.publisher, + name="DatasetSeries_publisher", + curie=DCTERMS.curie("publisher"), + model_uri=DCATAPPLUS.DatasetSeries_publisher, + domain=DatasetSeries, + range=Optional[Union[dict, Agent]], +) -slots.DatasetSeries_release_date = Slot(uri=DCTERMS.issued, name="DatasetSeries_release_date", curie=DCTERMS.curie('issued'), - model_uri=DCATAPPLUS.DatasetSeries_release_date, domain=DatasetSeries, range=Optional[Union[str, XSDDate]]) +slots.DatasetSeries_release_date = Slot( + uri=DCTERMS.issued, + name="DatasetSeries_release_date", + curie=DCTERMS.curie("issued"), + model_uri=DCATAPPLUS.DatasetSeries_release_date, + domain=DatasetSeries, + range=Optional[Union[str, XSDDate]], +) -slots.DatasetSeries_temporal_coverage = Slot(uri=DCTERMS.temporal, name="DatasetSeries_temporal_coverage", curie=DCTERMS.curie('temporal'), - model_uri=DCATAPPLUS.DatasetSeries_temporal_coverage, domain=DatasetSeries, range=Optional[Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]]]) +slots.DatasetSeries_temporal_coverage = Slot( + uri=DCTERMS.temporal, + name="DatasetSeries_temporal_coverage", + curie=DCTERMS.curie("temporal"), + model_uri=DCATAPPLUS.DatasetSeries_temporal_coverage, + domain=DatasetSeries, + range=Optional[ + Union[Union[dict, "PeriodOfTime"], list[Union[dict, "PeriodOfTime"]]] + ], +) -slots.DatasetSeries_title = Slot(uri=DCTERMS.title, name="DatasetSeries_title", curie=DCTERMS.curie('title'), - model_uri=DCATAPPLUS.DatasetSeries_title, domain=DatasetSeries, range=Union[str, list[str]]) +slots.DatasetSeries_title = Slot( + uri=DCTERMS.title, + name="DatasetSeries_title", + curie=DCTERMS.curie("title"), + model_uri=DCATAPPLUS.DatasetSeries_title, + domain=DatasetSeries, + range=Union[str, list[str]], +) -slots.DefinedTerm_title = Slot(uri=SCHEMA.name, name="DefinedTerm_title", curie=SCHEMA.curie('name'), - model_uri=DCATAPPLUS.DefinedTerm_title, domain=DefinedTerm, range=Optional[str]) +slots.DefinedTerm_title = Slot( + uri=SCHEMA.name, + name="DefinedTerm_title", + curie=SCHEMA.curie("name"), + model_uri=DCATAPPLUS.DefinedTerm_title, + domain=DefinedTerm, + range=Optional[str], +) -slots.Device_has_part = Slot(uri=DCTERMS.hasPart, name="Device_has_part", curie=DCTERMS.curie('hasPart'), - model_uri=DCATAPPLUS.Device_has_part, domain=Device, range=Optional[Union[dict[Union[str, DeviceId], Union[dict, "Device"]], list[Union[dict, "Device"]]]]) +slots.Device_has_part = Slot( + uri=DCTERMS.hasPart, + name="Device_has_part", + curie=DCTERMS.curie("hasPart"), + model_uri=DCATAPPLUS.Device_has_part, + domain=Device, + range=Optional[ + Union[ + dict[Union[str, DeviceId], Union[dict, "Device"]], + list[Union[dict, "Device"]], + ] + ], +) -slots.Device_other_identifier = Slot(uri=ADMS.identifier, name="Device_other_identifier", curie=ADMS.curie('identifier'), - model_uri=DCATAPPLUS.Device_other_identifier, domain=Device, range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]]) +slots.Device_other_identifier = Slot( + uri=ADMS.identifier, + name="Device_other_identifier", + curie=ADMS.curie("identifier"), + model_uri=DCATAPPLUS.Device_other_identifier, + domain=Device, + range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]], +) -slots.Distribution_access_URL = Slot(uri=DCAT.accessURL, name="Distribution_access_URL", curie=DCAT.curie('accessURL'), - model_uri=DCATAPPLUS.Distribution_access_URL, domain=Distribution, range=Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]]) +slots.Distribution_access_URL = Slot( + uri=DCAT.accessURL, + name="Distribution_access_URL", + curie=DCAT.curie("accessURL"), + model_uri=DCATAPPLUS.Distribution_access_URL, + domain=Distribution, + range=Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ], +) -slots.Distribution_access_service = Slot(uri=DCAT.accessService, name="Distribution_access_service", curie=DCAT.curie('accessService'), - model_uri=DCATAPPLUS.Distribution_access_service, domain=Distribution, range=Optional[Union[Union[dict, DataService], list[Union[dict, DataService]]]]) +slots.Distribution_access_service = Slot( + uri=DCAT.accessService, + name="Distribution_access_service", + curie=DCAT.curie("accessService"), + model_uri=DCATAPPLUS.Distribution_access_service, + domain=Distribution, + range=Optional[Union[Union[dict, DataService], list[Union[dict, DataService]]]], +) -slots.Distribution_applicable_legislation = Slot(uri=DCATAP.applicableLegislation, name="Distribution_applicable_legislation", curie=DCATAP.curie('applicableLegislation'), - model_uri=DCATAPPLUS.Distribution_applicable_legislation, domain=Distribution, range=Optional[Union[dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], list[Union[dict, "LegalResource"]]]]) +slots.Distribution_applicable_legislation = Slot( + uri=DCATAP.applicableLegislation, + name="Distribution_applicable_legislation", + curie=DCATAP.curie("applicableLegislation"), + model_uri=DCATAPPLUS.Distribution_applicable_legislation, + domain=Distribution, + range=Optional[ + Union[ + dict[Union[str, LegalResourceId], Union[dict, "LegalResource"]], + list[Union[dict, "LegalResource"]], + ] + ], +) -slots.Distribution_availability = Slot(uri=DCATAP.availability, name="Distribution_availability", curie=DCATAP.curie('availability'), - model_uri=DCATAPPLUS.Distribution_availability, domain=Distribution, range=Optional[Union[dict, "Concept"]]) +slots.Distribution_availability = Slot( + uri=DCATAP.availability, + name="Distribution_availability", + curie=DCATAP.curie("availability"), + model_uri=DCATAPPLUS.Distribution_availability, + domain=Distribution, + range=Optional[Union[dict, "Concept"]], +) -slots.Distribution_byte_size = Slot(uri=DCAT.byteSize, name="Distribution_byte_size", curie=DCAT.curie('byteSize'), - model_uri=DCATAPPLUS.Distribution_byte_size, domain=Distribution, range=Optional[int]) +slots.Distribution_byte_size = Slot( + uri=DCAT.byteSize, + name="Distribution_byte_size", + curie=DCAT.curie("byteSize"), + model_uri=DCATAPPLUS.Distribution_byte_size, + domain=Distribution, + range=Optional[int], +) -slots.Distribution_checksum = Slot(uri=SPDX.checksum, name="Distribution_checksum", curie=SPDX.curie('checksum'), - model_uri=DCATAPPLUS.Distribution_checksum, domain=Distribution, range=Optional[Union[dict, Checksum]]) +slots.Distribution_checksum = Slot( + uri=SPDX.checksum, + name="Distribution_checksum", + curie=SPDX.curie("checksum"), + model_uri=DCATAPPLUS.Distribution_checksum, + domain=Distribution, + range=Optional[Union[dict, Checksum]], +) -slots.Distribution_compression_format = Slot(uri=DCAT.compressFormat, name="Distribution_compression_format", curie=DCAT.curie('compressFormat'), - model_uri=DCATAPPLUS.Distribution_compression_format, domain=Distribution, range=Optional[Union[dict, "MediaType"]]) +slots.Distribution_compression_format = Slot( + uri=DCAT.compressFormat, + name="Distribution_compression_format", + curie=DCAT.curie("compressFormat"), + model_uri=DCATAPPLUS.Distribution_compression_format, + domain=Distribution, + range=Optional[Union[dict, "MediaType"]], +) -slots.Distribution_description = Slot(uri=DCTERMS.description, name="Distribution_description", curie=DCTERMS.curie('description'), - model_uri=DCATAPPLUS.Distribution_description, domain=Distribution, range=Optional[Union[str, list[str]]]) +slots.Distribution_description = Slot( + uri=DCTERMS.description, + name="Distribution_description", + curie=DCTERMS.curie("description"), + model_uri=DCATAPPLUS.Distribution_description, + domain=Distribution, + range=Optional[Union[str, list[str]]], +) -slots.Distribution_documentation = Slot(uri=FOAF.page, name="Distribution_documentation", curie=FOAF.curie('page'), - model_uri=DCATAPPLUS.Distribution_documentation, domain=Distribution, range=Optional[Union[dict[Union[str, DocumentId], Union[dict, "Document"]], list[Union[dict, "Document"]]]]) +slots.Distribution_documentation = Slot( + uri=FOAF.page, + name="Distribution_documentation", + curie=FOAF.curie("page"), + model_uri=DCATAPPLUS.Distribution_documentation, + domain=Distribution, + range=Optional[ + Union[ + dict[Union[str, DocumentId], Union[dict, "Document"]], + list[Union[dict, "Document"]], + ] + ], +) -slots.Distribution_download_URL = Slot(uri=DCAT.downloadURL, name="Distribution_download_URL", curie=DCAT.curie('downloadURL'), - model_uri=DCATAPPLUS.Distribution_download_URL, domain=Distribution, range=Optional[Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]]]) +slots.Distribution_download_URL = Slot( + uri=DCAT.downloadURL, + name="Distribution_download_URL", + curie=DCAT.curie("downloadURL"), + model_uri=DCATAPPLUS.Distribution_download_URL, + domain=Distribution, + range=Optional[ + Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ] + ], +) -slots.Distribution_format = Slot(uri=DCTERMS.format, name="Distribution_format", curie=DCTERMS.curie('format'), - model_uri=DCATAPPLUS.Distribution_format, domain=Distribution, range=Optional[Union[dict, "MediaTypeOrExtent"]]) +slots.Distribution_format = Slot( + uri=DCTERMS.format, + name="Distribution_format", + curie=DCTERMS.curie("format"), + model_uri=DCATAPPLUS.Distribution_format, + domain=Distribution, + range=Optional[Union[dict, "MediaTypeOrExtent"]], +) -slots.Distribution_has_policy = Slot(uri=ODRL.hasPolicy, name="Distribution_has_policy", curie=ODRL.curie('hasPolicy'), - model_uri=DCATAPPLUS.Distribution_has_policy, domain=Distribution, range=Optional[Union[dict, "Policy"]]) +slots.Distribution_has_policy = Slot( + uri=ODRL.hasPolicy, + name="Distribution_has_policy", + curie=ODRL.curie("hasPolicy"), + model_uri=DCATAPPLUS.Distribution_has_policy, + domain=Distribution, + range=Optional[Union[dict, "Policy"]], +) -slots.Distribution_language = Slot(uri=DCTERMS.language, name="Distribution_language", curie=DCTERMS.curie('language'), - model_uri=DCATAPPLUS.Distribution_language, domain=Distribution, range=Optional[Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]]]) +slots.Distribution_language = Slot( + uri=DCTERMS.language, + name="Distribution_language", + curie=DCTERMS.curie("language"), + model_uri=DCATAPPLUS.Distribution_language, + domain=Distribution, + range=Optional[ + Union[Union[dict, "LinguisticSystem"], list[Union[dict, "LinguisticSystem"]]] + ], +) -slots.Distribution_licence = Slot(uri=DCTERMS.license, name="Distribution_licence", curie=DCTERMS.curie('license'), - model_uri=DCATAPPLUS.Distribution_licence, domain=Distribution, range=Optional[Union[dict, "LicenseDocument"]]) +slots.Distribution_licence = Slot( + uri=DCTERMS.license, + name="Distribution_licence", + curie=DCTERMS.curie("license"), + model_uri=DCATAPPLUS.Distribution_licence, + domain=Distribution, + range=Optional[Union[dict, "LicenseDocument"]], +) -slots.Distribution_linked_schemas = Slot(uri=DCTERMS.conformsTo, name="Distribution_linked_schemas", curie=DCTERMS.curie('conformsTo'), - model_uri=DCATAPPLUS.Distribution_linked_schemas, domain=Distribution, range=Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]]) +slots.Distribution_linked_schemas = Slot( + uri=DCTERMS.conformsTo, + name="Distribution_linked_schemas", + curie=DCTERMS.curie("conformsTo"), + model_uri=DCATAPPLUS.Distribution_linked_schemas, + domain=Distribution, + range=Optional[Union[Union[dict, "Standard"], list[Union[dict, "Standard"]]]], +) -slots.Distribution_media_type = Slot(uri=DCAT.mediaType, name="Distribution_media_type", curie=DCAT.curie('mediaType'), - model_uri=DCATAPPLUS.Distribution_media_type, domain=Distribution, range=Optional[Union[dict, "MediaType"]]) +slots.Distribution_media_type = Slot( + uri=DCAT.mediaType, + name="Distribution_media_type", + curie=DCAT.curie("mediaType"), + model_uri=DCATAPPLUS.Distribution_media_type, + domain=Distribution, + range=Optional[Union[dict, "MediaType"]], +) -slots.Distribution_modification_date = Slot(uri=DCTERMS.modified, name="Distribution_modification_date", curie=DCTERMS.curie('modified'), - model_uri=DCATAPPLUS.Distribution_modification_date, domain=Distribution, range=Optional[Union[str, XSDDate]]) +slots.Distribution_modification_date = Slot( + uri=DCTERMS.modified, + name="Distribution_modification_date", + curie=DCTERMS.curie("modified"), + model_uri=DCATAPPLUS.Distribution_modification_date, + domain=Distribution, + range=Optional[Union[str, XSDDate]], +) -slots.Distribution_packaging_format = Slot(uri=DCAT.packageFormat, name="Distribution_packaging_format", curie=DCAT.curie('packageFormat'), - model_uri=DCATAPPLUS.Distribution_packaging_format, domain=Distribution, range=Optional[Union[dict, "MediaType"]]) +slots.Distribution_packaging_format = Slot( + uri=DCAT.packageFormat, + name="Distribution_packaging_format", + curie=DCAT.curie("packageFormat"), + model_uri=DCATAPPLUS.Distribution_packaging_format, + domain=Distribution, + range=Optional[Union[dict, "MediaType"]], +) -slots.Distribution_release_date = Slot(uri=DCTERMS.issued, name="Distribution_release_date", curie=DCTERMS.curie('issued'), - model_uri=DCATAPPLUS.Distribution_release_date, domain=Distribution, range=Optional[Union[str, XSDDate]]) +slots.Distribution_release_date = Slot( + uri=DCTERMS.issued, + name="Distribution_release_date", + curie=DCTERMS.curie("issued"), + model_uri=DCATAPPLUS.Distribution_release_date, + domain=Distribution, + range=Optional[Union[str, XSDDate]], +) -slots.Distribution_rights = Slot(uri=DCTERMS.rights, name="Distribution_rights", curie=DCTERMS.curie('rights'), - model_uri=DCATAPPLUS.Distribution_rights, domain=Distribution, range=Optional[Union[dict, "RightsStatement"]]) +slots.Distribution_rights = Slot( + uri=DCTERMS.rights, + name="Distribution_rights", + curie=DCTERMS.curie("rights"), + model_uri=DCATAPPLUS.Distribution_rights, + domain=Distribution, + range=Optional[Union[dict, "RightsStatement"]], +) -slots.Distribution_spatial_resolution = Slot(uri=DCAT.spatialResolutionInMeters, name="Distribution_spatial_resolution", curie=DCAT.curie('spatialResolutionInMeters'), - model_uri=DCATAPPLUS.Distribution_spatial_resolution, domain=Distribution, range=Optional[Decimal]) +slots.Distribution_spatial_resolution = Slot( + uri=DCAT.spatialResolutionInMeters, + name="Distribution_spatial_resolution", + curie=DCAT.curie("spatialResolutionInMeters"), + model_uri=DCATAPPLUS.Distribution_spatial_resolution, + domain=Distribution, + range=Optional[Decimal], +) -slots.Distribution_status = Slot(uri=ADMS.status, name="Distribution_status", curie=ADMS.curie('status'), - model_uri=DCATAPPLUS.Distribution_status, domain=Distribution, range=Optional[Union[dict, "Concept"]]) +slots.Distribution_status = Slot( + uri=ADMS.status, + name="Distribution_status", + curie=ADMS.curie("status"), + model_uri=DCATAPPLUS.Distribution_status, + domain=Distribution, + range=Optional[Union[dict, "Concept"]], +) -slots.Distribution_temporal_resolution = Slot(uri=DCAT.temporalResolution, name="Distribution_temporal_resolution", curie=DCAT.curie('temporalResolution'), - model_uri=DCATAPPLUS.Distribution_temporal_resolution, domain=Distribution, range=Optional[str]) +slots.Distribution_temporal_resolution = Slot( + uri=DCAT.temporalResolution, + name="Distribution_temporal_resolution", + curie=DCAT.curie("temporalResolution"), + model_uri=DCATAPPLUS.Distribution_temporal_resolution, + domain=Distribution, + range=Optional[str], +) -slots.Distribution_title = Slot(uri=DCTERMS.title, name="Distribution_title", curie=DCTERMS.curie('title'), - model_uri=DCATAPPLUS.Distribution_title, domain=Distribution, range=Optional[Union[str, list[str]]]) +slots.Distribution_title = Slot( + uri=DCTERMS.title, + name="Distribution_title", + curie=DCTERMS.curie("title"), + model_uri=DCATAPPLUS.Distribution_title, + domain=Distribution, + range=Optional[Union[str, list[str]]], +) -slots.Entity_title = Slot(uri=DCTERMS.title, name="Entity_title", curie=DCTERMS.curie('title'), - model_uri=DCATAPPLUS.Entity_title, domain=Entity, range=Optional[str]) +slots.Entity_title = Slot( + uri=DCTERMS.title, + name="Entity_title", + curie=DCTERMS.curie("title"), + model_uri=DCATAPPLUS.Entity_title, + domain=Entity, + range=Optional[str], +) -slots.Entity_description = Slot(uri=DCTERMS.description, name="Entity_description", curie=DCTERMS.curie('description'), - model_uri=DCATAPPLUS.Entity_description, domain=Entity, range=Optional[str]) +slots.Entity_description = Slot( + uri=DCTERMS.description, + name="Entity_description", + curie=DCTERMS.curie("description"), + model_uri=DCATAPPLUS.Entity_description, + domain=Entity, + range=Optional[str], +) -slots.Entity_other_identifier = Slot(uri=ADMS.identifier, name="Entity_other_identifier", curie=ADMS.curie('identifier'), - model_uri=DCATAPPLUS.Entity_other_identifier, domain=Entity, range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]]) +slots.Entity_other_identifier = Slot( + uri=ADMS.identifier, + name="Entity_other_identifier", + curie=ADMS.curie("identifier"), + model_uri=DCATAPPLUS.Entity_other_identifier, + domain=Entity, + range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]], +) -slots.Entity_has_part = Slot(uri=DCTERMS.hasPart, name="Entity_has_part", curie=DCTERMS.curie('hasPart'), - model_uri=DCATAPPLUS.Entity_has_part, domain=Entity, range=Optional[Union[dict[Union[str, EntityId], Union[dict, "Entity"]], list[Union[dict, "Entity"]]]]) +slots.Entity_has_part = Slot( + uri=DCTERMS.hasPart, + name="Entity_has_part", + curie=DCTERMS.curie("hasPart"), + model_uri=DCATAPPLUS.Entity_has_part, + domain=Entity, + range=Optional[ + Union[ + dict[Union[str, EntityId], Union[dict, "Entity"]], + list[Union[dict, "Entity"]], + ] + ], +) -slots.Entity_part_of = Slot(uri=DCTERMS.isPartOf, name="Entity_part_of", curie=DCTERMS.curie('isPartOf'), - model_uri=DCATAPPLUS.Entity_part_of, domain=Entity, range=Optional[Union[dict[Union[str, EntityId], Union[dict, "Entity"]], list[Union[dict, "Entity"]]]]) +slots.Entity_part_of = Slot( + uri=DCTERMS.isPartOf, + name="Entity_part_of", + curie=DCTERMS.curie("isPartOf"), + model_uri=DCATAPPLUS.Entity_part_of, + domain=Entity, + range=Optional[ + Union[ + dict[Union[str, EntityId], Union[dict, "Entity"]], + list[Union[dict, "Entity"]], + ] + ], +) -slots.EvaluatedActivity_other_identifier = Slot(uri=ADMS.identifier, name="EvaluatedActivity_other_identifier", curie=ADMS.curie('identifier'), - model_uri=DCATAPPLUS.EvaluatedActivity_other_identifier, domain=EvaluatedActivity, range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]]) +slots.EvaluatedActivity_other_identifier = Slot( + uri=ADMS.identifier, + name="EvaluatedActivity_other_identifier", + curie=ADMS.curie("identifier"), + model_uri=DCATAPPLUS.EvaluatedActivity_other_identifier, + domain=EvaluatedActivity, + range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]], +) -slots.EvaluatedEntity_title = Slot(uri=DCTERMS.title, name="EvaluatedEntity_title", curie=DCTERMS.curie('title'), - model_uri=DCATAPPLUS.EvaluatedEntity_title, domain=EvaluatedEntity, range=Optional[str]) +slots.EvaluatedEntity_title = Slot( + uri=DCTERMS.title, + name="EvaluatedEntity_title", + curie=DCTERMS.curie("title"), + model_uri=DCATAPPLUS.EvaluatedEntity_title, + domain=EvaluatedEntity, + range=Optional[str], +) -slots.EvaluatedEntity_description = Slot(uri=DCTERMS.description, name="EvaluatedEntity_description", curie=DCTERMS.curie('description'), - model_uri=DCATAPPLUS.EvaluatedEntity_description, domain=EvaluatedEntity, range=Optional[str]) +slots.EvaluatedEntity_description = Slot( + uri=DCTERMS.description, + name="EvaluatedEntity_description", + curie=DCTERMS.curie("description"), + model_uri=DCATAPPLUS.EvaluatedEntity_description, + domain=EvaluatedEntity, + range=Optional[str], +) -slots.EvaluatedEntity_was_generated_by = Slot(uri=PROV.wasGeneratedBy, name="EvaluatedEntity_was_generated_by", curie=PROV.curie('wasGeneratedBy'), - model_uri=DCATAPPLUS.EvaluatedEntity_was_generated_by, domain=EvaluatedEntity, range=Optional[Union[dict[Union[str, ActivityId], Union[dict, Activity]], list[Union[dict, Activity]]]]) +slots.EvaluatedEntity_was_generated_by = Slot( + uri=PROV.wasGeneratedBy, + name="EvaluatedEntity_was_generated_by", + curie=PROV.curie("wasGeneratedBy"), + model_uri=DCATAPPLUS.EvaluatedEntity_was_generated_by, + domain=EvaluatedEntity, + range=Optional[ + Union[ + dict[Union[str, ActivityId], Union[dict, Activity]], + list[Union[dict, Activity]], + ] + ], +) -slots.EvaluatedEntity_other_identifier = Slot(uri=ADMS.identifier, name="EvaluatedEntity_other_identifier", curie=ADMS.curie('identifier'), - model_uri=DCATAPPLUS.EvaluatedEntity_other_identifier, domain=EvaluatedEntity, range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]]) +slots.EvaluatedEntity_other_identifier = Slot( + uri=ADMS.identifier, + name="EvaluatedEntity_other_identifier", + curie=ADMS.curie("identifier"), + model_uri=DCATAPPLUS.EvaluatedEntity_other_identifier, + domain=EvaluatedEntity, + range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]], +) -slots.Identifier_notation = Slot(uri=SKOS.notation, name="Identifier_notation", curie=SKOS.curie('notation'), - model_uri=DCATAPPLUS.Identifier_notation, domain=Identifier, range=str) +slots.Identifier_notation = Slot( + uri=SKOS.notation, + name="Identifier_notation", + curie=SKOS.curie("notation"), + model_uri=DCATAPPLUS.Identifier_notation, + domain=Identifier, + range=str, +) -slots.LicenseDocument_type = Slot(uri=DCTERMS.type, name="LicenseDocument_type", curie=DCTERMS.curie('type'), - model_uri=DCATAPPLUS.LicenseDocument_type, domain=LicenseDocument, range=Optional[Union[Union[dict, Concept], list[Union[dict, Concept]]]]) +slots.LicenseDocument_type = Slot( + uri=DCTERMS.type, + name="LicenseDocument_type", + curie=DCTERMS.curie("type"), + model_uri=DCATAPPLUS.LicenseDocument_type, + domain=LicenseDocument, + range=Optional[Union[Union[dict, Concept], list[Union[dict, Concept]]]], +) -slots.Location_bbox = Slot(uri=DCAT.bbox, name="Location_bbox", curie=DCAT.curie('bbox'), - model_uri=DCATAPPLUS.Location_bbox, domain=Location, range=Optional[str]) +slots.Location_bbox = Slot( + uri=DCAT.bbox, + name="Location_bbox", + curie=DCAT.curie("bbox"), + model_uri=DCATAPPLUS.Location_bbox, + domain=Location, + range=Optional[str], +) -slots.Location_centroid = Slot(uri=DCAT.centroid, name="Location_centroid", curie=DCAT.curie('centroid'), - model_uri=DCATAPPLUS.Location_centroid, domain=Location, range=Optional[str]) +slots.Location_centroid = Slot( + uri=DCAT.centroid, + name="Location_centroid", + curie=DCAT.curie("centroid"), + model_uri=DCATAPPLUS.Location_centroid, + domain=Location, + range=Optional[str], +) -slots.Location_geometry = Slot(uri=LOCN.geometry, name="Location_geometry", curie=LOCN.curie('geometry'), - model_uri=DCATAPPLUS.Location_geometry, domain=Location, range=Optional[Union[dict, "Geometry"]]) +slots.Location_geometry = Slot( + uri=LOCN.geometry, + name="Location_geometry", + curie=LOCN.curie("geometry"), + model_uri=DCATAPPLUS.Location_geometry, + domain=Location, + range=Optional[Union[dict, "Geometry"]], +) -slots.PeriodOfTime_beginning = Slot(uri=TIME.hasBeginning, name="PeriodOfTime_beginning", curie=TIME.curie('hasBeginning'), - model_uri=DCATAPPLUS.PeriodOfTime_beginning, domain=PeriodOfTime, range=Optional[Union[dict, "TimeInstant"]]) +slots.PeriodOfTime_beginning = Slot( + uri=TIME.hasBeginning, + name="PeriodOfTime_beginning", + curie=TIME.curie("hasBeginning"), + model_uri=DCATAPPLUS.PeriodOfTime_beginning, + domain=PeriodOfTime, + range=Optional[Union[dict, "TimeInstant"]], +) -slots.PeriodOfTime_end = Slot(uri=TIME.hasEnd, name="PeriodOfTime_end", curie=TIME.curie('hasEnd'), - model_uri=DCATAPPLUS.PeriodOfTime_end, domain=PeriodOfTime, range=Optional[Union[dict, "TimeInstant"]]) +slots.PeriodOfTime_end = Slot( + uri=TIME.hasEnd, + name="PeriodOfTime_end", + curie=TIME.curie("hasEnd"), + model_uri=DCATAPPLUS.PeriodOfTime_end, + domain=PeriodOfTime, + range=Optional[Union[dict, "TimeInstant"]], +) -slots.PeriodOfTime_end_date = Slot(uri=DCAT.endDate, name="PeriodOfTime_end_date", curie=DCAT.curie('endDate'), - model_uri=DCATAPPLUS.PeriodOfTime_end_date, domain=PeriodOfTime, range=Optional[Union[str, XSDDate]]) +slots.PeriodOfTime_end_date = Slot( + uri=DCAT.endDate, + name="PeriodOfTime_end_date", + curie=DCAT.curie("endDate"), + model_uri=DCATAPPLUS.PeriodOfTime_end_date, + domain=PeriodOfTime, + range=Optional[Union[str, XSDDate]], +) -slots.PeriodOfTime_start_date = Slot(uri=DCAT.startDate, name="PeriodOfTime_start_date", curie=DCAT.curie('startDate'), - model_uri=DCATAPPLUS.PeriodOfTime_start_date, domain=PeriodOfTime, range=Optional[Union[str, XSDDate]]) +slots.PeriodOfTime_start_date = Slot( + uri=DCAT.startDate, + name="PeriodOfTime_start_date", + curie=DCAT.curie("startDate"), + model_uri=DCATAPPLUS.PeriodOfTime_start_date, + domain=PeriodOfTime, + range=Optional[Union[str, XSDDate]], +) -slots.QualitativeAttribute_value = Slot(uri=PROV.value, name="QualitativeAttribute_value", curie=PROV.curie('value'), - model_uri=DCATAPPLUS.QualitativeAttribute_value, domain=QualitativeAttribute, range=str) +slots.QualitativeAttribute_value = Slot( + uri=PROV.value, + name="QualitativeAttribute_value", + curie=PROV.curie("value"), + model_uri=DCATAPPLUS.QualitativeAttribute_value, + domain=QualitativeAttribute, + range=str, +) -slots.QuantitativeAttribute_value = Slot(uri=PROV.value, name="QuantitativeAttribute_value", curie=PROV.curie('value'), - model_uri=DCATAPPLUS.QuantitativeAttribute_value, domain=QuantitativeAttribute, range=float) +slots.QuantitativeAttribute_value = Slot( + uri=PROV.value, + name="QuantitativeAttribute_value", + curie=PROV.curie("value"), + model_uri=DCATAPPLUS.QuantitativeAttribute_value, + domain=QuantitativeAttribute, + range=float, +) -slots.Relationship_had_role = Slot(uri=DCAT.hadRole, name="Relationship_had_role", curie=DCAT.curie('hadRole'), - model_uri=DCATAPPLUS.Relationship_had_role, domain=Relationship, range=Union[Union[dict, "Role"], list[Union[dict, "Role"]]]) +slots.Relationship_had_role = Slot( + uri=DCAT.hadRole, + name="Relationship_had_role", + curie=DCAT.curie("hadRole"), + model_uri=DCATAPPLUS.Relationship_had_role, + domain=Relationship, + range=Union[Union[dict, "Role"], list[Union[dict, "Role"]]], +) -slots.Relationship_relation = Slot(uri=DCTERMS.relation, name="Relationship_relation", curie=DCTERMS.curie('relation'), - model_uri=DCATAPPLUS.Relationship_relation, domain=Relationship, range=Union[dict[Union[str, ResourceId], Union[dict, "Resource"]], list[Union[dict, "Resource"]]]) +slots.Relationship_relation = Slot( + uri=DCTERMS.relation, + name="Relationship_relation", + curie=DCTERMS.curie("relation"), + model_uri=DCATAPPLUS.Relationship_relation, + domain=Relationship, + range=Union[ + dict[Union[str, ResourceId], Union[dict, "Resource"]], + list[Union[dict, "Resource"]], + ], +) -slots.Software_has_part = Slot(uri=DCTERMS.hasPart, name="Software_has_part", curie=DCTERMS.curie('hasPart'), - model_uri=DCATAPPLUS.Software_has_part, domain=Software, range=Optional[Union[dict[Union[str, SoftwareId], Union[dict, "Software"]], list[Union[dict, "Software"]]]]) +slots.Software_has_part = Slot( + uri=DCTERMS.hasPart, + name="Software_has_part", + curie=DCTERMS.curie("hasPart"), + model_uri=DCATAPPLUS.Software_has_part, + domain=Software, + range=Optional[ + Union[ + dict[Union[str, SoftwareId], Union[dict, "Software"]], + list[Union[dict, "Software"]], + ] + ], +) -slots.Software_other_identifier = Slot(uri=ADMS.identifier, name="Software_other_identifier", curie=ADMS.curie('identifier'), - model_uri=DCATAPPLUS.Software_other_identifier, domain=Software, range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]]) +slots.Software_other_identifier = Slot( + uri=ADMS.identifier, + name="Software_other_identifier", + curie=ADMS.curie("identifier"), + model_uri=DCATAPPLUS.Software_other_identifier, + domain=Software, + range=Optional[Union[Union[dict, "Identifier"], list[Union[dict, "Identifier"]]]], +) diff --git a/src/dcat_ap_plus/datamodel/dcat_ap_plus_pydantic.py b/src/dcat_ap_plus/datamodel/dcat_ap_plus_pydantic.py index 5ecc4c03..0d0860ff 100644 --- a/src/dcat_ap_plus/datamodel/dcat_ap_plus_pydantic.py +++ b/src/dcat_ap_plus/datamodel/dcat_ap_plus_pydantic.py @@ -1,194 +1,259 @@ -from __future__ import annotations - -import re -import sys -from datetime import ( - date, - datetime, - time -) -from decimal import Decimal -from enum import Enum -from typing import ( - Any, - ClassVar, - Literal, - Optional, - Union -) +from __future__ import annotations -from pydantic import ( - BaseModel, - ConfigDict, - Field, - RootModel, - field_validator -) +from datetime import date +from decimal import Decimal +from enum import Enum +from typing import Any, ClassVar, Optional, Union +from pydantic import BaseModel, ConfigDict, Field, RootModel -metamodel_version = "None" + +metamodel_version = "1.7.0" version = "0.1.0rc3.post21.dev0+913fb36" class ConfiguredBaseModel(BaseModel): model_config = ConfigDict( - validate_assignment = True, - validate_default = True, - extra = "forbid", - arbitrary_types_allowed = True, - use_enum_values = True, - strict = False, + serialize_by_alias=True, + validate_by_name=True, + validate_assignment=True, + validate_default=True, + extra="forbid", + arbitrary_types_allowed=True, + use_enum_values=True, + strict=False, ) - pass - - class LinkMLMeta(RootModel): root: dict[str, Any] = {} model_config = ConfigDict(frozen=True) - def __getattr__(self, key:str): + def __getattr__(self, key: str): return getattr(self.root, key) - def __getitem__(self, key:str): + def __getitem__(self, key: str): return self.root[key] - def __setitem__(self, key:str, value): + def __setitem__(self, key: str, value): self.root[key] = value - def __contains__(self, key:str) -> bool: + def __contains__(self, key: str) -> bool: return key in self.root -linkml_meta = LinkMLMeta({'default_prefix': 'dcatapplus', - 'default_range': 'string', - 'description': 'This metadata schema is an Extension of the DCAT Application ' - 'Profile for Providing Links to Use-case Specific Context. It ' - 'allows to provide additional metadata regarding: which ' - 'kind(s) of entity(s) or activity(s) were evaluated (the ' - 'dcat:Dataset is about), which kind of activity generated the ' - 'dcat:Dataset, which kind of instruments were used in the ' - 'dataset generating activity, in which surrounding (e.g. a ' - 'laboratory) and according to which plan the dataset ' - 'generating activity took place, as well as regarding which ' - 'kind(s) of qualitative and quantitative characteristic were ' - 'attributed to the evaluated entity or evaluated activity and ' - 'to the used instruments.', - 'id': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'imports': ['linkml:types'], - 'license': 'CC-BY 4.0', - 'name': 'dcat-ap-plus', - 'prefixes': {'AFE': {'prefix_prefix': 'AFE', - 'prefix_reference': 'http://purl.allotrope.org/ontologies/equipment#AFE_'}, - 'BFO': {'prefix_prefix': 'BFO', - 'prefix_reference': 'http://purl.obolibrary.org/obo/BFO_'}, - 'IAO': {'prefix_prefix': 'IAO', - 'prefix_reference': 'http://purl.obolibrary.org/obo/IAO_'}, - 'NCIT': {'prefix_prefix': 'NCIT', - 'prefix_reference': 'http://purl.obolibrary.org/obo/NCIT_'}, - 'OBI': {'prefix_prefix': 'OBI', - 'prefix_reference': 'http://purl.obolibrary.org/obo/OBI_'}, - 'SIO': {'prefix_prefix': 'SIO', - 'prefix_reference': 'http://semanticscience.org/resource/SIO_'}, - 'SOSA': {'prefix_prefix': 'SOSA', - 'prefix_reference': 'http://www.w3.org/ns/sosa/'}, - 'adms': {'prefix_prefix': 'adms', - 'prefix_reference': 'http://www.w3.org/ns/adms#'}, - 'dcat': {'prefix_prefix': 'dcat', - 'prefix_reference': 'http://www.w3.org/ns/dcat#'}, - 'dcatap': {'prefix_prefix': 'dcatap', - 'prefix_reference': 'http://data.europa.eu/r5r/'}, - 'dcatapplus': {'prefix_prefix': 'dcatapplus', - 'prefix_reference': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}, - 'dcterms': {'prefix_prefix': 'dcterms', - 'prefix_reference': 'http://purl.org/dc/terms/'}, - 'eli': {'prefix_prefix': 'eli', - 'prefix_reference': 'http://data.europa.eu/eli/ontology#'}, - 'epos': {'prefix_prefix': 'epos', - 'prefix_reference': 'https://www.epos-eu.org/epos-dcat-ap#'}, - 'ex': {'prefix_prefix': 'ex', - 'prefix_reference': 'http://example.org/'}, - 'foaf': {'prefix_prefix': 'foaf', - 'prefix_reference': 'http://xmlns.com/foaf/0.1/'}, - 'iana': {'prefix_prefix': 'iana', - 'prefix_reference': 'https://www.iana.org/assignments/'}, - 'linkml': {'prefix_prefix': 'linkml', - 'prefix_reference': 'https://w3id.org/linkml/'}, - 'locn': {'prefix_prefix': 'locn', - 'prefix_reference': 'http://www.w3.org/ns/locn#'}, - 'odrl': {'prefix_prefix': 'odrl', - 'prefix_reference': 'http://www.w3.org/ns/odrl/2/'}, - 'prov': {'prefix_prefix': 'prov', - 'prefix_reference': 'http://www.w3.org/ns/prov#'}, - 'qb': {'prefix_prefix': 'qb', - 'prefix_reference': 'http://purl.org/linked-data/cube#'}, - 'qudt': {'prefix_prefix': 'qudt', - 'prefix_reference': 'http://qudt.org/schema/qudt/'}, - 'rdf': {'prefix_prefix': 'rdf', - 'prefix_reference': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'}, - 'rdfs': {'prefix_prefix': 'rdfs', - 'prefix_reference': 'http://www.w3.org/2000/01/rdf-schema#'}, - 'schema': {'prefix_prefix': 'schema', - 'prefix_reference': 'http://schema.org/'}, - 'sh': {'prefix_prefix': 'sh', - 'prefix_reference': 'http://www.w3.org/ns/shacl#'}, - 'skos': {'prefix_prefix': 'skos', - 'prefix_reference': 'http://www.w3.org/2004/02/skos/core#'}, - 'spdx': {'prefix_prefix': 'spdx', - 'prefix_reference': 'http://spdx.org/rdf/terms#'}, - 'time': {'prefix_prefix': 'time', - 'prefix_reference': 'http://www.w3.org/2006/time#'}, - 'vcard': {'prefix_prefix': 'vcard', - 'prefix_reference': 'http://www.w3.org/2006/vcard/ns#'}, - 'vl': {'prefix_prefix': 'vl', - 'prefix_reference': 'https://purl.eu/ns/shacl#'}, - 'xsd': {'prefix_prefix': 'xsd', - 'prefix_reference': 'http://www.w3.org/2001/XMLSchema#'}}, - 'see_also': ['https://github.com/StroemPhi/dcat-4C-ap', - 'https://github.com/HendrikBorgelt/DCAT-ap_as_LinkML_template/blob/main/src/dcatlinkml/schema/dcatlinkml.yaml', - 'https://gitlab.com/opensourcelab/scientificdata/scidats/-/blob/feature/linkml-schemata/schemata/metadata_model_scidats_dcat_ap.yaml?ref_type=heads'], - 'source_file': 'src/dcat_ap_plus/schema/dcat_ap_plus.yaml', - 'subsets': {'domain_agnostic_core': {'description': 'The elements of this ' - 'subset are considered ' - 'the core layer of our ' - 'DCAT-AP extension.', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'name': 'domain_agnostic_core'}}, - 'title': 'DCAT-AP-PLUS', - 'todos': ['Think about how to add all the other enums and their permissible ' - 'values to constrain the allowed instances of classes such as ' - '"Concept", "MediaType", etc. as defined in ' - 'https://semiceu.github.io/DCAT-AP/releases/3.0.0/#controlled-vocs. ' - 'Using EnumBindings ' - '(https://linkml.io/linkml-model/latest/docs/bindings/) seems best, ' - 'but does not yet work.', - 'Check if https://github.com/linkml/linkml/issues/1813 is closed ' - 'and range unions are validatable'], - 'types': {'duration': {'base': 'str', - 'conforms_to': 'https://www.w3.org/TR/xmlschema11-2/#duration', - 'description': 'The datatype that represents durations ' - 'of time.', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'name': 'duration', - 'pattern': '-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))', - 'uri': 'xsd:duration'}, - 'hexBinary': {'base': 'str', - 'conforms_to': 'https://www.w3.org/TR/xmlschema11-2/#hexBinary', - 'description': 'The datatype that represents ' - 'arbitrary hex-encoded binary data.', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'name': 'hexBinary', - 'pattern': '([0-9a-fA-F]{2})*', - 'uri': 'xsd:hexBinary'}, - 'nonNegativeInteger': {'base': 'int', - 'conforms_to': 'https://www.w3.org/TR/xmlschema11-2/#nonNegativeInteger', - 'description': 'The datatype that represents ' - 'non-negative integers.', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'name': 'nonNegativeInteger', - 'pattern': '([\\-+]?[0-9]+)', - 'uri': 'xsd:nonNegativeInteger'}}} ) +linkml_meta = LinkMLMeta( + { + "default_prefix": "dcatapplus", + "default_range": "string", + "description": "This metadata schema is an Extension of the DCAT Application " + "Profile for Providing Links to Use-case Specific Context. It " + "allows to provide additional metadata regarding: which " + "kind(s) of entity(s) or activity(s) were evaluated (the " + "dcat:Dataset is about), which kind of activity generated the " + "dcat:Dataset, which kind of instruments were used in the " + "dataset generating activity, in which surrounding (e.g. a " + "laboratory) and according to which plan the dataset " + "generating activity took place, as well as regarding which " + "kind(s) of qualitative and quantitative characteristic were " + "attributed to the evaluated entity or evaluated activity and " + "to the used instruments.", + "id": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "imports": ["linkml:types"], + "license": "CC-BY 4.0", + "name": "dcat-ap-plus", + "prefixes": { + "AFE": { + "prefix_prefix": "AFE", + "prefix_reference": "http://purl.allotrope.org/ontologies/equipment#AFE_", + }, + "BFO": { + "prefix_prefix": "BFO", + "prefix_reference": "http://purl.obolibrary.org/obo/BFO_", + }, + "IAO": { + "prefix_prefix": "IAO", + "prefix_reference": "http://purl.obolibrary.org/obo/IAO_", + }, + "NCIT": { + "prefix_prefix": "NCIT", + "prefix_reference": "http://purl.obolibrary.org/obo/NCIT_", + }, + "OBI": { + "prefix_prefix": "OBI", + "prefix_reference": "http://purl.obolibrary.org/obo/OBI_", + }, + "SIO": { + "prefix_prefix": "SIO", + "prefix_reference": "http://semanticscience.org/resource/SIO_", + }, + "SOSA": { + "prefix_prefix": "SOSA", + "prefix_reference": "http://www.w3.org/ns/sosa/", + }, + "adms": { + "prefix_prefix": "adms", + "prefix_reference": "http://www.w3.org/ns/adms#", + }, + "dcat": { + "prefix_prefix": "dcat", + "prefix_reference": "http://www.w3.org/ns/dcat#", + }, + "dcatap": { + "prefix_prefix": "dcatap", + "prefix_reference": "http://data.europa.eu/r5r/", + }, + "dcatapplus": { + "prefix_prefix": "dcatapplus", + "prefix_reference": "https://w3id.org/nfdi-de/dcat-ap-plus/", + }, + "dcterms": { + "prefix_prefix": "dcterms", + "prefix_reference": "http://purl.org/dc/terms/", + }, + "eli": { + "prefix_prefix": "eli", + "prefix_reference": "http://data.europa.eu/eli/ontology#", + }, + "epos": { + "prefix_prefix": "epos", + "prefix_reference": "https://www.epos-eu.org/epos-dcat-ap#", + }, + "ex": {"prefix_prefix": "ex", "prefix_reference": "http://example.org/"}, + "foaf": { + "prefix_prefix": "foaf", + "prefix_reference": "http://xmlns.com/foaf/0.1/", + }, + "iana": { + "prefix_prefix": "iana", + "prefix_reference": "https://www.iana.org/assignments/", + }, + "linkml": { + "prefix_prefix": "linkml", + "prefix_reference": "https://w3id.org/linkml/", + }, + "locn": { + "prefix_prefix": "locn", + "prefix_reference": "http://www.w3.org/ns/locn#", + }, + "odrl": { + "prefix_prefix": "odrl", + "prefix_reference": "http://www.w3.org/ns/odrl/2/", + }, + "prov": { + "prefix_prefix": "prov", + "prefix_reference": "http://www.w3.org/ns/prov#", + }, + "qb": { + "prefix_prefix": "qb", + "prefix_reference": "http://purl.org/linked-data/cube#", + }, + "qudt": { + "prefix_prefix": "qudt", + "prefix_reference": "http://qudt.org/schema/qudt/", + }, + "rdf": { + "prefix_prefix": "rdf", + "prefix_reference": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + }, + "rdfs": { + "prefix_prefix": "rdfs", + "prefix_reference": "http://www.w3.org/2000/01/rdf-schema#", + }, + "schema": { + "prefix_prefix": "schema", + "prefix_reference": "http://schema.org/", + }, + "sh": { + "prefix_prefix": "sh", + "prefix_reference": "http://www.w3.org/ns/shacl#", + }, + "skos": { + "prefix_prefix": "skos", + "prefix_reference": "http://www.w3.org/2004/02/skos/core#", + }, + "spdx": { + "prefix_prefix": "spdx", + "prefix_reference": "http://spdx.org/rdf/terms#", + }, + "time": { + "prefix_prefix": "time", + "prefix_reference": "http://www.w3.org/2006/time#", + }, + "vcard": { + "prefix_prefix": "vcard", + "prefix_reference": "http://www.w3.org/2006/vcard/ns#", + }, + "vl": { + "prefix_prefix": "vl", + "prefix_reference": "https://purl.eu/ns/shacl#", + }, + "xsd": { + "prefix_prefix": "xsd", + "prefix_reference": "http://www.w3.org/2001/XMLSchema#", + }, + }, + "see_also": [ + "https://github.com/StroemPhi/dcat-4C-ap", + "https://github.com/HendrikBorgelt/DCAT-ap_as_LinkML_template/blob/main/src/dcatlinkml/schema/dcatlinkml.yaml", + "https://gitlab.com/opensourcelab/scientificdata/scidats/-/blob/feature/linkml-schemata/schemata/metadata_model_scidats_dcat_ap.yaml?ref_type=heads", + ], + "source_file": "src/dcat_ap_plus/schema/dcat_ap_plus.yaml", + "subsets": { + "domain_agnostic_core": { + "description": "The elements of this " + "subset are considered " + "the core layer of our " + "DCAT-AP extension.", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "name": "domain_agnostic_core", + } + }, + "title": "DCAT-AP-PLUS", + "todos": [ + "Think about how to add all the other enums and their permissible " + "values to constrain the allowed instances of classes such as " + '"Concept", "MediaType", etc. as defined in ' + "https://semiceu.github.io/DCAT-AP/releases/3.0.0/#controlled-vocs. " + "Using EnumBindings " + "(https://linkml.io/linkml-model/latest/docs/bindings/) seems best, " + "but does not yet work.", + "Check if https://github.com/linkml/linkml/issues/1813 is closed " + "and range unions are validatable", + ], + "types": { + "duration": { + "base": "str", + "conforms_to": "https://www.w3.org/TR/xmlschema11-2/#duration", + "description": "The datatype that represents durations of time.", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "name": "duration", + "pattern": "-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))", + "uri": "xsd:duration", + }, + "hexBinary": { + "base": "str", + "conforms_to": "https://www.w3.org/TR/xmlschema11-2/#hexBinary", + "description": "The datatype that represents " + "arbitrary hex-encoded binary data.", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "name": "hexBinary", + "pattern": "([0-9a-fA-F]{2})*", + "uri": "xsd:hexBinary", + }, + "nonNegativeInteger": { + "base": "int", + "conforms_to": "https://www.w3.org/TR/xmlschema11-2/#nonNegativeInteger", + "description": "The datatype that represents non-negative integers.", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "name": "nonNegativeInteger", + "pattern": "([\\-+]?[0-9]+)", + "uri": "xsd:nonNegativeInteger", + }, + }, + } +) + class DatasetThemes(str, Enum): AGRI = "AGRI" @@ -267,6 +332,7 @@ class QUDTQuantityKindEnum(str): """ Possible kinds of quantifiable attribute types provided as QUDT QualityKind instances. """ + pass @@ -274,3801 +340,6242 @@ class QUDTUnitEnum(str): """ Possible kinds of QUDT unit instances. """ - pass + pass class Agent(ConfiguredBaseModel): """ See [DCAT-AP specs:Agent](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Agent) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'foaf:Agent', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'name': {'description': 'A name of the agent.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'name', - 'range': 'string', - 'required': True, - 'slot_uri': 'foaf:name'}, - 'type': {'description': 'The nature of the agent.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'type', - 'range': 'Concept', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcterms:type'}}}) - - name: list[str] = Field(default=..., description="""A name of the agent.""", json_schema_extra = { "linkml_meta": {'alias': 'name', 'domain_of': ['Agent'], 'slot_uri': 'foaf:name'} }) - type: Optional[Concept] = Field(default=None, description="""The nature of the agent.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'recommended': True, - 'slot_uri': 'dcterms:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "foaf:Agent", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "name": { + "description": "A name of the agent.", + "inlined_as_list": True, + "multivalued": True, + "name": "name", + "range": "string", + "required": True, + "slot_uri": "foaf:name", + }, + "type": { + "description": "The nature of the agent.", + "inlined_as_list": True, + "multivalued": False, + "name": "type", + "range": "Concept", + "recommended": True, + "required": False, + "slot_uri": "dcterms:type", + }, + }, + } + ) + + name: list[str] = Field( + default=..., + description="""A name of the agent.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Agent"], "slot_uri": "foaf:name"} + }, + ) + type: Optional[Concept] = Field( + default=None, + description="""The nature of the agent.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "recommended": True, + "slot_uri": "dcterms:type", + } + }, + ) class Catalogue(ConfiguredBaseModel): """ See [DCAT-AP specs:Catalogue](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Catalogue) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcat:Catalog', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'applicable_legislation': {'description': 'The legislation ' - 'that mandates the ' - 'creation or ' - 'management of the ' - 'Catalog.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'applicable_legislation', - 'range': 'LegalResource', - 'required': False, - 'slot_uri': 'dcatap:applicableLegislation'}, - 'catalogue': {'description': 'A catalogue whose contents are ' - 'of interest in the context of ' - 'this catalogue.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'catalogue', - 'range': 'Catalogue', - 'required': False, - 'slot_uri': 'dcat:catalog'}, - 'creator': {'description': 'An entity responsible for the ' - 'creation of the catalogue.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'creator', - 'range': 'Agent', - 'required': False, - 'slot_uri': 'dcterms:creator'}, - 'description': {'description': 'A free-text account of the ' - 'Catalogue.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'description', - 'range': 'string', - 'required': True, - 'slot_uri': 'dcterms:description'}, - 'geographical_coverage': {'description': 'A geographical area ' - 'covered by the ' - 'Catalogue.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'geographical_coverage', - 'range': 'Location', - 'required': False, - 'slot_uri': 'dcterms:spatial'}, - 'has_dataset': {'description': 'A Dataset that is part of the ' - 'Catalogue.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'has_dataset', - 'range': 'Dataset', - 'required': False, - 'slot_uri': 'dcat:dataset'}, - 'has_part': {'description': 'A related Catalogue that is part ' - 'of the described Catalogue.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'has_part', - 'range': 'Catalogue', - 'required': False, - 'slot_uri': 'dcterms:hasPart'}, - 'homepage': {'description': 'A web page that acts as the main ' - 'page for the Catalogue.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'homepage', - 'range': 'Document', - 'recommended': True, - 'required': False, - 'slot_uri': 'foaf:homepage'}, - 'language': {'description': 'A language used in the textual ' - 'metadata describing titles, ' - 'descriptions, etc. of the ' - 'Datasets in the Catalogue.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'language', - 'range': 'LinguisticSystem', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcterms:language'}, - 'licence': {'description': 'A licence under which the ' - 'Catalogue can be used or reused.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'licence', - 'range': 'LicenseDocument', - 'required': False, - 'slot_uri': 'dcterms:license'}, - 'modification_date': {'description': 'The most recent date on ' - 'which the Catalogue was ' - 'modified.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'modification_date', - 'range': 'date', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcterms:modified'}, - 'publisher': {'description': 'An entity (organisation) ' - 'responsible for making the ' - 'Catalogue available.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'publisher', - 'range': 'Agent', - 'required': True, - 'slot_uri': 'dcterms:publisher'}, - 'record': {'description': 'A Catalogue Record that is part of ' - 'the Catalogue.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'record', - 'range': 'CatalogueRecord', - 'required': False, - 'slot_uri': 'dcat:record'}, - 'release_date': {'description': 'The date of formal issuance ' - '(e.g., publication) of the ' - 'Catalogue.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'release_date', - 'range': 'date', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcterms:issued'}, - 'rights': {'description': 'A statement that specifies rights ' - 'associated with the Catalogue.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'rights', - 'range': 'RightsStatement', - 'required': False, - 'slot_uri': 'dcterms:rights'}, - 'service': {'description': 'A site or end-point (Data Service) ' - 'that is listed in the Catalogue.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'service', - 'range': 'DataService', - 'required': False, - 'slot_uri': 'dcat:service'}, - 'temporal_coverage': {'description': 'A temporal period that ' - 'the Catalogue covers.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'temporal_coverage', - 'range': 'PeriodOfTime', - 'required': False, - 'slot_uri': 'dcterms:temporal'}, - 'themes': {'description': 'A knowledge organization system ' - 'used to classify the Resources that ' - 'are in the Catalogue.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'themes', - 'range': 'ConceptScheme', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:themeTaxonomy'}, - 'title': {'description': 'A name given to the Catalogue.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'title', - 'range': 'string', - 'required': True, - 'slot_uri': 'dcterms:title'}}}) - - applicable_legislation: Optional[list[LegalResource]] = Field(default=None, description="""The legislation that mandates the creation or management of the Catalog.""", json_schema_extra = { "linkml_meta": {'alias': 'applicable_legislation', - 'domain_of': ['Catalogue', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'slot_uri': 'dcatap:applicableLegislation'} }) - catalogue: Optional[list[Catalogue]] = Field(default=None, description="""A catalogue whose contents are of interest in the context of this catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'catalogue', 'domain_of': ['Catalogue'], 'slot_uri': 'dcat:catalog'} }) - creator: Optional[Agent] = Field(default=None, description="""An entity responsible for the creation of the catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'creator', - 'domain_of': ['Catalogue', 'Dataset'], - 'slot_uri': 'dcterms:creator'} }) - description: list[str] = Field(default=..., description="""A free-text account of the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - geographical_coverage: Optional[list[Location]] = Field(default=None, description="""A geographical area covered by the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'geographical_coverage', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:spatial'} }) - has_dataset: Optional[list[Dataset]] = Field(default=None, description="""A Dataset that is part of the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'has_dataset', 'domain_of': ['Catalogue'], 'slot_uri': 'dcat:dataset'} }) - has_part: Optional[list[Catalogue]] = Field(default=None, description="""A related Catalogue that is part of the described Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'has_part', - 'domain_of': ['Activity', 'AgenticEntity', 'Catalogue', 'Entity'], - 'slot_uri': 'dcterms:hasPart'} }) - homepage: Optional[Document] = Field(default=None, description="""A web page that acts as the main page for the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'homepage', - 'domain_of': ['Catalogue'], - 'recommended': True, - 'slot_uri': 'foaf:homepage'} }) - language: Optional[list[LinguisticSystem]] = Field(default=None, description="""A language used in the textual metadata describing titles, descriptions, etc. of the Datasets in the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'language', - 'domain_of': ['Catalogue', 'CatalogueRecord', 'Dataset', 'Distribution'], - 'recommended': True, - 'slot_uri': 'dcterms:language'} }) - licence: Optional[LicenseDocument] = Field(default=None, description="""A licence under which the Catalogue can be used or reused.""", json_schema_extra = { "linkml_meta": {'alias': 'licence', - 'domain_of': ['Catalogue', 'DataService', 'Distribution'], - 'slot_uri': 'dcterms:license'} }) - modification_date: Optional[date] = Field(default=None, description="""The most recent date on which the Catalogue was modified.""", json_schema_extra = { "linkml_meta": {'alias': 'modification_date', - 'domain_of': ['Catalogue', - 'CatalogueRecord', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'recommended': True, - 'slot_uri': 'dcterms:modified'} }) - publisher: Agent = Field(default=..., description="""An entity (organisation) responsible for making the Catalogue available.""", json_schema_extra = { "linkml_meta": {'alias': 'publisher', - 'domain_of': ['Catalogue', 'DataService', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:publisher'} }) - record: Optional[list[CatalogueRecord]] = Field(default=None, description="""A Catalogue Record that is part of the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'record', 'domain_of': ['Catalogue'], 'slot_uri': 'dcat:record'} }) - release_date: Optional[date] = Field(default=None, description="""The date of formal issuance (e.g., publication) of the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'release_date', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries', 'Distribution'], - 'recommended': True, - 'slot_uri': 'dcterms:issued'} }) - rights: Optional[RightsStatement] = Field(default=None, description="""A statement that specifies rights associated with the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'rights', - 'domain_of': ['Catalogue', 'Distribution'], - 'slot_uri': 'dcterms:rights'} }) - service: Optional[list[DataService]] = Field(default=None, description="""A site or end-point (Data Service) that is listed in the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'service', 'domain_of': ['Catalogue'], 'slot_uri': 'dcat:service'} }) - temporal_coverage: Optional[list[PeriodOfTime]] = Field(default=None, description="""A temporal period that the Catalogue covers.""", json_schema_extra = { "linkml_meta": {'alias': 'temporal_coverage', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:temporal'} }) - themes: Optional[list[ConceptScheme]] = Field(default=None, description="""A knowledge organization system used to classify the Resources that are in the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'themes', - 'domain_of': ['Catalogue'], - 'recommended': True, - 'slot_uri': 'dcat:themeTaxonomy'} }) - title: list[str] = Field(default=..., description="""A name given to the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcat:Catalog", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "applicable_legislation": { + "description": "The legislation " + "that mandates the " + "creation or " + "management of the " + "Catalog.", + "inlined_as_list": True, + "multivalued": True, + "name": "applicable_legislation", + "range": "LegalResource", + "required": False, + "slot_uri": "dcatap:applicableLegislation", + }, + "catalogue": { + "description": "A catalogue whose contents are " + "of interest in the context of " + "this catalogue.", + "inlined_as_list": True, + "multivalued": True, + "name": "catalogue", + "range": "Catalogue", + "required": False, + "slot_uri": "dcat:catalog", + }, + "creator": { + "description": "An entity responsible for the " + "creation of the catalogue.", + "inlined_as_list": True, + "multivalued": False, + "name": "creator", + "range": "Agent", + "required": False, + "slot_uri": "dcterms:creator", + }, + "description": { + "description": "A free-text account of the Catalogue.", + "inlined_as_list": True, + "multivalued": True, + "name": "description", + "range": "string", + "required": True, + "slot_uri": "dcterms:description", + }, + "geographical_coverage": { + "description": "A geographical area covered by the Catalogue.", + "inlined_as_list": True, + "multivalued": True, + "name": "geographical_coverage", + "range": "Location", + "required": False, + "slot_uri": "dcterms:spatial", + }, + "has_dataset": { + "description": "A Dataset that is part of the Catalogue.", + "inlined_as_list": True, + "multivalued": True, + "name": "has_dataset", + "range": "Dataset", + "required": False, + "slot_uri": "dcat:dataset", + }, + "has_part": { + "description": "A related Catalogue that is part " + "of the described Catalogue.", + "inlined_as_list": True, + "multivalued": True, + "name": "has_part", + "range": "Catalogue", + "required": False, + "slot_uri": "dcterms:hasPart", + }, + "homepage": { + "description": "A web page that acts as the main " + "page for the Catalogue.", + "inlined_as_list": True, + "multivalued": False, + "name": "homepage", + "range": "Document", + "recommended": True, + "required": False, + "slot_uri": "foaf:homepage", + }, + "language": { + "description": "A language used in the textual " + "metadata describing titles, " + "descriptions, etc. of the " + "Datasets in the Catalogue.", + "inlined_as_list": True, + "multivalued": True, + "name": "language", + "range": "LinguisticSystem", + "recommended": True, + "required": False, + "slot_uri": "dcterms:language", + }, + "licence": { + "description": "A licence under which the " + "Catalogue can be used or reused.", + "inlined_as_list": True, + "multivalued": False, + "name": "licence", + "range": "LicenseDocument", + "required": False, + "slot_uri": "dcterms:license", + }, + "modification_date": { + "description": "The most recent date on " + "which the Catalogue was " + "modified.", + "inlined_as_list": False, + "multivalued": False, + "name": "modification_date", + "range": "date", + "recommended": True, + "required": False, + "slot_uri": "dcterms:modified", + }, + "publisher": { + "description": "An entity (organisation) " + "responsible for making the " + "Catalogue available.", + "inlined_as_list": True, + "multivalued": False, + "name": "publisher", + "range": "Agent", + "required": True, + "slot_uri": "dcterms:publisher", + }, + "record": { + "description": "A Catalogue Record that is part of the Catalogue.", + "inlined_as_list": True, + "multivalued": True, + "name": "record", + "range": "CatalogueRecord", + "required": False, + "slot_uri": "dcat:record", + }, + "release_date": { + "description": "The date of formal issuance " + "(e.g., publication) of the " + "Catalogue.", + "inlined_as_list": False, + "multivalued": False, + "name": "release_date", + "range": "date", + "recommended": True, + "required": False, + "slot_uri": "dcterms:issued", + }, + "rights": { + "description": "A statement that specifies rights " + "associated with the Catalogue.", + "inlined_as_list": True, + "multivalued": False, + "name": "rights", + "range": "RightsStatement", + "required": False, + "slot_uri": "dcterms:rights", + }, + "service": { + "description": "A site or end-point (Data Service) " + "that is listed in the Catalogue.", + "inlined_as_list": True, + "multivalued": True, + "name": "service", + "range": "DataService", + "required": False, + "slot_uri": "dcat:service", + }, + "temporal_coverage": { + "description": "A temporal period that the Catalogue covers.", + "inlined_as_list": True, + "multivalued": True, + "name": "temporal_coverage", + "range": "PeriodOfTime", + "required": False, + "slot_uri": "dcterms:temporal", + }, + "themes": { + "description": "A knowledge organization system " + "used to classify the Resources that " + "are in the Catalogue.", + "inlined_as_list": True, + "multivalued": True, + "name": "themes", + "range": "ConceptScheme", + "recommended": True, + "required": False, + "slot_uri": "dcat:themeTaxonomy", + }, + "title": { + "description": "A name given to the Catalogue.", + "inlined_as_list": True, + "multivalued": True, + "name": "title", + "range": "string", + "required": True, + "slot_uri": "dcterms:title", + }, + }, + } + ) + + applicable_legislation: Optional[list[LegalResource]] = Field( + default=None, + description="""The legislation that mandates the creation or management of the Catalog.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "slot_uri": "dcatap:applicableLegislation", + } + }, + ) + catalogue: Optional[list[Catalogue]] = Field( + default=None, + description="""A catalogue whose contents are of interest in the context of this catalogue.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Catalogue"], "slot_uri": "dcat:catalog"} + }, + ) + creator: Optional[Agent] = Field( + default=None, + description="""An entity responsible for the creation of the catalogue.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset"], + "slot_uri": "dcterms:creator", + } + }, + ) + description: list[str] = Field( + default=..., + description="""A free-text account of the Catalogue.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + geographical_coverage: Optional[list[Location]] = Field( + default=None, + description="""A geographical area covered by the Catalogue.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:spatial", + } + }, + ) + has_dataset: Optional[list[Dataset]] = Field( + default=None, + description="""A Dataset that is part of the Catalogue.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Catalogue"], "slot_uri": "dcat:dataset"} + }, + ) + has_part: Optional[list[Catalogue]] = Field( + default=None, + description="""A related Catalogue that is part of the described Catalogue.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Catalogue", "Entity"], + "slot_uri": "dcterms:hasPart", + } + }, + ) + homepage: Optional[Document] = Field( + default=None, + description="""A web page that acts as the main page for the Catalogue.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue"], + "recommended": True, + "slot_uri": "foaf:homepage", + } + }, + ) + language: Optional[list[LinguisticSystem]] = Field( + default=None, + description="""A language used in the textual metadata describing titles, descriptions, etc. of the Datasets in the Catalogue.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "CatalogueRecord", + "Dataset", + "Distribution", + ], + "recommended": True, + "slot_uri": "dcterms:language", + } + }, + ) + licence: Optional[LicenseDocument] = Field( + default=None, + description="""A licence under which the Catalogue can be used or reused.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "DataService", "Distribution"], + "slot_uri": "dcterms:license", + } + }, + ) + modification_date: Optional[date] = Field( + default=None, + description="""The most recent date on which the Catalogue was modified.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "CatalogueRecord", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "recommended": True, + "slot_uri": "dcterms:modified", + } + }, + ) + publisher: Agent = Field( + default=..., + description="""An entity (organisation) responsible for making the Catalogue available.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "DataService", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:publisher", + } + }, + ) + record: Optional[list[CatalogueRecord]] = Field( + default=None, + description="""A Catalogue Record that is part of the Catalogue.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Catalogue"], "slot_uri": "dcat:record"} + }, + ) + release_date: Optional[date] = Field( + default=None, + description="""The date of formal issuance (e.g., publication) of the Catalogue.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries", "Distribution"], + "recommended": True, + "slot_uri": "dcterms:issued", + } + }, + ) + rights: Optional[RightsStatement] = Field( + default=None, + description="""A statement that specifies rights associated with the Catalogue.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Distribution"], + "slot_uri": "dcterms:rights", + } + }, + ) + service: Optional[list[DataService]] = Field( + default=None, + description="""A site or end-point (Data Service) that is listed in the Catalogue.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Catalogue"], "slot_uri": "dcat:service"} + }, + ) + temporal_coverage: Optional[list[PeriodOfTime]] = Field( + default=None, + description="""A temporal period that the Catalogue covers.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:temporal", + } + }, + ) + themes: Optional[list[ConceptScheme]] = Field( + default=None, + description="""A knowledge organization system used to classify the Resources that are in the Catalogue.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue"], + "recommended": True, + "slot_uri": "dcat:themeTaxonomy", + } + }, + ) + title: list[str] = Field( + default=..., + description="""A name given to the Catalogue.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) class CatalogueRecord(ConfiguredBaseModel): """ See [DCAT-AP specs:CatalogueRecord](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#CatalogueRecord) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcat:CatalogRecord', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'application_profile': {'description': 'An Application Profile ' - 'that the Catalogued ' - 'Resource's ' - 'metadata conforms to.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'application_profile', - 'range': 'Standard', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcterms:conformsTo'}, - 'change_type': {'description': 'The status of the catalogue ' - 'record in the context of ' - 'editorial flow of the dataset ' - 'and data service descriptions.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'change_type', - 'range': 'Concept', - 'recommended': True, - 'required': False, - 'slot_uri': 'adms:status'}, - 'description': {'description': 'A free-text account of the ' - 'record. This property can be ' - 'repeated for parallel language ' - 'versions of the description.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'description', - 'range': 'string', - 'required': False, - 'slot_uri': 'dcterms:description'}, - 'language': {'description': 'A language used in the textual ' - 'metadata describing titles, ' - 'descriptions, etc. of the ' - 'Catalogued Resource.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'language', - 'range': 'LinguisticSystem', - 'required': False, - 'slot_uri': 'dcterms:language'}, - 'listing_date': {'description': 'The date on which the ' - 'description of the Resource ' - 'was included in the ' - 'Catalogue.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'listing_date', - 'range': 'date', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcterms:issued'}, - 'modification_date': {'description': 'The most recent date on ' - 'which the Catalogue ' - 'entry was changed or ' - 'modified.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'modification_date', - 'range': 'date', - 'required': True, - 'slot_uri': 'dcterms:modified'}, - 'primary_topic': {'any_of': [{'range': 'Catalogue'}, - {'range': 'Dataset'}, - {'range': 'DatasetSeries'}, - {'range': 'DataService'}], - 'description': 'A link to the Dataset, Data ' - 'service or Catalog described ' - 'in the record.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'primary_topic', - 'range': 'Any', - 'required': True, - 'slot_uri': 'foaf:primaryTopic'}, - 'source_metadata': {'description': 'The original metadata that ' - 'was used in creating ' - 'metadata for the Dataset, ' - 'Data Service or Dataset ' - 'Series.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'source_metadata', - 'range': 'CatalogueRecord', - 'required': False, - 'slot_uri': 'dcterms:source'}, - 'title': {'description': 'A name given to the Catalogue ' - 'Record.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'title', - 'range': 'string', - 'required': False, - 'slot_uri': 'dcterms:title'}}}) - - application_profile: Optional[list[Standard]] = Field(default=None, description="""An Application Profile that the Catalogued Resource's metadata conforms to.""", json_schema_extra = { "linkml_meta": {'alias': 'application_profile', - 'domain_of': ['CatalogueRecord'], - 'recommended': True, - 'slot_uri': 'dcterms:conformsTo'} }) - change_type: Optional[Concept] = Field(default=None, description="""The status of the catalogue record in the context of editorial flow of the dataset and data service descriptions.""", json_schema_extra = { "linkml_meta": {'alias': 'change_type', - 'domain_of': ['CatalogueRecord'], - 'recommended': True, - 'slot_uri': 'adms:status'} }) - description: Optional[list[str]] = Field(default=None, description="""A free-text account of the record. This property can be repeated for parallel language versions of the description.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - language: Optional[list[LinguisticSystem]] = Field(default=None, description="""A language used in the textual metadata describing titles, descriptions, etc. of the Catalogued Resource.""", json_schema_extra = { "linkml_meta": {'alias': 'language', - 'domain_of': ['Catalogue', 'CatalogueRecord', 'Dataset', 'Distribution'], - 'slot_uri': 'dcterms:language'} }) - listing_date: Optional[date] = Field(default=None, description="""The date on which the description of the Resource was included in the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'listing_date', - 'domain_of': ['CatalogueRecord'], - 'recommended': True, - 'slot_uri': 'dcterms:issued'} }) - modification_date: date = Field(default=..., description="""The most recent date on which the Catalogue entry was changed or modified.""", json_schema_extra = { "linkml_meta": {'alias': 'modification_date', - 'domain_of': ['Catalogue', - 'CatalogueRecord', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'slot_uri': 'dcterms:modified'} }) - primary_topic: Union[Catalogue, DataService, DatasetSeries, str] = Field(default=..., description="""A link to the Dataset, Data service or Catalog described in the record.""", json_schema_extra = { "linkml_meta": {'alias': 'primary_topic', - 'any_of': [{'range': 'Catalogue'}, - {'range': 'Dataset'}, - {'range': 'DatasetSeries'}, - {'range': 'DataService'}], - 'domain_of': ['CatalogueRecord'], - 'slot_uri': 'foaf:primaryTopic'} }) - source_metadata: Optional[CatalogueRecord] = Field(default=None, description="""The original metadata that was used in creating metadata for the Dataset, Data Service or Dataset Series.""", json_schema_extra = { "linkml_meta": {'alias': 'source_metadata', - 'domain_of': ['CatalogueRecord'], - 'slot_uri': 'dcterms:source'} }) - title: Optional[list[str]] = Field(default=None, description="""A name given to the Catalogue Record.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcat:CatalogRecord", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "application_profile": { + "description": "An Application Profile " + "that the Catalogued " + "Resource's " + "metadata conforms to.", + "inlined_as_list": True, + "multivalued": True, + "name": "application_profile", + "range": "Standard", + "recommended": True, + "required": False, + "slot_uri": "dcterms:conformsTo", + }, + "change_type": { + "description": "The status of the catalogue " + "record in the context of " + "editorial flow of the dataset " + "and data service descriptions.", + "inlined_as_list": True, + "multivalued": False, + "name": "change_type", + "range": "Concept", + "recommended": True, + "required": False, + "slot_uri": "adms:status", + }, + "description": { + "description": "A free-text account of the " + "record. This property can be " + "repeated for parallel language " + "versions of the description.", + "inlined_as_list": True, + "multivalued": True, + "name": "description", + "range": "string", + "required": False, + "slot_uri": "dcterms:description", + }, + "language": { + "description": "A language used in the textual " + "metadata describing titles, " + "descriptions, etc. of the " + "Catalogued Resource.", + "inlined_as_list": True, + "multivalued": True, + "name": "language", + "range": "LinguisticSystem", + "required": False, + "slot_uri": "dcterms:language", + }, + "listing_date": { + "description": "The date on which the " + "description of the Resource " + "was included in the " + "Catalogue.", + "inlined_as_list": True, + "multivalued": False, + "name": "listing_date", + "range": "date", + "recommended": True, + "required": False, + "slot_uri": "dcterms:issued", + }, + "modification_date": { + "description": "The most recent date on " + "which the Catalogue " + "entry was changed or " + "modified.", + "inlined_as_list": False, + "multivalued": False, + "name": "modification_date", + "range": "date", + "required": True, + "slot_uri": "dcterms:modified", + }, + "primary_topic": { + "any_of": [ + {"range": "Catalogue"}, + {"range": "Dataset"}, + {"range": "DatasetSeries"}, + {"range": "DataService"}, + ], + "description": "A link to the Dataset, Data " + "service or Catalog described " + "in the record.", + "inlined_as_list": False, + "multivalued": False, + "name": "primary_topic", + "range": "Any", + "required": True, + "slot_uri": "foaf:primaryTopic", + }, + "source_metadata": { + "description": "The original metadata that " + "was used in creating " + "metadata for the Dataset, " + "Data Service or Dataset " + "Series.", + "inlined_as_list": True, + "multivalued": False, + "name": "source_metadata", + "range": "CatalogueRecord", + "required": False, + "slot_uri": "dcterms:source", + }, + "title": { + "description": "A name given to the Catalogue Record.", + "inlined_as_list": True, + "multivalued": True, + "name": "title", + "range": "string", + "required": False, + "slot_uri": "dcterms:title", + }, + }, + } + ) + + application_profile: Optional[list[Standard]] = Field( + default=None, + description="""An Application Profile that the Catalogued Resource's metadata conforms to.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["CatalogueRecord"], + "recommended": True, + "slot_uri": "dcterms:conformsTo", + } + }, + ) + change_type: Optional[Concept] = Field( + default=None, + description="""The status of the catalogue record in the context of editorial flow of the dataset and data service descriptions.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["CatalogueRecord"], + "recommended": True, + "slot_uri": "adms:status", + } + }, + ) + description: Optional[list[str]] = Field( + default=None, + description="""A free-text account of the record. This property can be repeated for parallel language versions of the description.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + language: Optional[list[LinguisticSystem]] = Field( + default=None, + description="""A language used in the textual metadata describing titles, descriptions, etc. of the Catalogued Resource.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "CatalogueRecord", + "Dataset", + "Distribution", + ], + "slot_uri": "dcterms:language", + } + }, + ) + listing_date: Optional[date] = Field( + default=None, + description="""The date on which the description of the Resource was included in the Catalogue.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["CatalogueRecord"], + "recommended": True, + "slot_uri": "dcterms:issued", + } + }, + ) + modification_date: date = Field( + default=..., + description="""The most recent date on which the Catalogue entry was changed or modified.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "CatalogueRecord", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "slot_uri": "dcterms:modified", + } + }, + ) + primary_topic: Union[Catalogue, DataService, DatasetSeries, str] = Field( + default=..., + description="""A link to the Dataset, Data service or Catalog described in the record.""", + json_schema_extra={ + "linkml_meta": { + "any_of": [ + {"range": "Catalogue"}, + {"range": "Dataset"}, + {"range": "DatasetSeries"}, + {"range": "DataService"}, + ], + "domain_of": ["CatalogueRecord"], + "slot_uri": "foaf:primaryTopic", + } + }, + ) + source_metadata: Optional[CatalogueRecord] = Field( + default=None, + description="""The original metadata that was used in creating metadata for the Dataset, Data Service or Dataset Series.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["CatalogueRecord"], + "slot_uri": "dcterms:source", + } + }, + ) + title: Optional[list[str]] = Field( + default=None, + description="""A name given to the Catalogue Record.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) class Checksum(ConfiguredBaseModel): """ See [DCAT-AP specs:Checksum](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Checksum) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'spdx:Checksum', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'algorithm': {'description': 'The algorithm used to produce ' - 'the subject Checksum.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'algorithm', - 'range': 'ChecksumAlgorithm', - 'required': True, - 'slot_uri': 'spdx:algorithm'}, - 'checksum_value': {'description': 'A lower case hexadecimal ' - 'encoded digest value ' - 'produced using a specific ' - 'algorithm.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'checksum_value', - 'range': 'hexBinary', - 'required': True, - 'slot_uri': 'spdx:checksumValue'}}}) - - algorithm: ChecksumAlgorithm = Field(default=..., description="""The algorithm used to produce the subject Checksum.""", json_schema_extra = { "linkml_meta": {'alias': 'algorithm', 'domain_of': ['Checksum'], 'slot_uri': 'spdx:algorithm'} }) - checksum_value: str = Field(default=..., description="""A lower case hexadecimal encoded digest value produced using a specific algorithm.""", json_schema_extra = { "linkml_meta": {'alias': 'checksum_value', - 'domain_of': ['Checksum'], - 'slot_uri': 'spdx:checksumValue'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "spdx:Checksum", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "algorithm": { + "description": "The algorithm used to produce " + "the subject Checksum.", + "inlined_as_list": True, + "multivalued": False, + "name": "algorithm", + "range": "ChecksumAlgorithm", + "required": True, + "slot_uri": "spdx:algorithm", + }, + "checksum_value": { + "description": "A lower case hexadecimal " + "encoded digest value " + "produced using a specific " + "algorithm.", + "inlined_as_list": True, + "multivalued": False, + "name": "checksum_value", + "range": "hexBinary", + "required": True, + "slot_uri": "spdx:checksumValue", + }, + }, + } + ) + + algorithm: ChecksumAlgorithm = Field( + default=..., + description="""The algorithm used to produce the subject Checksum.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Checksum"], "slot_uri": "spdx:algorithm"} + }, + ) + checksum_value: str = Field( + default=..., + description="""A lower case hexadecimal encoded digest value produced using a specific algorithm.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Checksum"], "slot_uri": "spdx:checksumValue"} + }, + ) class ClassifierMixin(ConfiguredBaseModel): """ A mixin with which an entity of this schema can be classified via an additional rdf:type or dcterms:type assertion. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'abstract': True, - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'mixin': True, - 'slot_usage': {'type': {'inlined': True, - 'name': 'type', - 'range': 'DefinedTerm'}}}) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "abstract": True, + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "mixin": True, + "slot_usage": { + "type": {"inlined": True, "name": "type", "range": "DefinedTerm"} + }, + } + ) + + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class Activity(ClassifierMixin): """ See [DCAT-AP specs:Activity](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Activity) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:Activity', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'mixins': ['ClassifierMixin'], - 'notes': ['The specified properties (slots) of this class are part of our ' - 'extension of the DCAT-AP.'], - 'slot_usage': {'carried_out_by': {'name': 'carried_out_by', - 'notes': ['not in DCAT-AP']}, - 'description': {'description': 'The slot to provide a ' - 'description for the Activity.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'description', - 'notes': ['not in DCAT-AP']}, - 'had_input_activity': {'name': 'had_input_activity', - 'notes': ['not in DCAT-AP']}, - 'had_input_entity': {'name': 'had_input_entity', - 'notes': ['not in DCAT-AP']}, - 'had_output_entity': {'name': 'had_output_entity', - 'notes': ['not in DCAT-AP']}, - 'has_part': {'description': 'The slot to provide an Activity ' - 'that is part of the Activity.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'has_part', - 'notes': ['not in DCAT-AP'], - 'range': 'Activity'}, - 'has_qualitative_attribute': {'name': 'has_qualitative_attribute', - 'notes': ['not in DCAT-AP']}, - 'has_quantitative_attribute': {'name': 'has_quantitative_attribute', - 'notes': ['not in DCAT-AP']}, - 'other_identifier': {'description': 'The slot to provide a ' - 'secondary identifier of ' - 'the Activity.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'other_identifier', - 'notes': ['not in DCAT-AP'], - 'range': 'Identifier'}, - 'part_of': {'description': 'The slot to provide an Activity of ' - 'which the Activity is a part.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'part_of', - 'notes': ['not in DCAT-AP'], - 'range': 'Activity'}, - 'title': {'description': 'The slot to provide a title for the ' - 'Activity.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'title', - 'notes': ['not in DCAT-AP']}}}) - - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[list[str]] = Field(default=None, description="""The slot to provide a title for the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[list[str]] = Field(default=None, description="""The slot to provide a description for the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:description'} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""The slot to provide a secondary identifier of the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'adms:identifier'} }) - has_part: Optional[list[Activity]] = Field(default=None, description="""The slot to provide an Activity that is part of the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'has_part', - 'domain_of': ['Activity', 'AgenticEntity', 'Catalogue', 'Entity'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:hasPart'} }) - had_input_entity: Optional[list[Entity]] = Field(default=None, description="""The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed.""", json_schema_extra = { "linkml_meta": {'alias': 'had_input_entity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:used'} }) - had_output_entity: Optional[list[Entity]] = Field(default=None, description="""The slot to specify the Entity that was generated as an output of an Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'had_output_entity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:generated'} }) - had_input_activity: Optional[list[Activity]] = Field(default=None, description="""The slot to provide a previous Activity that informed the Activity by being causally via a shared participant.""", json_schema_extra = { "linkml_meta": {'alias': 'had_input_activity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:wasInformedBy'} }) - carried_out_by: Optional[list[AgenticEntity]] = Field(default=None, description="""The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'carried_out_by', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:wasAssociatedWith'} }) - has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field(default=None, description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_qualitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field(default=None, description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_quantitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - part_of: Optional[list[Activity]] = Field(default=None, description="""The slot to provide an Activity of which the Activity is a part.""", json_schema_extra = { "linkml_meta": {'alias': 'part_of', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'inverse': 'has_part', - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:isPartOf'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:Activity", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "mixins": ["ClassifierMixin"], + "notes": [ + "The specified properties (slots) of this class are part of our " + "extension of the DCAT-AP." + ], + "slot_usage": { + "carried_out_by": { + "name": "carried_out_by", + "notes": ["not in DCAT-AP"], + }, + "description": { + "description": "The slot to provide a " + "description for the Activity.", + "inlined_as_list": True, + "multivalued": True, + "name": "description", + "notes": ["not in DCAT-AP"], + }, + "had_input_activity": { + "name": "had_input_activity", + "notes": ["not in DCAT-AP"], + }, + "had_input_entity": { + "name": "had_input_entity", + "notes": ["not in DCAT-AP"], + }, + "had_output_entity": { + "name": "had_output_entity", + "notes": ["not in DCAT-AP"], + }, + "has_part": { + "description": "The slot to provide an Activity " + "that is part of the Activity.", + "inlined_as_list": True, + "multivalued": True, + "name": "has_part", + "notes": ["not in DCAT-AP"], + "range": "Activity", + }, + "has_qualitative_attribute": { + "name": "has_qualitative_attribute", + "notes": ["not in DCAT-AP"], + }, + "has_quantitative_attribute": { + "name": "has_quantitative_attribute", + "notes": ["not in DCAT-AP"], + }, + "other_identifier": { + "description": "The slot to provide a " + "secondary identifier of " + "the Activity.", + "inlined_as_list": True, + "multivalued": True, + "name": "other_identifier", + "notes": ["not in DCAT-AP"], + "range": "Identifier", + }, + "part_of": { + "description": "The slot to provide an Activity of " + "which the Activity is a part.", + "inlined_as_list": True, + "multivalued": True, + "name": "part_of", + "notes": ["not in DCAT-AP"], + "range": "Activity", + }, + "title": { + "description": "The slot to provide a title for the Activity.", + "inlined_as_list": True, + "multivalued": True, + "name": "title", + "notes": ["not in DCAT-AP"], + }, + }, + } + ) + + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[list[str]] = Field( + default=None, + description="""The slot to provide a title for the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[list[str]] = Field( + default=None, + description="""The slot to provide a description for the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:description", + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""The slot to provide a secondary identifier of the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "notes": ["not in DCAT-AP"], + "slot_uri": "adms:identifier", + } + }, + ) + has_part: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide an Activity that is part of the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Catalogue", "Entity"], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:hasPart", + } + }, + ) + had_input_entity: Optional[list[Entity]] = Field( + default=None, + description="""The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:used", + } + }, + ) + had_output_entity: Optional[list[Entity]] = Field( + default=None, + description="""The slot to specify the Entity that was generated as an output of an Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:generated", + } + }, + ) + had_input_activity: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide a previous Activity that informed the Activity by being causally via a shared participant.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:wasInformedBy", + } + }, + ) + carried_out_by: Optional[list[AgenticEntity]] = Field( + default=None, + description="""The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:wasAssociatedWith", + } + }, + ) + has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field( + default=None, + description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field( + default=None, + description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + part_of: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide an Activity of which the Activity is a part.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "inverse": "has_part", + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:isPartOf", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class AgenticEntity(ClassifierMixin): """ An entity that is somehow responsible for an Activity to take place. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:Agent', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'mixins': ['ClassifierMixin'], - 'slot_usage': {'has_part': {'description': 'The slot to specify parts of an ' - 'AgenticEntity that are themselves ' - 'AgenticEntities.', - 'inlined': True, - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'has_part', - 'range': 'AgenticEntity'}, - 'other_identifier': {'description': 'A slot to provide a ' - 'secondary identifier for ' - 'an Instrument.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'other_identifier', - 'range': 'Identifier', - 'required': False}, - 'part_of': {'description': 'The slot to provide the ' - 'AgenticEntity of which ' - 'theAgenticEntity is a part.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'part_of', - 'notes': ['not in DCAT-AP'], - 'range': 'AgenticEntity'}}}) - - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""A slot to provide a secondary identifier for an Instrument.""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'slot_uri': 'adms:identifier'} }) - has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field(default=None, description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_qualitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field(default=None, description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_quantitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_part: Optional[list[AgenticEntity]] = Field(default=None, description="""The slot to specify parts of an AgenticEntity that are themselves AgenticEntities.""", json_schema_extra = { "linkml_meta": {'alias': 'has_part', - 'domain_of': ['Activity', 'AgenticEntity', 'Catalogue', 'Entity'], - 'slot_uri': 'dcterms:hasPart'} }) - part_of: Optional[list[AgenticEntity]] = Field(default=None, description="""The slot to provide the AgenticEntity of which theAgenticEntity is a part.""", json_schema_extra = { "linkml_meta": {'alias': 'part_of', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'inverse': 'has_part', - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:isPartOf'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:Agent", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "mixins": ["ClassifierMixin"], + "slot_usage": { + "has_part": { + "description": "The slot to specify parts of an " + "AgenticEntity that are themselves " + "AgenticEntities.", + "inlined": True, + "inlined_as_list": True, + "multivalued": True, + "name": "has_part", + "range": "AgenticEntity", + }, + "other_identifier": { + "description": "A slot to provide a " + "secondary identifier for " + "an Instrument.", + "inlined_as_list": True, + "multivalued": True, + "name": "other_identifier", + "range": "Identifier", + "required": False, + }, + "part_of": { + "description": "The slot to provide the " + "AgenticEntity of which " + "theAgenticEntity is a part.", + "inlined_as_list": True, + "multivalued": True, + "name": "part_of", + "notes": ["not in DCAT-AP"], + "range": "AgenticEntity", + }, + }, + } + ) + + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""A slot to provide a secondary identifier for an Instrument.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "slot_uri": "adms:identifier", + } + }, + ) + has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field( + default=None, + description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field( + default=None, + description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_part: Optional[list[AgenticEntity]] = Field( + default=None, + description="""The slot to specify parts of an AgenticEntity that are themselves AgenticEntities.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Catalogue", "Entity"], + "slot_uri": "dcterms:hasPart", + } + }, + ) + part_of: Optional[list[AgenticEntity]] = Field( + default=None, + description="""The slot to provide the AgenticEntity of which theAgenticEntity is a part.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "inverse": "has_part", + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:isPartOf", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class DataGeneratingActivity(Activity): """ An Activity (process) that has the objective to produce information (in form of a dataset) about another Activity or Entity. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:Activity', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core']}) - - evaluated_entity: Optional[list[EvaluatedEntity]] = Field(default=None, description="""The slot to specify the Entity about which the DataGeneratingActivity produced information.""", json_schema_extra = { "linkml_meta": {'alias': 'evaluated_entity', - 'domain_of': ['DataGeneratingActivity'], - 'in_subset': ['domain_agnostic_core'], - 'is_a': 'had_input_entity', - 'recommended': True, - 'slot_uri': 'prov:used'} }) - evaluated_activity: Optional[list[EvaluatedActivity]] = Field(default=None, description="""The slot to specify the Activity about which the DataGeneratingActivity produced information.""", json_schema_extra = { "linkml_meta": {'alias': 'evaluated_activity', - 'domain_of': ['DataGeneratingActivity'], - 'in_subset': ['domain_agnostic_core'], - 'is_a': 'had_input_activity', - 'recommended': True, - 'slot_uri': 'prov:wasInformedBy'} }) - realized_plan: Optional[Plan] = Field(default=None, description="""The slot to specify the Plan (i.e. directive information or procedure) that was realized by an Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'realized_plan', - 'domain_of': ['DataGeneratingActivity'], - 'in_subset': ['domain_agnostic_core'], - 'slot_uri': 'prov:used'} }) - occurred_in: Optional[Surrounding] = Field(default=None, description="""The slot to specify the Surrounding in which an Activity took place.""", json_schema_extra = { "linkml_meta": {'alias': 'occurred_in', - 'domain_of': ['DataGeneratingActivity'], - 'in_subset': ['domain_agnostic_core'], - 'slot_uri': 'prov:atLocation'} }) - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[list[str]] = Field(default=None, description="""The slot to provide a title for the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[list[str]] = Field(default=None, description="""The slot to provide a description for the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:description'} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""The slot to provide a secondary identifier of the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'adms:identifier'} }) - has_part: Optional[list[Activity]] = Field(default=None, description="""The slot to provide an Activity that is part of the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'has_part', - 'domain_of': ['Activity', 'AgenticEntity', 'Catalogue', 'Entity'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:hasPart'} }) - had_input_entity: Optional[list[Entity]] = Field(default=None, description="""The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed.""", json_schema_extra = { "linkml_meta": {'alias': 'had_input_entity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:used'} }) - had_output_entity: Optional[list[Entity]] = Field(default=None, description="""The slot to specify the Entity that was generated as an output of an Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'had_output_entity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:generated'} }) - had_input_activity: Optional[list[Activity]] = Field(default=None, description="""The slot to provide a previous Activity that informed the Activity by being causally via a shared participant.""", json_schema_extra = { "linkml_meta": {'alias': 'had_input_activity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:wasInformedBy'} }) - carried_out_by: Optional[list[AgenticEntity]] = Field(default=None, description="""The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'carried_out_by', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:wasAssociatedWith'} }) - has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field(default=None, description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_qualitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field(default=None, description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_quantitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - part_of: Optional[list[Activity]] = Field(default=None, description="""The slot to provide an Activity of which the Activity is a part.""", json_schema_extra = { "linkml_meta": {'alias': 'part_of', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'inverse': 'has_part', - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:isPartOf'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:Activity", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + } + ) + + evaluated_entity: Optional[list[EvaluatedEntity]] = Field( + default=None, + description="""The slot to specify the Entity about which the DataGeneratingActivity produced information.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataGeneratingActivity"], + "in_subset": ["domain_agnostic_core"], + "is_a": "had_input_entity", + "recommended": True, + "slot_uri": "prov:used", + } + }, + ) + evaluated_activity: Optional[list[EvaluatedActivity]] = Field( + default=None, + description="""The slot to specify the Activity about which the DataGeneratingActivity produced information.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataGeneratingActivity"], + "in_subset": ["domain_agnostic_core"], + "is_a": "had_input_activity", + "recommended": True, + "slot_uri": "prov:wasInformedBy", + } + }, + ) + realized_plan: Optional[Plan] = Field( + default=None, + description="""The slot to specify the Plan (i.e. directive information or procedure) that was realized by an Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataGeneratingActivity"], + "in_subset": ["domain_agnostic_core"], + "slot_uri": "prov:used", + } + }, + ) + occurred_in: Optional[Surrounding] = Field( + default=None, + description="""The slot to specify the Surrounding in which an Activity took place.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataGeneratingActivity"], + "in_subset": ["domain_agnostic_core"], + "slot_uri": "prov:atLocation", + } + }, + ) + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[list[str]] = Field( + default=None, + description="""The slot to provide a title for the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[list[str]] = Field( + default=None, + description="""The slot to provide a description for the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:description", + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""The slot to provide a secondary identifier of the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "notes": ["not in DCAT-AP"], + "slot_uri": "adms:identifier", + } + }, + ) + has_part: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide an Activity that is part of the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Catalogue", "Entity"], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:hasPart", + } + }, + ) + had_input_entity: Optional[list[Entity]] = Field( + default=None, + description="""The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:used", + } + }, + ) + had_output_entity: Optional[list[Entity]] = Field( + default=None, + description="""The slot to specify the Entity that was generated as an output of an Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:generated", + } + }, + ) + had_input_activity: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide a previous Activity that informed the Activity by being causally via a shared participant.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:wasInformedBy", + } + }, + ) + carried_out_by: Optional[list[AgenticEntity]] = Field( + default=None, + description="""The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:wasAssociatedWith", + } + }, + ) + has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field( + default=None, + description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field( + default=None, + description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + part_of: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide an Activity of which the Activity is a part.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "inverse": "has_part", + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:isPartOf", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class DataAnalysis(DataGeneratingActivity): """ An Activity that evaluates the data produced by another Activity. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:Activity', - 'close_mappings': ['NCIT:C25391'], - 'exact_mappings': ['OBI:0200000'], - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'slot_usage': {'evaluated_entity': {'description': 'A slot to provide the ' - 'data that was analysed by ' - 'the DataAnalysis.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'evaluated_entity', - 'range': 'AnalysisSourceData'}}}) - - evaluated_entity: Optional[list[AnalysisSourceData]] = Field(default=None, description="""A slot to provide the data that was analysed by the DataAnalysis.""", json_schema_extra = { "linkml_meta": {'alias': 'evaluated_entity', - 'domain_of': ['DataGeneratingActivity'], - 'in_subset': ['domain_agnostic_core'], - 'is_a': 'had_input_entity', - 'recommended': True, - 'slot_uri': 'prov:used'} }) - evaluated_activity: Optional[list[EvaluatedActivity]] = Field(default=None, description="""The slot to specify the Activity about which the DataGeneratingActivity produced information.""", json_schema_extra = { "linkml_meta": {'alias': 'evaluated_activity', - 'domain_of': ['DataGeneratingActivity'], - 'in_subset': ['domain_agnostic_core'], - 'is_a': 'had_input_activity', - 'recommended': True, - 'slot_uri': 'prov:wasInformedBy'} }) - realized_plan: Optional[Plan] = Field(default=None, description="""The slot to specify the Plan (i.e. directive information or procedure) that was realized by an Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'realized_plan', - 'domain_of': ['DataGeneratingActivity'], - 'in_subset': ['domain_agnostic_core'], - 'slot_uri': 'prov:used'} }) - occurred_in: Optional[Surrounding] = Field(default=None, description="""The slot to specify the Surrounding in which an Activity took place.""", json_schema_extra = { "linkml_meta": {'alias': 'occurred_in', - 'domain_of': ['DataGeneratingActivity'], - 'in_subset': ['domain_agnostic_core'], - 'slot_uri': 'prov:atLocation'} }) - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[list[str]] = Field(default=None, description="""The slot to provide a title for the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[list[str]] = Field(default=None, description="""The slot to provide a description for the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:description'} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""The slot to provide a secondary identifier of the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'adms:identifier'} }) - has_part: Optional[list[Activity]] = Field(default=None, description="""The slot to provide an Activity that is part of the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'has_part', - 'domain_of': ['Activity', 'AgenticEntity', 'Catalogue', 'Entity'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:hasPart'} }) - had_input_entity: Optional[list[Entity]] = Field(default=None, description="""The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed.""", json_schema_extra = { "linkml_meta": {'alias': 'had_input_entity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:used'} }) - had_output_entity: Optional[list[Entity]] = Field(default=None, description="""The slot to specify the Entity that was generated as an output of an Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'had_output_entity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:generated'} }) - had_input_activity: Optional[list[Activity]] = Field(default=None, description="""The slot to provide a previous Activity that informed the Activity by being causally via a shared participant.""", json_schema_extra = { "linkml_meta": {'alias': 'had_input_activity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:wasInformedBy'} }) - carried_out_by: Optional[list[AgenticEntity]] = Field(default=None, description="""The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'carried_out_by', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:wasAssociatedWith'} }) - has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field(default=None, description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_qualitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field(default=None, description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_quantitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - part_of: Optional[list[Activity]] = Field(default=None, description="""The slot to provide an Activity of which the Activity is a part.""", json_schema_extra = { "linkml_meta": {'alias': 'part_of', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'inverse': 'has_part', - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:isPartOf'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:Activity", + "close_mappings": ["NCIT:C25391"], + "exact_mappings": ["OBI:0200000"], + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "slot_usage": { + "evaluated_entity": { + "description": "A slot to provide the " + "data that was analysed by " + "the DataAnalysis.", + "inlined_as_list": True, + "multivalued": True, + "name": "evaluated_entity", + "range": "AnalysisSourceData", + } + }, + } + ) + + evaluated_entity: Optional[list[AnalysisSourceData]] = Field( + default=None, + description="""A slot to provide the data that was analysed by the DataAnalysis.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataGeneratingActivity"], + "in_subset": ["domain_agnostic_core"], + "is_a": "had_input_entity", + "recommended": True, + "slot_uri": "prov:used", + } + }, + ) + evaluated_activity: Optional[list[EvaluatedActivity]] = Field( + default=None, + description="""The slot to specify the Activity about which the DataGeneratingActivity produced information.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataGeneratingActivity"], + "in_subset": ["domain_agnostic_core"], + "is_a": "had_input_activity", + "recommended": True, + "slot_uri": "prov:wasInformedBy", + } + }, + ) + realized_plan: Optional[Plan] = Field( + default=None, + description="""The slot to specify the Plan (i.e. directive information or procedure) that was realized by an Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataGeneratingActivity"], + "in_subset": ["domain_agnostic_core"], + "slot_uri": "prov:used", + } + }, + ) + occurred_in: Optional[Surrounding] = Field( + default=None, + description="""The slot to specify the Surrounding in which an Activity took place.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataGeneratingActivity"], + "in_subset": ["domain_agnostic_core"], + "slot_uri": "prov:atLocation", + } + }, + ) + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[list[str]] = Field( + default=None, + description="""The slot to provide a title for the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[list[str]] = Field( + default=None, + description="""The slot to provide a description for the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:description", + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""The slot to provide a secondary identifier of the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "notes": ["not in DCAT-AP"], + "slot_uri": "adms:identifier", + } + }, + ) + has_part: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide an Activity that is part of the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Catalogue", "Entity"], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:hasPart", + } + }, + ) + had_input_entity: Optional[list[Entity]] = Field( + default=None, + description="""The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:used", + } + }, + ) + had_output_entity: Optional[list[Entity]] = Field( + default=None, + description="""The slot to specify the Entity that was generated as an output of an Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:generated", + } + }, + ) + had_input_activity: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide a previous Activity that informed the Activity by being causally via a shared participant.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:wasInformedBy", + } + }, + ) + carried_out_by: Optional[list[AgenticEntity]] = Field( + default=None, + description="""The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:wasAssociatedWith", + } + }, + ) + has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field( + default=None, + description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field( + default=None, + description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + part_of: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide an Activity of which the Activity is a part.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "inverse": "has_part", + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:isPartOf", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class DataService(ConfiguredBaseModel): """ See [DCAT-AP specs:DataService](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#DataService) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcat:DataService', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'access_rights': {'description': 'Information regarding access ' - 'or restrictions based on ' - 'privacy, security, or other ' - 'policies.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'access_rights', - 'range': 'RightsStatement', - 'required': False, - 'slot_uri': 'dcterms:accessRights'}, - 'applicable_legislation': {'description': 'The legislation ' - 'that mandates the ' - 'creation or ' - 'management of the ' - 'Data Service.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'applicable_legislation', - 'range': 'LegalResource', - 'required': False, - 'slot_uri': 'dcatap:applicableLegislation'}, - 'conforms_to': {'description': 'An established (technical) ' - 'standard to which the Data ' - 'Service conforms.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'conforms_to', - 'range': 'Standard', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcterms:conformsTo'}, - 'contact_point': {'description': 'Contact information that can ' - 'be used for sending comments ' - 'about the Data Service.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'contact_point', - 'range': 'Kind', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:contactPoint'}, - 'description': {'description': 'A free-text account of the ' - 'Data Service.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'description', - 'range': 'string', - 'required': False, - 'slot_uri': 'dcterms:description'}, - 'documentation': {'description': 'A page or document about ' - 'this Data Service', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'documentation', - 'range': 'Document', - 'required': False, - 'slot_uri': 'foaf:page'}, - 'endpoint_URL': {'description': 'The root location or primary ' - 'endpoint of the service (an ' - 'IRI).', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'endpoint_URL', - 'range': 'Resource', - 'required': True, - 'slot_uri': 'dcat:endpointURL'}, - 'endpoint_description': {'description': 'A description of the ' - 'services available ' - 'via the end-points, ' - 'including their ' - 'operations, ' - 'parameters etc.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'endpoint_description', - 'range': 'Resource', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:endpointDescription'}, - 'format': {'description': 'The structure that can be returned ' - 'by querying the endpointURL.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'format', - 'range': 'MediaTypeOrExtent', - 'required': False, - 'slot_uri': 'dcterms:format'}, - 'keyword': {'description': 'A keyword or tag describing the ' - 'Data Service.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'keyword', - 'range': 'string', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:keyword'}, - 'landing_page': {'description': 'A web page that provides ' - 'access to the Data Service ' - 'and/or additional ' - 'information.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'landing_page', - 'range': 'Document', - 'required': False, - 'slot_uri': 'dcat:landingPage'}, - 'licence': {'description': 'A licence under which the Data ' - 'service is made available.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'licence', - 'range': 'LicenseDocument', - 'required': False, - 'slot_uri': 'dcterms:license'}, - 'publisher': {'description': 'An entity (organisation) ' - 'responsible for making the Data ' - 'Service available.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'publisher', - 'range': 'Agent', - 'required': False, - 'slot_uri': 'dcterms:publisher'}, - 'serves_dataset': {'description': 'This property refers to a ' - 'collection of data that ' - 'this data service can ' - 'distribute.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'serves_dataset', - 'range': 'Dataset', - 'required': False, - 'slot_uri': 'dcat:servesDataset'}, - 'theme': {'description': 'A category of the Data Service.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'theme', - 'range': 'Concept', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:theme'}, - 'title': {'description': 'A name given to the Data Service.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'title', - 'range': 'string', - 'required': True, - 'slot_uri': 'dcterms:title'}}}) - - access_rights: Optional[RightsStatement] = Field(default=None, description="""Information regarding access or restrictions based on privacy, security, or other policies.""", json_schema_extra = { "linkml_meta": {'alias': 'access_rights', - 'domain_of': ['DataService', 'Dataset'], - 'slot_uri': 'dcterms:accessRights'} }) - applicable_legislation: Optional[list[LegalResource]] = Field(default=None, description="""The legislation that mandates the creation or management of the Data Service.""", json_schema_extra = { "linkml_meta": {'alias': 'applicable_legislation', - 'domain_of': ['Catalogue', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'slot_uri': 'dcatap:applicableLegislation'} }) - conforms_to: Optional[list[Standard]] = Field(default=None, description="""An established (technical) standard to which the Data Service conforms.""", json_schema_extra = { "linkml_meta": {'alias': 'conforms_to', - 'domain_of': ['DataService', 'Dataset'], - 'recommended': True, - 'slot_uri': 'dcterms:conformsTo'} }) - contact_point: Optional[list[Kind]] = Field(default=None, description="""Contact information that can be used for sending comments about the Data Service.""", json_schema_extra = { "linkml_meta": {'alias': 'contact_point', - 'domain_of': ['DataService', 'Dataset', 'DatasetSeries'], - 'recommended': True, - 'slot_uri': 'dcat:contactPoint'} }) - description: Optional[list[str]] = Field(default=None, description="""A free-text account of the Data Service.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - documentation: Optional[list[Document]] = Field(default=None, description="""A page or document about this Data Service""", json_schema_extra = { "linkml_meta": {'alias': 'documentation', - 'domain_of': ['DataService', 'Dataset', 'Distribution'], - 'slot_uri': 'foaf:page'} }) - endpoint_URL: list[Resource] = Field(default=..., description="""The root location or primary endpoint of the service (an IRI).""", json_schema_extra = { "linkml_meta": {'alias': 'endpoint_URL', - 'domain_of': ['DataService'], - 'slot_uri': 'dcat:endpointURL'} }) - endpoint_description: Optional[list[Resource]] = Field(default=None, description="""A description of the services available via the end-points, including their operations, parameters etc.""", json_schema_extra = { "linkml_meta": {'alias': 'endpoint_description', - 'domain_of': ['DataService'], - 'recommended': True, - 'slot_uri': 'dcat:endpointDescription'} }) - format: Optional[list[MediaTypeOrExtent]] = Field(default=None, description="""The structure that can be returned by querying the endpointURL.""", json_schema_extra = { "linkml_meta": {'alias': 'format', - 'domain_of': ['DataService', 'Distribution'], - 'slot_uri': 'dcterms:format'} }) - keyword: Optional[list[str]] = Field(default=None, description="""A keyword or tag describing the Data Service.""", json_schema_extra = { "linkml_meta": {'alias': 'keyword', - 'domain_of': ['DataService', 'Dataset'], - 'recommended': True, - 'slot_uri': 'dcat:keyword'} }) - landing_page: Optional[list[Document]] = Field(default=None, description="""A web page that provides access to the Data Service and/or additional information.""", json_schema_extra = { "linkml_meta": {'alias': 'landing_page', - 'domain_of': ['DataService', 'Dataset'], - 'slot_uri': 'dcat:landingPage'} }) - licence: Optional[LicenseDocument] = Field(default=None, description="""A licence under which the Data service is made available.""", json_schema_extra = { "linkml_meta": {'alias': 'licence', - 'domain_of': ['Catalogue', 'DataService', 'Distribution'], - 'slot_uri': 'dcterms:license'} }) - publisher: Optional[Agent] = Field(default=None, description="""An entity (organisation) responsible for making the Data Service available.""", json_schema_extra = { "linkml_meta": {'alias': 'publisher', - 'domain_of': ['Catalogue', 'DataService', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:publisher'} }) - serves_dataset: Optional[list[Dataset]] = Field(default=None, description="""This property refers to a collection of data that this data service can distribute.""", json_schema_extra = { "linkml_meta": {'alias': 'serves_dataset', - 'domain_of': ['DataService'], - 'slot_uri': 'dcat:servesDataset'} }) - theme: Optional[list[Concept]] = Field(default=None, description="""A category of the Data Service.""", json_schema_extra = { "linkml_meta": {'alias': 'theme', - 'domain_of': ['DataService', 'Dataset'], - 'recommended': True, - 'slot_uri': 'dcat:theme'} }) - title: list[str] = Field(default=..., description="""A name given to the Data Service.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcat:DataService", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "access_rights": { + "description": "Information regarding access " + "or restrictions based on " + "privacy, security, or other " + "policies.", + "inlined_as_list": True, + "multivalued": False, + "name": "access_rights", + "range": "RightsStatement", + "required": False, + "slot_uri": "dcterms:accessRights", + }, + "applicable_legislation": { + "description": "The legislation " + "that mandates the " + "creation or " + "management of the " + "Data Service.", + "inlined_as_list": True, + "multivalued": True, + "name": "applicable_legislation", + "range": "LegalResource", + "required": False, + "slot_uri": "dcatap:applicableLegislation", + }, + "conforms_to": { + "description": "An established (technical) " + "standard to which the Data " + "Service conforms.", + "inlined_as_list": True, + "multivalued": True, + "name": "conforms_to", + "range": "Standard", + "recommended": True, + "required": False, + "slot_uri": "dcterms:conformsTo", + }, + "contact_point": { + "description": "Contact information that can " + "be used for sending comments " + "about the Data Service.", + "inlined_as_list": True, + "multivalued": True, + "name": "contact_point", + "range": "Kind", + "recommended": True, + "required": False, + "slot_uri": "dcat:contactPoint", + }, + "description": { + "description": "A free-text account of the Data Service.", + "inlined_as_list": True, + "multivalued": True, + "name": "description", + "range": "string", + "required": False, + "slot_uri": "dcterms:description", + }, + "documentation": { + "description": "A page or document about this Data Service", + "inlined_as_list": True, + "multivalued": True, + "name": "documentation", + "range": "Document", + "required": False, + "slot_uri": "foaf:page", + }, + "endpoint_URL": { + "description": "The root location or primary " + "endpoint of the service (an " + "IRI).", + "inlined_as_list": True, + "multivalued": True, + "name": "endpoint_URL", + "range": "Resource", + "required": True, + "slot_uri": "dcat:endpointURL", + }, + "endpoint_description": { + "description": "A description of the " + "services available " + "via the end-points, " + "including their " + "operations, " + "parameters etc.", + "inlined_as_list": True, + "multivalued": True, + "name": "endpoint_description", + "range": "Resource", + "recommended": True, + "required": False, + "slot_uri": "dcat:endpointDescription", + }, + "format": { + "description": "The structure that can be returned " + "by querying the endpointURL.", + "inlined_as_list": True, + "multivalued": True, + "name": "format", + "range": "MediaTypeOrExtent", + "required": False, + "slot_uri": "dcterms:format", + }, + "keyword": { + "description": "A keyword or tag describing the Data Service.", + "inlined_as_list": True, + "multivalued": True, + "name": "keyword", + "range": "string", + "recommended": True, + "required": False, + "slot_uri": "dcat:keyword", + }, + "landing_page": { + "description": "A web page that provides " + "access to the Data Service " + "and/or additional " + "information.", + "inlined_as_list": True, + "multivalued": True, + "name": "landing_page", + "range": "Document", + "required": False, + "slot_uri": "dcat:landingPage", + }, + "licence": { + "description": "A licence under which the Data " + "service is made available.", + "inlined_as_list": True, + "multivalued": False, + "name": "licence", + "range": "LicenseDocument", + "required": False, + "slot_uri": "dcterms:license", + }, + "publisher": { + "description": "An entity (organisation) " + "responsible for making the Data " + "Service available.", + "inlined_as_list": True, + "multivalued": False, + "name": "publisher", + "range": "Agent", + "required": False, + "slot_uri": "dcterms:publisher", + }, + "serves_dataset": { + "description": "This property refers to a " + "collection of data that " + "this data service can " + "distribute.", + "inlined_as_list": True, + "multivalued": True, + "name": "serves_dataset", + "range": "Dataset", + "required": False, + "slot_uri": "dcat:servesDataset", + }, + "theme": { + "description": "A category of the Data Service.", + "inlined_as_list": True, + "multivalued": True, + "name": "theme", + "range": "Concept", + "recommended": True, + "required": False, + "slot_uri": "dcat:theme", + }, + "title": { + "description": "A name given to the Data Service.", + "inlined_as_list": True, + "multivalued": True, + "name": "title", + "range": "string", + "required": True, + "slot_uri": "dcterms:title", + }, + }, + } + ) + + access_rights: Optional[RightsStatement] = Field( + default=None, + description="""Information regarding access or restrictions based on privacy, security, or other policies.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "slot_uri": "dcterms:accessRights", + } + }, + ) + applicable_legislation: Optional[list[LegalResource]] = Field( + default=None, + description="""The legislation that mandates the creation or management of the Data Service.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "slot_uri": "dcatap:applicableLegislation", + } + }, + ) + conforms_to: Optional[list[Standard]] = Field( + default=None, + description="""An established (technical) standard to which the Data Service conforms.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "recommended": True, + "slot_uri": "dcterms:conformsTo", + } + }, + ) + contact_point: Optional[list[Kind]] = Field( + default=None, + description="""Contact information that can be used for sending comments about the Data Service.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset", "DatasetSeries"], + "recommended": True, + "slot_uri": "dcat:contactPoint", + } + }, + ) + description: Optional[list[str]] = Field( + default=None, + description="""A free-text account of the Data Service.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + documentation: Optional[list[Document]] = Field( + default=None, + description="""A page or document about this Data Service""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset", "Distribution"], + "slot_uri": "foaf:page", + } + }, + ) + endpoint_URL: list[Resource] = Field( + default=..., + description="""The root location or primary endpoint of the service (an IRI).""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService"], + "slot_uri": "dcat:endpointURL", + } + }, + ) + endpoint_description: Optional[list[Resource]] = Field( + default=None, + description="""A description of the services available via the end-points, including their operations, parameters etc.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService"], + "recommended": True, + "slot_uri": "dcat:endpointDescription", + } + }, + ) + format: Optional[list[MediaTypeOrExtent]] = Field( + default=None, + description="""The structure that can be returned by querying the endpointURL.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Distribution"], + "slot_uri": "dcterms:format", + } + }, + ) + keyword: Optional[list[str]] = Field( + default=None, + description="""A keyword or tag describing the Data Service.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "recommended": True, + "slot_uri": "dcat:keyword", + } + }, + ) + landing_page: Optional[list[Document]] = Field( + default=None, + description="""A web page that provides access to the Data Service and/or additional information.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "slot_uri": "dcat:landingPage", + } + }, + ) + licence: Optional[LicenseDocument] = Field( + default=None, + description="""A licence under which the Data service is made available.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "DataService", "Distribution"], + "slot_uri": "dcterms:license", + } + }, + ) + publisher: Optional[Agent] = Field( + default=None, + description="""An entity (organisation) responsible for making the Data Service available.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "DataService", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:publisher", + } + }, + ) + serves_dataset: Optional[list[Dataset]] = Field( + default=None, + description="""This property refers to a collection of data that this data service can distribute.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService"], + "slot_uri": "dcat:servesDataset", + } + }, + ) + theme: Optional[list[Concept]] = Field( + default=None, + description="""A category of the Data Service.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "recommended": True, + "slot_uri": "dcat:theme", + } + }, + ) + title: list[str] = Field( + default=..., + description="""A name given to the Data Service.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) class Dataset(ConfiguredBaseModel): """ A collection of data, published or curated by a single agent, and available for access or download in one or more representations. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcat:Dataset', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'slot_usage': {'access_rights': {'description': 'Information that indicates ' - 'whether the Dataset is ' - 'publicly accessible, has ' - 'access restrictions or is ' - 'not public.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'access_rights', - 'range': 'RightsStatement', - 'required': False, - 'slot_uri': 'dcterms:accessRights'}, - 'applicable_legislation': {'description': 'The legislation ' - 'that mandates the ' - 'creation or ' - 'management of the ' - 'Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'applicable_legislation', - 'range': 'LegalResource', - 'required': False, - 'slot_uri': 'dcatap:applicableLegislation'}, - 'conforms_to': {'description': 'An implementing rule or other ' - 'specification.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'conforms_to', - 'range': 'Standard', - 'required': False, - 'slot_uri': 'dcterms:conformsTo'}, - 'contact_point': {'description': 'Contact information that can ' - 'be used for sending comments ' - 'about the Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'contact_point', - 'range': 'Kind', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:contactPoint'}, - 'creator': {'description': 'An entity responsible for ' - 'producing the dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'creator', - 'range': 'Agent', - 'required': False, - 'slot_uri': 'dcterms:creator'}, - 'dataset_distribution': {'description': 'An available ' - 'Distribution for the ' - 'Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'dataset_distribution', - 'range': 'Distribution', - 'required': False, - 'slot_uri': 'dcat:distribution'}, - 'description': {'description': 'A free-text account of the ' - 'Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'description', - 'range': 'string', - 'required': True, - 'slot_uri': 'dcterms:description'}, - 'documentation': {'description': 'A page or document about ' - 'this Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'documentation', - 'range': 'Document', - 'required': False, - 'slot_uri': 'foaf:page'}, - 'frequency': {'description': 'The frequency at which the ' - 'Dataset is updated.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'frequency', - 'range': 'Frequency', - 'required': False, - 'slot_uri': 'dcterms:accrualPeriodicity'}, - 'geographical_coverage': {'description': 'A geographic region ' - 'that is covered by ' - 'the Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'geographical_coverage', - 'range': 'Location', - 'required': False, - 'slot_uri': 'dcterms:spatial'}, - 'has_version': {'description': 'A related Dataset that is a ' - 'version, edition, or ' - 'adaptation of the described ' - 'Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'has_version', - 'range': 'Dataset', - 'required': False, - 'slot_uri': 'dcat:hasVersion'}, - 'identifier': {'description': 'The main identifier for the ' - 'Dataset, e.g. the URI or other ' - 'unique identifier in the ' - 'context of the Catalogue.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'identifier', - 'range': 'string', - 'required': False, - 'slot_uri': 'dcterms:identifier'}, - 'in_series': {'description': 'A dataset series of which the ' - 'dataset is part.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'in_series', - 'range': 'DatasetSeries', - 'required': False, - 'slot_uri': 'dcat:inSeries'}, - 'is_referenced_by': {'description': 'A related resource, such ' - 'as a publication, that ' - 'references, cites, or ' - 'otherwise points to the ' - 'dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'is_referenced_by', - 'range': 'Resource', - 'required': False, - 'slot_uri': 'dcterms:isReferencedBy'}, - 'keyword': {'description': 'A keyword or tag describing the ' - 'Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'keyword', - 'range': 'string', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:keyword'}, - 'landing_page': {'description': 'A web page that provides ' - 'access to the Dataset, its ' - 'Distributions and/or ' - 'additional information.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'landing_page', - 'range': 'Document', - 'required': False, - 'slot_uri': 'dcat:landingPage'}, - 'language': {'description': 'A language of the Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'language', - 'range': 'LinguisticSystem', - 'required': False, - 'slot_uri': 'dcterms:language'}, - 'modification_date': {'description': 'The most recent date on ' - 'which the Dataset was ' - 'changed or modified.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'modification_date', - 'range': 'date', - 'required': False, - 'slot_uri': 'dcterms:modified'}, - 'other_identifier': {'description': 'A secondary identifier of ' - 'the Dataset', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'other_identifier', - 'range': 'Identifier', - 'required': False, - 'slot_uri': 'adms:identifier'}, - 'provenance': {'description': 'A statement about the lineage ' - 'of a Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'provenance', - 'range': 'ProvenanceStatement', - 'required': False, - 'slot_uri': 'dcterms:provenance'}, - 'publisher': {'description': 'An entity (organisation) ' - 'responsible for making the ' - 'Dataset available.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'publisher', - 'range': 'Agent', - 'required': False, - 'slot_uri': 'dcterms:publisher'}, - 'qualified_attribution': {'description': 'An Agent having some ' - 'form of ' - 'responsibility for ' - 'the resource.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'qualified_attribution', - 'range': 'Attribution', - 'required': False, - 'slot_uri': 'prov:qualifiedAttribution'}, - 'qualified_relation': {'description': 'A description of a ' - 'relationship with ' - 'another resource.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'qualified_relation', - 'range': 'Relationship', - 'required': False, - 'slot_uri': 'dcat:qualifiedRelation'}, - 'related_resource': {'description': 'A related resource.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'related_resource', - 'range': 'Resource', - 'required': False, - 'slot_uri': 'dcterms:relation'}, - 'release_date': {'description': 'The date of formal issuance ' - '(e.g., publication) of the ' - 'Dataset.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'release_date', - 'range': 'date', - 'required': False, - 'slot_uri': 'dcterms:issued'}, - 'sample': {'description': 'A sample distribution of the ' - 'dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'sample', - 'range': 'Distribution', - 'required': False, - 'slot_uri': 'adms:sample'}, - 'source': {'description': 'A related Dataset from which the ' - 'described Dataset is derived.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'source', - 'range': 'Dataset', - 'required': False, - 'slot_uri': 'dcterms:source'}, - 'spatial_resolution': {'description': 'The minimum spatial ' - 'separation resolvable ' - 'in a dataset, measured ' - 'in meters.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'spatial_resolution', - 'range': 'decimal', - 'required': False, - 'slot_uri': 'dcat:spatialResolutionInMeters'}, - 'temporal_coverage': {'description': 'A temporal period that ' - 'the Dataset covers.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'temporal_coverage', - 'range': 'PeriodOfTime', - 'required': False, - 'slot_uri': 'dcterms:temporal'}, - 'temporal_resolution': {'description': 'The minimum time ' - 'period resolvable in ' - 'the dataset.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'temporal_resolution', - 'range': 'duration', - 'required': False, - 'slot_uri': 'dcat:temporalResolution'}, - 'theme': {'description': 'A category of the Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'theme', - 'range': 'Concept', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:theme'}, - 'title': {'description': 'A name given to the Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'title', - 'range': 'string', - 'required': True, - 'slot_uri': 'dcterms:title'}, - 'type': {'description': 'A type of the Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'type', - 'range': 'Concept', - 'required': False, - 'slot_uri': 'dcterms:type'}, - 'version': {'description': 'The version indicator (name or ' - 'identifier) of a resource.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'version', - 'range': 'string', - 'required': False, - 'slot_uri': 'dcat:version'}, - 'version_notes': {'description': 'A description of the ' - 'differences between this ' - 'version and a previous ' - 'version of the Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'version_notes', - 'range': 'string', - 'required': False, - 'slot_uri': 'adms:versionNotes'}, - 'was_generated_by': {'description': 'An activity that ' - 'generated, or provides ' - 'the business context for, ' - 'the creation of the ' - 'dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'was_generated_by', - 'notes': ['stricter than DCAT-AP'], - 'range': 'DataGeneratingActivity', - 'required': True, - 'slot_uri': 'prov:wasGeneratedBy'}}}) - - access_rights: Optional[RightsStatement] = Field(default=None, description="""Information that indicates whether the Dataset is publicly accessible, has access restrictions or is not public.""", json_schema_extra = { "linkml_meta": {'alias': 'access_rights', - 'domain_of': ['DataService', 'Dataset'], - 'slot_uri': 'dcterms:accessRights'} }) - applicable_legislation: Optional[list[LegalResource]] = Field(default=None, description="""The legislation that mandates the creation or management of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'applicable_legislation', - 'domain_of': ['Catalogue', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'slot_uri': 'dcatap:applicableLegislation'} }) - conforms_to: Optional[list[Standard]] = Field(default=None, description="""An implementing rule or other specification.""", json_schema_extra = { "linkml_meta": {'alias': 'conforms_to', - 'domain_of': ['DataService', 'Dataset'], - 'slot_uri': 'dcterms:conformsTo'} }) - contact_point: Optional[list[Kind]] = Field(default=None, description="""Contact information that can be used for sending comments about the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'contact_point', - 'domain_of': ['DataService', 'Dataset', 'DatasetSeries'], - 'recommended': True, - 'slot_uri': 'dcat:contactPoint'} }) - creator: Optional[list[Agent]] = Field(default=None, description="""An entity responsible for producing the dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'creator', - 'domain_of': ['Catalogue', 'Dataset'], - 'slot_uri': 'dcterms:creator'} }) - dataset_distribution: Optional[list[Distribution]] = Field(default=None, description="""An available Distribution for the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'dataset_distribution', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcat:distribution'} }) - description: list[str] = Field(default=..., description="""A free-text account of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - documentation: Optional[list[Document]] = Field(default=None, description="""A page or document about this Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'documentation', - 'domain_of': ['DataService', 'Dataset', 'Distribution'], - 'slot_uri': 'foaf:page'} }) - frequency: Optional[Frequency] = Field(default=None, description="""The frequency at which the Dataset is updated.""", json_schema_extra = { "linkml_meta": {'alias': 'frequency', - 'domain_of': ['Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:accrualPeriodicity'} }) - geographical_coverage: Optional[list[Location]] = Field(default=None, description="""A geographic region that is covered by the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'geographical_coverage', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:spatial'} }) - has_version: Optional[list[Dataset]] = Field(default=None, description="""A related Dataset that is a version, edition, or adaptation of the described Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'has_version', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcat:hasVersion'} }) - identifier: Optional[list[str]] = Field(default=None, description="""The main identifier for the Dataset, e.g. the URI or other unique identifier in the context of the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'identifier', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcterms:identifier'} }) - in_series: Optional[list[DatasetSeries]] = Field(default=None, description="""A dataset series of which the dataset is part.""", json_schema_extra = { "linkml_meta": {'alias': 'in_series', 'domain_of': ['Dataset'], 'slot_uri': 'dcat:inSeries'} }) - is_referenced_by: Optional[list[Resource]] = Field(default=None, description="""A related resource, such as a publication, that references, cites, or otherwise points to the dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'is_referenced_by', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcterms:isReferencedBy'} }) - keyword: Optional[list[str]] = Field(default=None, description="""A keyword or tag describing the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'keyword', - 'domain_of': ['DataService', 'Dataset'], - 'recommended': True, - 'slot_uri': 'dcat:keyword'} }) - landing_page: Optional[list[Document]] = Field(default=None, description="""A web page that provides access to the Dataset, its Distributions and/or additional information.""", json_schema_extra = { "linkml_meta": {'alias': 'landing_page', - 'domain_of': ['DataService', 'Dataset'], - 'slot_uri': 'dcat:landingPage'} }) - language: Optional[list[LinguisticSystem]] = Field(default=None, description="""A language of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'language', - 'domain_of': ['Catalogue', 'CatalogueRecord', 'Dataset', 'Distribution'], - 'slot_uri': 'dcterms:language'} }) - modification_date: Optional[date] = Field(default=None, description="""The most recent date on which the Dataset was changed or modified.""", json_schema_extra = { "linkml_meta": {'alias': 'modification_date', - 'domain_of': ['Catalogue', - 'CatalogueRecord', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'slot_uri': 'dcterms:modified'} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""A secondary identifier of the Dataset""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'slot_uri': 'adms:identifier'} }) - provenance: Optional[list[ProvenanceStatement]] = Field(default=None, description="""A statement about the lineage of a Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'provenance', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcterms:provenance'} }) - publisher: Optional[Agent] = Field(default=None, description="""An entity (organisation) responsible for making the Dataset available.""", json_schema_extra = { "linkml_meta": {'alias': 'publisher', - 'domain_of': ['Catalogue', 'DataService', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:publisher'} }) - qualified_attribution: Optional[list[Attribution]] = Field(default=None, description="""An Agent having some form of responsibility for the resource.""", json_schema_extra = { "linkml_meta": {'alias': 'qualified_attribution', - 'domain_of': ['Dataset'], - 'slot_uri': 'prov:qualifiedAttribution'} }) - qualified_relation: Optional[list[Relationship]] = Field(default=None, description="""A description of a relationship with another resource.""", json_schema_extra = { "linkml_meta": {'alias': 'qualified_relation', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcat:qualifiedRelation'} }) - related_resource: Optional[list[Resource]] = Field(default=None, description="""A related resource.""", json_schema_extra = { "linkml_meta": {'alias': 'related_resource', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcterms:relation'} }) - release_date: Optional[date] = Field(default=None, description="""The date of formal issuance (e.g., publication) of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'release_date', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries', 'Distribution'], - 'slot_uri': 'dcterms:issued'} }) - sample: Optional[list[Distribution]] = Field(default=None, description="""A sample distribution of the dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'sample', 'domain_of': ['Dataset'], 'slot_uri': 'adms:sample'} }) - source: Optional[list[Dataset]] = Field(default=None, description="""A related Dataset from which the described Dataset is derived.""", json_schema_extra = { "linkml_meta": {'alias': 'source', 'domain_of': ['Dataset'], 'slot_uri': 'dcterms:source'} }) - spatial_resolution: Optional[Decimal] = Field(default=None, description="""The minimum spatial separation resolvable in a dataset, measured in meters.""", json_schema_extra = { "linkml_meta": {'alias': 'spatial_resolution', - 'domain_of': ['Dataset', 'Distribution'], - 'slot_uri': 'dcat:spatialResolutionInMeters'} }) - temporal_coverage: Optional[list[PeriodOfTime]] = Field(default=None, description="""A temporal period that the Dataset covers.""", json_schema_extra = { "linkml_meta": {'alias': 'temporal_coverage', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:temporal'} }) - temporal_resolution: Optional[str] = Field(default=None, description="""The minimum time period resolvable in the dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'temporal_resolution', - 'domain_of': ['Dataset', 'Distribution'], - 'slot_uri': 'dcat:temporalResolution'} }) - theme: Optional[list[Concept]] = Field(default=None, description="""A category of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'theme', - 'domain_of': ['DataService', 'Dataset'], - 'recommended': True, - 'slot_uri': 'dcat:theme'} }) - title: list[str] = Field(default=..., description="""A name given to the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - type: Optional[list[Concept]] = Field(default=None, description="""A type of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - version: Optional[str] = Field(default=None, description="""The version indicator (name or identifier) of a resource.""", json_schema_extra = { "linkml_meta": {'alias': 'version', 'domain_of': ['Dataset'], 'slot_uri': 'dcat:version'} }) - version_notes: Optional[list[str]] = Field(default=None, description="""A description of the differences between this version and a previous version of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'version_notes', - 'domain_of': ['Dataset'], - 'slot_uri': 'adms:versionNotes'} }) - was_generated_by: list[DataGeneratingActivity] = Field(default=..., description="""An activity that generated, or provides the business context for, the creation of the dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'was_generated_by', - 'domain_of': ['Dataset', 'EvaluatedEntity'], - 'notes': ['stricter than DCAT-AP'], - 'slot_uri': 'prov:wasGeneratedBy'} }) - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - is_about_entity: Optional[list[EvaluatedEntity]] = Field(default=None, description="""A slot to provide the EvaluatedEntity a Dataset is about.""", json_schema_extra = { "linkml_meta": {'alias': 'is_about_entity', - 'domain_of': ['Dataset'], - 'exact_mappings': ['IAO:0000136'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:subject'} }) - is_about_activity: Optional[list[EvaluatedActivity]] = Field(default=None, description="""A slot to provide the EvaluatedActivity a Dataset is about.""", json_schema_extra = { "linkml_meta": {'alias': 'is_about_activity', - 'domain_of': ['Dataset'], - 'exact_mappings': ['IAO:0000136'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:subject'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcat:Dataset", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "slot_usage": { + "access_rights": { + "description": "Information that indicates " + "whether the Dataset is " + "publicly accessible, has " + "access restrictions or is " + "not public.", + "inlined_as_list": True, + "multivalued": False, + "name": "access_rights", + "range": "RightsStatement", + "required": False, + "slot_uri": "dcterms:accessRights", + }, + "applicable_legislation": { + "description": "The legislation " + "that mandates the " + "creation or " + "management of the " + "Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "applicable_legislation", + "range": "LegalResource", + "required": False, + "slot_uri": "dcatap:applicableLegislation", + }, + "conforms_to": { + "description": "An implementing rule or other specification.", + "inlined_as_list": True, + "multivalued": True, + "name": "conforms_to", + "range": "Standard", + "required": False, + "slot_uri": "dcterms:conformsTo", + }, + "contact_point": { + "description": "Contact information that can " + "be used for sending comments " + "about the Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "contact_point", + "range": "Kind", + "recommended": True, + "required": False, + "slot_uri": "dcat:contactPoint", + }, + "creator": { + "description": "An entity responsible for producing the dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "creator", + "range": "Agent", + "required": False, + "slot_uri": "dcterms:creator", + }, + "dataset_distribution": { + "description": "An available Distribution for the Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "dataset_distribution", + "range": "Distribution", + "required": False, + "slot_uri": "dcat:distribution", + }, + "description": { + "description": "A free-text account of the Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "description", + "range": "string", + "required": True, + "slot_uri": "dcterms:description", + }, + "documentation": { + "description": "A page or document about this Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "documentation", + "range": "Document", + "required": False, + "slot_uri": "foaf:page", + }, + "frequency": { + "description": "The frequency at which the Dataset is updated.", + "inlined_as_list": False, + "multivalued": False, + "name": "frequency", + "range": "Frequency", + "required": False, + "slot_uri": "dcterms:accrualPeriodicity", + }, + "geographical_coverage": { + "description": "A geographic region " + "that is covered by " + "the Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "geographical_coverage", + "range": "Location", + "required": False, + "slot_uri": "dcterms:spatial", + }, + "has_version": { + "description": "A related Dataset that is a " + "version, edition, or " + "adaptation of the described " + "Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "has_version", + "range": "Dataset", + "required": False, + "slot_uri": "dcat:hasVersion", + }, + "identifier": { + "description": "The main identifier for the " + "Dataset, e.g. the URI or other " + "unique identifier in the " + "context of the Catalogue.", + "inlined_as_list": True, + "multivalued": True, + "name": "identifier", + "range": "string", + "required": False, + "slot_uri": "dcterms:identifier", + }, + "in_series": { + "description": "A dataset series of which the dataset is part.", + "inlined_as_list": True, + "multivalued": True, + "name": "in_series", + "range": "DatasetSeries", + "required": False, + "slot_uri": "dcat:inSeries", + }, + "is_referenced_by": { + "description": "A related resource, such " + "as a publication, that " + "references, cites, or " + "otherwise points to the " + "dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "is_referenced_by", + "range": "Resource", + "required": False, + "slot_uri": "dcterms:isReferencedBy", + }, + "keyword": { + "description": "A keyword or tag describing the Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "keyword", + "range": "string", + "recommended": True, + "required": False, + "slot_uri": "dcat:keyword", + }, + "landing_page": { + "description": "A web page that provides " + "access to the Dataset, its " + "Distributions and/or " + "additional information.", + "inlined_as_list": True, + "multivalued": True, + "name": "landing_page", + "range": "Document", + "required": False, + "slot_uri": "dcat:landingPage", + }, + "language": { + "description": "A language of the Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "language", + "range": "LinguisticSystem", + "required": False, + "slot_uri": "dcterms:language", + }, + "modification_date": { + "description": "The most recent date on " + "which the Dataset was " + "changed or modified.", + "inlined_as_list": False, + "multivalued": False, + "name": "modification_date", + "range": "date", + "required": False, + "slot_uri": "dcterms:modified", + }, + "other_identifier": { + "description": "A secondary identifier of the Dataset", + "inlined_as_list": True, + "multivalued": True, + "name": "other_identifier", + "range": "Identifier", + "required": False, + "slot_uri": "adms:identifier", + }, + "provenance": { + "description": "A statement about the lineage of a Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "provenance", + "range": "ProvenanceStatement", + "required": False, + "slot_uri": "dcterms:provenance", + }, + "publisher": { + "description": "An entity (organisation) " + "responsible for making the " + "Dataset available.", + "inlined_as_list": True, + "multivalued": False, + "name": "publisher", + "range": "Agent", + "required": False, + "slot_uri": "dcterms:publisher", + }, + "qualified_attribution": { + "description": "An Agent having some " + "form of " + "responsibility for " + "the resource.", + "inlined_as_list": True, + "multivalued": True, + "name": "qualified_attribution", + "range": "Attribution", + "required": False, + "slot_uri": "prov:qualifiedAttribution", + }, + "qualified_relation": { + "description": "A description of a " + "relationship with " + "another resource.", + "inlined_as_list": True, + "multivalued": True, + "name": "qualified_relation", + "range": "Relationship", + "required": False, + "slot_uri": "dcat:qualifiedRelation", + }, + "related_resource": { + "description": "A related resource.", + "inlined_as_list": True, + "multivalued": True, + "name": "related_resource", + "range": "Resource", + "required": False, + "slot_uri": "dcterms:relation", + }, + "release_date": { + "description": "The date of formal issuance " + "(e.g., publication) of the " + "Dataset.", + "inlined_as_list": False, + "multivalued": False, + "name": "release_date", + "range": "date", + "required": False, + "slot_uri": "dcterms:issued", + }, + "sample": { + "description": "A sample distribution of the dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "sample", + "range": "Distribution", + "required": False, + "slot_uri": "adms:sample", + }, + "source": { + "description": "A related Dataset from which the " + "described Dataset is derived.", + "inlined_as_list": True, + "multivalued": True, + "name": "source", + "range": "Dataset", + "required": False, + "slot_uri": "dcterms:source", + }, + "spatial_resolution": { + "description": "The minimum spatial " + "separation resolvable " + "in a dataset, measured " + "in meters.", + "inlined_as_list": False, + "multivalued": False, + "name": "spatial_resolution", + "range": "decimal", + "required": False, + "slot_uri": "dcat:spatialResolutionInMeters", + }, + "temporal_coverage": { + "description": "A temporal period that the Dataset covers.", + "inlined_as_list": True, + "multivalued": True, + "name": "temporal_coverage", + "range": "PeriodOfTime", + "required": False, + "slot_uri": "dcterms:temporal", + }, + "temporal_resolution": { + "description": "The minimum time period resolvable in the dataset.", + "inlined_as_list": True, + "multivalued": False, + "name": "temporal_resolution", + "range": "duration", + "required": False, + "slot_uri": "dcat:temporalResolution", + }, + "theme": { + "description": "A category of the Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "theme", + "range": "Concept", + "recommended": True, + "required": False, + "slot_uri": "dcat:theme", + }, + "title": { + "description": "A name given to the Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "title", + "range": "string", + "required": True, + "slot_uri": "dcterms:title", + }, + "type": { + "description": "A type of the Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "type", + "range": "Concept", + "required": False, + "slot_uri": "dcterms:type", + }, + "version": { + "description": "The version indicator (name or " + "identifier) of a resource.", + "inlined_as_list": True, + "multivalued": False, + "name": "version", + "range": "string", + "required": False, + "slot_uri": "dcat:version", + }, + "version_notes": { + "description": "A description of the " + "differences between this " + "version and a previous " + "version of the Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "version_notes", + "range": "string", + "required": False, + "slot_uri": "adms:versionNotes", + }, + "was_generated_by": { + "description": "An activity that " + "generated, or provides " + "the business context for, " + "the creation of the " + "dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "was_generated_by", + "notes": ["stricter than DCAT-AP"], + "range": "DataGeneratingActivity", + "required": True, + "slot_uri": "prov:wasGeneratedBy", + }, + }, + } + ) + + access_rights: Optional[RightsStatement] = Field( + default=None, + description="""Information that indicates whether the Dataset is publicly accessible, has access restrictions or is not public.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "slot_uri": "dcterms:accessRights", + } + }, + ) + applicable_legislation: Optional[list[LegalResource]] = Field( + default=None, + description="""The legislation that mandates the creation or management of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "slot_uri": "dcatap:applicableLegislation", + } + }, + ) + conforms_to: Optional[list[Standard]] = Field( + default=None, + description="""An implementing rule or other specification.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "slot_uri": "dcterms:conformsTo", + } + }, + ) + contact_point: Optional[list[Kind]] = Field( + default=None, + description="""Contact information that can be used for sending comments about the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset", "DatasetSeries"], + "recommended": True, + "slot_uri": "dcat:contactPoint", + } + }, + ) + creator: Optional[list[Agent]] = Field( + default=None, + description="""An entity responsible for producing the dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset"], + "slot_uri": "dcterms:creator", + } + }, + ) + dataset_distribution: Optional[list[Distribution]] = Field( + default=None, + description="""An available Distribution for the Dataset.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcat:distribution"} + }, + ) + description: list[str] = Field( + default=..., + description="""A free-text account of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + documentation: Optional[list[Document]] = Field( + default=None, + description="""A page or document about this Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset", "Distribution"], + "slot_uri": "foaf:page", + } + }, + ) + frequency: Optional[Frequency] = Field( + default=None, + description="""The frequency at which the Dataset is updated.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "DatasetSeries"], + "slot_uri": "dcterms:accrualPeriodicity", + } + }, + ) + geographical_coverage: Optional[list[Location]] = Field( + default=None, + description="""A geographic region that is covered by the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:spatial", + } + }, + ) + has_version: Optional[list[Dataset]] = Field( + default=None, + description="""A related Dataset that is a version, edition, or adaptation of the described Dataset.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcat:hasVersion"} + }, + ) + identifier: Optional[list[str]] = Field( + default=None, + description="""The main identifier for the Dataset, e.g. the URI or other unique identifier in the context of the Catalogue.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcterms:identifier"} + }, + ) + in_series: Optional[list[DatasetSeries]] = Field( + default=None, + description="""A dataset series of which the dataset is part.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcat:inSeries"} + }, + ) + is_referenced_by: Optional[list[Resource]] = Field( + default=None, + description="""A related resource, such as a publication, that references, cites, or otherwise points to the dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset"], + "slot_uri": "dcterms:isReferencedBy", + } + }, + ) + keyword: Optional[list[str]] = Field( + default=None, + description="""A keyword or tag describing the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "recommended": True, + "slot_uri": "dcat:keyword", + } + }, + ) + landing_page: Optional[list[Document]] = Field( + default=None, + description="""A web page that provides access to the Dataset, its Distributions and/or additional information.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "slot_uri": "dcat:landingPage", + } + }, + ) + language: Optional[list[LinguisticSystem]] = Field( + default=None, + description="""A language of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "CatalogueRecord", + "Dataset", + "Distribution", + ], + "slot_uri": "dcterms:language", + } + }, + ) + modification_date: Optional[date] = Field( + default=None, + description="""The most recent date on which the Dataset was changed or modified.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "CatalogueRecord", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "slot_uri": "dcterms:modified", + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""A secondary identifier of the Dataset""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "slot_uri": "adms:identifier", + } + }, + ) + provenance: Optional[list[ProvenanceStatement]] = Field( + default=None, + description="""A statement about the lineage of a Dataset.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcterms:provenance"} + }, + ) + publisher: Optional[Agent] = Field( + default=None, + description="""An entity (organisation) responsible for making the Dataset available.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "DataService", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:publisher", + } + }, + ) + qualified_attribution: Optional[list[Attribution]] = Field( + default=None, + description="""An Agent having some form of responsibility for the resource.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset"], + "slot_uri": "prov:qualifiedAttribution", + } + }, + ) + qualified_relation: Optional[list[Relationship]] = Field( + default=None, + description="""A description of a relationship with another resource.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset"], + "slot_uri": "dcat:qualifiedRelation", + } + }, + ) + related_resource: Optional[list[Resource]] = Field( + default=None, + description="""A related resource.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcterms:relation"} + }, + ) + release_date: Optional[date] = Field( + default=None, + description="""The date of formal issuance (e.g., publication) of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries", "Distribution"], + "slot_uri": "dcterms:issued", + } + }, + ) + sample: Optional[list[Distribution]] = Field( + default=None, + description="""A sample distribution of the dataset.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "adms:sample"} + }, + ) + source: Optional[list[Dataset]] = Field( + default=None, + description="""A related Dataset from which the described Dataset is derived.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcterms:source"} + }, + ) + spatial_resolution: Optional[Decimal] = Field( + default=None, + description="""The minimum spatial separation resolvable in a dataset, measured in meters.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "Distribution"], + "slot_uri": "dcat:spatialResolutionInMeters", + } + }, + ) + temporal_coverage: Optional[list[PeriodOfTime]] = Field( + default=None, + description="""A temporal period that the Dataset covers.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:temporal", + } + }, + ) + temporal_resolution: Optional[str] = Field( + default=None, + description="""The minimum time period resolvable in the dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "Distribution"], + "slot_uri": "dcat:temporalResolution", + } + }, + ) + theme: Optional[list[Concept]] = Field( + default=None, + description="""A category of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "recommended": True, + "slot_uri": "dcat:theme", + } + }, + ) + title: list[str] = Field( + default=..., + description="""A name given to the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + type: Optional[list[Concept]] = Field( + default=None, + description="""A type of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + version: Optional[str] = Field( + default=None, + description="""The version indicator (name or identifier) of a resource.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcat:version"} + }, + ) + version_notes: Optional[list[str]] = Field( + default=None, + description="""A description of the differences between this version and a previous version of the Dataset.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "adms:versionNotes"} + }, + ) + was_generated_by: list[DataGeneratingActivity] = Field( + default=..., + description="""An activity that generated, or provides the business context for, the creation of the dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "EvaluatedEntity"], + "notes": ["stricter than DCAT-AP"], + "slot_uri": "prov:wasGeneratedBy", + } + }, + ) + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + is_about_entity: Optional[list[EvaluatedEntity]] = Field( + default=None, + description="""A slot to provide the EvaluatedEntity a Dataset is about.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset"], + "exact_mappings": ["IAO:0000136"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:subject", + } + }, + ) + is_about_activity: Optional[list[EvaluatedActivity]] = Field( + default=None, + description="""A slot to provide the EvaluatedActivity a Dataset is about.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset"], + "exact_mappings": ["IAO:0000136"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:subject", + } + }, + ) class AnalysisDataset(Dataset): """ A Dataset that was generated by an analysis of some previously generated data. For example, a dataset that contains the data of an assignment of a chemical structure to a sample based on the spectral data obtained from the sample is an AnalyticalDataset. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcat:Dataset', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'slot_usage': {'was_generated_by': {'inlined_as_list': True, - 'multivalued': True, - 'name': 'was_generated_by', - 'range': 'DataAnalysis'}}}) - - access_rights: Optional[RightsStatement] = Field(default=None, description="""Information that indicates whether the Dataset is publicly accessible, has access restrictions or is not public.""", json_schema_extra = { "linkml_meta": {'alias': 'access_rights', - 'domain_of': ['DataService', 'Dataset'], - 'slot_uri': 'dcterms:accessRights'} }) - applicable_legislation: Optional[list[LegalResource]] = Field(default=None, description="""The legislation that mandates the creation or management of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'applicable_legislation', - 'domain_of': ['Catalogue', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'slot_uri': 'dcatap:applicableLegislation'} }) - conforms_to: Optional[list[Standard]] = Field(default=None, description="""An implementing rule or other specification.""", json_schema_extra = { "linkml_meta": {'alias': 'conforms_to', - 'domain_of': ['DataService', 'Dataset'], - 'slot_uri': 'dcterms:conformsTo'} }) - contact_point: Optional[list[Kind]] = Field(default=None, description="""Contact information that can be used for sending comments about the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'contact_point', - 'domain_of': ['DataService', 'Dataset', 'DatasetSeries'], - 'recommended': True, - 'slot_uri': 'dcat:contactPoint'} }) - creator: Optional[list[Agent]] = Field(default=None, description="""An entity responsible for producing the dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'creator', - 'domain_of': ['Catalogue', 'Dataset'], - 'slot_uri': 'dcterms:creator'} }) - dataset_distribution: Optional[list[Distribution]] = Field(default=None, description="""An available Distribution for the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'dataset_distribution', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcat:distribution'} }) - description: list[str] = Field(default=..., description="""A free-text account of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - documentation: Optional[list[Document]] = Field(default=None, description="""A page or document about this Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'documentation', - 'domain_of': ['DataService', 'Dataset', 'Distribution'], - 'slot_uri': 'foaf:page'} }) - frequency: Optional[Frequency] = Field(default=None, description="""The frequency at which the Dataset is updated.""", json_schema_extra = { "linkml_meta": {'alias': 'frequency', - 'domain_of': ['Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:accrualPeriodicity'} }) - geographical_coverage: Optional[list[Location]] = Field(default=None, description="""A geographic region that is covered by the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'geographical_coverage', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:spatial'} }) - has_version: Optional[list[Dataset]] = Field(default=None, description="""A related Dataset that is a version, edition, or adaptation of the described Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'has_version', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcat:hasVersion'} }) - identifier: Optional[list[str]] = Field(default=None, description="""The main identifier for the Dataset, e.g. the URI or other unique identifier in the context of the Catalogue.""", json_schema_extra = { "linkml_meta": {'alias': 'identifier', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcterms:identifier'} }) - in_series: Optional[list[DatasetSeries]] = Field(default=None, description="""A dataset series of which the dataset is part.""", json_schema_extra = { "linkml_meta": {'alias': 'in_series', 'domain_of': ['Dataset'], 'slot_uri': 'dcat:inSeries'} }) - is_referenced_by: Optional[list[Resource]] = Field(default=None, description="""A related resource, such as a publication, that references, cites, or otherwise points to the dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'is_referenced_by', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcterms:isReferencedBy'} }) - keyword: Optional[list[str]] = Field(default=None, description="""A keyword or tag describing the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'keyword', - 'domain_of': ['DataService', 'Dataset'], - 'recommended': True, - 'slot_uri': 'dcat:keyword'} }) - landing_page: Optional[list[Document]] = Field(default=None, description="""A web page that provides access to the Dataset, its Distributions and/or additional information.""", json_schema_extra = { "linkml_meta": {'alias': 'landing_page', - 'domain_of': ['DataService', 'Dataset'], - 'slot_uri': 'dcat:landingPage'} }) - language: Optional[list[LinguisticSystem]] = Field(default=None, description="""A language of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'language', - 'domain_of': ['Catalogue', 'CatalogueRecord', 'Dataset', 'Distribution'], - 'slot_uri': 'dcterms:language'} }) - modification_date: Optional[date] = Field(default=None, description="""The most recent date on which the Dataset was changed or modified.""", json_schema_extra = { "linkml_meta": {'alias': 'modification_date', - 'domain_of': ['Catalogue', - 'CatalogueRecord', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'slot_uri': 'dcterms:modified'} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""A secondary identifier of the Dataset""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'slot_uri': 'adms:identifier'} }) - provenance: Optional[list[ProvenanceStatement]] = Field(default=None, description="""A statement about the lineage of a Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'provenance', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcterms:provenance'} }) - publisher: Optional[Agent] = Field(default=None, description="""An entity (organisation) responsible for making the Dataset available.""", json_schema_extra = { "linkml_meta": {'alias': 'publisher', - 'domain_of': ['Catalogue', 'DataService', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:publisher'} }) - qualified_attribution: Optional[list[Attribution]] = Field(default=None, description="""An Agent having some form of responsibility for the resource.""", json_schema_extra = { "linkml_meta": {'alias': 'qualified_attribution', - 'domain_of': ['Dataset'], - 'slot_uri': 'prov:qualifiedAttribution'} }) - qualified_relation: Optional[list[Relationship]] = Field(default=None, description="""A description of a relationship with another resource.""", json_schema_extra = { "linkml_meta": {'alias': 'qualified_relation', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcat:qualifiedRelation'} }) - related_resource: Optional[list[Resource]] = Field(default=None, description="""A related resource.""", json_schema_extra = { "linkml_meta": {'alias': 'related_resource', - 'domain_of': ['Dataset'], - 'slot_uri': 'dcterms:relation'} }) - release_date: Optional[date] = Field(default=None, description="""The date of formal issuance (e.g., publication) of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'release_date', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries', 'Distribution'], - 'slot_uri': 'dcterms:issued'} }) - sample: Optional[list[Distribution]] = Field(default=None, description="""A sample distribution of the dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'sample', 'domain_of': ['Dataset'], 'slot_uri': 'adms:sample'} }) - source: Optional[list[Dataset]] = Field(default=None, description="""A related Dataset from which the described Dataset is derived.""", json_schema_extra = { "linkml_meta": {'alias': 'source', 'domain_of': ['Dataset'], 'slot_uri': 'dcterms:source'} }) - spatial_resolution: Optional[Decimal] = Field(default=None, description="""The minimum spatial separation resolvable in a dataset, measured in meters.""", json_schema_extra = { "linkml_meta": {'alias': 'spatial_resolution', - 'domain_of': ['Dataset', 'Distribution'], - 'slot_uri': 'dcat:spatialResolutionInMeters'} }) - temporal_coverage: Optional[list[PeriodOfTime]] = Field(default=None, description="""A temporal period that the Dataset covers.""", json_schema_extra = { "linkml_meta": {'alias': 'temporal_coverage', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:temporal'} }) - temporal_resolution: Optional[str] = Field(default=None, description="""The minimum time period resolvable in the dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'temporal_resolution', - 'domain_of': ['Dataset', 'Distribution'], - 'slot_uri': 'dcat:temporalResolution'} }) - theme: Optional[list[Concept]] = Field(default=None, description="""A category of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'theme', - 'domain_of': ['DataService', 'Dataset'], - 'recommended': True, - 'slot_uri': 'dcat:theme'} }) - title: list[str] = Field(default=..., description="""A name given to the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - type: Optional[list[Concept]] = Field(default=None, description="""A type of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - version: Optional[str] = Field(default=None, description="""The version indicator (name or identifier) of a resource.""", json_schema_extra = { "linkml_meta": {'alias': 'version', 'domain_of': ['Dataset'], 'slot_uri': 'dcat:version'} }) - version_notes: Optional[list[str]] = Field(default=None, description="""A description of the differences between this version and a previous version of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'version_notes', - 'domain_of': ['Dataset'], - 'slot_uri': 'adms:versionNotes'} }) - was_generated_by: list[DataAnalysis] = Field(default=..., description="""An activity that generated, or provides the business context for, the creation of the dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'was_generated_by', - 'domain_of': ['Dataset', 'EvaluatedEntity'], - 'notes': ['stricter than DCAT-AP'], - 'slot_uri': 'prov:wasGeneratedBy'} }) - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - is_about_entity: Optional[list[EvaluatedEntity]] = Field(default=None, description="""A slot to provide the EvaluatedEntity a Dataset is about.""", json_schema_extra = { "linkml_meta": {'alias': 'is_about_entity', - 'domain_of': ['Dataset'], - 'exact_mappings': ['IAO:0000136'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:subject'} }) - is_about_activity: Optional[list[EvaluatedActivity]] = Field(default=None, description="""A slot to provide the EvaluatedActivity a Dataset is about.""", json_schema_extra = { "linkml_meta": {'alias': 'is_about_activity', - 'domain_of': ['Dataset'], - 'exact_mappings': ['IAO:0000136'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:subject'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcat:Dataset", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "slot_usage": { + "was_generated_by": { + "inlined_as_list": True, + "multivalued": True, + "name": "was_generated_by", + "range": "DataAnalysis", + } + }, + } + ) + + access_rights: Optional[RightsStatement] = Field( + default=None, + description="""Information that indicates whether the Dataset is publicly accessible, has access restrictions or is not public.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "slot_uri": "dcterms:accessRights", + } + }, + ) + applicable_legislation: Optional[list[LegalResource]] = Field( + default=None, + description="""The legislation that mandates the creation or management of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "slot_uri": "dcatap:applicableLegislation", + } + }, + ) + conforms_to: Optional[list[Standard]] = Field( + default=None, + description="""An implementing rule or other specification.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "slot_uri": "dcterms:conformsTo", + } + }, + ) + contact_point: Optional[list[Kind]] = Field( + default=None, + description="""Contact information that can be used for sending comments about the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset", "DatasetSeries"], + "recommended": True, + "slot_uri": "dcat:contactPoint", + } + }, + ) + creator: Optional[list[Agent]] = Field( + default=None, + description="""An entity responsible for producing the dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset"], + "slot_uri": "dcterms:creator", + } + }, + ) + dataset_distribution: Optional[list[Distribution]] = Field( + default=None, + description="""An available Distribution for the Dataset.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcat:distribution"} + }, + ) + description: list[str] = Field( + default=..., + description="""A free-text account of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + documentation: Optional[list[Document]] = Field( + default=None, + description="""A page or document about this Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset", "Distribution"], + "slot_uri": "foaf:page", + } + }, + ) + frequency: Optional[Frequency] = Field( + default=None, + description="""The frequency at which the Dataset is updated.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "DatasetSeries"], + "slot_uri": "dcterms:accrualPeriodicity", + } + }, + ) + geographical_coverage: Optional[list[Location]] = Field( + default=None, + description="""A geographic region that is covered by the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:spatial", + } + }, + ) + has_version: Optional[list[Dataset]] = Field( + default=None, + description="""A related Dataset that is a version, edition, or adaptation of the described Dataset.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcat:hasVersion"} + }, + ) + identifier: Optional[list[str]] = Field( + default=None, + description="""The main identifier for the Dataset, e.g. the URI or other unique identifier in the context of the Catalogue.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcterms:identifier"} + }, + ) + in_series: Optional[list[DatasetSeries]] = Field( + default=None, + description="""A dataset series of which the dataset is part.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcat:inSeries"} + }, + ) + is_referenced_by: Optional[list[Resource]] = Field( + default=None, + description="""A related resource, such as a publication, that references, cites, or otherwise points to the dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset"], + "slot_uri": "dcterms:isReferencedBy", + } + }, + ) + keyword: Optional[list[str]] = Field( + default=None, + description="""A keyword or tag describing the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "recommended": True, + "slot_uri": "dcat:keyword", + } + }, + ) + landing_page: Optional[list[Document]] = Field( + default=None, + description="""A web page that provides access to the Dataset, its Distributions and/or additional information.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "slot_uri": "dcat:landingPage", + } + }, + ) + language: Optional[list[LinguisticSystem]] = Field( + default=None, + description="""A language of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "CatalogueRecord", + "Dataset", + "Distribution", + ], + "slot_uri": "dcterms:language", + } + }, + ) + modification_date: Optional[date] = Field( + default=None, + description="""The most recent date on which the Dataset was changed or modified.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "CatalogueRecord", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "slot_uri": "dcterms:modified", + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""A secondary identifier of the Dataset""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "slot_uri": "adms:identifier", + } + }, + ) + provenance: Optional[list[ProvenanceStatement]] = Field( + default=None, + description="""A statement about the lineage of a Dataset.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcterms:provenance"} + }, + ) + publisher: Optional[Agent] = Field( + default=None, + description="""An entity (organisation) responsible for making the Dataset available.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "DataService", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:publisher", + } + }, + ) + qualified_attribution: Optional[list[Attribution]] = Field( + default=None, + description="""An Agent having some form of responsibility for the resource.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset"], + "slot_uri": "prov:qualifiedAttribution", + } + }, + ) + qualified_relation: Optional[list[Relationship]] = Field( + default=None, + description="""A description of a relationship with another resource.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset"], + "slot_uri": "dcat:qualifiedRelation", + } + }, + ) + related_resource: Optional[list[Resource]] = Field( + default=None, + description="""A related resource.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcterms:relation"} + }, + ) + release_date: Optional[date] = Field( + default=None, + description="""The date of formal issuance (e.g., publication) of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries", "Distribution"], + "slot_uri": "dcterms:issued", + } + }, + ) + sample: Optional[list[Distribution]] = Field( + default=None, + description="""A sample distribution of the dataset.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "adms:sample"} + }, + ) + source: Optional[list[Dataset]] = Field( + default=None, + description="""A related Dataset from which the described Dataset is derived.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcterms:source"} + }, + ) + spatial_resolution: Optional[Decimal] = Field( + default=None, + description="""The minimum spatial separation resolvable in a dataset, measured in meters.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "Distribution"], + "slot_uri": "dcat:spatialResolutionInMeters", + } + }, + ) + temporal_coverage: Optional[list[PeriodOfTime]] = Field( + default=None, + description="""A temporal period that the Dataset covers.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:temporal", + } + }, + ) + temporal_resolution: Optional[str] = Field( + default=None, + description="""The minimum time period resolvable in the dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "Distribution"], + "slot_uri": "dcat:temporalResolution", + } + }, + ) + theme: Optional[list[Concept]] = Field( + default=None, + description="""A category of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset"], + "recommended": True, + "slot_uri": "dcat:theme", + } + }, + ) + title: list[str] = Field( + default=..., + description="""A name given to the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + type: Optional[list[Concept]] = Field( + default=None, + description="""A type of the Dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + version: Optional[str] = Field( + default=None, + description="""The version indicator (name or identifier) of a resource.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "dcat:version"} + }, + ) + version_notes: Optional[list[str]] = Field( + default=None, + description="""A description of the differences between this version and a previous version of the Dataset.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Dataset"], "slot_uri": "adms:versionNotes"} + }, + ) + was_generated_by: list[DataAnalysis] = Field( + default=..., + description="""An activity that generated, or provides the business context for, the creation of the dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "EvaluatedEntity"], + "notes": ["stricter than DCAT-AP"], + "slot_uri": "prov:wasGeneratedBy", + } + }, + ) + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + is_about_entity: Optional[list[EvaluatedEntity]] = Field( + default=None, + description="""A slot to provide the EvaluatedEntity a Dataset is about.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset"], + "exact_mappings": ["IAO:0000136"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:subject", + } + }, + ) + is_about_activity: Optional[list[EvaluatedActivity]] = Field( + default=None, + description="""A slot to provide the EvaluatedActivity a Dataset is about.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset"], + "exact_mappings": ["IAO:0000136"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:subject", + } + }, + ) class DatasetSeries(ConfiguredBaseModel): """ See [DCAT-AP specs:DatasetSeries](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#DatasetSeries) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcat:DatasetSeries', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'applicable_legislation': {'description': 'The legislation ' - 'that mandates the ' - 'creation or ' - 'management of the ' - 'Dataset Series.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'applicable_legislation', - 'range': 'LegalResource', - 'required': False, - 'slot_uri': 'dcatap:applicableLegislation'}, - 'contact_point': {'description': 'Contact information that can ' - 'be used for sending comments ' - 'about the Dataset Series.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'contact_point', - 'range': 'Kind', - 'required': False, - 'slot_uri': 'dcat:contactPoint'}, - 'description': {'description': 'A free-text account of the ' - 'Dataset Series.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'description', - 'range': 'string', - 'required': True, - 'slot_uri': 'dcterms:description'}, - 'frequency': {'description': 'The frequency at which the ' - 'Dataset Series is updated.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'frequency', - 'range': 'Frequency', - 'required': False, - 'slot_uri': 'dcterms:accrualPeriodicity'}, - 'geographical_coverage': {'description': 'A geographic region ' - 'that is covered by ' - 'the Dataset Series.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'geographical_coverage', - 'range': 'Location', - 'required': False, - 'slot_uri': 'dcterms:spatial'}, - 'modification_date': {'description': 'The most recent date on ' - 'which the Dataset Series ' - 'was changed or modified.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'modification_date', - 'range': 'date', - 'required': False, - 'slot_uri': 'dcterms:modified'}, - 'publisher': {'description': 'An entity (organisation) ' - 'responsible for ensuring the ' - 'coherency of the Dataset Series ', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'publisher', - 'range': 'Agent', - 'required': False, - 'slot_uri': 'dcterms:publisher'}, - 'release_date': {'description': 'The date of formal issuance ' - '(e.g., publication) of the ' - 'Dataset Series.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'release_date', - 'range': 'date', - 'required': False, - 'slot_uri': 'dcterms:issued'}, - 'temporal_coverage': {'description': 'A temporal period that ' - 'the Dataset Series ' - 'covers.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'temporal_coverage', - 'range': 'PeriodOfTime', - 'required': False, - 'slot_uri': 'dcterms:temporal'}, - 'title': {'description': 'A name given to the Dataset Series.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'title', - 'range': 'string', - 'required': True, - 'slot_uri': 'dcterms:title'}}}) - - applicable_legislation: Optional[list[LegalResource]] = Field(default=None, description="""The legislation that mandates the creation or management of the Dataset Series.""", json_schema_extra = { "linkml_meta": {'alias': 'applicable_legislation', - 'domain_of': ['Catalogue', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'slot_uri': 'dcatap:applicableLegislation'} }) - contact_point: Optional[list[Kind]] = Field(default=None, description="""Contact information that can be used for sending comments about the Dataset Series.""", json_schema_extra = { "linkml_meta": {'alias': 'contact_point', - 'domain_of': ['DataService', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcat:contactPoint'} }) - description: list[str] = Field(default=..., description="""A free-text account of the Dataset Series.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - frequency: Optional[Frequency] = Field(default=None, description="""The frequency at which the Dataset Series is updated.""", json_schema_extra = { "linkml_meta": {'alias': 'frequency', - 'domain_of': ['Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:accrualPeriodicity'} }) - geographical_coverage: Optional[list[Location]] = Field(default=None, description="""A geographic region that is covered by the Dataset Series.""", json_schema_extra = { "linkml_meta": {'alias': 'geographical_coverage', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:spatial'} }) - modification_date: Optional[date] = Field(default=None, description="""The most recent date on which the Dataset Series was changed or modified.""", json_schema_extra = { "linkml_meta": {'alias': 'modification_date', - 'domain_of': ['Catalogue', - 'CatalogueRecord', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'slot_uri': 'dcterms:modified'} }) - publisher: Optional[Agent] = Field(default=None, description="""An entity (organisation) responsible for ensuring the coherency of the Dataset Series """, json_schema_extra = { "linkml_meta": {'alias': 'publisher', - 'domain_of': ['Catalogue', 'DataService', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:publisher'} }) - release_date: Optional[date] = Field(default=None, description="""The date of formal issuance (e.g., publication) of the Dataset Series.""", json_schema_extra = { "linkml_meta": {'alias': 'release_date', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries', 'Distribution'], - 'slot_uri': 'dcterms:issued'} }) - temporal_coverage: Optional[list[PeriodOfTime]] = Field(default=None, description="""A temporal period that the Dataset Series covers.""", json_schema_extra = { "linkml_meta": {'alias': 'temporal_coverage', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries'], - 'slot_uri': 'dcterms:temporal'} }) - title: list[str] = Field(default=..., description="""A name given to the Dataset Series.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcat:DatasetSeries", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "applicable_legislation": { + "description": "The legislation " + "that mandates the " + "creation or " + "management of the " + "Dataset Series.", + "inlined_as_list": True, + "multivalued": True, + "name": "applicable_legislation", + "range": "LegalResource", + "required": False, + "slot_uri": "dcatap:applicableLegislation", + }, + "contact_point": { + "description": "Contact information that can " + "be used for sending comments " + "about the Dataset Series.", + "inlined_as_list": True, + "multivalued": True, + "name": "contact_point", + "range": "Kind", + "required": False, + "slot_uri": "dcat:contactPoint", + }, + "description": { + "description": "A free-text account of the Dataset Series.", + "inlined_as_list": True, + "multivalued": True, + "name": "description", + "range": "string", + "required": True, + "slot_uri": "dcterms:description", + }, + "frequency": { + "description": "The frequency at which the " + "Dataset Series is updated.", + "inlined_as_list": False, + "multivalued": False, + "name": "frequency", + "range": "Frequency", + "required": False, + "slot_uri": "dcterms:accrualPeriodicity", + }, + "geographical_coverage": { + "description": "A geographic region " + "that is covered by " + "the Dataset Series.", + "inlined_as_list": True, + "multivalued": True, + "name": "geographical_coverage", + "range": "Location", + "required": False, + "slot_uri": "dcterms:spatial", + }, + "modification_date": { + "description": "The most recent date on " + "which the Dataset Series " + "was changed or modified.", + "inlined_as_list": False, + "multivalued": False, + "name": "modification_date", + "range": "date", + "required": False, + "slot_uri": "dcterms:modified", + }, + "publisher": { + "description": "An entity (organisation) " + "responsible for ensuring the " + "coherency of the Dataset Series ", + "inlined_as_list": True, + "multivalued": False, + "name": "publisher", + "range": "Agent", + "required": False, + "slot_uri": "dcterms:publisher", + }, + "release_date": { + "description": "The date of formal issuance " + "(e.g., publication) of the " + "Dataset Series.", + "inlined_as_list": False, + "multivalued": False, + "name": "release_date", + "range": "date", + "required": False, + "slot_uri": "dcterms:issued", + }, + "temporal_coverage": { + "description": "A temporal period that the Dataset Series covers.", + "inlined_as_list": True, + "multivalued": True, + "name": "temporal_coverage", + "range": "PeriodOfTime", + "required": False, + "slot_uri": "dcterms:temporal", + }, + "title": { + "description": "A name given to the Dataset Series.", + "inlined_as_list": True, + "multivalued": True, + "name": "title", + "range": "string", + "required": True, + "slot_uri": "dcterms:title", + }, + }, + } + ) + + applicable_legislation: Optional[list[LegalResource]] = Field( + default=None, + description="""The legislation that mandates the creation or management of the Dataset Series.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "slot_uri": "dcatap:applicableLegislation", + } + }, + ) + contact_point: Optional[list[Kind]] = Field( + default=None, + description="""Contact information that can be used for sending comments about the Dataset Series.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset", "DatasetSeries"], + "slot_uri": "dcat:contactPoint", + } + }, + ) + description: list[str] = Field( + default=..., + description="""A free-text account of the Dataset Series.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + frequency: Optional[Frequency] = Field( + default=None, + description="""The frequency at which the Dataset Series is updated.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "DatasetSeries"], + "slot_uri": "dcterms:accrualPeriodicity", + } + }, + ) + geographical_coverage: Optional[list[Location]] = Field( + default=None, + description="""A geographic region that is covered by the Dataset Series.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:spatial", + } + }, + ) + modification_date: Optional[date] = Field( + default=None, + description="""The most recent date on which the Dataset Series was changed or modified.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "CatalogueRecord", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "slot_uri": "dcterms:modified", + } + }, + ) + publisher: Optional[Agent] = Field( + default=None, + description="""An entity (organisation) responsible for ensuring the coherency of the Dataset Series """, + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "DataService", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:publisher", + } + }, + ) + release_date: Optional[date] = Field( + default=None, + description="""The date of formal issuance (e.g., publication) of the Dataset Series.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries", "Distribution"], + "slot_uri": "dcterms:issued", + } + }, + ) + temporal_coverage: Optional[list[PeriodOfTime]] = Field( + default=None, + description="""A temporal period that the Dataset Series covers.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries"], + "slot_uri": "dcterms:temporal", + } + }, + ) + title: list[str] = Field( + default=..., + description="""A name given to the Dataset Series.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) class DefinedTerm(ConfiguredBaseModel): """ A word, name, acronym or phrase that is defined in a controlled vocabulary (CV) and that is used to provide an additional rdf:type or dcterms:type of a class within this schema. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'schema:DefinedTerm', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'slot_usage': {'title': {'name': 'title', 'slot_uri': 'schema:name'}}}) - - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'schema:name'} }) - from_CV: Optional[str] = Field(default=None, description="""The URL of the controlled vocabulary.""", json_schema_extra = { "linkml_meta": {'alias': 'from_CV', - 'domain_of': ['DefinedTerm'], - 'slot_uri': 'schema:inDefinedTermSet'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "schema:DefinedTerm", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "slot_usage": {"title": {"name": "title", "slot_uri": "schema:name"}}, + } + ) + + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "schema:name", + } + }, + ) + from_CV: Optional[str] = Field( + default=None, + description="""The URL of the controlled vocabulary.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DefinedTerm"], + "slot_uri": "schema:inDefinedTermSet", + } + }, + ) class Device(AgenticEntity): """ A material instrument that is designed to perform a function primarily by means of its mechanical or electrical nature. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'aliases': ['hardware instrument'], - 'class_uri': 'prov:Agent', - 'exact_mappings': ['epos:Equipment', - 'OBI:0000968', - 'http://purl.obolibrary.org/obo/NCIT_C62103', - 'http://semanticscience.org/resource/SIO_000956', - 'http://purl.allotrope.org/ontologies/equipment#AFE_0000354'], - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'slot_usage': {'has_part': {'description': 'The slot to specify parts of a ' - 'Device that are themselves ' - 'Devices.', - 'inlined': True, - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'has_part', - 'range': 'Device'}, - 'other_identifier': {'description': 'A slot to provide a ' - 'secondary identifier for ' - 'a Device.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'other_identifier', - 'range': 'Identifier', - 'required': False}}}) - - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""A slot to provide a secondary identifier for a Device.""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'slot_uri': 'adms:identifier'} }) - has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field(default=None, description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_qualitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field(default=None, description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_quantitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_part: Optional[list[Device]] = Field(default=None, description="""The slot to specify parts of a Device that are themselves Devices.""", json_schema_extra = { "linkml_meta": {'alias': 'has_part', - 'domain_of': ['Activity', 'AgenticEntity', 'Catalogue', 'Entity'], - 'slot_uri': 'dcterms:hasPart'} }) - part_of: Optional[list[AgenticEntity]] = Field(default=None, description="""The slot to provide the AgenticEntity of which theAgenticEntity is a part.""", json_schema_extra = { "linkml_meta": {'alias': 'part_of', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'inverse': 'has_part', - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:isPartOf'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "aliases": ["hardware instrument"], + "class_uri": "prov:Agent", + "exact_mappings": [ + "epos:Equipment", + "OBI:0000968", + "http://purl.obolibrary.org/obo/NCIT_C62103", + "http://semanticscience.org/resource/SIO_000956", + "http://purl.allotrope.org/ontologies/equipment#AFE_0000354", + ], + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "slot_usage": { + "has_part": { + "description": "The slot to specify parts of a " + "Device that are themselves " + "Devices.", + "inlined": True, + "inlined_as_list": True, + "multivalued": True, + "name": "has_part", + "range": "Device", + }, + "other_identifier": { + "description": "A slot to provide a " + "secondary identifier for " + "a Device.", + "inlined_as_list": True, + "multivalued": True, + "name": "other_identifier", + "range": "Identifier", + "required": False, + }, + }, + } + ) + + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""A slot to provide a secondary identifier for a Device.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "slot_uri": "adms:identifier", + } + }, + ) + has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field( + default=None, + description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field( + default=None, + description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_part: Optional[list[Device]] = Field( + default=None, + description="""The slot to specify parts of a Device that are themselves Devices.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Catalogue", "Entity"], + "slot_uri": "dcterms:hasPart", + } + }, + ) + part_of: Optional[list[AgenticEntity]] = Field( + default=None, + description="""The slot to provide the AgenticEntity of which theAgenticEntity is a part.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "inverse": "has_part", + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:isPartOf", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class Distribution(ConfiguredBaseModel): """ See [DCAT-AP specs:Distribution](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Distribution) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcat:Distribution', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'access_URL': {'description': 'A URL that gives access to a ' - 'Distribution of the Dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'access_URL', - 'range': 'Resource', - 'required': True, - 'slot_uri': 'dcat:accessURL'}, - 'access_service': {'description': 'A data service that gives ' - 'access to the distribution ' - 'of the dataset.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'access_service', - 'range': 'DataService', - 'required': False, - 'slot_uri': 'dcat:accessService'}, - 'applicable_legislation': {'description': 'The legislation ' - 'that mandates the ' - 'creation or ' - 'management of the ' - 'Distribution.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'applicable_legislation', - 'range': 'LegalResource', - 'required': False, - 'slot_uri': 'dcatap:applicableLegislation'}, - 'availability': {'description': 'An indication how long it is ' - 'planned to keep the ' - 'Distribution of the Dataset ' - 'available.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'availability', - 'range': 'Concept', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcatap:availability'}, - 'byte_size': {'description': 'The size of a Distribution in ' - 'bytes.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'byte_size', - 'range': 'nonNegativeInteger', - 'required': False, - 'slot_uri': 'dcat:byteSize'}, - 'checksum': {'description': 'A mechanism that can be used to ' - 'verify that the contents of a ' - 'distribution have not changed.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'checksum', - 'range': 'Checksum', - 'required': False, - 'slot_uri': 'spdx:checksum'}, - 'compression_format': {'description': 'The format of the file ' - 'in which the data is ' - 'contained in a ' - 'compressed form, e.g. ' - 'to reduce the size of ' - 'the downloadable file.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'compression_format', - 'range': 'MediaType', - 'required': False, - 'slot_uri': 'dcat:compressFormat'}, - 'description': {'description': 'A free-text account of the ' - 'Distribution.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'description', - 'range': 'string', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcterms:description'}, - 'documentation': {'description': 'A page or document about ' - 'this Distribution.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'documentation', - 'range': 'Document', - 'required': False, - 'slot_uri': 'foaf:page'}, - 'download_URL': {'description': 'A URL that is a direct link ' - 'to a downloadable file in a ' - 'given format.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'download_URL', - 'range': 'Resource', - 'required': False, - 'slot_uri': 'dcat:downloadURL'}, - 'format': {'description': 'The file format of the ' - 'Distribution.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'format', - 'range': 'MediaTypeOrExtent', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcterms:format'}, - 'has_policy': {'description': 'The policy expressing the ' - 'rights associated with the ' - 'distribution if using the ' - '[[ODRL]] vocabulary.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'has_policy', - 'range': 'Policy', - 'required': False, - 'slot_uri': 'odrl:hasPolicy'}, - 'language': {'description': 'A language used in the ' - 'Distribution.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'language', - 'range': 'LinguisticSystem', - 'required': False, - 'slot_uri': 'dcterms:language'}, - 'licence': {'description': 'A licence under which the ' - 'Distribution is made available.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'licence', - 'range': 'LicenseDocument', - 'required': False, - 'slot_uri': 'dcterms:license'}, - 'linked_schemas': {'description': 'An established schema to ' - 'which the described ' - 'Distribution conforms.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'linked_schemas', - 'range': 'Standard', - 'required': False, - 'slot_uri': 'dcterms:conformsTo'}, - 'media_type': {'description': 'The media type of the ' - 'Distribution as defined in the ' - 'official register of media ' - 'types managed by IANA.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'media_type', - 'range': 'MediaType', - 'required': False, - 'slot_uri': 'dcat:mediaType'}, - 'modification_date': {'description': 'The most recent date on ' - 'which the Distribution ' - 'was changed or modified.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'modification_date', - 'range': 'date', - 'required': False, - 'slot_uri': 'dcterms:modified'}, - 'packaging_format': {'description': 'The format of the file in ' - 'which one or more data ' - 'files are grouped ' - 'together, e.g. to enable ' - 'a set of related files to ' - 'be downloaded together.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'packaging_format', - 'range': 'MediaType', - 'required': False, - 'slot_uri': 'dcat:packageFormat'}, - 'release_date': {'description': 'The date of formal issuance ' - '(e.g., publication) of the ' - 'Distribution.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'release_date', - 'range': 'date', - 'required': False, - 'slot_uri': 'dcterms:issued'}, - 'rights': {'description': 'A statement that specifies rights ' - 'associated with the Distribution.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'rights', - 'range': 'RightsStatement', - 'required': False, - 'slot_uri': 'dcterms:rights'}, - 'spatial_resolution': {'description': 'The minimum spatial ' - 'separation resolvable ' - 'in a dataset ' - 'distribution, measured ' - 'in meters.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'spatial_resolution', - 'range': 'decimal', - 'required': False, - 'slot_uri': 'dcat:spatialResolutionInMeters'}, - 'status': {'description': 'The status of the distribution in ' - 'the context of maturity lifecycle.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'status', - 'range': 'Concept', - 'required': False, - 'slot_uri': 'adms:status'}, - 'temporal_resolution': {'description': 'The minimum time ' - 'period resolvable in ' - 'the dataset ' - 'distribution.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'temporal_resolution', - 'range': 'duration', - 'required': False, - 'slot_uri': 'dcat:temporalResolution'}, - 'title': {'description': 'A name given to the Distribution.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'title', - 'range': 'string', - 'required': False, - 'slot_uri': 'dcterms:title'}}}) - - access_URL: list[Resource] = Field(default=..., description="""A URL that gives access to a Distribution of the Dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'access_URL', - 'domain_of': ['Distribution'], - 'slot_uri': 'dcat:accessURL'} }) - access_service: Optional[list[DataService]] = Field(default=None, description="""A data service that gives access to the distribution of the dataset.""", json_schema_extra = { "linkml_meta": {'alias': 'access_service', - 'domain_of': ['Distribution'], - 'slot_uri': 'dcat:accessService'} }) - applicable_legislation: Optional[list[LegalResource]] = Field(default=None, description="""The legislation that mandates the creation or management of the Distribution.""", json_schema_extra = { "linkml_meta": {'alias': 'applicable_legislation', - 'domain_of': ['Catalogue', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'slot_uri': 'dcatap:applicableLegislation'} }) - availability: Optional[Concept] = Field(default=None, description="""An indication how long it is planned to keep the Distribution of the Dataset available.""", json_schema_extra = { "linkml_meta": {'alias': 'availability', - 'domain_of': ['Distribution'], - 'recommended': True, - 'slot_uri': 'dcatap:availability'} }) - byte_size: Optional[int] = Field(default=None, description="""The size of a Distribution in bytes.""", json_schema_extra = { "linkml_meta": {'alias': 'byte_size', - 'domain_of': ['Distribution'], - 'slot_uri': 'dcat:byteSize'} }) - checksum: Optional[Checksum] = Field(default=None, description="""A mechanism that can be used to verify that the contents of a distribution have not changed.""", json_schema_extra = { "linkml_meta": {'alias': 'checksum', - 'domain_of': ['Distribution'], - 'slot_uri': 'spdx:checksum'} }) - compression_format: Optional[MediaType] = Field(default=None, description="""The format of the file in which the data is contained in a compressed form, e.g. to reduce the size of the downloadable file.""", json_schema_extra = { "linkml_meta": {'alias': 'compression_format', - 'domain_of': ['Distribution'], - 'slot_uri': 'dcat:compressFormat'} }) - description: Optional[list[str]] = Field(default=None, description="""A free-text account of the Distribution.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'recommended': True, - 'slot_uri': 'dcterms:description'} }) - documentation: Optional[list[Document]] = Field(default=None, description="""A page or document about this Distribution.""", json_schema_extra = { "linkml_meta": {'alias': 'documentation', - 'domain_of': ['DataService', 'Dataset', 'Distribution'], - 'slot_uri': 'foaf:page'} }) - download_URL: Optional[list[Resource]] = Field(default=None, description="""A URL that is a direct link to a downloadable file in a given format.""", json_schema_extra = { "linkml_meta": {'alias': 'download_URL', - 'domain_of': ['Distribution'], - 'slot_uri': 'dcat:downloadURL'} }) - format: Optional[MediaTypeOrExtent] = Field(default=None, description="""The file format of the Distribution.""", json_schema_extra = { "linkml_meta": {'alias': 'format', - 'domain_of': ['DataService', 'Distribution'], - 'recommended': True, - 'slot_uri': 'dcterms:format'} }) - has_policy: Optional[Policy] = Field(default=None, description="""The policy expressing the rights associated with the distribution if using the [[ODRL]] vocabulary.""", json_schema_extra = { "linkml_meta": {'alias': 'has_policy', - 'domain_of': ['Distribution'], - 'slot_uri': 'odrl:hasPolicy'} }) - language: Optional[list[LinguisticSystem]] = Field(default=None, description="""A language used in the Distribution.""", json_schema_extra = { "linkml_meta": {'alias': 'language', - 'domain_of': ['Catalogue', 'CatalogueRecord', 'Dataset', 'Distribution'], - 'slot_uri': 'dcterms:language'} }) - licence: Optional[LicenseDocument] = Field(default=None, description="""A licence under which the Distribution is made available.""", json_schema_extra = { "linkml_meta": {'alias': 'licence', - 'domain_of': ['Catalogue', 'DataService', 'Distribution'], - 'slot_uri': 'dcterms:license'} }) - linked_schemas: Optional[list[Standard]] = Field(default=None, description="""An established schema to which the described Distribution conforms.""", json_schema_extra = { "linkml_meta": {'alias': 'linked_schemas', - 'domain_of': ['Distribution'], - 'slot_uri': 'dcterms:conformsTo'} }) - media_type: Optional[MediaType] = Field(default=None, description="""The media type of the Distribution as defined in the official register of media types managed by IANA.""", json_schema_extra = { "linkml_meta": {'alias': 'media_type', - 'domain_of': ['Distribution'], - 'slot_uri': 'dcat:mediaType'} }) - modification_date: Optional[date] = Field(default=None, description="""The most recent date on which the Distribution was changed or modified.""", json_schema_extra = { "linkml_meta": {'alias': 'modification_date', - 'domain_of': ['Catalogue', - 'CatalogueRecord', - 'Dataset', - 'DatasetSeries', - 'Distribution'], - 'slot_uri': 'dcterms:modified'} }) - packaging_format: Optional[MediaType] = Field(default=None, description="""The format of the file in which one or more data files are grouped together, e.g. to enable a set of related files to be downloaded together.""", json_schema_extra = { "linkml_meta": {'alias': 'packaging_format', - 'domain_of': ['Distribution'], - 'slot_uri': 'dcat:packageFormat'} }) - release_date: Optional[date] = Field(default=None, description="""The date of formal issuance (e.g., publication) of the Distribution.""", json_schema_extra = { "linkml_meta": {'alias': 'release_date', - 'domain_of': ['Catalogue', 'Dataset', 'DatasetSeries', 'Distribution'], - 'slot_uri': 'dcterms:issued'} }) - rights: Optional[RightsStatement] = Field(default=None, description="""A statement that specifies rights associated with the Distribution.""", json_schema_extra = { "linkml_meta": {'alias': 'rights', - 'domain_of': ['Catalogue', 'Distribution'], - 'slot_uri': 'dcterms:rights'} }) - spatial_resolution: Optional[Decimal] = Field(default=None, description="""The minimum spatial separation resolvable in a dataset distribution, measured in meters.""", json_schema_extra = { "linkml_meta": {'alias': 'spatial_resolution', - 'domain_of': ['Dataset', 'Distribution'], - 'slot_uri': 'dcat:spatialResolutionInMeters'} }) - status: Optional[Concept] = Field(default=None, description="""The status of the distribution in the context of maturity lifecycle.""", json_schema_extra = { "linkml_meta": {'alias': 'status', 'domain_of': ['Distribution'], 'slot_uri': 'adms:status'} }) - temporal_resolution: Optional[str] = Field(default=None, description="""The minimum time period resolvable in the dataset distribution.""", json_schema_extra = { "linkml_meta": {'alias': 'temporal_resolution', - 'domain_of': ['Dataset', 'Distribution'], - 'slot_uri': 'dcat:temporalResolution'} }) - title: Optional[list[str]] = Field(default=None, description="""A name given to the Distribution.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcat:Distribution", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "access_URL": { + "description": "A URL that gives access to a " + "Distribution of the Dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "access_URL", + "range": "Resource", + "required": True, + "slot_uri": "dcat:accessURL", + }, + "access_service": { + "description": "A data service that gives " + "access to the distribution " + "of the dataset.", + "inlined_as_list": True, + "multivalued": True, + "name": "access_service", + "range": "DataService", + "required": False, + "slot_uri": "dcat:accessService", + }, + "applicable_legislation": { + "description": "The legislation " + "that mandates the " + "creation or " + "management of the " + "Distribution.", + "inlined_as_list": True, + "multivalued": True, + "name": "applicable_legislation", + "range": "LegalResource", + "required": False, + "slot_uri": "dcatap:applicableLegislation", + }, + "availability": { + "description": "An indication how long it is " + "planned to keep the " + "Distribution of the Dataset " + "available.", + "inlined_as_list": False, + "multivalued": False, + "name": "availability", + "range": "Concept", + "recommended": True, + "required": False, + "slot_uri": "dcatap:availability", + }, + "byte_size": { + "description": "The size of a Distribution in bytes.", + "inlined_as_list": False, + "multivalued": False, + "name": "byte_size", + "range": "nonNegativeInteger", + "required": False, + "slot_uri": "dcat:byteSize", + }, + "checksum": { + "description": "A mechanism that can be used to " + "verify that the contents of a " + "distribution have not changed.", + "inlined_as_list": True, + "multivalued": False, + "name": "checksum", + "range": "Checksum", + "required": False, + "slot_uri": "spdx:checksum", + }, + "compression_format": { + "description": "The format of the file " + "in which the data is " + "contained in a " + "compressed form, e.g. " + "to reduce the size of " + "the downloadable file.", + "inlined_as_list": True, + "multivalued": False, + "name": "compression_format", + "range": "MediaType", + "required": False, + "slot_uri": "dcat:compressFormat", + }, + "description": { + "description": "A free-text account of the Distribution.", + "inlined_as_list": True, + "multivalued": True, + "name": "description", + "range": "string", + "recommended": True, + "required": False, + "slot_uri": "dcterms:description", + }, + "documentation": { + "description": "A page or document about this Distribution.", + "inlined_as_list": True, + "multivalued": True, + "name": "documentation", + "range": "Document", + "required": False, + "slot_uri": "foaf:page", + }, + "download_URL": { + "description": "A URL that is a direct link " + "to a downloadable file in a " + "given format.", + "inlined_as_list": True, + "multivalued": True, + "name": "download_URL", + "range": "Resource", + "required": False, + "slot_uri": "dcat:downloadURL", + }, + "format": { + "description": "The file format of the Distribution.", + "inlined_as_list": True, + "multivalued": False, + "name": "format", + "range": "MediaTypeOrExtent", + "recommended": True, + "required": False, + "slot_uri": "dcterms:format", + }, + "has_policy": { + "description": "The policy expressing the " + "rights associated with the " + "distribution if using the " + "[[ODRL]] vocabulary.", + "inlined_as_list": True, + "multivalued": False, + "name": "has_policy", + "range": "Policy", + "required": False, + "slot_uri": "odrl:hasPolicy", + }, + "language": { + "description": "A language used in the Distribution.", + "inlined_as_list": True, + "multivalued": True, + "name": "language", + "range": "LinguisticSystem", + "required": False, + "slot_uri": "dcterms:language", + }, + "licence": { + "description": "A licence under which the " + "Distribution is made available.", + "inlined_as_list": True, + "multivalued": False, + "name": "licence", + "range": "LicenseDocument", + "required": False, + "slot_uri": "dcterms:license", + }, + "linked_schemas": { + "description": "An established schema to " + "which the described " + "Distribution conforms.", + "inlined_as_list": True, + "multivalued": True, + "name": "linked_schemas", + "range": "Standard", + "required": False, + "slot_uri": "dcterms:conformsTo", + }, + "media_type": { + "description": "The media type of the " + "Distribution as defined in the " + "official register of media " + "types managed by IANA.", + "inlined_as_list": False, + "multivalued": False, + "name": "media_type", + "range": "MediaType", + "required": False, + "slot_uri": "dcat:mediaType", + }, + "modification_date": { + "description": "The most recent date on " + "which the Distribution " + "was changed or modified.", + "inlined_as_list": False, + "multivalued": False, + "name": "modification_date", + "range": "date", + "required": False, + "slot_uri": "dcterms:modified", + }, + "packaging_format": { + "description": "The format of the file in " + "which one or more data " + "files are grouped " + "together, e.g. to enable " + "a set of related files to " + "be downloaded together.", + "inlined_as_list": True, + "multivalued": False, + "name": "packaging_format", + "range": "MediaType", + "required": False, + "slot_uri": "dcat:packageFormat", + }, + "release_date": { + "description": "The date of formal issuance " + "(e.g., publication) of the " + "Distribution.", + "inlined_as_list": False, + "multivalued": False, + "name": "release_date", + "range": "date", + "required": False, + "slot_uri": "dcterms:issued", + }, + "rights": { + "description": "A statement that specifies rights " + "associated with the Distribution.", + "inlined_as_list": True, + "multivalued": False, + "name": "rights", + "range": "RightsStatement", + "required": False, + "slot_uri": "dcterms:rights", + }, + "spatial_resolution": { + "description": "The minimum spatial " + "separation resolvable " + "in a dataset " + "distribution, measured " + "in meters.", + "inlined_as_list": False, + "multivalued": False, + "name": "spatial_resolution", + "range": "decimal", + "required": False, + "slot_uri": "dcat:spatialResolutionInMeters", + }, + "status": { + "description": "The status of the distribution in " + "the context of maturity lifecycle.", + "inlined_as_list": True, + "multivalued": False, + "name": "status", + "range": "Concept", + "required": False, + "slot_uri": "adms:status", + }, + "temporal_resolution": { + "description": "The minimum time " + "period resolvable in " + "the dataset " + "distribution.", + "inlined_as_list": True, + "multivalued": False, + "name": "temporal_resolution", + "range": "duration", + "required": False, + "slot_uri": "dcat:temporalResolution", + }, + "title": { + "description": "A name given to the Distribution.", + "inlined_as_list": True, + "multivalued": True, + "name": "title", + "range": "string", + "required": False, + "slot_uri": "dcterms:title", + }, + }, + } + ) + + access_URL: list[Resource] = Field( + default=..., + description="""A URL that gives access to a Distribution of the Dataset.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Distribution"], "slot_uri": "dcat:accessURL"} + }, + ) + access_service: Optional[list[DataService]] = Field( + default=None, + description="""A data service that gives access to the distribution of the dataset.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Distribution"], + "slot_uri": "dcat:accessService", + } + }, + ) + applicable_legislation: Optional[list[LegalResource]] = Field( + default=None, + description="""The legislation that mandates the creation or management of the Distribution.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "slot_uri": "dcatap:applicableLegislation", + } + }, + ) + availability: Optional[Concept] = Field( + default=None, + description="""An indication how long it is planned to keep the Distribution of the Dataset available.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Distribution"], + "recommended": True, + "slot_uri": "dcatap:availability", + } + }, + ) + byte_size: Optional[int] = Field( + default=None, + description="""The size of a Distribution in bytes.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Distribution"], "slot_uri": "dcat:byteSize"} + }, + ) + checksum: Optional[Checksum] = Field( + default=None, + description="""A mechanism that can be used to verify that the contents of a distribution have not changed.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Distribution"], "slot_uri": "spdx:checksum"} + }, + ) + compression_format: Optional[MediaType] = Field( + default=None, + description="""The format of the file in which the data is contained in a compressed form, e.g. to reduce the size of the downloadable file.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Distribution"], + "slot_uri": "dcat:compressFormat", + } + }, + ) + description: Optional[list[str]] = Field( + default=None, + description="""A free-text account of the Distribution.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "recommended": True, + "slot_uri": "dcterms:description", + } + }, + ) + documentation: Optional[list[Document]] = Field( + default=None, + description="""A page or document about this Distribution.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Dataset", "Distribution"], + "slot_uri": "foaf:page", + } + }, + ) + download_URL: Optional[list[Resource]] = Field( + default=None, + description="""A URL that is a direct link to a downloadable file in a given format.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Distribution"], + "slot_uri": "dcat:downloadURL", + } + }, + ) + format: Optional[MediaTypeOrExtent] = Field( + default=None, + description="""The file format of the Distribution.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["DataService", "Distribution"], + "recommended": True, + "slot_uri": "dcterms:format", + } + }, + ) + has_policy: Optional[Policy] = Field( + default=None, + description="""The policy expressing the rights associated with the distribution if using the [[ODRL]] vocabulary.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Distribution"], "slot_uri": "odrl:hasPolicy"} + }, + ) + language: Optional[list[LinguisticSystem]] = Field( + default=None, + description="""A language used in the Distribution.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "CatalogueRecord", + "Dataset", + "Distribution", + ], + "slot_uri": "dcterms:language", + } + }, + ) + licence: Optional[LicenseDocument] = Field( + default=None, + description="""A licence under which the Distribution is made available.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "DataService", "Distribution"], + "slot_uri": "dcterms:license", + } + }, + ) + linked_schemas: Optional[list[Standard]] = Field( + default=None, + description="""An established schema to which the described Distribution conforms.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Distribution"], + "slot_uri": "dcterms:conformsTo", + } + }, + ) + media_type: Optional[MediaType] = Field( + default=None, + description="""The media type of the Distribution as defined in the official register of media types managed by IANA.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Distribution"], "slot_uri": "dcat:mediaType"} + }, + ) + modification_date: Optional[date] = Field( + default=None, + description="""The most recent date on which the Distribution was changed or modified.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Catalogue", + "CatalogueRecord", + "Dataset", + "DatasetSeries", + "Distribution", + ], + "slot_uri": "dcterms:modified", + } + }, + ) + packaging_format: Optional[MediaType] = Field( + default=None, + description="""The format of the file in which one or more data files are grouped together, e.g. to enable a set of related files to be downloaded together.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Distribution"], + "slot_uri": "dcat:packageFormat", + } + }, + ) + release_date: Optional[date] = Field( + default=None, + description="""The date of formal issuance (e.g., publication) of the Distribution.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Dataset", "DatasetSeries", "Distribution"], + "slot_uri": "dcterms:issued", + } + }, + ) + rights: Optional[RightsStatement] = Field( + default=None, + description="""A statement that specifies rights associated with the Distribution.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Catalogue", "Distribution"], + "slot_uri": "dcterms:rights", + } + }, + ) + spatial_resolution: Optional[Decimal] = Field( + default=None, + description="""The minimum spatial separation resolvable in a dataset distribution, measured in meters.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "Distribution"], + "slot_uri": "dcat:spatialResolutionInMeters", + } + }, + ) + status: Optional[Concept] = Field( + default=None, + description="""The status of the distribution in the context of maturity lifecycle.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Distribution"], "slot_uri": "adms:status"} + }, + ) + temporal_resolution: Optional[str] = Field( + default=None, + description="""The minimum time period resolvable in the dataset distribution.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "Distribution"], + "slot_uri": "dcat:temporalResolution", + } + }, + ) + title: Optional[list[str]] = Field( + default=None, + description="""A name given to the Distribution.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) class Entity(ClassifierMixin): """ A physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:Entity', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'mixins': ['ClassifierMixin'], - 'slot_usage': {'description': {'description': 'The slot to provide a ' - 'description for the Entity.', - 'name': 'description'}, - 'has_part': {'description': 'A slot to provide a part of the ' - 'Entity.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'has_part', - 'range': 'Entity'}, - 'other_identifier': {'description': 'A slot to provide a ' - 'secondary identifier of ' - 'the Entity.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'other_identifier', - 'range': 'Identifier', - 'required': False}, - 'part_of': {'description': 'The slot to specify an Entity of ' - 'which the Entity is a part.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'part_of', - 'notes': ['not in DCAT-AP'], - 'range': 'Entity'}, - 'title': {'description': 'The slot to provide a title for the ' - 'Entity.', - 'name': 'title'}}}) - - title: Optional[str] = Field(default=None, description="""The slot to provide a title for the Entity.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""The slot to provide a description for the Entity.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""A slot to provide a secondary identifier of the Entity.""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'slot_uri': 'adms:identifier'} }) - has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field(default=None, description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_qualitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field(default=None, description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_quantitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_part: Optional[list[Entity]] = Field(default=None, description="""A slot to provide a part of the Entity.""", json_schema_extra = { "linkml_meta": {'alias': 'has_part', - 'domain_of': ['Activity', 'AgenticEntity', 'Catalogue', 'Entity'], - 'slot_uri': 'dcterms:hasPart'} }) - part_of: Optional[list[Entity]] = Field(default=None, description="""The slot to specify an Entity of which the Entity is a part.""", json_schema_extra = { "linkml_meta": {'alias': 'part_of', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'inverse': 'has_part', - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:isPartOf'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:Entity", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "mixins": ["ClassifierMixin"], + "slot_usage": { + "description": { + "description": "The slot to provide a description for the Entity.", + "name": "description", + }, + "has_part": { + "description": "A slot to provide a part of the Entity.", + "inlined_as_list": True, + "multivalued": True, + "name": "has_part", + "range": "Entity", + }, + "other_identifier": { + "description": "A slot to provide a " + "secondary identifier of " + "the Entity.", + "inlined_as_list": True, + "multivalued": True, + "name": "other_identifier", + "range": "Identifier", + "required": False, + }, + "part_of": { + "description": "The slot to specify an Entity of " + "which the Entity is a part.", + "inlined_as_list": True, + "multivalued": True, + "name": "part_of", + "notes": ["not in DCAT-AP"], + "range": "Entity", + }, + "title": { + "description": "The slot to provide a title for the Entity.", + "name": "title", + }, + }, + } + ) + + title: Optional[str] = Field( + default=None, + description="""The slot to provide a title for the Entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""The slot to provide a description for the Entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""A slot to provide a secondary identifier of the Entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "slot_uri": "adms:identifier", + } + }, + ) + has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field( + default=None, + description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field( + default=None, + description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_part: Optional[list[Entity]] = Field( + default=None, + description="""A slot to provide a part of the Entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Catalogue", "Entity"], + "slot_uri": "dcterms:hasPart", + } + }, + ) + part_of: Optional[list[Entity]] = Field( + default=None, + description="""The slot to specify an Entity of which the Entity is a part.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "inverse": "has_part", + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:isPartOf", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class EvaluatedActivity(Activity): """ An activity or process that is being evaluated in a DataGeneratingActivity. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:Activity', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'slot_usage': {'other_identifier': {'description': 'A slot to provide a ' - 'secondary identifier of ' - 'the EvaluatedActivity.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'other_identifier', - 'range': 'Identifier', - 'required': False}}}) - - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[list[str]] = Field(default=None, description="""The slot to provide a title for the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[list[str]] = Field(default=None, description="""The slot to provide a description for the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:description'} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""A slot to provide a secondary identifier of the EvaluatedActivity.""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'adms:identifier'} }) - has_part: Optional[list[Activity]] = Field(default=None, description="""The slot to provide an Activity that is part of the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'has_part', - 'domain_of': ['Activity', 'AgenticEntity', 'Catalogue', 'Entity'], - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:hasPart'} }) - had_input_entity: Optional[list[Entity]] = Field(default=None, description="""The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed.""", json_schema_extra = { "linkml_meta": {'alias': 'had_input_entity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:used'} }) - had_output_entity: Optional[list[Entity]] = Field(default=None, description="""The slot to specify the Entity that was generated as an output of an Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'had_output_entity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:generated'} }) - had_input_activity: Optional[list[Activity]] = Field(default=None, description="""The slot to provide a previous Activity that informed the Activity by being causally via a shared participant.""", json_schema_extra = { "linkml_meta": {'alias': 'had_input_activity', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:wasInformedBy'} }) - carried_out_by: Optional[list[AgenticEntity]] = Field(default=None, description="""The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity.""", json_schema_extra = { "linkml_meta": {'alias': 'carried_out_by', - 'domain_of': ['Activity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'prov:wasAssociatedWith'} }) - has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field(default=None, description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_qualitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field(default=None, description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_quantitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'notes': ['not in DCAT-AP'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - part_of: Optional[list[Activity]] = Field(default=None, description="""The slot to provide an Activity of which the Activity is a part.""", json_schema_extra = { "linkml_meta": {'alias': 'part_of', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'inverse': 'has_part', - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:isPartOf'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:Activity", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "slot_usage": { + "other_identifier": { + "description": "A slot to provide a " + "secondary identifier of " + "the EvaluatedActivity.", + "inlined_as_list": True, + "multivalued": True, + "name": "other_identifier", + "range": "Identifier", + "required": False, + } + }, + } + ) + + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[list[str]] = Field( + default=None, + description="""The slot to provide a title for the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[list[str]] = Field( + default=None, + description="""The slot to provide a description for the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:description", + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""A slot to provide a secondary identifier of the EvaluatedActivity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "notes": ["not in DCAT-AP"], + "slot_uri": "adms:identifier", + } + }, + ) + has_part: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide an Activity that is part of the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Catalogue", "Entity"], + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:hasPart", + } + }, + ) + had_input_entity: Optional[list[Entity]] = Field( + default=None, + description="""The slot to specify the Entity that was used as an input of an Activity that is to be changed, consumed or transformed.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:used", + } + }, + ) + had_output_entity: Optional[list[Entity]] = Field( + default=None, + description="""The slot to specify the Entity that was generated as an output of an Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:generated", + } + }, + ) + had_input_activity: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide a previous Activity that informed the Activity by being causally via a shared participant.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:wasInformedBy", + } + }, + ) + carried_out_by: Optional[list[AgenticEntity]] = Field( + default=None, + description="""The slot to specify the AgenticEntity that played a certain part in carrying out the Activity, either via having a specific role, function or disposition that was realized in the Activity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "prov:wasAssociatedWith", + } + }, + ) + has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field( + default=None, + description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field( + default=None, + description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "notes": ["not in DCAT-AP"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + part_of: Optional[list[Activity]] = Field( + default=None, + description="""The slot to provide an Activity of which the Activity is a part.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "inverse": "has_part", + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:isPartOf", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class EvaluatedEntity(Entity): """ An Entity that is being evaluated in a DataGeneratingActivity. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:Entity', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'slot_usage': {'description': {'description': 'The slot to provide a ' - 'description for the ' - 'EvaluatedEntity.', - 'name': 'description'}, - 'other_identifier': {'description': 'A slot to provide a ' - 'secondary identifier of ' - 'the EvaluatedEntity.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'other_identifier', - 'range': 'Identifier', - 'required': False}, - 'title': {'description': 'The slot to provide a title for the ' - 'EvaluatedEntity.', - 'name': 'title'}, - 'was_generated_by': {'description': 'A slot to provide the ' - 'Activity which created ' - 'the EvaluatedEntity.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'was_generated_by', - 'range': 'Activity'}}}) - - was_generated_by: Optional[list[Activity]] = Field(default=None, description="""A slot to provide the Activity which created the EvaluatedEntity.""", json_schema_extra = { "linkml_meta": {'alias': 'was_generated_by', - 'domain_of': ['Dataset', 'EvaluatedEntity'], - 'slot_uri': 'prov:wasGeneratedBy'} }) - title: Optional[str] = Field(default=None, description="""The slot to provide a title for the EvaluatedEntity.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""The slot to provide a description for the EvaluatedEntity.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""A slot to provide a secondary identifier of the EvaluatedEntity.""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'slot_uri': 'adms:identifier'} }) - has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field(default=None, description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_qualitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field(default=None, description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_quantitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_part: Optional[list[Entity]] = Field(default=None, description="""A slot to provide a part of the Entity.""", json_schema_extra = { "linkml_meta": {'alias': 'has_part', - 'domain_of': ['Activity', 'AgenticEntity', 'Catalogue', 'Entity'], - 'slot_uri': 'dcterms:hasPart'} }) - part_of: Optional[list[Entity]] = Field(default=None, description="""The slot to specify an Entity of which the Entity is a part.""", json_schema_extra = { "linkml_meta": {'alias': 'part_of', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'inverse': 'has_part', - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:isPartOf'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:Entity", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "slot_usage": { + "description": { + "description": "The slot to provide a " + "description for the " + "EvaluatedEntity.", + "name": "description", + }, + "other_identifier": { + "description": "A slot to provide a " + "secondary identifier of " + "the EvaluatedEntity.", + "inlined_as_list": True, + "multivalued": True, + "name": "other_identifier", + "range": "Identifier", + "required": False, + }, + "title": { + "description": "The slot to provide a title for the " + "EvaluatedEntity.", + "name": "title", + }, + "was_generated_by": { + "description": "A slot to provide the " + "Activity which created " + "the EvaluatedEntity.", + "inlined_as_list": True, + "multivalued": True, + "name": "was_generated_by", + "range": "Activity", + }, + }, + } + ) + + was_generated_by: Optional[list[Activity]] = Field( + default=None, + description="""A slot to provide the Activity which created the EvaluatedEntity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "EvaluatedEntity"], + "slot_uri": "prov:wasGeneratedBy", + } + }, + ) + title: Optional[str] = Field( + default=None, + description="""The slot to provide a title for the EvaluatedEntity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""The slot to provide a description for the EvaluatedEntity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""A slot to provide a secondary identifier of the EvaluatedEntity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "slot_uri": "adms:identifier", + } + }, + ) + has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field( + default=None, + description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field( + default=None, + description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_part: Optional[list[Entity]] = Field( + default=None, + description="""A slot to provide a part of the Entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Catalogue", "Entity"], + "slot_uri": "dcterms:hasPart", + } + }, + ) + part_of: Optional[list[Entity]] = Field( + default=None, + description="""The slot to specify an Entity of which the Entity is a part.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "inverse": "has_part", + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:isPartOf", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class AnalysisSourceData(EvaluatedEntity): """ Information that was evaluated within a DataAnalysis. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:Entity', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'slot_usage': {'was_generated_by': {'description': 'A slot to provide the ' - 'Activity which created ' - 'the AnalysisSourceData.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'was_generated_by', - 'range': 'DataGeneratingActivity'}}}) - - was_generated_by: Optional[list[DataGeneratingActivity]] = Field(default=None, description="""A slot to provide the Activity which created the AnalysisSourceData.""", json_schema_extra = { "linkml_meta": {'alias': 'was_generated_by', - 'domain_of': ['Dataset', 'EvaluatedEntity'], - 'slot_uri': 'prov:wasGeneratedBy'} }) - title: Optional[str] = Field(default=None, description="""The slot to provide a title for the EvaluatedEntity.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""The slot to provide a description for the EvaluatedEntity.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""A slot to provide a secondary identifier of the EvaluatedEntity.""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'slot_uri': 'adms:identifier'} }) - has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field(default=None, description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_qualitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field(default=None, description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_quantitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_part: Optional[list[Entity]] = Field(default=None, description="""A slot to provide a part of the Entity.""", json_schema_extra = { "linkml_meta": {'alias': 'has_part', - 'domain_of': ['Activity', 'AgenticEntity', 'Catalogue', 'Entity'], - 'slot_uri': 'dcterms:hasPart'} }) - part_of: Optional[list[Entity]] = Field(default=None, description="""The slot to specify an Entity of which the Entity is a part.""", json_schema_extra = { "linkml_meta": {'alias': 'part_of', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'inverse': 'has_part', - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:isPartOf'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:Entity", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "slot_usage": { + "was_generated_by": { + "description": "A slot to provide the " + "Activity which created " + "the AnalysisSourceData.", + "inlined_as_list": True, + "multivalued": True, + "name": "was_generated_by", + "range": "DataGeneratingActivity", + } + }, + } + ) + + was_generated_by: Optional[list[DataGeneratingActivity]] = Field( + default=None, + description="""A slot to provide the Activity which created the AnalysisSourceData.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Dataset", "EvaluatedEntity"], + "slot_uri": "prov:wasGeneratedBy", + } + }, + ) + title: Optional[str] = Field( + default=None, + description="""The slot to provide a title for the EvaluatedEntity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""The slot to provide a description for the EvaluatedEntity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""A slot to provide a secondary identifier of the EvaluatedEntity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "slot_uri": "adms:identifier", + } + }, + ) + has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field( + default=None, + description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field( + default=None, + description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_part: Optional[list[Entity]] = Field( + default=None, + description="""A slot to provide a part of the Entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Catalogue", "Entity"], + "slot_uri": "dcterms:hasPart", + } + }, + ) + part_of: Optional[list[Entity]] = Field( + default=None, + description="""The slot to specify an Entity of which the Entity is a part.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "inverse": "has_part", + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:isPartOf", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class Kind(ConfiguredBaseModel): """ See [DCAT-AP specs:Kind](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Kind) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'vcard:Kind', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "vcard:Kind", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) pass @@ -4077,2665 +6584,3608 @@ class Location(ConfiguredBaseModel): """ See [DCAT-AP specs:Location](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Location) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcterms:Location', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'bbox': {'description': 'The geographic bounding box of a ' - 'resource.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'bbox', - 'range': 'string', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:bbox'}, - 'centroid': {'description': 'The geographic center (centroid) ' - 'of a resource.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'centroid', - 'range': 'string', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:centroid'}, - 'geometry': {'description': 'The corresponding geometry for a ' - 'resource.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'geometry', - 'range': 'Geometry', - 'required': False, - 'slot_uri': 'locn:geometry'}}}) - - bbox: Optional[str] = Field(default=None, description="""The geographic bounding box of a resource.""", json_schema_extra = { "linkml_meta": {'alias': 'bbox', - 'domain_of': ['Location'], - 'recommended': True, - 'slot_uri': 'dcat:bbox'} }) - centroid: Optional[str] = Field(default=None, description="""The geographic center (centroid) of a resource.""", json_schema_extra = { "linkml_meta": {'alias': 'centroid', - 'domain_of': ['Location'], - 'recommended': True, - 'slot_uri': 'dcat:centroid'} }) - geometry: Optional[Geometry] = Field(default=None, description="""The corresponding geometry for a resource.""", json_schema_extra = { "linkml_meta": {'alias': 'geometry', 'domain_of': ['Location'], 'slot_uri': 'locn:geometry'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcterms:Location", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "bbox": { + "description": "The geographic bounding box of a resource.", + "inlined_as_list": False, + "multivalued": False, + "name": "bbox", + "range": "string", + "recommended": True, + "required": False, + "slot_uri": "dcat:bbox", + }, + "centroid": { + "description": "The geographic center (centroid) of a resource.", + "inlined_as_list": False, + "multivalued": False, + "name": "centroid", + "range": "string", + "recommended": True, + "required": False, + "slot_uri": "dcat:centroid", + }, + "geometry": { + "description": "The corresponding geometry for a resource.", + "inlined_as_list": False, + "multivalued": False, + "name": "geometry", + "range": "Geometry", + "required": False, + "slot_uri": "locn:geometry", + }, + }, + } + ) + + bbox: Optional[str] = Field( + default=None, + description="""The geographic bounding box of a resource.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Location"], + "recommended": True, + "slot_uri": "dcat:bbox", + } + }, + ) + centroid: Optional[str] = Field( + default=None, + description="""The geographic center (centroid) of a resource.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Location"], + "recommended": True, + "slot_uri": "dcat:centroid", + } + }, + ) + geometry: Optional[Geometry] = Field( + default=None, + description="""The corresponding geometry for a resource.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Location"], "slot_uri": "locn:geometry"} + }, + ) class Plan(ClassifierMixin): """ A piece of information that specifies how an activity has to be carried out by its agents including what kind of steps have to be taken and what kind of parameters have to be met/set. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'aliases': ['Plan Specification', 'Method', 'Procedure'], - 'class_uri': 'prov:Plan', - 'examples': [{'description': 'We assigned the structure of sample CRS-37013 ' - 'using a 13C NMR (CHMO:0000595) and the ' - 'settings: pulse sequence: zgpg30, temperature: ' - '298.0 K, number of scans: 1024, Solvent : ' - 'chloroform-D1 (CDCl3).'}], - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'mixins': ['ClassifierMixin']}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "aliases": ["Plan Specification", "Method", "Procedure"], + "class_uri": "prov:Plan", + "examples": [ + { + "description": "We assigned the structure of sample CRS-37013 " + "using a 13C NMR (CHMO:0000595) and the " + "settings: pulse sequence: zgpg30, temperature: " + "298.0 K, number of scans: 1024, Solvent : " + "chloroform-D1 (CDCl3)." + } + ], + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "mixins": ["ClassifierMixin"], + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class QualitativeAttribute(ClassifierMixin): """ A piece of information that is attributed to an Entity, Activity or AgenticEntity. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:Entity', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'mixins': ['ClassifierMixin'], - 'slot_usage': {'value': {'description': 'The slot to provide the literal ' - 'value of the QualitativeAttribute.', - 'name': 'value', - 'required': True}}}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - value: str = Field(default=..., description="""The slot to provide the literal value of the QualitativeAttribute.""", json_schema_extra = { "linkml_meta": {'alias': 'value', - 'domain_of': ['QualitativeAttribute', 'QuantitativeAttribute'], - 'in_subset': ['domain_agnostic_core'], - 'slot_uri': 'prov:value'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:Entity", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "mixins": ["ClassifierMixin"], + "slot_usage": { + "value": { + "description": "The slot to provide the literal " + "value of the QualitativeAttribute.", + "name": "value", + "required": True, + } + }, + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + value: str = Field( + default=..., + description="""The slot to provide the literal value of the QualitativeAttribute.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["QualitativeAttribute", "QuantitativeAttribute"], + "in_subset": ["domain_agnostic_core"], + "slot_uri": "prov:value", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class QuantitativeAttribute(ClassifierMixin): """ A quantifiable piece of information that is attributed to an Entity, Activity or AgenticEntity. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'qudt:Quantity', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'mixins': ['ClassifierMixin'], - 'slot_usage': {'value': {'description': 'The slot to provide the literal ' - 'value of the QuantitativeAttribute.', - 'name': 'value', - 'range': 'float', - 'required': True}}}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - value: float = Field(default=..., description="""The slot to provide the literal value of the QuantitativeAttribute.""", json_schema_extra = { "linkml_meta": {'alias': 'value', - 'domain_of': ['QualitativeAttribute', 'QuantitativeAttribute'], - 'in_subset': ['domain_agnostic_core'], - 'slot_uri': 'prov:value'} }) - has_quantity_type: str = Field(default=..., description="""The type of quality that is quantifiable according to the QUDT ontology.""", json_schema_extra = { "linkml_meta": {'alias': 'has_quantity_type', - 'bindings': [{'binds_value_of': 'id', - 'description': 'Binds the type of a quantifiable attribute to a ' - 'QUDT Quantity Kind instance from the QUDT ' - 'Quantity Kind vocabulary.', - 'obligation_level': 'RECOMMENDED', - 'range': 'QUDTQuantityKindEnum'}], - 'domain_of': ['QuantitativeAttribute'], - 'slot_uri': 'qudt:hasQuantityKind'} }) - unit: Optional[str] = Field(default=None, json_schema_extra = { "linkml_meta": {'alias': 'unit', - 'bindings': [{'binds_value_of': 'id', - 'description': 'Restricts the allowable defined terms to the ' - 'QUDT Unit vocabulary.', - 'obligation_level': 'RECOMMENDED', - 'range': 'QUDTUnitEnum'}], - 'domain_of': ['QuantitativeAttribute'], - 'recommended': True, - 'slot_uri': 'qudt:unit'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "qudt:Quantity", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "mixins": ["ClassifierMixin"], + "slot_usage": { + "value": { + "description": "The slot to provide the literal " + "value of the QuantitativeAttribute.", + "name": "value", + "range": "float", + "required": True, + } + }, + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + value: float = Field( + default=..., + description="""The slot to provide the literal value of the QuantitativeAttribute.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["QualitativeAttribute", "QuantitativeAttribute"], + "in_subset": ["domain_agnostic_core"], + "slot_uri": "prov:value", + } + }, + ) + has_quantity_type: str = Field( + default=..., + description="""The type of quality that is quantifiable according to the QUDT ontology.""", + json_schema_extra={ + "linkml_meta": { + "bindings": [ + { + "binds_value_of": "id", + "description": "Binds the type of a quantifiable attribute to a " + "QUDT Quantity Kind instance from the QUDT " + "Quantity Kind vocabulary.", + "obligation_level": "RECOMMENDED", + "range": "QUDTQuantityKindEnum", + } + ], + "domain_of": ["QuantitativeAttribute"], + "slot_uri": "qudt:hasQuantityKind", + } + }, + ) + unit: Optional[str] = Field( + default=None, + json_schema_extra={ + "linkml_meta": { + "bindings": [ + { + "binds_value_of": "id", + "description": "Restricts the allowable defined terms to the " + "QUDT Unit vocabulary.", + "obligation_level": "RECOMMENDED", + "range": "QUDTUnitEnum", + } + ], + "domain_of": ["QuantitativeAttribute"], + "recommended": True, + "slot_uri": "qudt:unit", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class Relationship(ConfiguredBaseModel): """ See [DCAT-AP specs:Relationship](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Relationship) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcat:Relationship', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'had_role': {'description': 'A function of an entity or agent ' - 'with respect to another entity or ' - 'resource.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'had_role', - 'range': 'Role', - 'required': True, - 'slot_uri': 'dcat:hadRole'}, - 'relation': {'description': 'A resource related to the source ' - 'resource.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'relation', - 'range': 'Resource', - 'required': True, - 'slot_uri': 'dcterms:relation'}}}) - - had_role: list[Role] = Field(default=..., description="""A function of an entity or agent with respect to another entity or resource.""", json_schema_extra = { "linkml_meta": {'alias': 'had_role', 'domain_of': ['Relationship'], 'slot_uri': 'dcat:hadRole'} }) - relation: list[Resource] = Field(default=..., description="""A resource related to the source resource.""", json_schema_extra = { "linkml_meta": {'alias': 'relation', - 'domain_of': ['Relationship'], - 'slot_uri': 'dcterms:relation'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcat:Relationship", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "had_role": { + "description": "A function of an entity or agent " + "with respect to another entity or " + "resource.", + "inlined_as_list": True, + "multivalued": True, + "name": "had_role", + "range": "Role", + "required": True, + "slot_uri": "dcat:hadRole", + }, + "relation": { + "description": "A resource related to the source resource.", + "inlined_as_list": True, + "multivalued": True, + "name": "relation", + "range": "Resource", + "required": True, + "slot_uri": "dcterms:relation", + }, + }, + } + ) + + had_role: list[Role] = Field( + default=..., + description="""A function of an entity or agent with respect to another entity or resource.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Relationship"], "slot_uri": "dcat:hadRole"} + }, + ) + relation: list[Resource] = Field( + default=..., + description="""A resource related to the source resource.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Relationship"], + "slot_uri": "dcterms:relation", + } + }, + ) class Software(AgenticEntity): """ An instrument composed of a series of instructions that can be interpreted by or directly executed by a computer. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:SoftwareAgent', - 'exact_mappings': ['schema:SoftwareApplication'], - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'slot_usage': {'has_part': {'description': 'The slot to specify parts of a ' - 'Software that are themselves ' - 'Software.', - 'inlined': True, - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'has_part', - 'range': 'Software'}, - 'other_identifier': {'description': 'A slot to provide a ' - 'secondary identifier for ' - 'a Software.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'other_identifier', - 'range': 'Identifier', - 'required': False}}}) - - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - other_identifier: Optional[list[Identifier]] = Field(default=None, description="""A slot to provide a secondary identifier for a Software.""", json_schema_extra = { "linkml_meta": {'alias': 'other_identifier', - 'domain_of': ['Activity', 'AgenticEntity', 'Dataset', 'Entity'], - 'slot_uri': 'adms:identifier'} }) - has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field(default=None, description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_qualitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field(default=None, description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", json_schema_extra = { "linkml_meta": {'alias': 'has_quantitative_attribute', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'dcterms:relation'} }) - has_part: Optional[list[Software]] = Field(default=None, description="""The slot to specify parts of a Software that are themselves Software.""", json_schema_extra = { "linkml_meta": {'alias': 'has_part', - 'domain_of': ['Activity', 'AgenticEntity', 'Catalogue', 'Entity'], - 'slot_uri': 'dcterms:hasPart'} }) - part_of: Optional[list[AgenticEntity]] = Field(default=None, description="""The slot to provide the AgenticEntity of which theAgenticEntity is a part.""", json_schema_extra = { "linkml_meta": {'alias': 'part_of', - 'domain_of': ['Activity', 'AgenticEntity', 'Entity'], - 'in_subset': ['domain_agnostic_core'], - 'inverse': 'has_part', - 'notes': ['not in DCAT-AP'], - 'slot_uri': 'dcterms:isPartOf'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:SoftwareAgent", + "exact_mappings": ["schema:SoftwareApplication"], + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "slot_usage": { + "has_part": { + "description": "The slot to specify parts of a " + "Software that are themselves " + "Software.", + "inlined": True, + "inlined_as_list": True, + "multivalued": True, + "name": "has_part", + "range": "Software", + }, + "other_identifier": { + "description": "A slot to provide a " + "secondary identifier for " + "a Software.", + "inlined_as_list": True, + "multivalued": True, + "name": "other_identifier", + "range": "Identifier", + "required": False, + }, + }, + } + ) + + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + other_identifier: Optional[list[Identifier]] = Field( + default=None, + description="""A slot to provide a secondary identifier for a Software.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Dataset", "Entity"], + "slot_uri": "adms:identifier", + } + }, + ) + has_qualitative_attribute: Optional[list[QualitativeAttribute]] = Field( + default=None, + description="""The slot to relate a qualitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_quantitative_attribute: Optional[list[QuantitativeAttribute]] = Field( + default=None, + description="""The slot to relate a quantitative attribute to an EvaluatedEntity, EvaluatedActivity or AgenticEntity""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "dcterms:relation", + } + }, + ) + has_part: Optional[list[Software]] = Field( + default=None, + description="""The slot to specify parts of a Software that are themselves Software.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Catalogue", "Entity"], + "slot_uri": "dcterms:hasPart", + } + }, + ) + part_of: Optional[list[AgenticEntity]] = Field( + default=None, + description="""The slot to provide the AgenticEntity of which theAgenticEntity is a part.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Activity", "AgenticEntity", "Entity"], + "in_subset": ["domain_agnostic_core"], + "inverse": "has_part", + "notes": ["not in DCAT-AP"], + "slot_uri": "dcterms:isPartOf", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class SupportiveEntity(ConfiguredBaseModel): """ The supportive entities are supporting the main entities in the Application Profile. They are included in the Application Profile because they form the range of properties. """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + {"from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/"} + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class Attribution(SupportiveEntity): """ See [DCAT-AP specs:Attribution](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Attribution) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:Attribution', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:Attribution", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class ChecksumAlgorithm(SupportiveEntity): """ See [DCAT-AP specs:ChecksumAlgorithm](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ChecksumAlgorithm) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'spdx:ChecksumAlgorithm', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "spdx:ChecksumAlgorithm", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class Concept(SupportiveEntity): """ See [DCAT-AP specs:Concept](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Concept) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'skos:Concept', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'preferred_label': {'description': 'A preferred label of the ' - 'concept.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'preferred_label', - 'range': 'string', - 'required': True, - 'slot_uri': 'skos:prefLabel'}}}) - - preferred_label: list[str] = Field(default=..., description="""A preferred label of the concept.""", json_schema_extra = { "linkml_meta": {'alias': 'preferred_label', - 'domain_of': ['Concept'], - 'slot_uri': 'skos:prefLabel'} }) - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "skos:Concept", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "preferred_label": { + "description": "A preferred label of the concept.", + "inlined_as_list": True, + "multivalued": True, + "name": "preferred_label", + "range": "string", + "required": True, + "slot_uri": "skos:prefLabel", + } + }, + } + ) + + preferred_label: list[str] = Field( + default=..., + description="""A preferred label of the concept.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Concept"], "slot_uri": "skos:prefLabel"} + }, + ) + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class ConceptScheme(SupportiveEntity): """ See [DCAT-AP specs:ConceptScheme](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ConceptScheme) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'skos:ConceptScheme', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'title': {'description': 'A name of the concept scheme.', - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'title', - 'range': 'string', - 'required': True, - 'slot_uri': 'dcterms:title'}}}) - - title: list[str] = Field(default=..., description="""A name of the concept scheme.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "skos:ConceptScheme", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "title": { + "description": "A name of the concept scheme.", + "inlined_as_list": True, + "multivalued": True, + "name": "title", + "range": "string", + "required": True, + "slot_uri": "dcterms:title", + } + }, + } + ) + + title: list[str] = Field( + default=..., + description="""A name of the concept scheme.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class Document(SupportiveEntity): """ See [DCAT-AP specs:Document](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Document) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'foaf:Document', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "foaf:Document", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class Frequency(SupportiveEntity): """ See [DCAT-AP specs:Frequency](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Frequency) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcterms:Frequency', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcterms:Frequency", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class Geometry(SupportiveEntity): """ See [DCAT-AP specs:Geometry](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Geometry) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'locn:Geometry', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "locn:Geometry", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class Identifier(SupportiveEntity): """ See [DCAT-AP specs:Identifier](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Identifier) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'adms:Identifier', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'notation': {'description': 'A string that is an identifier in ' - 'the context of the identifier ' - 'scheme referenced by its ' - 'datatype.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'notation', - 'range': 'string', - 'required': True, - 'slot_uri': 'skos:notation'}}}) - - notation: str = Field(default=..., description="""A string that is an identifier in the context of the identifier scheme referenced by its datatype.""", json_schema_extra = { "linkml_meta": {'alias': 'notation', 'domain_of': ['Identifier'], 'slot_uri': 'skos:notation'} }) - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "adms:Identifier", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "notation": { + "description": "A string that is an identifier in " + "the context of the identifier " + "scheme referenced by its " + "datatype.", + "inlined_as_list": False, + "multivalued": False, + "name": "notation", + "range": "string", + "required": True, + "slot_uri": "skos:notation", + } + }, + } + ) + + notation: str = Field( + default=..., + description="""A string that is an identifier in the context of the identifier scheme referenced by its datatype.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["Identifier"], "slot_uri": "skos:notation"} + }, + ) + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class LegalResource(SupportiveEntity): """ See [DCAT-AP specs:LegalResource](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LegalResource) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'eli:LegalResource', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "eli:LegalResource", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class LicenseDocument(SupportiveEntity): """ See [DCAT-AP specs:LicenseDocument](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LicenseDocument) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcterms:LicenseDocument', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'type': {'description': 'A type of licence, e.g. indicating ' - "'public domain' or 'royalties " - "required'.", - 'inlined_as_list': True, - 'multivalued': True, - 'name': 'type', - 'range': 'Concept', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcterms:type'}}}) - - type: Optional[list[Concept]] = Field(default=None, description="""A type of licence, e.g. indicating 'public domain' or 'royalties required'.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'recommended': True, - 'slot_uri': 'dcterms:type'} }) - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcterms:LicenseDocument", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "type": { + "description": "A type of licence, e.g. indicating " + "'public domain' or 'royalties " + "required'.", + "inlined_as_list": True, + "multivalued": True, + "name": "type", + "range": "Concept", + "recommended": True, + "required": False, + "slot_uri": "dcterms:type", + } + }, + } + ) + + type: Optional[list[Concept]] = Field( + default=None, + description="""A type of licence, e.g. indicating 'public domain' or 'royalties required'.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "recommended": True, + "slot_uri": "dcterms:type", + } + }, + ) + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class LinguisticSystem(SupportiveEntity): """ See [DCAT-AP specs:LinguisticSystem](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LinguisticSystem) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcterms:LinguisticSystem', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcterms:LinguisticSystem", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class MediaType(SupportiveEntity): """ See [DCAT-AP specs:MediaType](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#MediaType) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcterms:MediaType', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcterms:MediaType", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class MediaTypeOrExtent(SupportiveEntity): """ See [DCAT-AP specs:MediaTypeOrExtent](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#MediaTypeOrExtent) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcterms:MediaTypeOrExtent', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcterms:MediaTypeOrExtent", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class PeriodOfTime(SupportiveEntity): """ See [DCAT-AP specs:PeriodOfTime](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#PeriodOfTime) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcterms:PeriodOfTime', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'slot_usage': {'beginning': {'description': 'The beginning of a period or ' - 'interval.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'beginning', - 'range': 'TimeInstant', - 'required': False, - 'slot_uri': 'time:hasBeginning'}, - 'end': {'description': 'The end of a period or interval.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'end', - 'range': 'TimeInstant', - 'required': False, - 'slot_uri': 'time:hasEnd'}, - 'end_date': {'description': 'The end of the period.', - 'inlined_as_list': True, - 'multivalued': False, - 'name': 'end_date', - 'range': 'date', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:endDate'}, - 'start_date': {'description': 'The start of the period.', - 'inlined_as_list': False, - 'multivalued': False, - 'name': 'start_date', - 'range': 'date', - 'recommended': True, - 'required': False, - 'slot_uri': 'dcat:startDate'}}}) - - beginning: Optional[TimeInstant] = Field(default=None, description="""The beginning of a period or interval.""", json_schema_extra = { "linkml_meta": {'alias': 'beginning', - 'domain_of': ['PeriodOfTime'], - 'slot_uri': 'time:hasBeginning'} }) - end: Optional[TimeInstant] = Field(default=None, description="""The end of a period or interval.""", json_schema_extra = { "linkml_meta": {'alias': 'end', 'domain_of': ['PeriodOfTime'], 'slot_uri': 'time:hasEnd'} }) - end_date: Optional[date] = Field(default=None, description="""The end of the period.""", json_schema_extra = { "linkml_meta": {'alias': 'end_date', - 'domain_of': ['PeriodOfTime'], - 'recommended': True, - 'slot_uri': 'dcat:endDate'} }) - start_date: Optional[date] = Field(default=None, description="""The start of the period.""", json_schema_extra = { "linkml_meta": {'alias': 'start_date', - 'domain_of': ['PeriodOfTime'], - 'recommended': True, - 'slot_uri': 'dcat:startDate'} }) - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcterms:PeriodOfTime", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "slot_usage": { + "beginning": { + "description": "The beginning of a period or interval.", + "inlined_as_list": True, + "multivalued": False, + "name": "beginning", + "range": "TimeInstant", + "required": False, + "slot_uri": "time:hasBeginning", + }, + "end": { + "description": "The end of a period or interval.", + "inlined_as_list": True, + "multivalued": False, + "name": "end", + "range": "TimeInstant", + "required": False, + "slot_uri": "time:hasEnd", + }, + "end_date": { + "description": "The end of the period.", + "inlined_as_list": True, + "multivalued": False, + "name": "end_date", + "range": "date", + "recommended": True, + "required": False, + "slot_uri": "dcat:endDate", + }, + "start_date": { + "description": "The start of the period.", + "inlined_as_list": False, + "multivalued": False, + "name": "start_date", + "range": "date", + "recommended": True, + "required": False, + "slot_uri": "dcat:startDate", + }, + }, + } + ) + + beginning: Optional[TimeInstant] = Field( + default=None, + description="""The beginning of a period or interval.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["PeriodOfTime"], + "slot_uri": "time:hasBeginning", + } + }, + ) + end: Optional[TimeInstant] = Field( + default=None, + description="""The end of a period or interval.""", + json_schema_extra={ + "linkml_meta": {"domain_of": ["PeriodOfTime"], "slot_uri": "time:hasEnd"} + }, + ) + end_date: Optional[date] = Field( + default=None, + description="""The end of the period.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["PeriodOfTime"], + "recommended": True, + "slot_uri": "dcat:endDate", + } + }, + ) + start_date: Optional[date] = Field( + default=None, + description="""The start of the period.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["PeriodOfTime"], + "recommended": True, + "slot_uri": "dcat:startDate", + } + }, + ) + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class Policy(SupportiveEntity): """ See [DCAT-AP specs:Policy](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Policy) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'odrl:Policy', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "odrl:Policy", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class ProvenanceStatement(SupportiveEntity): """ See [DCAT-AP specs:ProvenanceStatement](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ProvenanceStatement) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcterms:ProvenanceStatement', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcterms:ProvenanceStatement", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class Resource(SupportiveEntity): """ See [DCAT-AP specs:Resource](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Resource) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'rdfs:Resource', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - id: str = Field(default=..., description="""A slot to provide an URI for an entity within this schema.""", json_schema_extra = { "linkml_meta": {'alias': 'id', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Dataset', - 'DefinedTerm', - 'Document', - 'Entity', - 'LegalResource', - 'LicenseDocument', - 'Resource'], - 'in_subset': ['domain_agnostic_core']} }) - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "rdfs:Resource", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + id: str = Field( + default=..., + description="""A slot to provide an URI for an entity within this schema.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Dataset", + "DefinedTerm", + "Document", + "Entity", + "LegalResource", + "LicenseDocument", + "Resource", + ], + "in_subset": ["domain_agnostic_core"], + } + }, + ) + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class RightsStatement(SupportiveEntity): """ See [DCAT-AP specs:RightsStatement](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#RightsStatement) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcterms:RightsStatement', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcterms:RightsStatement", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class Role(SupportiveEntity): """ See [DCAT-AP specs:Role](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Role) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcat:Role', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcat:Role", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class Standard(SupportiveEntity): """ See [DCAT-AP specs:Standard](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Standard) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'dcterms:Standard', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "dcterms:Standard", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) class Surrounding(ClassifierMixin): """ The surrounding in which the dataset creating activity took place (e.g. a lab). """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'prov:Location', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/', - 'in_subset': ['domain_agnostic_core'], - 'mixins': ['ClassifierMixin']}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) - type: Optional[DefinedTerm] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'type', - 'domain_of': ['Agent', 'ClassifierMixin', 'Dataset', 'LicenseDocument'], - 'slot_uri': 'dcterms:type'} }) - rdf_type: Optional[DefinedTerm] = Field(default=None, description="""The slot to specify the ontology class that is instantiated by an entity.""", json_schema_extra = { "linkml_meta": {'alias': 'rdf_type', - 'domain_of': ['ClassifierMixin'], - 'in_subset': ['domain_agnostic_core'], - 'recommended': True, - 'slot_uri': 'rdf:type'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "prov:Location", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + "in_subset": ["domain_agnostic_core"], + "mixins": ["ClassifierMixin"], + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) + type: Optional[DefinedTerm] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["Agent", "ClassifierMixin", "Dataset", "LicenseDocument"], + "slot_uri": "dcterms:type", + } + }, + ) + rdf_type: Optional[DefinedTerm] = Field( + default=None, + description="""The slot to specify the ontology class that is instantiated by an entity.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": ["ClassifierMixin"], + "in_subset": ["domain_agnostic_core"], + "recommended": True, + "slot_uri": "rdf:type", + } + }, + ) class TimeInstant(SupportiveEntity): """ See [DCAT-AP specs:TimeInstant](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#TimeInstant) """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'time:Instant', - 'from_schema': 'https://w3id.org/nfdi-de/dcat-ap-plus/'}) - - title: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'title', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'DefinedTerm', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:title'} }) - description: Optional[str] = Field(default=None, description="""This slot is described in more detail within the class in which it is used.""", json_schema_extra = { "linkml_meta": {'alias': 'description', - 'domain_of': ['Activity', - 'AgenticEntity', - 'Any', - 'Attribution', - 'Catalogue', - 'CatalogueRecord', - 'ChecksumAlgorithm', - 'Concept', - 'ConceptScheme', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Document', - 'Entity', - 'Frequency', - 'Geometry', - 'Identifier', - 'LegalResource', - 'LicenseDocument', - 'LinguisticSystem', - 'MediaType', - 'MediaTypeOrExtent', - 'PeriodOfTime', - 'Plan', - 'Policy', - 'ProvenanceStatement', - 'QualitativeAttribute', - 'QuantitativeAttribute', - 'Resource', - 'RightsStatement', - 'Role', - 'Standard', - 'SupportiveEntity', - 'Surrounding', - 'TimeInstant'], - 'slot_uri': 'dcterms:description'} }) + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "time:Instant", + "from_schema": "https://w3id.org/nfdi-de/dcat-ap-plus/", + } + ) + + title: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "DefinedTerm", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:title", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""This slot is described in more detail within the class in which it is used.""", + json_schema_extra={ + "linkml_meta": { + "domain_of": [ + "Activity", + "AgenticEntity", + "Any", + "Attribution", + "Catalogue", + "CatalogueRecord", + "ChecksumAlgorithm", + "Concept", + "ConceptScheme", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Document", + "Entity", + "Frequency", + "Geometry", + "Identifier", + "LegalResource", + "LicenseDocument", + "LinguisticSystem", + "MediaType", + "MediaTypeOrExtent", + "PeriodOfTime", + "Plan", + "Policy", + "ProvenanceStatement", + "QualitativeAttribute", + "QuantitativeAttribute", + "Resource", + "RightsStatement", + "Role", + "Standard", + "SupportiveEntity", + "Surrounding", + "TimeInstant", + ], + "slot_uri": "dcterms:description", + } + }, + ) # Model rebuild @@ -6790,4 +10240,3 @@ class TimeInstant(SupportiveEntity): Standard.model_rebuild() Surrounding.model_rebuild() TimeInstant.model_rebuild() - diff --git a/src/dcat_ap_plus/dcat_ap_shacl_2_linkml.py b/src/dcat_ap_plus/dcat_ap_shacl_2_linkml.py index bc42e2c5..d1fc3da8 100644 --- a/src/dcat_ap_plus/dcat_ap_shacl_2_linkml.py +++ b/src/dcat_ap_plus/dcat_ap_shacl_2_linkml.py @@ -5,44 +5,52 @@ import os from linkml.utils.schema_builder import SchemaBuilder from linkml_runtime.dumpers import YAMLDumper -from linkml_runtime.linkml_model import SlotDefinition, TypeDefinition, ClassDefinition, EnumDefinition +from linkml_runtime.linkml_model import ( + SlotDefinition, + TypeDefinition, + ClassDefinition, + EnumDefinition, +) # Constants DESCRIPTION1 = """ This LinkML schema representation of DCAT-AP 3.0.0 was automatically created from these [JSON-LD SHACL shapes](https://github.com/SEMICeu/DCAT-AP/blob/master/releases/3.0.0/shacl/dcat-ap-SHACL.jsonld) using a Python script (https://github.com/nfdi-de/dcat-ap-plus/blob/main/src/dcat_ap_shacl_2_linkml.py). -""".replace('\n', '') +""".replace("\n", "") NOTE = """ The JSON-LD SHACL constraints published with the [July 3.0.0 GitHub release](https://github.com/SEMICeu/DCAT-AP/releases/tag/3.0.0) and in the [3.0.0. release branch](https://github.com/SEMICeu/DCAT-AP/tree/3.0.0) are different from the ones in https://github.com/SEMICeu/DCAT-AP/tree/master/releases/3.0.0. Also the TTL shapes provided in the latter in the HTML folder differ from the ones in the SHACL folder, in that they declare "dcat:ResourceShape/DcatResource_Shape" and "TemporalLiteralShape/DateOrDateTimeDataType_Shape"(shacl/html folder) as unions of the dcat:Dataset, dcat:Catalog, dcat:DataService and dcat:DatasetSeries respectively the datatypes xsd:date, xsd:dateTime, xsd:gYear & xsd:gYearMonth. We currently address this in the conversion script by only allowing xsd:date as a [Temporal Literal](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#TemporalLiteral), which means that this LinkML representation of DCAT-AP is stricter and values in xsd:dateTime format will automatically be typecast to xsd:date. Regarding the 'dcat:ResourceShape/DcatResource_Shape' we use the LinkML [union as ranges](https://linkml.io/linkml/schemas/advanced.html#unions-as-ranges) approach to provide the expected union of dcat:Resource subclasses. However, this is not fully implemented in LinkML yet, so that any kind of object/class could be used, until https://github.com/linkml/linkml/issues/1813 is fixed. -""".replace('\n', '') +""".replace("\n", "") DESCRIPTION2 = """ -This metadata schema is an axtension of the DCAT Application Profile for Providing Links to Use-case Specific Context. It allows to provide additional metadata regarding: which kind(s) of entity(s) or activity(s) were evaluated (a dcat:Dataset is about), which kind of activity generated a dcat:Dataset, which kind of instruments were used in the dataset generating activity, in which surrounding (e.g. a laboratory) and according to which plan the dataset generating activity took place, as well as regarding which kind(s) of qualitative and quantitative characteristic were attributed to the evaluated entity or evaluated activity and to the used instruments.""".replace('\n', '') +This metadata schema is an axtension of the DCAT Application Profile for Providing Links to Use-case Specific Context. It allows to provide additional metadata regarding: which kind(s) of entity(s) or activity(s) were evaluated (a dcat:Dataset is about), which kind of activity generated a dcat:Dataset, which kind of instruments were used in the dataset generating activity, in which surrounding (e.g. a laboratory) and according to which plan the dataset generating activity took place, as well as regarding which kind(s) of qualitative and quantitative characteristic were attributed to the evaluated entity or evaluated activity and to the used instruments.""".replace( + "\n", "" +) PREFIX_MAP = { - 'linkml': 'https://w3id.org/linkml/', - 'foaf': 'http://xmlns.com/foaf/0.1/', - 'prov': 'http://www.w3.org/ns/prov#', - 'dcat': 'http://www.w3.org/ns/dcat#', - 'dcterms': 'http://purl.org/dc/terms/', - 'spdx': 'http://spdx.org/rdf/terms#', - 'odrl': 'http://www.w3.org/ns/odrl/2/', - 'eli': 'http://data.europa.eu/eli/ontology#', - 'locn': 'http://www.w3.org/ns/locn#', - 'time': 'http://www.w3.org/2006/time#', - 'xsd': 'http://www.w3.org/2001/XMLSchema#', - 'vcard': 'http://www.w3.org/2006/vcard/ns#', - 'adms': 'http://www.w3.org/ns/adms#', - 'dcatap': 'http://data.europa.eu/r5r/', - 'qb': 'http://purl.org/linked-data/cube#', - 'rdf': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', - 'rdfs': 'http://www.w3.org/2000/01/rdf-schema#', - 'sh': 'http://www.w3.org/ns/shacl#', - 'skos': 'http://www.w3.org/2004/02/skos/core#', - 'vl': 'https://purl.eu/ns/shacl#', - 'iana': 'https://www.iana.org/assignments/', - 'epos': 'https://www.epos-eu.org/epos-dcat-ap#', - 'schema': 'https://schema.org/'} + "linkml": "https://w3id.org/linkml/", + "foaf": "http://xmlns.com/foaf/0.1/", + "prov": "http://www.w3.org/ns/prov#", + "dcat": "http://www.w3.org/ns/dcat#", + "dcterms": "http://purl.org/dc/terms/", + "spdx": "http://spdx.org/rdf/terms#", + "odrl": "http://www.w3.org/ns/odrl/2/", + "eli": "http://data.europa.eu/eli/ontology#", + "locn": "http://www.w3.org/ns/locn#", + "time": "http://www.w3.org/2006/time#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "vcard": "http://www.w3.org/2006/vcard/ns#", + "adms": "http://www.w3.org/ns/adms#", + "dcatap": "http://data.europa.eu/r5r/", + "qb": "http://purl.org/linked-data/cube#", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "sh": "http://www.w3.org/ns/shacl#", + "skos": "http://www.w3.org/2004/02/skos/core#", + "vl": "https://purl.eu/ns/shacl#", + "iana": "https://www.iana.org/assignments/", + "epos": "https://www.epos-eu.org/epos-dcat-ap#", + "schema": "https://schema.org/", +} # The shape for rdfs:Literal is ignored, since we use LinkML's 'string' as default datatype for unspecified literal # slot ranges. @@ -54,42 +62,55 @@ # TODO: This "any_of" approach is not fully implemented in LinkML yet, see also: # https://github.com/linkml/linkml/issues/1813 -DATATYPES = ['dateTime', - 'decimal', - 'duration', - 'hexBinary', - 'nonNegativeInteger'] -IGNORED_NODES = ['Literal', - 'mediaType', - 'TemporalLiteral', - 'CataloguedResource'] -MAIN_NODES = ['Agent', - 'Catalogue', - 'CatalogueRecord', - 'CataloguedResource', - 'Checksum', - 'DataService', - 'Dataset', - 'DatasetSeries', - 'Distribution', - 'Kind', - 'Licence Document', - 'Location', - 'Relationship', - 'Activity' ] +DATATYPES = ["dateTime", "decimal", "duration", "hexBinary", "nonNegativeInteger"] +IGNORED_NODES = ["Literal", "mediaType", "TemporalLiteral", "CataloguedResource"] +MAIN_NODES = [ + "Agent", + "Catalogue", + "CatalogueRecord", + "CataloguedResource", + "Checksum", + "DataService", + "Dataset", + "DatasetSeries", + "Distribution", + "Kind", + "Licence Document", + "Location", + "Relationship", + "Activity", +] # Manually curated dict with recommended slots for each class, as this info cannot be parsed from the used shapes. -RECOMMENDED_SLOTS = [{'Agent': ['type']}, - {'LicenseDocument': ['type']}, - {'Location': ['bbox', 'centroid']}, - {'PeriodOfTime': ['end_date', 'start_date']}, - {'Dataset': ['contact_point','keyword', 'theme']}, - {'Distribution': ['availability','format', 'description']}, - {'DataSeries': ['contact_point']}, - {'CatalogueRecord': ['application_profile', 'change_type', 'listing_date']}, - {'Catalogue': ['homepage', 'themes', 'release_date', 'language', 'modification_date']}, - {'DataService': ['contact_point', 'endpoint_description', 'keyword', 'theme', 'conforms_to']}, - ] +RECOMMENDED_SLOTS = [ + {"Agent": ["type"]}, + {"LicenseDocument": ["type"]}, + {"Location": ["bbox", "centroid"]}, + {"PeriodOfTime": ["end_date", "start_date"]}, + {"Dataset": ["contact_point", "keyword", "theme"]}, + {"Distribution": ["availability", "format", "description"]}, + {"DataSeries": ["contact_point"]}, + {"CatalogueRecord": ["application_profile", "change_type", "listing_date"]}, + { + "Catalogue": [ + "homepage", + "themes", + "release_date", + "language", + "modification_date", + ] + }, + { + "DataService": [ + "contact_point", + "endpoint_description", + "keyword", + "theme", + "conforms_to", + ] + }, +] + def get_curie(term_uri, prefixes=None): """ @@ -111,7 +132,7 @@ def get_curie(term_uri, prefixes=None): return term_curie -def load_dcat_ap_shacl_shapes(jsonld_file='dcat_ap_shacl.jsonld'): +def load_dcat_ap_shacl_shapes(jsonld_file="dcat_ap_shacl.jsonld"): """ Load the JSON-LD file containing the DCAT-AP SHACL shapes. Args: @@ -120,9 +141,9 @@ def load_dcat_ap_shacl_shapes(jsonld_file='dcat_ap_shacl.jsonld'): - A Python object containing the loaded SHACL shapes TODO: Use Requests to download directly from the script, maybe with cache option. """ - filepath = os.path.join('src', 'dcat_ap_plus', jsonld_file) - with open(filepath, 'r') as file: - print(f'INFO: Loaded the DCAT-AP SHACL shapes from {filepath}.') + filepath = os.path.join("src", "dcat_ap_plus", jsonld_file) + with open(filepath, "r") as file: + print(f"INFO: Loaded the DCAT-AP SHACL shapes from {filepath}.") return json.load(file) @@ -138,104 +159,144 @@ def parse_dcat_ap_shacl_shapes(builder): # Add LinkML Any class to allow range unions, # see also https://linkml.io/linkml/schemas/advanced.html#unions-as-ranges - builder.add_class(ClassDefinition(name='Any', - class_uri='linkml:Any', - description='This abstract class is needed to create the union of Dataset, ' - 'DatasetSeries, Catalogue and DataService for the range of the slot [primary_topic](https://nfdi-de.github.io/chem-dcat-ap/elements/primary_topic/).')) + builder.add_class( + ClassDefinition( + name="Any", + class_uri="linkml:Any", + description="This abstract class is needed to create the union of Dataset, " + "DatasetSeries, Catalogue and DataService for the range of the slot [primary_topic](https://nfdi-de.github.io/chem-dcat-ap/elements/primary_topic/).", + ) + ) # Iterate through each SHACL node shape within the loaded JSON-LD to derive the LinkML classes or types from them. - for node_shape in dcat_ap_shapes['shapes']: - node_curie = get_curie(node_shape['sh:targetClass']) + for node_shape in dcat_ap_shapes["shapes"]: + node_curie = get_curie(node_shape["sh:targetClass"]) # Account for the renaming of DCAT classes in DCAT-AP - if node_curie == 'dcat:Resource': - node_name = 'CataloguedResource' - elif node_curie == 'dcat:Catalog': - node_name = 'Catalogue' - elif node_curie == 'dcat:CatalogRecord': - node_name = 'CatalogueRecord' + if node_curie == "dcat:Resource": + node_name = "CataloguedResource" + elif node_curie == "dcat:Catalog": + node_name = "Catalogue" + elif node_curie == "dcat:CatalogRecord": + node_name = "CatalogueRecord" else: - node_name = node_shape['@id'].split('#')[-1].split(':')[-1].replace('Shape', '') + node_name = ( + node_shape["@id"].split("#")[-1].split(":")[-1].replace("Shape", "") + ) # Link to the DCAT-AP specs for the description of the classes. - description = f'See [DCAT-AP specs:{node_name}](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#{node_name})' + description = f"See [DCAT-AP specs:{node_name}](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#{node_name})" # Parse node shapes that are considered LinkML classes. if node_name not in DATATYPES + IGNORED_NODES: # Add DCAT-AP Supportive Entity classes, this is done only to have an easier to read documentation. # 'Activity' is considered a main entity here, since we use it to extend DCAT-AP. if node_name not in MAIN_NODES: - builder.add_class(ClassDefinition(name='SupportiveEntity', - description='The supportive entities are supporting the main entities in the Application Profile. They are included in the Application Profile because they form the range of properties.')) - builder.add_class(ClassDefinition(name=node_name, - class_uri=node_curie, - is_a='SupportiveEntity', - description=description)) + builder.add_class( + ClassDefinition( + name="SupportiveEntity", + description="The supportive entities are supporting the main entities in the Application Profile. They are included in the Application Profile because they form the range of properties.", + ) + ) + builder.add_class( + ClassDefinition( + name=node_name, + class_uri=node_curie, + is_a="SupportiveEntity", + description=description, + ) + ) # Add DCAT-AP main classes else: - builder.add_class(ClassDefinition(name=node_name, - class_uri=node_curie, - description=description)) + builder.add_class( + ClassDefinition( + name=node_name, class_uri=node_curie, description=description + ) + ) # Dict to store parsed slots of a class class_slots = {} # Iterate through each property shape within a node shape to derive the LinkML slots from them. - if node_shape['sh:property']: - for slot_shape in node_shape['sh:property']: - slot_curie = get_curie(slot_shape['sh:path']) + if node_shape["sh:property"]: + for slot_shape in node_shape["sh:property"]: + slot_curie = get_curie(slot_shape["sh:path"]) # Use LinkML snake_case naming convention default for slots - slot_name = slot_shape['sh:name']['en'].replace(' ', '_') + slot_name = slot_shape["sh:name"]["en"].replace(" ", "_") # Rename 'dataset' slot to 'has_dataset' to avoid clashes with Dataset class - slot_name = 'has_dataset' if slot_name == 'dataset' else slot_name + slot_name = "has_dataset" if slot_name == "dataset" else slot_name # Check cardinality constraints of a slot - required = True if 'sh:minCount' in slot_shape and int(slot_shape['sh:minCount']) == 1 else False - multivalued = False if 'sh:maxCount' in slot_shape and int(slot_shape['sh:maxCount']) == 1 else True + required = ( + True + if "sh:minCount" in slot_shape + and int(slot_shape["sh:minCount"]) == 1 + else False + ) + multivalued = ( + False + if "sh:maxCount" in slot_shape + and int(slot_shape["sh:maxCount"]) == 1 + else True + ) inlined_as_list = False if not multivalued else True # Use default slot range 'string' as substitute for 'rdfs:Literal' and 'xsd:date' for # https://semiceu.github.io/DCAT-AP/releases/3.0.0/#TemporalLiteral, except for # https://semiceu.github.io/DCAT-AP/releases/3.0.0/#CataloguedResource, which uses linkml:Any. any_of = None - if slot_name == 'primary_topic': - slot_range = 'Any' - any_of = [{'range':'Catalogue'}, - {'range':'Dataset'}, - {'range':'DatasetSeries'}, - {'range':'DataService'}] - elif slot_name in ['modification_date', 'listing_date', 'release_date', 'start_date', 'end_date']: - slot_range = 'date' + if slot_name == "primary_topic": + slot_range = "Any" + any_of = [ + {"range": "Catalogue"}, + {"range": "Dataset"}, + {"range": "DatasetSeries"}, + {"range": "DataService"}, + ] + elif slot_name in [ + "modification_date", + "listing_date", + "release_date", + "start_date", + "end_date", + ]: + slot_range = "date" else: - slot_range = 'string' + slot_range = "string" # Assign slot range classes - if 'sh:class' in slot_shape: + if "sh:class" in slot_shape: # Account for the renaming of DCAT classes in DCAT-AP - if get_curie(slot_shape['sh:class']) == 'dcat:Resource': - slot_range = 'Any' - elif get_curie(slot_shape['sh:class']) == 'dcat:CatalogRecord': - slot_range = 'CatalogueRecord' - elif get_curie(slot_shape['sh:class']) == 'dcat:Catalog': - slot_range = 'Catalogue' - elif get_curie(slot_shape['sh:class']) == 'time:Instant': - slot_range = 'TimeInstant' + if get_curie(slot_shape["sh:class"]) == "dcat:Resource": + slot_range = "Any" + elif get_curie(slot_shape["sh:class"]) == "dcat:CatalogRecord": + slot_range = "CatalogueRecord" + elif get_curie(slot_shape["sh:class"]) == "dcat:Catalog": + slot_range = "Catalogue" + elif get_curie(slot_shape["sh:class"]) == "time:Instant": + slot_range = "TimeInstant" else: - slot_range = get_curie(slot_shape['sh:class']).split(':')[-1] + slot_range = get_curie(slot_shape["sh:class"]).split(":")[ + -1 + ] # Assign slot range datatypes - elif 'sh:datatype' in slot_shape: - datatype = get_curie(slot_shape['sh:datatype']) - if datatype.split(':')[-1] == 'dateTime': - slot_range = datatype.split(':')[-1].lower() + elif "sh:datatype" in slot_shape: + datatype = get_curie(slot_shape["sh:datatype"]) + if datatype.split(":")[-1] == "dateTime": + slot_range = datatype.split(":")[-1].lower() else: - slot_range = datatype.split(':')[-1] + slot_range = datatype.split(":")[-1] # Add a generalized version of the slot to the LinkML schema, needed for later slot reuse. if slot_name not in builder.schema.slots: - general_description = 'This slot is described in more detail within the class in which it is used.' - builder.add_slot(SlotDefinition(name=slot_name, - slot_uri=slot_curie, - description=general_description)) + general_description = "This slot is described in more detail within the class in which it is used." + builder.add_slot( + SlotDefinition( + name=slot_name, + slot_uri=slot_curie, + description=general_description, + ) + ) # Update the class slot attributes if multiple shapes exist for it. if slot_name in class_slots.keys(): - if slot_range != 'string': + if slot_range != "string": class_slots[slot_name].range = slot_range if not class_slots[slot_name].required: class_slots[slot_name].required = required @@ -245,16 +306,17 @@ def parse_dcat_ap_shacl_shapes(builder): # Add the class slot else: - description = slot_shape.get('sh:description', {}).get('en', '') - class_slots[slot_name] = SlotDefinition(name=slot_name, - slot_uri=slot_curie, - description=description, - required=required, - range=slot_range, - any_of=any_of, - multivalued=multivalued, - inlined_as_list=inlined_as_list) - + description = slot_shape.get("sh:description", {}).get("en", "") + class_slots[slot_name] = SlotDefinition( + name=slot_name, + slot_uri=slot_curie, + description=description, + required=required, + range=slot_range, + any_of=any_of, + multivalued=multivalued, + inlined_as_list=inlined_as_list, + ) # Add recommended flag to class slots which is not parsable from the DCAT-AP SHACL shapes. for entry in RECOMMENDED_SLOTS: @@ -264,22 +326,24 @@ def parse_dcat_ap_shacl_shapes(builder): if recommended_slot in class_slots: class_slots[recommended_slot].recommended = True - # Add alphabetically sorted slots and their slot_usage properties to each class - builder.schema.classes[node_name].slots = sorted(list(class_slots.keys())) - builder.schema.classes[node_name].slot_usage = {key: class_slots[key] for key in - sorted(class_slots)} + builder.schema.classes[node_name].slots = sorted( + list(class_slots.keys()) + ) + builder.schema.classes[node_name].slot_usage = { + key: class_slots[key] for key in sorted(class_slots) + } # Parse and add datatypes - elif node_name in ['duration', 'hexBinary', 'nonNegativeInteger']: - pattern, base, description = '', '', '' - if 'nonNegativeInteger' in node_name: - base = 'int' - description = 'The datatype that represents non-negative integers.' - pattern = r'([\-+]?[0-9]+)' - elif 'duration' in node_name: - base = 'str' - description = 'The datatype that represents durations of time.' - pattern = r""" + elif node_name in ["duration", "hexBinary", "nonNegativeInteger"]: + pattern, base, description = "", "", "" + if "nonNegativeInteger" in node_name: + base = "int" + description = "The datatype that represents non-negative integers." + pattern = r"([\-+]?[0-9]+)" + elif "duration" in node_name: + base = "str" + description = "The datatype that represents durations of time." + pattern = r""" -?P( ( ( [0-9]+Y([0-9]+M)?([0-9]+D)? | ([0-9]+M)([0-9]+D)? | ([0-9]+D) @@ -295,85 +359,131 @@ def parse_dcat_ap_shacl_shapes(builder): | ([0-9]+(\.[0-9]+)?S) ) ) - )""".replace('\n','').replace(' ','') - elif 'hexBinary' in node_name: - base = 'str' - description = 'The datatype that represents arbitrary hex-encoded binary data.' - pattern = r'([0-9a-fA-F]{2})*' - - builder.add_type(TypeDefinition(name=node_name, - uri=node_curie, - conforms_to=f'https://www.w3.org/TR/xmlschema11-2/#{node_name}', - base=base, - description=description, - pattern=pattern)) + )""".replace("\n", "").replace(" ", "") + elif "hexBinary" in node_name: + base = "str" + description = ( + "The datatype that represents arbitrary hex-encoded binary data." + ) + pattern = r"([0-9a-fA-F]{2})*" + + builder.add_type( + TypeDefinition( + name=node_name, + uri=node_curie, + conforms_to=f"https://www.w3.org/TR/xmlschema11-2/#{node_name}", + base=base, + description=description, + pattern=pattern, + ) + ) # Add Enums to the schema based on https://semiceu.github.io/DCAT-AP/releases/3.0.0/#controlled-vocs - enums = {'DatasetThemes': {'permissible_values': - [{'description': 'Agriculture, fisheries, forestry and food', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/AGRI', - 'text':'AGRI'}, - {'description': 'Economy and finance', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/ECON', - 'text':'ECON'}, - {'description': 'Education, culture and sport', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/EDUC', - 'text':'EDUC'}, - {'description': 'Energy', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/ENER', - 'text':'ENER'}, - {'description': 'Environment', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/ENVI', - 'text':'ENVI'}, - {'description': 'Government and public sector', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/GOVE', - 'text':'GOVE'}, - {'description': 'Health', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/HEAL', - 'text':'HEAL'}, - {'description': 'International issues', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/INTR', - 'text':'INTR'}, - {'description': 'Justice, legal system and public safety', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/JUST', - 'text':'JUST'}, - {'description': 'Provisional data', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/OP_DATPRO', - 'text':'OP_DATPRO'}, - {'description': 'Regions and cities', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/REGI', - 'text':'REGI'}, - {'description': 'Population and society', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/SOCI', - 'text':'SOCI'}, - {'description': 'Science and technology', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/TECH', - 'text':'TECH'}, - {'description': 'Transport', - 'meaning': 'http://publications.europa.eu/resource/authority/data-theme/TRAN', - 'text':'TRAN'}], - 'enum_uri':'http://publications.europa.eu/resource/authority/data-theme', - 'see_also': 'https://op.europa.eu/s/zXIN'}, - 'TopLevelMediaTypes': {'permissible_values': - ['application', - 'audio', - 'example', - 'font', - 'haptics', - 'image', - 'message', - 'model', - 'multipart', - 'text', - 'video'], - 'enum_uri': 'iana:top-level-media-types'}} + enums = { + "DatasetThemes": { + "permissible_values": [ + { + "description": "Agriculture, fisheries, forestry and food", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/AGRI", + "text": "AGRI", + }, + { + "description": "Economy and finance", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/ECON", + "text": "ECON", + }, + { + "description": "Education, culture and sport", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/EDUC", + "text": "EDUC", + }, + { + "description": "Energy", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/ENER", + "text": "ENER", + }, + { + "description": "Environment", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/ENVI", + "text": "ENVI", + }, + { + "description": "Government and public sector", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/GOVE", + "text": "GOVE", + }, + { + "description": "Health", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/HEAL", + "text": "HEAL", + }, + { + "description": "International issues", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/INTR", + "text": "INTR", + }, + { + "description": "Justice, legal system and public safety", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/JUST", + "text": "JUST", + }, + { + "description": "Provisional data", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/OP_DATPRO", + "text": "OP_DATPRO", + }, + { + "description": "Regions and cities", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/REGI", + "text": "REGI", + }, + { + "description": "Population and society", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/SOCI", + "text": "SOCI", + }, + { + "description": "Science and technology", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/TECH", + "text": "TECH", + }, + { + "description": "Transport", + "meaning": "http://publications.europa.eu/resource/authority/data-theme/TRAN", + "text": "TRAN", + }, + ], + "enum_uri": "http://publications.europa.eu/resource/authority/data-theme", + "see_also": "https://op.europa.eu/s/zXIN", + }, + "TopLevelMediaTypes": { + "permissible_values": [ + "application", + "audio", + "example", + "font", + "haptics", + "image", + "message", + "model", + "multipart", + "text", + "video", + ], + "enum_uri": "iana:top-level-media-types", + }, + } for enum, attributes in enums.items(): - builder.add_enum(EnumDefinition(name=enum, - enum_uri=attributes.get('enum_uri'), - see_also=attributes.get('see_also'), - code_set_tag=attributes.get('code_set_tag'), - code_set_version=attributes.get('code_set_version'), - permissible_values=attributes.get('permissible_values'))) + builder.add_enum( + EnumDefinition( + name=enum, + enum_uri=attributes.get("enum_uri"), + see_also=attributes.get("see_also"), + code_set_tag=attributes.get("code_set_tag"), + code_set_version=attributes.get("code_set_version"), + permissible_values=attributes.get("permissible_values"), + ) + ) return builder @@ -382,29 +492,40 @@ def build_dcatap_linkml(): """ Create a LinkML schema representation of DCAT-AP """ - print('\n --- Building the DCAT-AP LinkML representation ---') + print("\n --- Building the DCAT-AP LinkML representation ---") builder = SchemaBuilder(name="dcat-ap-linkml") - builder.schema.id = 'https://w3id.org/nfdi-de/dcat-ap-linkml' - builder.schema.description = DESCRIPTION1 + '\nNOTE:' + NOTE - builder.schema.default_prefix = 'dcatap_linkml' + builder.schema.id = "https://w3id.org/nfdi-de/dcat-ap-linkml" + builder.schema.description = DESCRIPTION1 + "\nNOTE:" + NOTE + builder.schema.default_prefix = "dcatap_linkml" builder.schema.prefixes = PREFIX_MAP - builder.schema.prefixes['dcatap_linkml']='https://w3id.org/nfdi-de/dcat-ap-linkml/' - builder.schema.title = 'LinkML schema representation of DCAT-AP 3.0.0' - builder.schema.license = 'CC-BY 4.0' - builder.schema.default_range = 'string' - builder.schema.imports = ['linkml:types'] - builder.schema.source = 'https://semiceu.github.io/DCAT-AP/releases/3.0.0' + builder.schema.prefixes["dcatap_linkml"] = ( + "https://w3id.org/nfdi-de/dcat-ap-linkml/" + ) + builder.schema.title = "LinkML schema representation of DCAT-AP 3.0.0" + builder.schema.license = "CC-BY 4.0" + builder.schema.default_range = "string" + builder.schema.imports = ["linkml:types"] + builder.schema.source = "https://semiceu.github.io/DCAT-AP/releases/3.0.0" builder = parse_dcat_ap_shacl_shapes(builder) # sort classes, slots and types alphabetically - builder.schema.classes = {key: builder.schema.classes[key] for key in sorted(builder.schema.classes)} - builder.schema.slots = {key: builder.schema.slots[key] for key in sorted(builder.schema.slots)} - builder.schema.types = {key: builder.schema.types[key] for key in sorted(builder.schema.types)} + builder.schema.classes = { + key: builder.schema.classes[key] for key in sorted(builder.schema.classes) + } + builder.schema.slots = { + key: builder.schema.slots[key] for key in sorted(builder.schema.slots) + } + builder.schema.types = { + key: builder.schema.types[key] for key in sorted(builder.schema.types) + } # TODO list - builder.schema.todos = ['Think about how to add all the other enums and their permissible values to constrain the allowed instances of classes such as "Concept", "MediaType", etc. as defined in https://semiceu.github.io/DCAT-AP/releases/3.0.0/#controlled-vocs. Using EnumBindings (https://linkml.io/linkml-model/latest/docs/bindings/) seems best, but does not yet work.', 'Check if https://github.com/linkml/linkml/issues/1813 is closed and range unions are validatable'] + builder.schema.todos = [ + 'Think about how to add all the other enums and their permissible values to constrain the allowed instances of classes such as "Concept", "MediaType", etc. as defined in https://semiceu.github.io/DCAT-AP/releases/3.0.0/#controlled-vocs. Using EnumBindings (https://linkml.io/linkml-model/latest/docs/bindings/) seems best, but does not yet work.', + "Check if https://github.com/linkml/linkml/issues/1813 is closed and range unions are validatable", + ] return builder.schema @@ -413,582 +534,776 @@ def build_dcatap_plus(): """ Create a LinkML schema representation of DCAT-AP with additional classes, slots and constraints. """ - print('\n --- Building the extended DCAT-AP LinkML representation ---') + print("\n --- Building the extended DCAT-AP LinkML representation ---") def extend_dataset(): - builder.add_slot(SlotDefinition(name='id', - identifier= True, - range= 'uriorcurie', - description= 'A slot to provide an URI for an entity within this schema.', - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='is_about_entity', - slot_uri= 'dcterms:subject', - range= 'EvaluatedEntity', - description= 'A slot to provide the EvaluatedEntity a Dataset is about.', - recommended= True, - multivalued= True, - inlined_as_list= True, - in_subset='domain_agnostic_core', - exact_mappings=['IAO:0000136'])) - builder.add_slot(SlotDefinition(name='is_about_activity', - slot_uri= 'dcterms:subject', - range= 'EvaluatedActivity', - description= 'A slot to provide the EvaluatedActivity a Dataset is about.', - recommended= True, - multivalued= True, - inlined_as_list= True, - in_subset='domain_agnostic_core', - exact_mappings=['IAO:0000136'])) - slots = ['id', - 'is_about_entity', - 'is_about_activity'] - dataset = builder.schema.classes['Dataset'] + builder.add_slot( + SlotDefinition( + name="id", + identifier=True, + range="uriorcurie", + description="A slot to provide an URI for an entity within this schema.", + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="is_about_entity", + slot_uri="dcterms:subject", + range="EvaluatedEntity", + description="A slot to provide the EvaluatedEntity a Dataset is about.", + recommended=True, + multivalued=True, + inlined_as_list=True, + in_subset="domain_agnostic_core", + exact_mappings=["IAO:0000136"], + ) + ) + builder.add_slot( + SlotDefinition( + name="is_about_activity", + slot_uri="dcterms:subject", + range="EvaluatedActivity", + description="A slot to provide the EvaluatedActivity a Dataset is about.", + recommended=True, + multivalued=True, + inlined_as_list=True, + in_subset="domain_agnostic_core", + exact_mappings=["IAO:0000136"], + ) + ) + slots = ["id", "is_about_entity", "is_about_activity"] + dataset = builder.schema.classes["Dataset"] dataset.slots = dataset.slots + slots dataset.slot_usage.was_generated_by.required = True - dataset.slot_usage.was_generated_by.range = 'DataGeneratingActivity' - dataset.slot_usage.was_generated_by.notes.append('stricter than DCAT-AP') - dataset.in_subset=['domain_agnostic_core'] - dataset.description = 'A collection of data, published or curated by a single agent, and available for access or download in one or more representations.' - + dataset.slot_usage.was_generated_by.range = "DataGeneratingActivity" + dataset.slot_usage.was_generated_by.notes.append("stricter than DCAT-AP") + dataset.in_subset = ["domain_agnostic_core"] + dataset.description = "A collection of data, published or curated by a single agent, and available for access or download in one or more representations." def extend_activity(): - builder.add_slot(SlotDefinition(name='had_input_entity', - slot_uri= 'prov:used', - range= 'Entity', - description= 'The slot to specify the Entity that was used as an input of an ' - 'Activity that is to be changed, consumed or transformed.', - recommended= True, - multivalued= True, - inlined_as_list= True, - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='had_output_entity', - slot_uri= 'prov:generated', - range= 'Entity', - description= 'The slot to specify the Entity that was generated as an output ' - 'of an Activity.', - recommended= True, - multivalued= True, - inlined_as_list= True, - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='had_input_activity', - slot_uri= 'prov:wasInformedBy', - range= 'Activity', - description= 'The slot to provide a previous Activity that informed the ' - 'Activity by being causally via a shared participant.', - recommended= True, - multivalued= True, - inlined_as_list= True, - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='carried_out_by', - slot_uri= 'prov:wasAssociatedWith', - range= 'AgenticEntity', - description= 'The slot to specify the AgenticEntity that played a certain ' - 'part in carrying out the Activity, either via having a specific ' - 'role, function or disposition that was realized in the Activity.', - recommended= True, - multivalued= True, - inlined_as_list= True, - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='realized_plan', - slot_uri= 'prov:used', - range= 'Plan', - description= 'The slot to specify the Plan (i.e. directive information or ' - 'procedure) that was realized by an Activity.', - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='occurred_in', - slot_uri= 'prov:atLocation', - range= 'Surrounding', - description= 'The slot to specify the Surrounding in which an Activity ' - 'took place.', - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='part_of', - slot_uri='dcterms:isPartOf', - description='A slot to specify a related resource in which the described resource is physically or logically included.', - inverse='has_part', - in_subset='domain_agnostic_core')) - - activity = builder.schema.classes['Activity'] - activity.slots = ['id', - 'title', - 'description', - 'other_identifier', - 'has_part', - 'had_input_entity', - 'had_output_entity', - 'had_input_activity', - 'carried_out_by', - 'has_qualitative_attribute', - 'has_quantitative_attribute', - 'part_of'] + builder.add_slot( + SlotDefinition( + name="had_input_entity", + slot_uri="prov:used", + range="Entity", + description="The slot to specify the Entity that was used as an input of an " + "Activity that is to be changed, consumed or transformed.", + recommended=True, + multivalued=True, + inlined_as_list=True, + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="had_output_entity", + slot_uri="prov:generated", + range="Entity", + description="The slot to specify the Entity that was generated as an output " + "of an Activity.", + recommended=True, + multivalued=True, + inlined_as_list=True, + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="had_input_activity", + slot_uri="prov:wasInformedBy", + range="Activity", + description="The slot to provide a previous Activity that informed the " + "Activity by being causally via a shared participant.", + recommended=True, + multivalued=True, + inlined_as_list=True, + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="carried_out_by", + slot_uri="prov:wasAssociatedWith", + range="AgenticEntity", + description="The slot to specify the AgenticEntity that played a certain " + "part in carrying out the Activity, either via having a specific " + "role, function or disposition that was realized in the Activity.", + recommended=True, + multivalued=True, + inlined_as_list=True, + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="realized_plan", + slot_uri="prov:used", + range="Plan", + description="The slot to specify the Plan (i.e. directive information or " + "procedure) that was realized by an Activity.", + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="occurred_in", + slot_uri="prov:atLocation", + range="Surrounding", + description="The slot to specify the Surrounding in which an Activity " + "took place.", + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="part_of", + slot_uri="dcterms:isPartOf", + description="A slot to specify a related resource in which the described resource is physically or logically included.", + inverse="has_part", + in_subset="domain_agnostic_core", + ) + ) + + activity = builder.schema.classes["Activity"] + activity.slots = [ + "id", + "title", + "description", + "other_identifier", + "has_part", + "had_input_entity", + "had_output_entity", + "had_input_activity", + "carried_out_by", + "has_qualitative_attribute", + "has_quantitative_attribute", + "part_of", + ] activity.slot_usage = { - 'title': { - 'description': 'The slot to provide a title for the Activity.', - 'multivalued': True, - 'inlined_as_list': True, - 'notes':['not in DCAT-AP']}, - 'description': { - 'description': 'The slot to provide a description for the Activity.', - 'multivalued': True, - 'inlined_as_list': True, - 'notes':['not in DCAT-AP']}, - 'has_part': { - 'range': 'Activity', - 'description': 'The slot to provide an Activity that is part of the Activity.', - 'multivalued': True, - 'inlined_as_list': True, - 'notes':['not in DCAT-AP']}, - 'part_of': { - 'range': 'Activity', - 'description': 'The slot to provide an Activity of which the Activity is a part.', - 'multivalued': True, - 'inlined_as_list': True, - 'notes': ['not in DCAT-AP']}, - 'other_identifier':{ - 'range': 'Identifier', - 'description': 'The slot to provide a secondary identifier of the Activity.', - 'multivalued': True, - 'inlined_as_list': True, - 'notes':['not in DCAT-AP']}, - 'has_qualitative_attribute':{ - 'notes':['not in DCAT-AP']}, - 'has_quantitative_attribute':{ - 'notes':['not in DCAT-AP']}, - 'had_input_entity':{ - 'notes':['not in DCAT-AP']}, - 'had_output_entity':{ - 'notes':['not in DCAT-AP']}, - 'had_input_activity':{ - 'notes':['not in DCAT-AP']}, - 'carried_out_by':{ - 'notes':['not in DCAT-AP']}} - activity.mixins = ['ClassifierMixin'] - activity.in_subset=['domain_agnostic_core'] - activity.notes = ['The specified properties (slots) of this class are part of our extension of the DCAT-AP.'] - - builder.add_slot(SlotDefinition(name='evaluated_entity', - is_a='had_input_entity', - slot_uri= 'prov:used', - range= 'EvaluatedEntity', - description= 'The slot to specify the Entity about which the ' - 'DataGeneratingActivity produced information.', - recommended= True, - multivalued= True, - inlined_as_list= True, - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='evaluated_activity', - is_a='had_input_activity', - slot_uri= 'prov:wasInformedBy', - range= 'EvaluatedActivity', - description= 'The slot to specify the Activity about which the ' - 'DataGeneratingActivity produced information.', - recommended= True, - multivalued= True, - inlined_as_list= True, - in_subset='domain_agnostic_core')) - builder.add_class(ClassDefinition(name='DataGeneratingActivity', - class_uri='prov:Activity', - is_a='Activity', - description='An Activity (process) that has the objective to produce ' - 'information (in form of a dataset) about another Activity or ' - 'Entity.', - slots=['evaluated_entity', - 'evaluated_activity', - 'realized_plan', - 'occurred_in'], - in_subset='domain_agnostic_core')) - + "title": { + "description": "The slot to provide a title for the Activity.", + "multivalued": True, + "inlined_as_list": True, + "notes": ["not in DCAT-AP"], + }, + "description": { + "description": "The slot to provide a description for the Activity.", + "multivalued": True, + "inlined_as_list": True, + "notes": ["not in DCAT-AP"], + }, + "has_part": { + "range": "Activity", + "description": "The slot to provide an Activity that is part of the Activity.", + "multivalued": True, + "inlined_as_list": True, + "notes": ["not in DCAT-AP"], + }, + "part_of": { + "range": "Activity", + "description": "The slot to provide an Activity of which the Activity is a part.", + "multivalued": True, + "inlined_as_list": True, + "notes": ["not in DCAT-AP"], + }, + "other_identifier": { + "range": "Identifier", + "description": "The slot to provide a secondary identifier of the Activity.", + "multivalued": True, + "inlined_as_list": True, + "notes": ["not in DCAT-AP"], + }, + "has_qualitative_attribute": {"notes": ["not in DCAT-AP"]}, + "has_quantitative_attribute": {"notes": ["not in DCAT-AP"]}, + "had_input_entity": {"notes": ["not in DCAT-AP"]}, + "had_output_entity": {"notes": ["not in DCAT-AP"]}, + "had_input_activity": {"notes": ["not in DCAT-AP"]}, + "carried_out_by": {"notes": ["not in DCAT-AP"]}, + } + activity.mixins = ["ClassifierMixin"] + activity.in_subset = ["domain_agnostic_core"] + activity.notes = [ + "The specified properties (slots) of this class are part of our extension of the DCAT-AP." + ] + + builder.add_slot( + SlotDefinition( + name="evaluated_entity", + is_a="had_input_entity", + slot_uri="prov:used", + range="EvaluatedEntity", + description="The slot to specify the Entity about which the " + "DataGeneratingActivity produced information.", + recommended=True, + multivalued=True, + inlined_as_list=True, + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="evaluated_activity", + is_a="had_input_activity", + slot_uri="prov:wasInformedBy", + range="EvaluatedActivity", + description="The slot to specify the Activity about which the " + "DataGeneratingActivity produced information.", + recommended=True, + multivalued=True, + inlined_as_list=True, + in_subset="domain_agnostic_core", + ) + ) + builder.add_class( + ClassDefinition( + name="DataGeneratingActivity", + class_uri="prov:Activity", + is_a="Activity", + description="An Activity (process) that has the objective to produce " + "information (in form of a dataset) about another Activity or " + "Entity.", + slots=[ + "evaluated_entity", + "evaluated_activity", + "realized_plan", + "occurred_in", + ], + in_subset="domain_agnostic_core", + ) + ) def extend_supportive_entities(): for supportive_entity in builder.schema.classes.keys(): slots = builder.schema.classes[supportive_entity].slots - if supportive_entity not in (MAIN_NODES + DATATYPES + ["DataGeneratingActivity"]): - if supportive_entity in ['Resource', 'Document', 'LegalResource', 'LicenseDocument']: - builder.schema.classes[supportive_entity].slots = slots + ['id', 'title','description'] - elif supportive_entity == 'ConceptScheme': - builder.schema.classes[supportive_entity].slots = slots + ['description'] + if supportive_entity not in ( + MAIN_NODES + DATATYPES + ["DataGeneratingActivity"] + ): + if supportive_entity in [ + "Resource", + "Document", + "LegalResource", + "LicenseDocument", + ]: + builder.schema.classes[supportive_entity].slots = slots + [ + "id", + "title", + "description", + ] + elif supportive_entity == "ConceptScheme": + builder.schema.classes[supportive_entity].slots = slots + [ + "description" + ] else: - builder.schema.classes[supportive_entity].slots = slots + ['title','description'] - + builder.schema.classes[supportive_entity].slots = slots + [ + "title", + "description", + ] def add_classification_context(): - builder.add_class(ClassDefinition(name='ClassifierMixin', - mixin=True, - description='A mixin with which an entity of this schema can be classified via an additional rdf:type or dcterms:type assertion.', - abstract=True, - slots=['type', - 'rdf_type'], - slot_usage={ - 'type':{ - 'inlined':True, - 'range':'DefinedTerm'}}, - in_subset='domain_agnostic_core')) - builder.add_class(ClassDefinition(name='DefinedTerm', - class_uri='schema:DefinedTerm', - description='A word, name, acronym or phrase that is defined in a controlled ' - 'vocabulary (CV) and that is used to provide an additional ' - 'rdf:type or dcterms:type of a class within this schema.', - slots=['id', - 'title'], - slot_usage={ - 'title':{ - 'slot_uri':'schema:name'}}, - attributes={ - 'from_CV':{ - 'slot_uri':'schema:inDefinedTermSet', - 'range':'uriorcurie', - 'description': 'The URL of the controlled vocabulary.'}}, - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='rdf_type', - slot_uri= 'rdf:type', - range= 'DefinedTerm', - description= 'The slot to specify the ontology class that is instantiated by an entity.', - recommended= True, - inlined= True, - in_subset='domain_agnostic_core')) - + builder.add_class( + ClassDefinition( + name="ClassifierMixin", + mixin=True, + description="A mixin with which an entity of this schema can be classified via an additional rdf:type or dcterms:type assertion.", + abstract=True, + slots=["type", "rdf_type"], + slot_usage={"type": {"inlined": True, "range": "DefinedTerm"}}, + in_subset="domain_agnostic_core", + ) + ) + builder.add_class( + ClassDefinition( + name="DefinedTerm", + class_uri="schema:DefinedTerm", + description="A word, name, acronym or phrase that is defined in a controlled " + "vocabulary (CV) and that is used to provide an additional " + "rdf:type or dcterms:type of a class within this schema.", + slots=["id", "title"], + slot_usage={"title": {"slot_uri": "schema:name"}}, + attributes={ + "from_CV": { + "slot_uri": "schema:inDefinedTermSet", + "range": "uriorcurie", + "description": "The URL of the controlled vocabulary.", + } + }, + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="rdf_type", + slot_uri="rdf:type", + range="DefinedTerm", + description="The slot to specify the ontology class that is instantiated by an entity.", + recommended=True, + inlined=True, + in_subset="domain_agnostic_core", + ) + ) def add_subject_of_interest_context(): - builder.add_class(ClassDefinition(name='Entity', - class_uri='prov:Entity', - mixins=['ClassifierMixin'], - description='A physical, digital, conceptual, or other kind of thing with ' - 'some fixed aspects; entities may be real or imaginary.', - slots=['title', - 'description', - 'id', - 'other_identifier', - 'has_qualitative_attribute', - 'has_quantitative_attribute', - 'has_part', - 'part_of'], - slot_usage={ - 'title': { - 'description': 'The slot to provide a title for the Entity.'}, - 'description': { - 'description': 'The slot to provide a description for the Entity.'}, - 'other_identifier':{ - 'description': 'A slot to provide a secondary identifier of the Entity.', - 'range': 'Identifier', - 'required': 'false', - 'multivalued': 'true', - 'inlined_as_list': 'true'}, - 'has_part':{ - 'description': 'A slot to provide a part of the Entity.', - 'range':'Entity', - 'multivalued': 'true', - 'inlined_as_list': 'true'}, - 'part_of': { - 'range': 'Entity', - 'description': 'The slot to specify an Entity of which the Entity is a part.', - 'multivalued': True, - 'inlined_as_list': True, - 'notes': ['not in DCAT-AP']}}, - in_subset='domain_agnostic_core')) - builder.add_class(ClassDefinition(name='EvaluatedEntity', - is_a= 'Entity', - class_uri='prov:Entity', - description='An Entity that is being evaluated in a DataGeneratingActivity.', - slots = ['was_generated_by'], - slot_usage={ - 'title': { - 'description': 'The slot to provide a title for the EvaluatedEntity.'}, - 'description': { - 'description': 'The slot to provide a description for the ' - 'EvaluatedEntity.'}, - 'was_generated_by':{ - 'description': 'A slot to provide the Activity which created the EvaluatedEntity.', - 'range':'Activity', - 'multivalued': 'true', - 'inlined_as_list': 'true'}, - 'other_identifier':{ - 'description': 'A slot to provide a secondary identifier of the EvaluatedEntity.', - 'range': 'Identifier', - 'required': 'false', - 'multivalued': 'true', - 'inlined_as_list': 'true'}}, - in_subset='domain_agnostic_core')) - builder.add_class(ClassDefinition(name='EvaluatedActivity', - is_a='Activity', - class_uri='prov:Activity', - description='An activity or process that is being evaluated in a ' - 'DataGeneratingActivity.', - slot_usage={ - 'other_identifier':{ - 'description': 'A slot to provide a secondary identifier of the EvaluatedActivity.', - 'range': 'Identifier', - 'required': False, - 'multivalued': True, - 'inlined_as_list': True}}, - in_subset='domain_agnostic_core')) - + builder.add_class( + ClassDefinition( + name="Entity", + class_uri="prov:Entity", + mixins=["ClassifierMixin"], + description="A physical, digital, conceptual, or other kind of thing with " + "some fixed aspects; entities may be real or imaginary.", + slots=[ + "title", + "description", + "id", + "other_identifier", + "has_qualitative_attribute", + "has_quantitative_attribute", + "has_part", + "part_of", + ], + slot_usage={ + "title": { + "description": "The slot to provide a title for the Entity." + }, + "description": { + "description": "The slot to provide a description for the Entity." + }, + "other_identifier": { + "description": "A slot to provide a secondary identifier of the Entity.", + "range": "Identifier", + "required": "false", + "multivalued": "true", + "inlined_as_list": "true", + }, + "has_part": { + "description": "A slot to provide a part of the Entity.", + "range": "Entity", + "multivalued": "true", + "inlined_as_list": "true", + }, + "part_of": { + "range": "Entity", + "description": "The slot to specify an Entity of which the Entity is a part.", + "multivalued": True, + "inlined_as_list": True, + "notes": ["not in DCAT-AP"], + }, + }, + in_subset="domain_agnostic_core", + ) + ) + builder.add_class( + ClassDefinition( + name="EvaluatedEntity", + is_a="Entity", + class_uri="prov:Entity", + description="An Entity that is being evaluated in a DataGeneratingActivity.", + slots=["was_generated_by"], + slot_usage={ + "title": { + "description": "The slot to provide a title for the EvaluatedEntity." + }, + "description": { + "description": "The slot to provide a description for the " + "EvaluatedEntity." + }, + "was_generated_by": { + "description": "A slot to provide the Activity which created the EvaluatedEntity.", + "range": "Activity", + "multivalued": "true", + "inlined_as_list": "true", + }, + "other_identifier": { + "description": "A slot to provide a secondary identifier of the EvaluatedEntity.", + "range": "Identifier", + "required": "false", + "multivalued": "true", + "inlined_as_list": "true", + }, + }, + in_subset="domain_agnostic_core", + ) + ) + builder.add_class( + ClassDefinition( + name="EvaluatedActivity", + is_a="Activity", + class_uri="prov:Activity", + description="An activity or process that is being evaluated in a " + "DataGeneratingActivity.", + slot_usage={ + "other_identifier": { + "description": "A slot to provide a secondary identifier of the EvaluatedActivity.", + "range": "Identifier", + "required": False, + "multivalued": True, + "inlined_as_list": True, + } + }, + in_subset="domain_agnostic_core", + ) + ) def add_agent_context(): - builder.add_class(ClassDefinition(name='AgenticEntity', - mixins= 'ClassifierMixin', - class_uri='prov:Agent', - description='An entity that is somehow responsible for an Activity to take ' - 'place.', - slots = ['id', - 'title', - 'description', - 'other_identifier', - 'has_qualitative_attribute', - 'has_quantitative_attribute', - 'has_part', - 'part_of'], - slot_usage={ - 'has_part':{ - 'description': 'The slot to specify parts of an AgenticEntity that are ' - 'themselves AgenticEntities.', - 'range':'AgenticEntity', - 'inlined': True, - 'multivalued': True, - 'inlined_as_list': True}, - 'part_of': { - 'range': 'AgenticEntity', - 'description': 'The slot to provide the AgenticEntity of which the' - 'AgenticEntity is a part.', - 'multivalued': True, - 'inlined_as_list': True, - 'notes': ['not in DCAT-AP']}, - 'other_identifier':{ - 'description': 'A slot to provide a secondary identifier for an Instrument.', - 'range': 'Identifier', - 'required': False, - 'multivalued': True, - 'inlined_as_list': True}}, - in_subset='domain_agnostic_core')) - builder.add_class(ClassDefinition(name='Device', - aliases=['hardware instrument'], - is_a='AgenticEntity', - class_uri='prov:Agent', - description='A material instrument that is designed to perform a function ' - 'primarily by means of its mechanical or electrical nature.', - in_subset='domain_agnostic_core', - exact_mappings=['epos:Equipment', - 'OBI:0000968', - 'http://purl.obolibrary.org/obo/NCIT_C62103', - 'http://semanticscience.org/resource/SIO_000956', - 'http://purl.allotrope.org/ontologies/equipment#AFE_0000354'], - slot_usage={ - 'has_part':{ - 'description': 'The slot to specify parts of a Device that are ' - 'themselves Devices.', - 'range':'Device', - 'inlined': True, - 'multivalued': True, - 'inlined_as_list': True}, - 'other_identifier':{ - 'description': 'A slot to provide a secondary identifier for a Device.', - 'range': 'Identifier', - 'required': False, - 'multivalued': True, - 'inlined_as_list': True}})) - builder.add_class(ClassDefinition(name='Software', - is_a='AgenticEntity', - class_uri='prov:SoftwareAgent', - description='An instrument composed of a series of instructions that can be ' - 'interpreted by or directly executed by a computer.', - in_subset='domain_agnostic_core', - exact_mappings=['schema:SoftwareApplication'], - slot_usage={ - 'has_part':{ - 'description': 'The slot to specify parts of a Software that are ' - 'themselves Software.', - 'range':'Software', - 'inlined': True, - 'multivalued': True, - 'inlined_as_list': True}, - 'other_identifier':{ - 'description': 'A slot to provide a secondary identifier for a Software.', - 'range': 'Identifier', - 'required': False, - 'multivalued': True, - 'inlined_as_list': True}})) - + builder.add_class( + ClassDefinition( + name="AgenticEntity", + mixins="ClassifierMixin", + class_uri="prov:Agent", + description="An entity that is somehow responsible for an Activity to take " + "place.", + slots=[ + "id", + "title", + "description", + "other_identifier", + "has_qualitative_attribute", + "has_quantitative_attribute", + "has_part", + "part_of", + ], + slot_usage={ + "has_part": { + "description": "The slot to specify parts of an AgenticEntity that are " + "themselves AgenticEntities.", + "range": "AgenticEntity", + "inlined": True, + "multivalued": True, + "inlined_as_list": True, + }, + "part_of": { + "range": "AgenticEntity", + "description": "The slot to provide the AgenticEntity of which the" + "AgenticEntity is a part.", + "multivalued": True, + "inlined_as_list": True, + "notes": ["not in DCAT-AP"], + }, + "other_identifier": { + "description": "A slot to provide a secondary identifier for an Instrument.", + "range": "Identifier", + "required": False, + "multivalued": True, + "inlined_as_list": True, + }, + }, + in_subset="domain_agnostic_core", + ) + ) + builder.add_class( + ClassDefinition( + name="Device", + aliases=["hardware instrument"], + is_a="AgenticEntity", + class_uri="prov:Agent", + description="A material instrument that is designed to perform a function " + "primarily by means of its mechanical or electrical nature.", + in_subset="domain_agnostic_core", + exact_mappings=[ + "epos:Equipment", + "OBI:0000968", + "http://purl.obolibrary.org/obo/NCIT_C62103", + "http://semanticscience.org/resource/SIO_000956", + "http://purl.allotrope.org/ontologies/equipment#AFE_0000354", + ], + slot_usage={ + "has_part": { + "description": "The slot to specify parts of a Device that are " + "themselves Devices.", + "range": "Device", + "inlined": True, + "multivalued": True, + "inlined_as_list": True, + }, + "other_identifier": { + "description": "A slot to provide a secondary identifier for a Device.", + "range": "Identifier", + "required": False, + "multivalued": True, + "inlined_as_list": True, + }, + }, + ) + ) + builder.add_class( + ClassDefinition( + name="Software", + is_a="AgenticEntity", + class_uri="prov:SoftwareAgent", + description="An instrument composed of a series of instructions that can be " + "interpreted by or directly executed by a computer.", + in_subset="domain_agnostic_core", + exact_mappings=["schema:SoftwareApplication"], + slot_usage={ + "has_part": { + "description": "The slot to specify parts of a Software that are " + "themselves Software.", + "range": "Software", + "inlined": True, + "multivalued": True, + "inlined_as_list": True, + }, + "other_identifier": { + "description": "A slot to provide a secondary identifier for a Software.", + "range": "Identifier", + "required": False, + "multivalued": True, + "inlined_as_list": True, + }, + }, + ) + ) def add_planning_and_surrounding_context(): - builder.add_class(ClassDefinition(name='Surrounding', - mixins= 'ClassifierMixin', - description='The surrounding in which the dataset creating activity took place (e.g. a lab).', - class_uri='prov:Location', - slots = ['title', - 'description'], - in_subset='domain_agnostic_core')) - builder.add_class(ClassDefinition(name='Plan', - mixins= 'ClassifierMixin', - class_uri='prov:Plan', - aliases=['Plan Specification', - 'Method', - 'Procedure'], - description='A piece of information that specifies how an activity has to be carried out by its agents including what kind of steps have to be taken and what kind of parameters have to be met/set.', - slots = ['title', - 'description'], - examples=[{'description': 'We assigned the structure of sample CRS-37013 using a 13C NMR (CHMO:0000595) and the settings: pulse sequence: zgpg30, temperature: 298.0 K, number of scans: 1024, Solvent : chloroform-D1 (CDCl3).'}], - in_subset='domain_agnostic_core')) - + builder.add_class( + ClassDefinition( + name="Surrounding", + mixins="ClassifierMixin", + description="The surrounding in which the dataset creating activity took place (e.g. a lab).", + class_uri="prov:Location", + slots=["title", "description"], + in_subset="domain_agnostic_core", + ) + ) + builder.add_class( + ClassDefinition( + name="Plan", + mixins="ClassifierMixin", + class_uri="prov:Plan", + aliases=["Plan Specification", "Method", "Procedure"], + description="A piece of information that specifies how an activity has to be carried out by its agents including what kind of steps have to be taken and what kind of parameters have to be met/set.", + slots=["title", "description"], + examples=[ + { + "description": "We assigned the structure of sample CRS-37013 using a 13C NMR (CHMO:0000595) and the settings: pulse sequence: zgpg30, temperature: 298.0 K, number of scans: 1024, Solvent : chloroform-D1 (CDCl3)." + } + ], + in_subset="domain_agnostic_core", + ) + ) def add_attribute_context(): - builder.add_class(ClassDefinition(name='QualitativeAttribute', - mixins= 'ClassifierMixin', - class_uri='prov:Entity', - description='A piece of information that is attributed to an ' - 'Entity, Activity or AgenticEntity.', - slots = ['title', - 'description', - 'value'], - slot_usage={ - 'value':{ - 'description': 'The slot to provide the literal value of the QualitativeAttribute.', - 'required': True,}}, - in_subset='domain_agnostic_core')) - builder.add_class(ClassDefinition(name='QuantitativeAttribute', - mixins= 'ClassifierMixin', - class_uri='qudt:Quantity', - description='A quantifiable piece of information that is attributed to an ' - 'Entity, Activity or AgenticEntity.', - slots = ['title', - 'description', - 'value'], - attributes={ - 'has_quantity_type':{ - 'range': 'DefinedTerm', - 'description': 'The type of quality that is quantifiable according to the QUDT ontology.', - 'slot_uri': 'qudt:hasQuantityKind', - 'required': True, - 'bindings': [{ - 'binds_value_of': 'id', - 'range': 'QUDTQuantityKindEnum', - 'obligation_level': 'RECOMMENDED', - 'description': 'Binds the type of a quantifiable attribute to a QUDT Quantity Kind instance from the QUDT Quantity Kind vocabulary.'}]}, - 'unit':{ - 'slot_uri': 'qudt:unit', - 'range': 'DefinedTerm', - 'recommended': True, - 'bindings': [{ - 'binds_value_of': 'id', - 'range': 'QUDTUnitEnum', - 'obligation_level': 'RECOMMENDED', - 'description': 'Restricts the allowable defined terms to the QUDT Unit vocabulary.'}]},}, - slot_usage={ - 'value':{ - 'description': 'The slot to provide the literal value of the QuantitativeAttribute.', - 'required': True, - 'range': 'float'}}, - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='has_qualitative_attribute', - slot_uri= 'dcterms:relation', - range= 'QualitativeAttribute', - description= 'The slot to relate a qualitative attribute to an ' - 'EvaluatedEntity, EvaluatedActivity or AgenticEntity', - recommended= True, - multivalued= True, - inlined_as_list= True, - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='has_quantitative_attribute', - slot_uri= 'dcterms:relation', - range= 'QuantitativeAttribute', - description= 'The slot to relate a quantitative attribute to an ' - 'EvaluatedEntity, EvaluatedActivity or AgenticEntity', - recommended= True, - multivalued= True, - inlined_as_list= True, - in_subset='domain_agnostic_core')) - builder.add_slot(SlotDefinition(name='value', - slot_uri= 'prov:value', - description= 'A slot to provide the literal value of an attribute.', - in_subset='domain_agnostic_core')) - todos =['Dynamic enums (https://linkml.io/linkml/schemas/enums.html#dynamic-enums) should be used to ' - 'constrain the range of the type slot instead of using the default DefinedTerm as range. This will be done in profiles of this schema where we define Activity subclasses, e.g. NMRSpectroscopy. seeAlso: https://github.com/linkml/linkml-model/blob/main/tests/input/examples/schema_definition-enum_bindings-1.yaml'] - builder.add_enum(EnumDefinition(name='QUDTQuantityKindEnum', - description= 'Possible kinds of quantifiable attribute types provided as QUDT QualityKind instances.', - implements= ['owl:NamedIndividual'], - reachable_from={ - 'source_ontology': 'http://qudt.org/2.1/vocab/quantitykind', - 'source_nodes': ['qudt:QuantityKind'], - 'is_direct': True, - 'relationship_types': ['rdf:type']}, - in_subset='domain_agnostic_core', - todos=todos)) - builder.add_enum(EnumDefinition(name='QUDTUnitEnum', - description= 'Possible kinds of QUDT unit instances.', - implements= ['owl:NamedIndividual'], - reachable_from={ - 'source_ontology': 'https://qudt.org/vocab/unit/', - 'source_nodes': ['qudt:QuantityKind'], - 'is_direct': True, - 'relationship_types': ['rdf:type']}, - in_subset='domain_agnostic_core', - todos=todos)) - + builder.add_class( + ClassDefinition( + name="QualitativeAttribute", + mixins="ClassifierMixin", + class_uri="prov:Entity", + description="A piece of information that is attributed to an " + "Entity, Activity or AgenticEntity.", + slots=["title", "description", "value"], + slot_usage={ + "value": { + "description": "The slot to provide the literal value of the QualitativeAttribute.", + "required": True, + } + }, + in_subset="domain_agnostic_core", + ) + ) + builder.add_class( + ClassDefinition( + name="QuantitativeAttribute", + mixins="ClassifierMixin", + class_uri="qudt:Quantity", + description="A quantifiable piece of information that is attributed to an " + "Entity, Activity or AgenticEntity.", + slots=["title", "description", "value"], + attributes={ + "has_quantity_type": { + "range": "DefinedTerm", + "description": "The type of quality that is quantifiable according to the QUDT ontology.", + "slot_uri": "qudt:hasQuantityKind", + "required": True, + "bindings": [ + { + "binds_value_of": "id", + "range": "QUDTQuantityKindEnum", + "obligation_level": "RECOMMENDED", + "description": "Binds the type of a quantifiable attribute to a QUDT Quantity Kind instance from the QUDT Quantity Kind vocabulary.", + } + ], + }, + "unit": { + "slot_uri": "qudt:unit", + "range": "DefinedTerm", + "recommended": True, + "bindings": [ + { + "binds_value_of": "id", + "range": "QUDTUnitEnum", + "obligation_level": "RECOMMENDED", + "description": "Restricts the allowable defined terms to the QUDT Unit vocabulary.", + } + ], + }, + }, + slot_usage={ + "value": { + "description": "The slot to provide the literal value of the QuantitativeAttribute.", + "required": True, + "range": "float", + } + }, + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="has_qualitative_attribute", + slot_uri="dcterms:relation", + range="QualitativeAttribute", + description="The slot to relate a qualitative attribute to an " + "EvaluatedEntity, EvaluatedActivity or AgenticEntity", + recommended=True, + multivalued=True, + inlined_as_list=True, + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="has_quantitative_attribute", + slot_uri="dcterms:relation", + range="QuantitativeAttribute", + description="The slot to relate a quantitative attribute to an " + "EvaluatedEntity, EvaluatedActivity or AgenticEntity", + recommended=True, + multivalued=True, + inlined_as_list=True, + in_subset="domain_agnostic_core", + ) + ) + builder.add_slot( + SlotDefinition( + name="value", + slot_uri="prov:value", + description="A slot to provide the literal value of an attribute.", + in_subset="domain_agnostic_core", + ) + ) + todos = [ + "Dynamic enums (https://linkml.io/linkml/schemas/enums.html#dynamic-enums) should be used to " + "constrain the range of the type slot instead of using the default DefinedTerm as range. This will be done in profiles of this schema where we define Activity subclasses, e.g. NMRSpectroscopy. seeAlso: https://github.com/linkml/linkml-model/blob/main/tests/input/examples/schema_definition-enum_bindings-1.yaml" + ] + builder.add_enum( + EnumDefinition( + name="QUDTQuantityKindEnum", + description="Possible kinds of quantifiable attribute types provided as QUDT QualityKind instances.", + implements=["owl:NamedIndividual"], + reachable_from={ + "source_ontology": "http://qudt.org/2.1/vocab/quantitykind", + "source_nodes": ["qudt:QuantityKind"], + "is_direct": True, + "relationship_types": ["rdf:type"], + }, + in_subset="domain_agnostic_core", + todos=todos, + ) + ) + builder.add_enum( + EnumDefinition( + name="QUDTUnitEnum", + description="Possible kinds of QUDT unit instances.", + implements=["owl:NamedIndividual"], + reachable_from={ + "source_ontology": "https://qudt.org/vocab/unit/", + "source_nodes": ["qudt:QuantityKind"], + "is_direct": True, + "relationship_types": ["rdf:type"], + }, + in_subset="domain_agnostic_core", + todos=todos, + ) + ) def add_analysis_context(): - builder.add_class(ClassDefinition(name='AnalysisDataset', - is_a= 'Dataset', - class_uri='dcat:Dataset', - description='A Dataset that was generated by an analysis of some previously generated data. For example, a dataset that contains the data of an assignment of a chemical structure to a sample based on the spectral data obtained from the sample is an AnalyticalDataset.', - slot_usage={ - 'was_generated_by':{ - 'range':'DataAnalysis', - 'multivalued': True, - 'inlined_as_list': True}}, - in_subset='domain_agnostic_core')) - builder.add_class(ClassDefinition(name='DataAnalysis', - is_a= 'DataGeneratingActivity', - class_uri='prov:Activity', - description='An Activity that evaluates the data produced by another Activity.', - slot_usage={ - 'evaluated_entity':{ - 'description': 'A slot to provide the data that was analysed by the DataAnalysis.', - 'range':'AnalysisSourceData', - 'multivalued': True, - 'inlined_as_list': True}}, - close_mappings=['NCIT:C25391'], - exact_mappings='OBI:0200000', - in_subset='domain_agnostic_core')) - builder.add_class(ClassDefinition(name='AnalysisSourceData', - is_a='EvaluatedEntity', - class_uri='prov:Entity', - description='Information that was evaluated within a DataAnalysis.', - slot_usage={ - 'was_generated_by':{ - 'description': 'A slot to provide the Activity which created the AnalysisSourceData.', - 'range':'DataGeneratingActivity', - 'multivalued': True, - 'inlined_as_list': True}}, - in_subset='domain_agnostic_core')) - + builder.add_class( + ClassDefinition( + name="AnalysisDataset", + is_a="Dataset", + class_uri="dcat:Dataset", + description="A Dataset that was generated by an analysis of some previously generated data. For example, a dataset that contains the data of an assignment of a chemical structure to a sample based on the spectral data obtained from the sample is an AnalyticalDataset.", + slot_usage={ + "was_generated_by": { + "range": "DataAnalysis", + "multivalued": True, + "inlined_as_list": True, + } + }, + in_subset="domain_agnostic_core", + ) + ) + builder.add_class( + ClassDefinition( + name="DataAnalysis", + is_a="DataGeneratingActivity", + class_uri="prov:Activity", + description="An Activity that evaluates the data produced by another Activity.", + slot_usage={ + "evaluated_entity": { + "description": "A slot to provide the data that was analysed by the DataAnalysis.", + "range": "AnalysisSourceData", + "multivalued": True, + "inlined_as_list": True, + } + }, + close_mappings=["NCIT:C25391"], + exact_mappings="OBI:0200000", + in_subset="domain_agnostic_core", + ) + ) + builder.add_class( + ClassDefinition( + name="AnalysisSourceData", + is_a="EvaluatedEntity", + class_uri="prov:Entity", + description="Information that was evaluated within a DataAnalysis.", + slot_usage={ + "was_generated_by": { + "description": "A slot to provide the Activity which created the AnalysisSourceData.", + "range": "DataGeneratingActivity", + "multivalued": True, + "inlined_as_list": True, + } + }, + in_subset="domain_agnostic_core", + ) + ) # Initialize the extended DCAT-AP LinkML schema builder = SchemaBuilder(name="dcat-ap-plus") - builder.schema.id = 'https://w3id.org/nfdi-de/dcat-ap-plus' + builder.schema.id = "https://w3id.org/nfdi-de/dcat-ap-plus" builder.schema.description = DESCRIPTION2 - builder.schema.default_prefix = 'dcatap_plus' + builder.schema.default_prefix = "dcatap_plus" builder.schema.prefixes = PREFIX_MAP - builder.schema.prefixes['dcatap_plus']='https://w3id.org/nfdi-de/dcat-ap-plus/' - builder.schema.prefixes['BFO']='http://purl.obolibrary.org/obo/BFO_' - builder.schema.prefixes['OBI']='http://purl.obolibrary.org/obo/OBI_' - builder.schema.prefixes['IAO'] = 'http://purl.obolibrary.org/obo/IAO_' - builder.schema.prefixes['SIO'] = 'http://semanticscience.org/resource/SIO_' - builder.schema.prefixes['NCIT']='http://purl.obolibrary.org/obo/NCIT_' - builder.schema.prefixes['SOSA']='http://www.w3.org/ns/sosa/' - builder.schema.prefixes['AFE']='http://purl.allotrope.org/ontologies/equipment#AFE_' - builder.schema.prefixes['qudt']= 'http://qudt.org/schema/qudt/' - builder.schema.prefixes['schema']= 'http://schema.org/' - builder.schema.prefixes['ex']= 'http://example.org/' - builder.schema.title = 'DCAT-AP-PLUS' - builder.schema.license = 'CC-BY 4.0' - builder.schema.default_range = 'string' - builder.schema.imports = ['linkml:types'] + builder.schema.prefixes["dcatap_plus"] = "https://w3id.org/nfdi-de/dcat-ap-plus/" + builder.schema.prefixes["BFO"] = "http://purl.obolibrary.org/obo/BFO_" + builder.schema.prefixes["OBI"] = "http://purl.obolibrary.org/obo/OBI_" + builder.schema.prefixes["IAO"] = "http://purl.obolibrary.org/obo/IAO_" + builder.schema.prefixes["SIO"] = "http://semanticscience.org/resource/SIO_" + builder.schema.prefixes["NCIT"] = "http://purl.obolibrary.org/obo/NCIT_" + builder.schema.prefixes["SOSA"] = "http://www.w3.org/ns/sosa/" + builder.schema.prefixes["AFE"] = ( + "http://purl.allotrope.org/ontologies/equipment#AFE_" + ) + builder.schema.prefixes["qudt"] = "http://qudt.org/schema/qudt/" + builder.schema.prefixes["schema"] = "http://schema.org/" + builder.schema.prefixes["ex"] = "http://example.org/" + builder.schema.title = "DCAT-AP-PLUS" + builder.schema.license = "CC-BY 4.0" + builder.schema.default_range = "string" + builder.schema.imports = ["linkml:types"] builder.schema.see_also = [ - 'https://github.com/StroemPhi/dcat-4C-ap', - 'https://github.com/HendrikBorgelt/DCAT-ap_as_LinkML_template/blob/main/src/dcatlinkml/schema/dcatlinkml.yaml', - 'https://gitlab.com/opensourcelab/scientificdata/scidats/-/blob/feature/linkml-schemata/schemata/metadata_model_scidats_dcat_ap.yaml?ref_type=heads'] + "https://github.com/StroemPhi/dcat-4C-ap", + "https://github.com/HendrikBorgelt/DCAT-ap_as_LinkML_template/blob/main/src/dcatlinkml/schema/dcatlinkml.yaml", + "https://gitlab.com/opensourcelab/scientificdata/scidats/-/blob/feature/linkml-schemata/schemata/metadata_model_scidats_dcat_ap.yaml?ref_type=heads", + ] builder.schema.subsets = { - 'domain_agnostic_core': { - 'description': - 'The elements of this subset are considered the core layer of our DCAT-AP extension.'}} + "domain_agnostic_core": { + "description": "The elements of this subset are considered the core layer of our DCAT-AP extension." + } + } # Add LinkML representation of DCAT-AP v3.0.0 builder = parse_dcat_ap_shacl_shapes(builder) @@ -1007,28 +1322,38 @@ def add_analysis_context(): add_analysis_context() # sort classes, slots and types alphabetically - builder.schema.classes = {key: builder.schema.classes[key] for key in sorted(builder.schema.classes)} - builder.schema.slots = {key: builder.schema.slots[key] for key in sorted(builder.schema.slots)} - builder.schema.types = {key: builder.schema.types[key] for key in sorted(builder.schema.types)} + builder.schema.classes = { + key: builder.schema.classes[key] for key in sorted(builder.schema.classes) + } + builder.schema.slots = { + key: builder.schema.slots[key] for key in sorted(builder.schema.slots) + } + builder.schema.types = { + key: builder.schema.types[key] for key in sorted(builder.schema.types) + } # TODO list - builder.schema.todos = ['Think about how to add all the other enums and their permissible values to constrain the allowed instances of classes such as "Concept", "MediaType", etc. as defined in https://semiceu.github.io/DCAT-AP/releases/3.0.0/#controlled-vocs. Using EnumBindings (https://linkml.io/linkml-model/latest/docs/bindings/) seems best, but does not yet work.', 'Check if https://github.com/linkml/linkml/issues/1813 is closed and range unions are validatable'] + builder.schema.todos = [ + 'Think about how to add all the other enums and their permissible values to constrain the allowed instances of classes such as "Concept", "MediaType", etc. as defined in https://semiceu.github.io/DCAT-AP/releases/3.0.0/#controlled-vocs. Using EnumBindings (https://linkml.io/linkml-model/latest/docs/bindings/) seems best, but does not yet work.', + "Check if https://github.com/linkml/linkml/issues/1813 is closed and range unions are validatable", + ] return builder.schema def dump_schema(schema, filename=None): if filename: - filepath = os.path.join('src', 'dcat_ap_plus', 'schema', filename) + filepath = os.path.join("src", "dcat_ap_plus", "schema", filename) YAMLDumper().dump(schema, filepath) - print(f'INFO: {filename} was saved to {filepath}') + print(f"INFO: {filename} was saved to {filepath}") def main(): # build and dump LinkML representation of DCAT-AP - dump_schema(build_dcatap_linkml(),filename='dcat_ap_linkml.yaml') + dump_schema(build_dcatap_linkml(), filename="dcat_ap_linkml.yaml") # build and dump DCAT-AP-PLUS - dump_schema(build_dcatap_plus(),filename='dcat_ap_plus.yaml') + dump_schema(build_dcatap_plus(), filename="dcat_ap_plus.yaml") + -if __name__ == '__main__': +if __name__ == "__main__": main() diff --git a/tests/data/valid/AnalysisDataset-001.yaml b/tests/data/valid/AnalysisDataset-001.yaml index bdc49a07..37a91685 100644 --- a/tests/data/valid/AnalysisDataset-001.yaml +++ b/tests/data/valid/AnalysisDataset-001.yaml @@ -211,4 +211,3 @@ was_generated_by: # a DataAnalysis has_quantity_type: http://qudt.org/vocab/quantitykind/DimensionlessRatio unit: https://qudt.org/vocab/unit/PPM value: 39.52 - diff --git a/tests/test_data.py b/tests/test_data.py index 88398718..c50d2fd7 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -1,4 +1,5 @@ """Data test.""" + import os import glob import pytest @@ -10,8 +11,8 @@ DATA_DIR_VALID = Path(__file__).parent / "data" / "valid" DATA_DIR_INVALID = Path(__file__).parent / "data" / "invalid" -VALID_EXAMPLE_FILES = glob.glob(os.path.join(DATA_DIR_VALID, '*.yaml')) -INVALID_EXAMPLE_FILES = glob.glob(os.path.join(DATA_DIR_INVALID, '*.yaml')) +VALID_EXAMPLE_FILES = glob.glob(os.path.join(DATA_DIR_VALID, "*.yaml")) +INVALID_EXAMPLE_FILES = glob.glob(os.path.join(DATA_DIR_INVALID, "*.yaml")) @pytest.mark.parametrize("filepath", VALID_EXAMPLE_FILES) diff --git a/uv.lock b/uv.lock index 0754a28f..9977b368 100644 --- a/uv.lock +++ b/uv.lock @@ -1,34 +1,16 @@ version = 1 revision = 3 -requires-python = ">=3.9, <4.0" +requires-python = ">=3.10, <4.0" resolution-markers = [ "python_full_version >= '3.14'", "python_full_version >= '3.11' and python_full_version < '3.14'", - "python_full_version == '3.10.*'", - "python_full_version < '3.10'", -] - -[[package]] -name = "alabaster" -version = "0.7.16" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -sdist = { url = "https://files.pythonhosted.org/packages/c9/3e/13dd8e5ed9094e734ac430b5d0eb4f2bb001708a8b7856cbf8e084e001ba/alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65", size = 23776, upload-time = "2024-01-10T00:56:10.189Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/32/34/d4e1c02d3bee589efb5dfa17f88ea08bdb3e3eac12bc475462aec52ed223/alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92", size = 13511, upload-time = "2024-01-10T00:56:08.388Z" }, + "python_full_version < '3.11'", ] [[package]] name = "alabaster" version = "1.0.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14'", - "python_full_version >= '3.11' and python_full_version < '3.14'", - "python_full_version == '3.10.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/a6/f8/d9c74d0daf3f742840fd818d69cfae176fa332022fd44e3469487d5a9420/alabaster-1.0.0.tar.gz", hash = "sha256:c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e", size = 24210, upload-time = "2024-07-26T18:15:03.762Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl", hash = "sha256:fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b", size = 13929, upload-time = "2024-07-26T18:15:02.05Z" }, @@ -306,18 +288,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, - { url = "https://files.pythonhosted.org/packages/c0/cc/08ed5a43f2996a16b462f64a7055c6e962803534924b9b2f1371d8c00b7b/cffi-2.0.0-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:fe562eb1a64e67dd297ccc4f5addea2501664954f2692b69a76449ec7913ecbf", size = 184288, upload-time = "2025-09-08T23:23:48.404Z" }, - { url = "https://files.pythonhosted.org/packages/3d/de/38d9726324e127f727b4ecc376bc85e505bfe61ef130eaf3f290c6847dd4/cffi-2.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:de8dad4425a6ca6e4e5e297b27b5c824ecc7581910bf9aee86cb6835e6812aa7", size = 180509, upload-time = "2025-09-08T23:23:49.73Z" }, - { url = "https://files.pythonhosted.org/packages/9b/13/c92e36358fbcc39cf0962e83223c9522154ee8630e1df7c0b3a39a8124e2/cffi-2.0.0-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:4647afc2f90d1ddd33441e5b0e85b16b12ddec4fca55f0d9671fef036ecca27c", size = 208813, upload-time = "2025-09-08T23:23:51.263Z" }, - { url = "https://files.pythonhosted.org/packages/15/12/a7a79bd0df4c3bff744b2d7e52cc1b68d5e7e427b384252c42366dc1ecbc/cffi-2.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3f4d46d8b35698056ec29bca21546e1551a205058ae1a181d871e278b0b28165", size = 216498, upload-time = "2025-09-08T23:23:52.494Z" }, - { url = "https://files.pythonhosted.org/packages/a3/ad/5c51c1c7600bdd7ed9a24a203ec255dccdd0ebf4527f7b922a0bde2fb6ed/cffi-2.0.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:e6e73b9e02893c764e7e8d5bb5ce277f1a009cd5243f8228f75f842bf937c534", size = 203243, upload-time = "2025-09-08T23:23:53.836Z" }, - { url = "https://files.pythonhosted.org/packages/32/f2/81b63e288295928739d715d00952c8c6034cb6c6a516b17d37e0c8be5600/cffi-2.0.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:cb527a79772e5ef98fb1d700678fe031e353e765d1ca2d409c92263c6d43e09f", size = 203158, upload-time = "2025-09-08T23:23:55.169Z" }, - { url = "https://files.pythonhosted.org/packages/1f/74/cc4096ce66f5939042ae094e2e96f53426a979864aa1f96a621ad128be27/cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:61d028e90346df14fedc3d1e5441df818d095f3b87d286825dfcbd6459b7ef63", size = 216548, upload-time = "2025-09-08T23:23:56.506Z" }, - { url = "https://files.pythonhosted.org/packages/e8/be/f6424d1dc46b1091ffcc8964fa7c0ab0cd36839dd2761b49c90481a6ba1b/cffi-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0f6084a0ea23d05d20c3edcda20c3d006f9b6f3fefeac38f59262e10cef47ee2", size = 218897, upload-time = "2025-09-08T23:23:57.825Z" }, - { url = "https://files.pythonhosted.org/packages/f7/e0/dda537c2309817edf60109e39265f24f24aa7f050767e22c98c53fe7f48b/cffi-2.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1cd13c99ce269b3ed80b417dcd591415d3372bcac067009b6e0f59c7d4015e65", size = 211249, upload-time = "2025-09-08T23:23:59.139Z" }, - { url = "https://files.pythonhosted.org/packages/2b/e7/7c769804eb75e4c4b35e658dba01de1640a351a9653c3d49ca89d16ccc91/cffi-2.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:89472c9762729b5ae1ad974b777416bfda4ac5642423fa93bd57a09204712322", size = 218041, upload-time = "2025-09-08T23:24:00.496Z" }, - { url = "https://files.pythonhosted.org/packages/aa/d9/6218d78f920dcd7507fc16a766b5ef8f3b913cc7aa938e7fc80b9978d089/cffi-2.0.0-cp39-cp39-win32.whl", hash = "sha256:2081580ebb843f759b9f617314a24ed5738c51d2aee65d31e02f6f7a2b97707a", size = 172138, upload-time = "2025-09-08T23:24:01.7Z" }, - { url = "https://files.pythonhosted.org/packages/54/8f/a1e836f82d8e32a97e6b29cc8f641779181ac7363734f12df27db803ebda/cffi-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:b882b3df248017dba09d6b16defe9b5c407fe32fc7c65a9c69798e6175601be9", size = 182794, upload-time = "2025-09-08T23:24:02.943Z" }, ] [[package]] @@ -424,22 +394,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, - { url = "https://files.pythonhosted.org/packages/46/7c/0c4760bccf082737ca7ab84a4c2034fcc06b1f21cf3032ea98bd6feb1725/charset_normalizer-3.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9", size = 209609, upload-time = "2025-10-14T04:42:10.922Z" }, - { url = "https://files.pythonhosted.org/packages/bb/a4/69719daef2f3d7f1819de60c9a6be981b8eeead7542d5ec4440f3c80e111/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d", size = 149029, upload-time = "2025-10-14T04:42:12.38Z" }, - { url = "https://files.pythonhosted.org/packages/e6/21/8d4e1d6c1e6070d3672908b8e4533a71b5b53e71d16828cc24d0efec564c/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608", size = 144580, upload-time = "2025-10-14T04:42:13.549Z" }, - { url = "https://files.pythonhosted.org/packages/a7/0a/a616d001b3f25647a9068e0b9199f697ce507ec898cacb06a0d5a1617c99/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc", size = 162340, upload-time = "2025-10-14T04:42:14.892Z" }, - { url = "https://files.pythonhosted.org/packages/85/93/060b52deb249a5450460e0585c88a904a83aec474ab8e7aba787f45e79f2/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e", size = 159619, upload-time = "2025-10-14T04:42:16.676Z" }, - { url = "https://files.pythonhosted.org/packages/dd/21/0274deb1cc0632cd587a9a0ec6b4674d9108e461cb4cd40d457adaeb0564/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1", size = 153980, upload-time = "2025-10-14T04:42:17.917Z" }, - { url = "https://files.pythonhosted.org/packages/28/2b/e3d7d982858dccc11b31906976323d790dded2017a0572f093ff982d692f/charset_normalizer-3.4.4-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3", size = 152174, upload-time = "2025-10-14T04:42:19.018Z" }, - { url = "https://files.pythonhosted.org/packages/6e/ff/4a269f8e35f1e58b2df52c131a1fa019acb7ef3f8697b7d464b07e9b492d/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6", size = 151666, upload-time = "2025-10-14T04:42:20.171Z" }, - { url = "https://files.pythonhosted.org/packages/da/c9/ec39870f0b330d58486001dd8e532c6b9a905f5765f58a6f8204926b4a93/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88", size = 145550, upload-time = "2025-10-14T04:42:21.324Z" }, - { url = "https://files.pythonhosted.org/packages/75/8f/d186ab99e40e0ed9f82f033d6e49001701c81244d01905dd4a6924191a30/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1", size = 163721, upload-time = "2025-10-14T04:42:22.46Z" }, - { url = "https://files.pythonhosted.org/packages/96/b1/6047663b9744df26a7e479ac1e77af7134b1fcf9026243bb48ee2d18810f/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf", size = 152127, upload-time = "2025-10-14T04:42:23.712Z" }, - { url = "https://files.pythonhosted.org/packages/59/78/e5a6eac9179f24f704d1be67d08704c3c6ab9f00963963524be27c18ed87/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318", size = 161175, upload-time = "2025-10-14T04:42:24.87Z" }, - { url = "https://files.pythonhosted.org/packages/e5/43/0e626e42d54dd2f8dd6fc5e1c5ff00f05fbca17cb699bedead2cae69c62f/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c", size = 155375, upload-time = "2025-10-14T04:42:27.246Z" }, - { url = "https://files.pythonhosted.org/packages/e9/91/d9615bf2e06f35e4997616ff31248c3657ed649c5ab9d35ea12fce54e380/charset_normalizer-3.4.4-cp39-cp39-win32.whl", hash = "sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505", size = 99692, upload-time = "2025-10-14T04:42:28.425Z" }, - { url = "https://files.pythonhosted.org/packages/d1/a9/6c040053909d9d1ef4fcab45fddec083aedc9052c10078339b47c8573ea8/charset_normalizer-3.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966", size = 107192, upload-time = "2025-10-14T04:42:29.482Z" }, - { url = "https://files.pythonhosted.org/packages/f0/c6/4fa536b2c0cd3edfb7ccf8469fa0f363ea67b7213a842b90909ca33dd851/charset_normalizer-3.4.4-cp39-cp39-win_arm64.whl", hash = "sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50", size = 100220, upload-time = "2025-10-14T04:42:30.632Z" }, { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, ] @@ -473,129 +427,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" }, ] -[[package]] -name = "coverage" -version = "7.10.7" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -sdist = { url = "https://files.pythonhosted.org/packages/51/26/d22c300112504f5f9a9fd2297ce33c35f3d353e4aeb987c8419453b2a7c2/coverage-7.10.7.tar.gz", hash = "sha256:f4ab143ab113be368a3e9b795f9cd7906c5ef407d6173fe9675a902e1fffc239", size = 827704, upload-time = "2025-09-21T20:03:56.815Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/6c/3a3f7a46888e69d18abe3ccc6fe4cb16cccb1e6a2f99698931dafca489e6/coverage-7.10.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fc04cc7a3db33664e0c2d10eb8990ff6b3536f6842c9590ae8da4c614b9ed05a", size = 217987, upload-time = "2025-09-21T20:00:57.218Z" }, - { url = "https://files.pythonhosted.org/packages/03/94/952d30f180b1a916c11a56f5c22d3535e943aa22430e9e3322447e520e1c/coverage-7.10.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e201e015644e207139f7e2351980feb7040e6f4b2c2978892f3e3789d1c125e5", size = 218388, upload-time = "2025-09-21T20:01:00.081Z" }, - { url = "https://files.pythonhosted.org/packages/50/2b/9e0cf8ded1e114bcd8b2fd42792b57f1c4e9e4ea1824cde2af93a67305be/coverage-7.10.7-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:240af60539987ced2c399809bd34f7c78e8abe0736af91c3d7d0e795df633d17", size = 245148, upload-time = "2025-09-21T20:01:01.768Z" }, - { url = "https://files.pythonhosted.org/packages/19/20/d0384ac06a6f908783d9b6aa6135e41b093971499ec488e47279f5b846e6/coverage-7.10.7-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8421e088bc051361b01c4b3a50fd39a4b9133079a2229978d9d30511fd05231b", size = 246958, upload-time = "2025-09-21T20:01:03.355Z" }, - { url = "https://files.pythonhosted.org/packages/60/83/5c283cff3d41285f8eab897651585db908a909c572bdc014bcfaf8a8b6ae/coverage-7.10.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6be8ed3039ae7f7ac5ce058c308484787c86e8437e72b30bf5e88b8ea10f3c87", size = 248819, upload-time = "2025-09-21T20:01:04.968Z" }, - { url = "https://files.pythonhosted.org/packages/60/22/02eb98fdc5ff79f423e990d877693e5310ae1eab6cb20ae0b0b9ac45b23b/coverage-7.10.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e28299d9f2e889e6d51b1f043f58d5f997c373cc12e6403b90df95b8b047c13e", size = 245754, upload-time = "2025-09-21T20:01:06.321Z" }, - { url = "https://files.pythonhosted.org/packages/b4/bc/25c83bcf3ad141b32cd7dc45485ef3c01a776ca3aa8ef0a93e77e8b5bc43/coverage-7.10.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c4e16bd7761c5e454f4efd36f345286d6f7c5fa111623c355691e2755cae3b9e", size = 246860, upload-time = "2025-09-21T20:01:07.605Z" }, - { url = "https://files.pythonhosted.org/packages/3c/b7/95574702888b58c0928a6e982038c596f9c34d52c5e5107f1eef729399b5/coverage-7.10.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b1c81d0e5e160651879755c9c675b974276f135558cf4ba79fee7b8413a515df", size = 244877, upload-time = "2025-09-21T20:01:08.829Z" }, - { url = "https://files.pythonhosted.org/packages/47/b6/40095c185f235e085df0e0b158f6bd68cc6e1d80ba6c7721dc81d97ec318/coverage-7.10.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:606cc265adc9aaedcc84f1f064f0e8736bc45814f15a357e30fca7ecc01504e0", size = 245108, upload-time = "2025-09-21T20:01:10.527Z" }, - { url = "https://files.pythonhosted.org/packages/c8/50/4aea0556da7a4b93ec9168420d170b55e2eb50ae21b25062513d020c6861/coverage-7.10.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:10b24412692df990dbc34f8fb1b6b13d236ace9dfdd68df5b28c2e39cafbba13", size = 245752, upload-time = "2025-09-21T20:01:11.857Z" }, - { url = "https://files.pythonhosted.org/packages/6a/28/ea1a84a60828177ae3b100cb6723838523369a44ec5742313ed7db3da160/coverage-7.10.7-cp310-cp310-win32.whl", hash = "sha256:b51dcd060f18c19290d9b8a9dd1e0181538df2ce0717f562fff6cf74d9fc0b5b", size = 220497, upload-time = "2025-09-21T20:01:13.459Z" }, - { url = "https://files.pythonhosted.org/packages/fc/1a/a81d46bbeb3c3fd97b9602ebaa411e076219a150489bcc2c025f151bd52d/coverage-7.10.7-cp310-cp310-win_amd64.whl", hash = "sha256:3a622ac801b17198020f09af3eaf45666b344a0d69fc2a6ffe2ea83aeef1d807", size = 221392, upload-time = "2025-09-21T20:01:14.722Z" }, - { url = "https://files.pythonhosted.org/packages/d2/5d/c1a17867b0456f2e9ce2d8d4708a4c3a089947d0bec9c66cdf60c9e7739f/coverage-7.10.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a609f9c93113be646f44c2a0256d6ea375ad047005d7f57a5c15f614dc1b2f59", size = 218102, upload-time = "2025-09-21T20:01:16.089Z" }, - { url = "https://files.pythonhosted.org/packages/54/f0/514dcf4b4e3698b9a9077f084429681bf3aad2b4a72578f89d7f643eb506/coverage-7.10.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:65646bb0359386e07639c367a22cf9b5bf6304e8630b565d0626e2bdf329227a", size = 218505, upload-time = "2025-09-21T20:01:17.788Z" }, - { url = "https://files.pythonhosted.org/packages/20/f6/9626b81d17e2a4b25c63ac1b425ff307ecdeef03d67c9a147673ae40dc36/coverage-7.10.7-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5f33166f0dfcce728191f520bd2692914ec70fac2713f6bf3ce59c3deacb4699", size = 248898, upload-time = "2025-09-21T20:01:19.488Z" }, - { url = "https://files.pythonhosted.org/packages/b0/ef/bd8e719c2f7417ba03239052e099b76ea1130ac0cbb183ee1fcaa58aaff3/coverage-7.10.7-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:35f5e3f9e455bb17831876048355dca0f758b6df22f49258cb5a91da23ef437d", size = 250831, upload-time = "2025-09-21T20:01:20.817Z" }, - { url = "https://files.pythonhosted.org/packages/a5/b6/bf054de41ec948b151ae2b79a55c107f5760979538f5fb80c195f2517718/coverage-7.10.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4da86b6d62a496e908ac2898243920c7992499c1712ff7c2b6d837cc69d9467e", size = 252937, upload-time = "2025-09-21T20:01:22.171Z" }, - { url = "https://files.pythonhosted.org/packages/0f/e5/3860756aa6f9318227443c6ce4ed7bf9e70bb7f1447a0353f45ac5c7974b/coverage-7.10.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6b8b09c1fad947c84bbbc95eca841350fad9cbfa5a2d7ca88ac9f8d836c92e23", size = 249021, upload-time = "2025-09-21T20:01:23.907Z" }, - { url = "https://files.pythonhosted.org/packages/26/0f/bd08bd042854f7fd07b45808927ebcce99a7ed0f2f412d11629883517ac2/coverage-7.10.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4376538f36b533b46f8971d3a3e63464f2c7905c9800db97361c43a2b14792ab", size = 250626, upload-time = "2025-09-21T20:01:25.721Z" }, - { url = "https://files.pythonhosted.org/packages/8e/a7/4777b14de4abcc2e80c6b1d430f5d51eb18ed1d75fca56cbce5f2db9b36e/coverage-7.10.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:121da30abb574f6ce6ae09840dae322bef734480ceafe410117627aa54f76d82", size = 248682, upload-time = "2025-09-21T20:01:27.105Z" }, - { url = "https://files.pythonhosted.org/packages/34/72/17d082b00b53cd45679bad682fac058b87f011fd8b9fe31d77f5f8d3a4e4/coverage-7.10.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:88127d40df529336a9836870436fc2751c339fbaed3a836d42c93f3e4bd1d0a2", size = 248402, upload-time = "2025-09-21T20:01:28.629Z" }, - { url = "https://files.pythonhosted.org/packages/81/7a/92367572eb5bdd6a84bfa278cc7e97db192f9f45b28c94a9ca1a921c3577/coverage-7.10.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ba58bbcd1b72f136080c0bccc2400d66cc6115f3f906c499013d065ac33a4b61", size = 249320, upload-time = "2025-09-21T20:01:30.004Z" }, - { url = "https://files.pythonhosted.org/packages/2f/88/a23cc185f6a805dfc4fdf14a94016835eeb85e22ac3a0e66d5e89acd6462/coverage-7.10.7-cp311-cp311-win32.whl", hash = "sha256:972b9e3a4094b053a4e46832b4bc829fc8a8d347160eb39d03f1690316a99c14", size = 220536, upload-time = "2025-09-21T20:01:32.184Z" }, - { url = "https://files.pythonhosted.org/packages/fe/ef/0b510a399dfca17cec7bc2f05ad8bd78cf55f15c8bc9a73ab20c5c913c2e/coverage-7.10.7-cp311-cp311-win_amd64.whl", hash = "sha256:a7b55a944a7f43892e28ad4bc0561dfd5f0d73e605d1aa5c3c976b52aea121d2", size = 221425, upload-time = "2025-09-21T20:01:33.557Z" }, - { url = "https://files.pythonhosted.org/packages/51/7f/023657f301a276e4ba1850f82749bc136f5a7e8768060c2e5d9744a22951/coverage-7.10.7-cp311-cp311-win_arm64.whl", hash = "sha256:736f227fb490f03c6488f9b6d45855f8e0fd749c007f9303ad30efab0e73c05a", size = 220103, upload-time = "2025-09-21T20:01:34.929Z" }, - { url = "https://files.pythonhosted.org/packages/13/e4/eb12450f71b542a53972d19117ea5a5cea1cab3ac9e31b0b5d498df1bd5a/coverage-7.10.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7bb3b9ddb87ef7725056572368040c32775036472d5a033679d1fa6c8dc08417", size = 218290, upload-time = "2025-09-21T20:01:36.455Z" }, - { url = "https://files.pythonhosted.org/packages/37/66/593f9be12fc19fb36711f19a5371af79a718537204d16ea1d36f16bd78d2/coverage-7.10.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:18afb24843cbc175687225cab1138c95d262337f5473512010e46831aa0c2973", size = 218515, upload-time = "2025-09-21T20:01:37.982Z" }, - { url = "https://files.pythonhosted.org/packages/66/80/4c49f7ae09cafdacc73fbc30949ffe77359635c168f4e9ff33c9ebb07838/coverage-7.10.7-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:399a0b6347bcd3822be369392932884b8216d0944049ae22925631a9b3d4ba4c", size = 250020, upload-time = "2025-09-21T20:01:39.617Z" }, - { url = "https://files.pythonhosted.org/packages/a6/90/a64aaacab3b37a17aaedd83e8000142561a29eb262cede42d94a67f7556b/coverage-7.10.7-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:314f2c326ded3f4b09be11bc282eb2fc861184bc95748ae67b360ac962770be7", size = 252769, upload-time = "2025-09-21T20:01:41.341Z" }, - { url = "https://files.pythonhosted.org/packages/98/2e/2dda59afd6103b342e096f246ebc5f87a3363b5412609946c120f4e7750d/coverage-7.10.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c41e71c9cfb854789dee6fc51e46743a6d138b1803fab6cb860af43265b42ea6", size = 253901, upload-time = "2025-09-21T20:01:43.042Z" }, - { url = "https://files.pythonhosted.org/packages/53/dc/8d8119c9051d50f3119bb4a75f29f1e4a6ab9415cd1fa8bf22fcc3fb3b5f/coverage-7.10.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc01f57ca26269c2c706e838f6422e2a8788e41b3e3c65e2f41148212e57cd59", size = 250413, upload-time = "2025-09-21T20:01:44.469Z" }, - { url = "https://files.pythonhosted.org/packages/98/b3/edaff9c5d79ee4d4b6d3fe046f2b1d799850425695b789d491a64225d493/coverage-7.10.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a6442c59a8ac8b85812ce33bc4d05bde3fb22321fa8294e2a5b487c3505f611b", size = 251820, upload-time = "2025-09-21T20:01:45.915Z" }, - { url = "https://files.pythonhosted.org/packages/11/25/9a0728564bb05863f7e513e5a594fe5ffef091b325437f5430e8cfb0d530/coverage-7.10.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:78a384e49f46b80fb4c901d52d92abe098e78768ed829c673fbb53c498bef73a", size = 249941, upload-time = "2025-09-21T20:01:47.296Z" }, - { url = "https://files.pythonhosted.org/packages/e0/fd/ca2650443bfbef5b0e74373aac4df67b08180d2f184b482c41499668e258/coverage-7.10.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:5e1e9802121405ede4b0133aa4340ad8186a1d2526de5b7c3eca519db7bb89fb", size = 249519, upload-time = "2025-09-21T20:01:48.73Z" }, - { url = "https://files.pythonhosted.org/packages/24/79/f692f125fb4299b6f963b0745124998ebb8e73ecdfce4ceceb06a8c6bec5/coverage-7.10.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d41213ea25a86f69efd1575073d34ea11aabe075604ddf3d148ecfec9e1e96a1", size = 251375, upload-time = "2025-09-21T20:01:50.529Z" }, - { url = "https://files.pythonhosted.org/packages/5e/75/61b9bbd6c7d24d896bfeec57acba78e0f8deac68e6baf2d4804f7aae1f88/coverage-7.10.7-cp312-cp312-win32.whl", hash = "sha256:77eb4c747061a6af8d0f7bdb31f1e108d172762ef579166ec84542f711d90256", size = 220699, upload-time = "2025-09-21T20:01:51.941Z" }, - { url = "https://files.pythonhosted.org/packages/ca/f3/3bf7905288b45b075918d372498f1cf845b5b579b723c8fd17168018d5f5/coverage-7.10.7-cp312-cp312-win_amd64.whl", hash = "sha256:f51328ffe987aecf6d09f3cd9d979face89a617eacdaea43e7b3080777f647ba", size = 221512, upload-time = "2025-09-21T20:01:53.481Z" }, - { url = "https://files.pythonhosted.org/packages/5c/44/3e32dbe933979d05cf2dac5e697c8599cfe038aaf51223ab901e208d5a62/coverage-7.10.7-cp312-cp312-win_arm64.whl", hash = "sha256:bda5e34f8a75721c96085903c6f2197dc398c20ffd98df33f866a9c8fd95f4bf", size = 220147, upload-time = "2025-09-21T20:01:55.2Z" }, - { url = "https://files.pythonhosted.org/packages/9a/94/b765c1abcb613d103b64fcf10395f54d69b0ef8be6a0dd9c524384892cc7/coverage-7.10.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:981a651f543f2854abd3b5fcb3263aac581b18209be49863ba575de6edf4c14d", size = 218320, upload-time = "2025-09-21T20:01:56.629Z" }, - { url = "https://files.pythonhosted.org/packages/72/4f/732fff31c119bb73b35236dd333030f32c4bfe909f445b423e6c7594f9a2/coverage-7.10.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:73ab1601f84dc804f7812dc297e93cd99381162da39c47040a827d4e8dafe63b", size = 218575, upload-time = "2025-09-21T20:01:58.203Z" }, - { url = "https://files.pythonhosted.org/packages/87/02/ae7e0af4b674be47566707777db1aa375474f02a1d64b9323e5813a6cdd5/coverage-7.10.7-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a8b6f03672aa6734e700bbcd65ff050fd19cddfec4b031cc8cf1c6967de5a68e", size = 249568, upload-time = "2025-09-21T20:01:59.748Z" }, - { url = "https://files.pythonhosted.org/packages/a2/77/8c6d22bf61921a59bce5471c2f1f7ac30cd4ac50aadde72b8c48d5727902/coverage-7.10.7-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10b6ba00ab1132a0ce4428ff68cf50a25efd6840a42cdf4239c9b99aad83be8b", size = 252174, upload-time = "2025-09-21T20:02:01.192Z" }, - { url = "https://files.pythonhosted.org/packages/b1/20/b6ea4f69bbb52dac0aebd62157ba6a9dddbfe664f5af8122dac296c3ee15/coverage-7.10.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c79124f70465a150e89340de5963f936ee97097d2ef76c869708c4248c63ca49", size = 253447, upload-time = "2025-09-21T20:02:02.701Z" }, - { url = "https://files.pythonhosted.org/packages/f9/28/4831523ba483a7f90f7b259d2018fef02cb4d5b90bc7c1505d6e5a84883c/coverage-7.10.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:69212fbccdbd5b0e39eac4067e20a4a5256609e209547d86f740d68ad4f04911", size = 249779, upload-time = "2025-09-21T20:02:04.185Z" }, - { url = "https://files.pythonhosted.org/packages/a7/9f/4331142bc98c10ca6436d2d620c3e165f31e6c58d43479985afce6f3191c/coverage-7.10.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7ea7c6c9d0d286d04ed3541747e6597cbe4971f22648b68248f7ddcd329207f0", size = 251604, upload-time = "2025-09-21T20:02:06.034Z" }, - { url = "https://files.pythonhosted.org/packages/ce/60/bda83b96602036b77ecf34e6393a3836365481b69f7ed7079ab85048202b/coverage-7.10.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b9be91986841a75042b3e3243d0b3cb0b2434252b977baaf0cd56e960fe1e46f", size = 249497, upload-time = "2025-09-21T20:02:07.619Z" }, - { url = "https://files.pythonhosted.org/packages/5f/af/152633ff35b2af63977edd835d8e6430f0caef27d171edf2fc76c270ef31/coverage-7.10.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:b281d5eca50189325cfe1f365fafade89b14b4a78d9b40b05ddd1fc7d2a10a9c", size = 249350, upload-time = "2025-09-21T20:02:10.34Z" }, - { url = "https://files.pythonhosted.org/packages/9d/71/d92105d122bd21cebba877228990e1646d862e34a98bb3374d3fece5a794/coverage-7.10.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:99e4aa63097ab1118e75a848a28e40d68b08a5e19ce587891ab7fd04475e780f", size = 251111, upload-time = "2025-09-21T20:02:12.122Z" }, - { url = "https://files.pythonhosted.org/packages/a2/9e/9fdb08f4bf476c912f0c3ca292e019aab6712c93c9344a1653986c3fd305/coverage-7.10.7-cp313-cp313-win32.whl", hash = "sha256:dc7c389dce432500273eaf48f410b37886be9208b2dd5710aaf7c57fd442c698", size = 220746, upload-time = "2025-09-21T20:02:13.919Z" }, - { url = "https://files.pythonhosted.org/packages/b1/b1/a75fd25df44eab52d1931e89980d1ada46824c7a3210be0d3c88a44aaa99/coverage-7.10.7-cp313-cp313-win_amd64.whl", hash = "sha256:cac0fdca17b036af3881a9d2729a850b76553f3f716ccb0360ad4dbc06b3b843", size = 221541, upload-time = "2025-09-21T20:02:15.57Z" }, - { url = "https://files.pythonhosted.org/packages/14/3a/d720d7c989562a6e9a14b2c9f5f2876bdb38e9367126d118495b89c99c37/coverage-7.10.7-cp313-cp313-win_arm64.whl", hash = "sha256:4b6f236edf6e2f9ae8fcd1332da4e791c1b6ba0dc16a2dc94590ceccb482e546", size = 220170, upload-time = "2025-09-21T20:02:17.395Z" }, - { url = "https://files.pythonhosted.org/packages/bb/22/e04514bf2a735d8b0add31d2b4ab636fc02370730787c576bb995390d2d5/coverage-7.10.7-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a0ec07fd264d0745ee396b666d47cef20875f4ff2375d7c4f58235886cc1ef0c", size = 219029, upload-time = "2025-09-21T20:02:18.936Z" }, - { url = "https://files.pythonhosted.org/packages/11/0b/91128e099035ece15da3445d9015e4b4153a6059403452d324cbb0a575fa/coverage-7.10.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd5e856ebb7bfb7672b0086846db5afb4567a7b9714b8a0ebafd211ec7ce6a15", size = 219259, upload-time = "2025-09-21T20:02:20.44Z" }, - { url = "https://files.pythonhosted.org/packages/8b/51/66420081e72801536a091a0c8f8c1f88a5c4bf7b9b1bdc6222c7afe6dc9b/coverage-7.10.7-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f57b2a3c8353d3e04acf75b3fed57ba41f5c0646bbf1d10c7c282291c97936b4", size = 260592, upload-time = "2025-09-21T20:02:22.313Z" }, - { url = "https://files.pythonhosted.org/packages/5d/22/9b8d458c2881b22df3db5bb3e7369e63d527d986decb6c11a591ba2364f7/coverage-7.10.7-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1ef2319dd15a0b009667301a3f84452a4dc6fddfd06b0c5c53ea472d3989fbf0", size = 262768, upload-time = "2025-09-21T20:02:24.287Z" }, - { url = "https://files.pythonhosted.org/packages/f7/08/16bee2c433e60913c610ea200b276e8eeef084b0d200bdcff69920bd5828/coverage-7.10.7-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83082a57783239717ceb0ad584de3c69cf581b2a95ed6bf81ea66034f00401c0", size = 264995, upload-time = "2025-09-21T20:02:26.133Z" }, - { url = "https://files.pythonhosted.org/packages/20/9d/e53eb9771d154859b084b90201e5221bca7674ba449a17c101a5031d4054/coverage-7.10.7-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:50aa94fb1fb9a397eaa19c0d5ec15a5edd03a47bf1a3a6111a16b36e190cff65", size = 259546, upload-time = "2025-09-21T20:02:27.716Z" }, - { url = "https://files.pythonhosted.org/packages/ad/b0/69bc7050f8d4e56a89fb550a1577d5d0d1db2278106f6f626464067b3817/coverage-7.10.7-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2120043f147bebb41c85b97ac45dd173595ff14f2a584f2963891cbcc3091541", size = 262544, upload-time = "2025-09-21T20:02:29.216Z" }, - { url = "https://files.pythonhosted.org/packages/ef/4b/2514b060dbd1bc0aaf23b852c14bb5818f244c664cb16517feff6bb3a5ab/coverage-7.10.7-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2fafd773231dd0378fdba66d339f84904a8e57a262f583530f4f156ab83863e6", size = 260308, upload-time = "2025-09-21T20:02:31.226Z" }, - { url = "https://files.pythonhosted.org/packages/54/78/7ba2175007c246d75e496f64c06e94122bdb914790a1285d627a918bd271/coverage-7.10.7-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:0b944ee8459f515f28b851728ad224fa2d068f1513ef6b7ff1efafeb2185f999", size = 258920, upload-time = "2025-09-21T20:02:32.823Z" }, - { url = "https://files.pythonhosted.org/packages/c0/b3/fac9f7abbc841409b9a410309d73bfa6cfb2e51c3fada738cb607ce174f8/coverage-7.10.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4b583b97ab2e3efe1b3e75248a9b333bd3f8b0b1b8e5b45578e05e5850dfb2c2", size = 261434, upload-time = "2025-09-21T20:02:34.86Z" }, - { url = "https://files.pythonhosted.org/packages/ee/51/a03bec00d37faaa891b3ff7387192cef20f01604e5283a5fabc95346befa/coverage-7.10.7-cp313-cp313t-win32.whl", hash = "sha256:2a78cd46550081a7909b3329e2266204d584866e8d97b898cd7fb5ac8d888b1a", size = 221403, upload-time = "2025-09-21T20:02:37.034Z" }, - { url = "https://files.pythonhosted.org/packages/53/22/3cf25d614e64bf6d8e59c7c669b20d6d940bb337bdee5900b9ca41c820bb/coverage-7.10.7-cp313-cp313t-win_amd64.whl", hash = "sha256:33a5e6396ab684cb43dc7befa386258acb2d7fae7f67330ebb85ba4ea27938eb", size = 222469, upload-time = "2025-09-21T20:02:39.011Z" }, - { url = "https://files.pythonhosted.org/packages/49/a1/00164f6d30d8a01c3c9c48418a7a5be394de5349b421b9ee019f380df2a0/coverage-7.10.7-cp313-cp313t-win_arm64.whl", hash = "sha256:86b0e7308289ddde73d863b7683f596d8d21c7d8664ce1dee061d0bcf3fbb4bb", size = 220731, upload-time = "2025-09-21T20:02:40.939Z" }, - { url = "https://files.pythonhosted.org/packages/23/9c/5844ab4ca6a4dd97a1850e030a15ec7d292b5c5cb93082979225126e35dd/coverage-7.10.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b06f260b16ead11643a5a9f955bd4b5fd76c1a4c6796aeade8520095b75de520", size = 218302, upload-time = "2025-09-21T20:02:42.527Z" }, - { url = "https://files.pythonhosted.org/packages/f0/89/673f6514b0961d1f0e20ddc242e9342f6da21eaba3489901b565c0689f34/coverage-7.10.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:212f8f2e0612778f09c55dd4872cb1f64a1f2b074393d139278ce902064d5b32", size = 218578, upload-time = "2025-09-21T20:02:44.468Z" }, - { url = "https://files.pythonhosted.org/packages/05/e8/261cae479e85232828fb17ad536765c88dd818c8470aca690b0ac6feeaa3/coverage-7.10.7-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3445258bcded7d4aa630ab8296dea4d3f15a255588dd535f980c193ab6b95f3f", size = 249629, upload-time = "2025-09-21T20:02:46.503Z" }, - { url = "https://files.pythonhosted.org/packages/82/62/14ed6546d0207e6eda876434e3e8475a3e9adbe32110ce896c9e0c06bb9a/coverage-7.10.7-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bb45474711ba385c46a0bfe696c695a929ae69ac636cda8f532be9e8c93d720a", size = 252162, upload-time = "2025-09-21T20:02:48.689Z" }, - { url = "https://files.pythonhosted.org/packages/ff/49/07f00db9ac6478e4358165a08fb41b469a1b053212e8a00cb02f0d27a05f/coverage-7.10.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:813922f35bd800dca9994c5971883cbc0d291128a5de6b167c7aa697fcf59360", size = 253517, upload-time = "2025-09-21T20:02:50.31Z" }, - { url = "https://files.pythonhosted.org/packages/a2/59/c5201c62dbf165dfbc91460f6dbbaa85a8b82cfa6131ac45d6c1bfb52deb/coverage-7.10.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:93c1b03552081b2a4423091d6fb3787265b8f86af404cff98d1b5342713bdd69", size = 249632, upload-time = "2025-09-21T20:02:51.971Z" }, - { url = "https://files.pythonhosted.org/packages/07/ae/5920097195291a51fb00b3a70b9bbd2edbfe3c84876a1762bd1ef1565ebc/coverage-7.10.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:cc87dd1b6eaf0b848eebb1c86469b9f72a1891cb42ac7adcfbce75eadb13dd14", size = 251520, upload-time = "2025-09-21T20:02:53.858Z" }, - { url = "https://files.pythonhosted.org/packages/b9/3c/a815dde77a2981f5743a60b63df31cb322c944843e57dbd579326625a413/coverage-7.10.7-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:39508ffda4f343c35f3236fe8d1a6634a51f4581226a1262769d7f970e73bffe", size = 249455, upload-time = "2025-09-21T20:02:55.807Z" }, - { url = "https://files.pythonhosted.org/packages/aa/99/f5cdd8421ea656abefb6c0ce92556709db2265c41e8f9fc6c8ae0f7824c9/coverage-7.10.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:925a1edf3d810537c5a3abe78ec5530160c5f9a26b1f4270b40e62cc79304a1e", size = 249287, upload-time = "2025-09-21T20:02:57.784Z" }, - { url = "https://files.pythonhosted.org/packages/c3/7a/e9a2da6a1fc5d007dd51fca083a663ab930a8c4d149c087732a5dbaa0029/coverage-7.10.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2c8b9a0636f94c43cd3576811e05b89aa9bc2d0a85137affc544ae5cb0e4bfbd", size = 250946, upload-time = "2025-09-21T20:02:59.431Z" }, - { url = "https://files.pythonhosted.org/packages/ef/5b/0b5799aa30380a949005a353715095d6d1da81927d6dbed5def2200a4e25/coverage-7.10.7-cp314-cp314-win32.whl", hash = "sha256:b7b8288eb7cdd268b0304632da8cb0bb93fadcfec2fe5712f7b9cc8f4d487be2", size = 221009, upload-time = "2025-09-21T20:03:01.324Z" }, - { url = "https://files.pythonhosted.org/packages/da/b0/e802fbb6eb746de006490abc9bb554b708918b6774b722bb3a0e6aa1b7de/coverage-7.10.7-cp314-cp314-win_amd64.whl", hash = "sha256:1ca6db7c8807fb9e755d0379ccc39017ce0a84dcd26d14b5a03b78563776f681", size = 221804, upload-time = "2025-09-21T20:03:03.4Z" }, - { url = "https://files.pythonhosted.org/packages/9e/e8/71d0c8e374e31f39e3389bb0bd19e527d46f00ea8571ec7ec8fd261d8b44/coverage-7.10.7-cp314-cp314-win_arm64.whl", hash = "sha256:097c1591f5af4496226d5783d036bf6fd6cd0cbc132e071b33861de756efb880", size = 220384, upload-time = "2025-09-21T20:03:05.111Z" }, - { url = "https://files.pythonhosted.org/packages/62/09/9a5608d319fa3eba7a2019addeacb8c746fb50872b57a724c9f79f146969/coverage-7.10.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:a62c6ef0d50e6de320c270ff91d9dd0a05e7250cac2a800b7784bae474506e63", size = 219047, upload-time = "2025-09-21T20:03:06.795Z" }, - { url = "https://files.pythonhosted.org/packages/f5/6f/f58d46f33db9f2e3647b2d0764704548c184e6f5e014bef528b7f979ef84/coverage-7.10.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9fa6e4dd51fe15d8738708a973470f67a855ca50002294852e9571cdbd9433f2", size = 219266, upload-time = "2025-09-21T20:03:08.495Z" }, - { url = "https://files.pythonhosted.org/packages/74/5c/183ffc817ba68e0b443b8c934c8795553eb0c14573813415bd59941ee165/coverage-7.10.7-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8fb190658865565c549b6b4706856d6a7b09302c797eb2cf8e7fe9dabb043f0d", size = 260767, upload-time = "2025-09-21T20:03:10.172Z" }, - { url = "https://files.pythonhosted.org/packages/0f/48/71a8abe9c1ad7e97548835e3cc1adbf361e743e9d60310c5f75c9e7bf847/coverage-7.10.7-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:affef7c76a9ef259187ef31599a9260330e0335a3011732c4b9effa01e1cd6e0", size = 262931, upload-time = "2025-09-21T20:03:11.861Z" }, - { url = "https://files.pythonhosted.org/packages/84/fd/193a8fb132acfc0a901f72020e54be5e48021e1575bb327d8ee1097a28fd/coverage-7.10.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e16e07d85ca0cf8bafe5f5d23a0b850064e8e945d5677492b06bbe6f09cc699", size = 265186, upload-time = "2025-09-21T20:03:13.539Z" }, - { url = "https://files.pythonhosted.org/packages/b1/8f/74ecc30607dd95ad50e3034221113ccb1c6d4e8085cc761134782995daae/coverage-7.10.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:03ffc58aacdf65d2a82bbeb1ffe4d01ead4017a21bfd0454983b88ca73af94b9", size = 259470, upload-time = "2025-09-21T20:03:15.584Z" }, - { url = "https://files.pythonhosted.org/packages/0f/55/79ff53a769f20d71b07023ea115c9167c0bb56f281320520cf64c5298a96/coverage-7.10.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1b4fd784344d4e52647fd7857b2af5b3fbe6c239b0b5fa63e94eb67320770e0f", size = 262626, upload-time = "2025-09-21T20:03:17.673Z" }, - { url = "https://files.pythonhosted.org/packages/88/e2/dac66c140009b61ac3fc13af673a574b00c16efdf04f9b5c740703e953c0/coverage-7.10.7-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:0ebbaddb2c19b71912c6f2518e791aa8b9f054985a0769bdb3a53ebbc765c6a1", size = 260386, upload-time = "2025-09-21T20:03:19.36Z" }, - { url = "https://files.pythonhosted.org/packages/a2/f1/f48f645e3f33bb9ca8a496bc4a9671b52f2f353146233ebd7c1df6160440/coverage-7.10.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:a2d9a3b260cc1d1dbdb1c582e63ddcf5363426a1a68faa0f5da28d8ee3c722a0", size = 258852, upload-time = "2025-09-21T20:03:21.007Z" }, - { url = "https://files.pythonhosted.org/packages/bb/3b/8442618972c51a7affeead957995cfa8323c0c9bcf8fa5a027421f720ff4/coverage-7.10.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a3cc8638b2480865eaa3926d192e64ce6c51e3d29c849e09d5b4ad95efae5399", size = 261534, upload-time = "2025-09-21T20:03:23.12Z" }, - { url = "https://files.pythonhosted.org/packages/b2/dc/101f3fa3a45146db0cb03f5b4376e24c0aac818309da23e2de0c75295a91/coverage-7.10.7-cp314-cp314t-win32.whl", hash = "sha256:67f8c5cbcd3deb7a60b3345dffc89a961a484ed0af1f6f73de91705cc6e31235", size = 221784, upload-time = "2025-09-21T20:03:24.769Z" }, - { url = "https://files.pythonhosted.org/packages/4c/a1/74c51803fc70a8a40d7346660379e144be772bab4ac7bb6e6b905152345c/coverage-7.10.7-cp314-cp314t-win_amd64.whl", hash = "sha256:e1ed71194ef6dea7ed2d5cb5f7243d4bcd334bfb63e59878519be558078f848d", size = 222905, upload-time = "2025-09-21T20:03:26.93Z" }, - { url = "https://files.pythonhosted.org/packages/12/65/f116a6d2127df30bcafbceef0302d8a64ba87488bf6f73a6d8eebf060873/coverage-7.10.7-cp314-cp314t-win_arm64.whl", hash = "sha256:7fe650342addd8524ca63d77b2362b02345e5f1a093266787d210c70a50b471a", size = 220922, upload-time = "2025-09-21T20:03:28.672Z" }, - { url = "https://files.pythonhosted.org/packages/a3/ad/d1c25053764b4c42eb294aae92ab617d2e4f803397f9c7c8295caa77a260/coverage-7.10.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fff7b9c3f19957020cac546c70025331113d2e61537f6e2441bc7657913de7d3", size = 217978, upload-time = "2025-09-21T20:03:30.362Z" }, - { url = "https://files.pythonhosted.org/packages/52/2f/b9f9daa39b80ece0b9548bbb723381e29bc664822d9a12c2135f8922c22b/coverage-7.10.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bc91b314cef27742da486d6839b677b3f2793dfe52b51bbbb7cf736d5c29281c", size = 218370, upload-time = "2025-09-21T20:03:32.147Z" }, - { url = "https://files.pythonhosted.org/packages/dd/6e/30d006c3b469e58449650642383dddf1c8fb63d44fdf92994bfd46570695/coverage-7.10.7-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:567f5c155eda8df1d3d439d40a45a6a5f029b429b06648235f1e7e51b522b396", size = 244802, upload-time = "2025-09-21T20:03:33.919Z" }, - { url = "https://files.pythonhosted.org/packages/b0/49/8a070782ce7e6b94ff6a0b6d7c65ba6bc3091d92a92cef4cd4eb0767965c/coverage-7.10.7-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2af88deffcc8a4d5974cf2d502251bc3b2db8461f0b66d80a449c33757aa9f40", size = 246625, upload-time = "2025-09-21T20:03:36.09Z" }, - { url = "https://files.pythonhosted.org/packages/6a/92/1c1c5a9e8677ce56d42b97bdaca337b2d4d9ebe703d8c174ede52dbabd5f/coverage-7.10.7-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7315339eae3b24c2d2fa1ed7d7a38654cba34a13ef19fbcb9425da46d3dc594", size = 248399, upload-time = "2025-09-21T20:03:38.342Z" }, - { url = "https://files.pythonhosted.org/packages/c0/54/b140edee7257e815de7426d5d9846b58505dffc29795fff2dfb7f8a1c5a0/coverage-7.10.7-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:912e6ebc7a6e4adfdbb1aec371ad04c68854cd3bf3608b3514e7ff9062931d8a", size = 245142, upload-time = "2025-09-21T20:03:40.591Z" }, - { url = "https://files.pythonhosted.org/packages/e4/9e/6d6b8295940b118e8b7083b29226c71f6154f7ff41e9ca431f03de2eac0d/coverage-7.10.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f49a05acd3dfe1ce9715b657e28d138578bc40126760efb962322c56e9ca344b", size = 246284, upload-time = "2025-09-21T20:03:42.355Z" }, - { url = "https://files.pythonhosted.org/packages/db/e5/5e957ca747d43dbe4d9714358375c7546cb3cb533007b6813fc20fce37ad/coverage-7.10.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cce2109b6219f22ece99db7644b9622f54a4e915dad65660ec435e89a3ea7cc3", size = 244353, upload-time = "2025-09-21T20:03:44.218Z" }, - { url = "https://files.pythonhosted.org/packages/9a/45/540fc5cc92536a1b783b7ef99450bd55a4b3af234aae35a18a339973ce30/coverage-7.10.7-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:f3c887f96407cea3916294046fc7dab611c2552beadbed4ea901cbc6a40cc7a0", size = 244430, upload-time = "2025-09-21T20:03:46.065Z" }, - { url = "https://files.pythonhosted.org/packages/75/0b/8287b2e5b38c8fe15d7e3398849bb58d382aedc0864ea0fa1820e8630491/coverage-7.10.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:635adb9a4507c9fd2ed65f39693fa31c9a3ee3a8e6dc64df033e8fdf52a7003f", size = 245311, upload-time = "2025-09-21T20:03:48.19Z" }, - { url = "https://files.pythonhosted.org/packages/0c/1d/29724999984740f0c86d03e6420b942439bf5bd7f54d4382cae386a9d1e9/coverage-7.10.7-cp39-cp39-win32.whl", hash = "sha256:5a02d5a850e2979b0a014c412573953995174743a3f7fa4ea5a6e9a3c5617431", size = 220500, upload-time = "2025-09-21T20:03:50.024Z" }, - { url = "https://files.pythonhosted.org/packages/43/11/4b1e6b129943f905ca54c339f343877b55b365ae2558806c1be4f7476ed5/coverage-7.10.7-cp39-cp39-win_amd64.whl", hash = "sha256:c134869d5ffe34547d14e174c866fd8fe2254918cc0a95e99052903bc1543e07", size = 221408, upload-time = "2025-09-21T20:03:51.803Z" }, - { url = "https://files.pythonhosted.org/packages/ec/16/114df1c291c22cac3b0c127a73e0af5c12ed7bbb6558d310429a0ae24023/coverage-7.10.7-py3-none-any.whl", hash = "sha256:f7941f6f2fe6dd6807a1208737b8a0cbcf1cc6d7b07d24998ad2d63590868260", size = 209952, upload-time = "2025-09-21T20:03:53.918Z" }, -] - [[package]] name = "coverage" version = "7.12.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14'", - "python_full_version >= '3.11' and python_full_version < '3.14'", - "python_full_version == '3.10.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/89/26/4a96807b193b011588099c3b5c89fbb05294e5b90e71018e065465f34eb6/coverage-7.12.0.tar.gz", hash = "sha256:fc11e0a4e372cb5f282f16ef90d4a585034050ccda536451901abfb19a57f40c", size = 819341, upload-time = "2025-11-18T13:34:20.766Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/26/4a/0dc3de1c172d35abe512332cfdcc43211b6ebce629e4cc42e6cd25ed8f4d/coverage-7.12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:32b75c2ba3f324ee37af3ccee5b30458038c50b349ad9b88cee85096132a575b", size = 217409, upload-time = "2025-11-18T13:31:53.122Z" }, @@ -691,36 +526,13 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ce/a3/43b749004e3c09452e39bb56347a008f0a0668aad37324a99b5c8ca91d9e/coverage-7.12.0-py3-none-any.whl", hash = "sha256:159d50c0b12e060b15ed3d39f87ed43d4f7f7ad40b8a534f4dd331adbb51104a", size = 209503, upload-time = "2025-11-18T13:34:18.892Z" }, ] -[[package]] -name = "curies" -version = "0.10.23" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "eval-type-backport", marker = "python_full_version < '3.10'" }, - { name = "pydantic", marker = "python_full_version < '3.10'" }, - { name = "pytrie", marker = "python_full_version < '3.10'" }, - { name = "typing-extensions", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/4b/3d/305b5fbc6fa16ead33e6b5227cd5f2a2b6bc76ec2517f340c8334480ea25/curies-0.10.23.tar.gz", hash = "sha256:4dec36f371a7e47673817c6dc5d2c079cd81a349cef7bdc26f8b396708c7a984", size = 278203, upload-time = "2025-09-08T11:37:03.499Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5c/76/a18f435fc02e8933e3edd92703076ff6a5c291be4aa4b93d99247ea6aa5f/curies-0.10.23-py3-none-any.whl", hash = "sha256:dccb9339724393a15b5ca0385c6d7a9a8eaa63c572b7d3d20c021512588e1c84", size = 65926, upload-time = "2025-09-08T11:37:02.27Z" }, -] - [[package]] name = "curies" version = "0.12.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14'", - "python_full_version >= '3.11' and python_full_version < '3.14'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "pydantic", marker = "python_full_version >= '3.10'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.10'" }, + { name = "pydantic" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a6/62/82e8b259ec78f7c383ee5113f657c878226ab20fcff96bce07b431eb21b9/curies-0.12.1.tar.gz", hash = "sha256:58be363c67dc686766d5630fffdc43d4855bc17aecb7edd282f8bdbc3580133b", size = 279272, upload-time = "2025-10-07T11:56:54.731Z" } wheels = [ @@ -731,24 +543,28 @@ wheels = [ name = "dcat-ap-plus" source = { editable = "." } dependencies = [ + { name = "linkml" }, { name = "linkml-runtime" }, ] [package.dev-dependencies] dev = [ - { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "coverage", version = "7.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "coverage" }, { name = "jupyter" }, { name = "linkml" }, { name = "mike" }, { name = "mkdocs-material" }, { name = "mkdocs-mermaid2-plugin" }, + { name = "mkdocs-pymdownx-material-extras" }, { name = "mknotebooks" }, { name = "pytest" }, ] [package.metadata] -requires-dist = [{ name = "linkml-runtime", specifier = ">=1.9.4" }] +requires-dist = [ + { name = "linkml", specifier = ">=1.9.6" }, + { name = "linkml-runtime", specifier = ">=1.9.4" }, +] [package.metadata.requires-dev] dev = [ @@ -758,6 +574,7 @@ dev = [ { name = "mike", specifier = ">=2.1.3" }, { name = "mkdocs-material", specifier = ">=8.2.8" }, { name = "mkdocs-mermaid2-plugin", specifier = ">=1.1.1" }, + { name = "mkdocs-pymdownx-material-extras", specifier = ">=2.5.6" }, { name = "mknotebooks", specifier = ">=0.8.0" }, { name = "pytest", specifier = ">=8.3.5" }, ] @@ -788,10 +605,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5a/73/2aa00c7f1f06e997ef57dc9b23d61a92120bec1437a012afb6d176585197/debugpy-1.8.17-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:b69b6bd9dba6a03632534cdf67c760625760a215ae289f7489a452af1031fe1f", size = 4268254, upload-time = "2025-09-17T16:34:04.486Z" }, { url = "https://files.pythonhosted.org/packages/86/b5/ed3e65c63c68a6634e3ba04bd10255c8e46ec16ebed7d1c79e4816d8a760/debugpy-1.8.17-cp314-cp314-win32.whl", hash = "sha256:5c59b74aa5630f3a5194467100c3b3d1c77898f9ab27e3f7dc5d40fc2f122670", size = 5277203, upload-time = "2025-09-17T16:34:06.65Z" }, { url = "https://files.pythonhosted.org/packages/b0/26/394276b71c7538445f29e792f589ab7379ae70fd26ff5577dfde71158e96/debugpy-1.8.17-cp314-cp314-win_amd64.whl", hash = "sha256:893cba7bb0f55161de4365584b025f7064e1f88913551bcd23be3260b231429c", size = 5318493, upload-time = "2025-09-17T16:34:08.483Z" }, - { url = "https://files.pythonhosted.org/packages/16/ee/0e9a08878f1b525f85c4e47723ea1f17b1bad69672c84fa910210604e3f8/debugpy-1.8.17-cp39-cp39-macosx_15_0_x86_64.whl", hash = "sha256:f2ac8055a0c4a09b30b931100996ba49ef334c6947e7ae365cdd870416d7513e", size = 2099309, upload-time = "2025-09-17T16:34:17.935Z" }, - { url = "https://files.pythonhosted.org/packages/b3/b5/0327b27efd8826ca92a256a3a250e80ccad6a834b4d12bd9cbd491f2da03/debugpy-1.8.17-cp39-cp39-manylinux_2_34_x86_64.whl", hash = "sha256:eaa85bce251feca8e4c87ce3b954aba84b8c645b90f0e6a515c00394a9f5c0e7", size = 3080100, upload-time = "2025-09-17T16:34:19.885Z" }, - { url = "https://files.pythonhosted.org/packages/0f/f0/2e210fa8884d2ab452fa31ffd1402e13010eaacfa67063d0565d97ac9e0e/debugpy-1.8.17-cp39-cp39-win32.whl", hash = "sha256:b13eea5587e44f27f6c48588b5ad56dcb74a4f3a5f89250443c94587f3eb2ea1", size = 5231016, upload-time = "2025-09-17T16:34:21.887Z" }, - { url = "https://files.pythonhosted.org/packages/d6/9b/6a45fb1553d09b618c9441bcbbf72b651246b83b5618b2f95c0e4cf1b8bd/debugpy-1.8.17-cp39-cp39-win_amd64.whl", hash = "sha256:bb1bbf92317e1f35afcf3ef0450219efb3afe00be79d8664b250ac0933b9015f", size = 5262778, upload-time = "2025-09-17T16:34:24.026Z" }, { url = "https://files.pythonhosted.org/packages/b0/d0/89247ec250369fc76db477720a26b2fce7ba079ff1380e4ab4529d2fe233/debugpy-1.8.17-py2.py3-none-any.whl", hash = "sha256:60c7dca6571efe660ccb7a9508d73ca14b8796c4ed484c2002abba714226cfef", size = 5283210, upload-time = "2025-09-17T16:34:25.835Z" }, ] @@ -852,21 +665,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c1/8b/5fe2cc11fee489817272089c4203e679c63b570a5aaeb18d852ae3cbba6a/et_xmlfile-2.0.0-py3-none-any.whl", hash = "sha256:7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa", size = 18059, upload-time = "2024-10-25T17:25:39.051Z" }, ] -[[package]] -name = "eval-type-backport" -version = "0.2.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/30/ea/8b0ac4469d4c347c6a385ff09dc3c048c2d021696664e26c7ee6791631b5/eval_type_backport-0.2.2.tar.gz", hash = "sha256:f0576b4cf01ebb5bd358d02314d31846af5e07678387486e2c798af0e7d849c1", size = 9079, upload-time = "2024-12-21T20:09:46.005Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/31/55cd413eaccd39125368be33c46de24a1f639f2e12349b0361b4678f3915/eval_type_backport-0.2.2-py3-none-any.whl", hash = "sha256:cb6ad7c393517f476f96d456d0412ea80f0a8cf96f6892834cd9340149111b0a", size = 5830, upload-time = "2024-12-21T20:09:44.175Z" }, -] - [[package]] name = "exceptiongroup" version = "1.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } wheels = [ @@ -930,7 +734,6 @@ version = "3.1.45" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "gitdb" }, - { name = "typing-extensions", marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz", hash = "sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c", size = 215076, upload-time = "2025-07-24T03:45:54.871Z" } wheels = [ @@ -955,7 +758,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7d/ed/6bfa4109fcb23a58819600392564fea69cdc6551ffd5e69ccf1d52a40cbc/greenlet-3.2.4-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:8c68325b0d0acf8d91dde4e6f930967dd52a5302cd4062932a6b2e7c2969f47c", size = 271061, upload-time = "2025-08-07T13:17:15.373Z" }, { url = "https://files.pythonhosted.org/packages/2a/fc/102ec1a2fc015b3a7652abab7acf3541d58c04d3d17a8d3d6a44adae1eb1/greenlet-3.2.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:94385f101946790ae13da500603491f04a76b6e4c059dab271b3ce2e283b2590", size = 629475, upload-time = "2025-08-07T13:42:54.009Z" }, { url = "https://files.pythonhosted.org/packages/c5/26/80383131d55a4ac0fb08d71660fd77e7660b9db6bdb4e8884f46d9f2cc04/greenlet-3.2.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f10fd42b5ee276335863712fa3da6608e93f70629c631bf77145021600abc23c", size = 640802, upload-time = "2025-08-07T13:45:25.52Z" }, - { url = "https://files.pythonhosted.org/packages/9f/7c/e7833dbcd8f376f3326bd728c845d31dcde4c84268d3921afcae77d90d08/greenlet-3.2.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c8c9e331e58180d0d83c5b7999255721b725913ff6bc6cf39fa2a45841a4fd4b", size = 636703, upload-time = "2025-08-07T13:53:12.622Z" }, { url = "https://files.pythonhosted.org/packages/e9/49/547b93b7c0428ede7b3f309bc965986874759f7d89e4e04aeddbc9699acb/greenlet-3.2.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:58b97143c9cc7b86fc458f215bd0932f1757ce649e05b640fea2e79b54cedb31", size = 635417, upload-time = "2025-08-07T13:18:25.189Z" }, { url = "https://files.pythonhosted.org/packages/7f/91/ae2eb6b7979e2f9b035a9f612cf70f1bf54aad4e1d125129bef1eae96f19/greenlet-3.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c2ca18a03a8cfb5b25bc1cbe20f3d9a4c80d8c3b13ba3df49ac3961af0b1018d", size = 584358, upload-time = "2025-08-07T13:18:23.708Z" }, { url = "https://files.pythonhosted.org/packages/f7/85/433de0c9c0252b22b16d413c9407e6cb3b41df7389afc366ca204dbc1393/greenlet-3.2.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9fe0a28a7b952a21e2c062cd5756d34354117796c6d9215a87f55e38d15402c5", size = 1113550, upload-time = "2025-08-07T13:42:37.467Z" }, @@ -966,7 +768,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a4/de/f28ced0a67749cac23fecb02b694f6473f47686dff6afaa211d186e2ef9c/greenlet-3.2.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:96378df1de302bc38e99c3a9aa311967b7dc80ced1dcc6f171e99842987882a2", size = 272305, upload-time = "2025-08-07T13:15:41.288Z" }, { url = "https://files.pythonhosted.org/packages/09/16/2c3792cba130000bf2a31c5272999113f4764fd9d874fb257ff588ac779a/greenlet-3.2.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1ee8fae0519a337f2329cb78bd7a8e128ec0f881073d43f023c7b8d4831d5246", size = 632472, upload-time = "2025-08-07T13:42:55.044Z" }, { url = "https://files.pythonhosted.org/packages/ae/8f/95d48d7e3d433e6dae5b1682e4292242a53f22df82e6d3dda81b1701a960/greenlet-3.2.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:94abf90142c2a18151632371140b3dba4dee031633fe614cb592dbb6c9e17bc3", size = 644646, upload-time = "2025-08-07T13:45:26.523Z" }, - { url = "https://files.pythonhosted.org/packages/d5/5e/405965351aef8c76b8ef7ad370e5da58d57ef6068df197548b015464001a/greenlet-3.2.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:4d1378601b85e2e5171b99be8d2dc85f594c79967599328f95c1dc1a40f1c633", size = 640519, upload-time = "2025-08-07T13:53:13.928Z" }, { url = "https://files.pythonhosted.org/packages/25/5d/382753b52006ce0218297ec1b628e048c4e64b155379331f25a7316eb749/greenlet-3.2.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0db5594dce18db94f7d1650d7489909b57afde4c580806b8d9203b6e79cdc079", size = 639707, upload-time = "2025-08-07T13:18:27.146Z" }, { url = "https://files.pythonhosted.org/packages/1f/8e/abdd3f14d735b2929290a018ecf133c901be4874b858dd1c604b9319f064/greenlet-3.2.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2523e5246274f54fdadbce8494458a2ebdcdbc7b802318466ac5606d3cded1f8", size = 587684, upload-time = "2025-08-07T13:18:25.164Z" }, { url = "https://files.pythonhosted.org/packages/5d/65/deb2a69c3e5996439b0176f6651e0052542bb6c8f8ec2e3fba97c9768805/greenlet-3.2.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1987de92fec508535687fb807a5cea1560f6196285a4cde35c100b8cd632cc52", size = 1116647, upload-time = "2025-08-07T13:42:38.655Z" }, @@ -977,7 +778,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/44/69/9b804adb5fd0671f367781560eb5eb586c4d495277c93bde4307b9e28068/greenlet-3.2.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3b67ca49f54cede0186854a008109d6ee71f66bd57bb36abd6d0a0267b540cdd", size = 274079, upload-time = "2025-08-07T13:15:45.033Z" }, { url = "https://files.pythonhosted.org/packages/46/e9/d2a80c99f19a153eff70bc451ab78615583b8dac0754cfb942223d2c1a0d/greenlet-3.2.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ddf9164e7a5b08e9d22511526865780a576f19ddd00d62f8a665949327fde8bb", size = 640997, upload-time = "2025-08-07T13:42:56.234Z" }, { url = "https://files.pythonhosted.org/packages/3b/16/035dcfcc48715ccd345f3a93183267167cdd162ad123cd93067d86f27ce4/greenlet-3.2.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f28588772bb5fb869a8eb331374ec06f24a83a9c25bfa1f38b6993afe9c1e968", size = 655185, upload-time = "2025-08-07T13:45:27.624Z" }, - { url = "https://files.pythonhosted.org/packages/31/da/0386695eef69ffae1ad726881571dfe28b41970173947e7c558d9998de0f/greenlet-3.2.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:5c9320971821a7cb77cfab8d956fa8e39cd07ca44b6070db358ceb7f8797c8c9", size = 649926, upload-time = "2025-08-07T13:53:15.251Z" }, { url = "https://files.pythonhosted.org/packages/68/88/69bf19fd4dc19981928ceacbc5fd4bb6bc2215d53199e367832e98d1d8fe/greenlet-3.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c60a6d84229b271d44b70fb6e5fa23781abb5d742af7b808ae3f6efd7c9c60f6", size = 651839, upload-time = "2025-08-07T13:18:30.281Z" }, { url = "https://files.pythonhosted.org/packages/19/0d/6660d55f7373b2ff8152401a83e02084956da23ae58cddbfb0b330978fe9/greenlet-3.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b3812d8d0c9579967815af437d96623f45c0f2ae5f04e366de62a12d83a8fb0", size = 607586, upload-time = "2025-08-07T13:18:28.544Z" }, { url = "https://files.pythonhosted.org/packages/8e/1a/c953fdedd22d81ee4629afbb38d2f9d71e37d23caace44775a3a969147d4/greenlet-3.2.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:abbf57b5a870d30c4675928c37278493044d7c14378350b3aa5d484fa65575f0", size = 1123281, upload-time = "2025-08-07T13:42:39.858Z" }, @@ -988,7 +788,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/49/e8/58c7f85958bda41dafea50497cbd59738c5c43dbbea5ee83d651234398f4/greenlet-3.2.4-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:1a921e542453fe531144e91e1feedf12e07351b1cf6c9e8a3325ea600a715a31", size = 272814, upload-time = "2025-08-07T13:15:50.011Z" }, { url = "https://files.pythonhosted.org/packages/62/dd/b9f59862e9e257a16e4e610480cfffd29e3fae018a68c2332090b53aac3d/greenlet-3.2.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd3c8e693bff0fff6ba55f140bf390fa92c994083f838fece0f63be121334945", size = 641073, upload-time = "2025-08-07T13:42:57.23Z" }, { url = "https://files.pythonhosted.org/packages/f7/0b/bc13f787394920b23073ca3b6c4a7a21396301ed75a655bcb47196b50e6e/greenlet-3.2.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:710638eb93b1fa52823aa91bf75326f9ecdfd5e0466f00789246a5280f4ba0fc", size = 655191, upload-time = "2025-08-07T13:45:29.752Z" }, - { url = "https://files.pythonhosted.org/packages/f2/d6/6adde57d1345a8d0f14d31e4ab9c23cfe8e2cd39c3baf7674b4b0338d266/greenlet-3.2.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c5111ccdc9c88f423426df3fd1811bfc40ed66264d35aa373420a34377efc98a", size = 649516, upload-time = "2025-08-07T13:53:16.314Z" }, { url = "https://files.pythonhosted.org/packages/7f/3b/3a3328a788d4a473889a2d403199932be55b1b0060f4ddd96ee7cdfcad10/greenlet-3.2.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d76383238584e9711e20ebe14db6c88ddcedc1829a9ad31a584389463b5aa504", size = 652169, upload-time = "2025-08-07T13:18:32.861Z" }, { url = "https://files.pythonhosted.org/packages/ee/43/3cecdc0349359e1a527cbf2e3e28e5f8f06d3343aaf82ca13437a9aa290f/greenlet-3.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23768528f2911bcd7e475210822ffb5254ed10d71f4028387e5a99b4c6699671", size = 610497, upload-time = "2025-08-07T13:18:31.636Z" }, { url = "https://files.pythonhosted.org/packages/b8/19/06b6cf5d604e2c382a6f31cafafd6f33d5dea706f4db7bdab184bad2b21d/greenlet-3.2.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:00fadb3fedccc447f517ee0d3fd8fe49eae949e1cd0f6a611818f4f6fb7dc83b", size = 1121662, upload-time = "2025-08-07T13:42:41.117Z" }, @@ -999,24 +798,11 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/22/5c/85273fd7cc388285632b0498dbbab97596e04b154933dfe0f3e68156c68c/greenlet-3.2.4-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:49a30d5fda2507ae77be16479bdb62a660fa51b1eb4928b524975b3bde77b3c0", size = 273586, upload-time = "2025-08-07T13:16:08.004Z" }, { url = "https://files.pythonhosted.org/packages/d1/75/10aeeaa3da9332c2e761e4c50d4c3556c21113ee3f0afa2cf5769946f7a3/greenlet-3.2.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:299fd615cd8fc86267b47597123e3f43ad79c9d8a22bebdce535e53550763e2f", size = 686346, upload-time = "2025-08-07T13:42:59.944Z" }, { url = "https://files.pythonhosted.org/packages/c0/aa/687d6b12ffb505a4447567d1f3abea23bd20e73a5bed63871178e0831b7a/greenlet-3.2.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c17b6b34111ea72fc5a4e4beec9711d2226285f0386ea83477cbb97c30a3f3a5", size = 699218, upload-time = "2025-08-07T13:45:30.969Z" }, - { url = "https://files.pythonhosted.org/packages/dc/8b/29aae55436521f1d6f8ff4e12fb676f3400de7fcf27fccd1d4d17fd8fecd/greenlet-3.2.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b4a1870c51720687af7fa3e7cda6d08d801dae660f75a76f3845b642b4da6ee1", size = 694659, upload-time = "2025-08-07T13:53:17.759Z" }, { url = "https://files.pythonhosted.org/packages/92/2e/ea25914b1ebfde93b6fc4ff46d6864564fba59024e928bdc7de475affc25/greenlet-3.2.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:061dc4cf2c34852b052a8620d40f36324554bc192be474b9e9770e8c042fd735", size = 695355, upload-time = "2025-08-07T13:18:34.517Z" }, { url = "https://files.pythonhosted.org/packages/72/60/fc56c62046ec17f6b0d3060564562c64c862948c9d4bc8aa807cf5bd74f4/greenlet-3.2.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:44358b9bf66c8576a9f57a590d5f5d6e72fa4228b763d0e43fee6d3b06d3a337", size = 657512, upload-time = "2025-08-07T13:18:33.969Z" }, { url = "https://files.pythonhosted.org/packages/23/6e/74407aed965a4ab6ddd93a7ded3180b730d281c77b765788419484cdfeef/greenlet-3.2.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2917bdf657f5859fbf3386b12d68ede4cf1f04c90c3a6bc1f013dd68a22e2269", size = 1612508, upload-time = "2025-11-04T12:42:23.427Z" }, { url = "https://files.pythonhosted.org/packages/0d/da/343cd760ab2f92bac1845ca07ee3faea9fe52bee65f7bcb19f16ad7de08b/greenlet-3.2.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:015d48959d4add5d6c9f6c5210ee3803a830dce46356e3bc326d6776bde54681", size = 1680760, upload-time = "2025-11-04T12:42:25.341Z" }, { url = "https://files.pythonhosted.org/packages/e3/a5/6ddab2b4c112be95601c13428db1d8b6608a8b6039816f2ba09c346c08fc/greenlet-3.2.4-cp314-cp314-win_amd64.whl", hash = "sha256:e37ab26028f12dbb0ff65f29a8d3d44a765c61e729647bf2ddfbbed621726f01", size = 303425, upload-time = "2025-08-07T13:32:27.59Z" }, - { url = "https://files.pythonhosted.org/packages/f7/c0/93885c4106d2626bf51fdec377d6aef740dfa5c4877461889a7cf8e565cc/greenlet-3.2.4-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:b6a7c19cf0d2742d0809a4c05975db036fdff50cd294a93632d6a310bf9ac02c", size = 269859, upload-time = "2025-08-07T13:16:16.003Z" }, - { url = "https://files.pythonhosted.org/packages/4d/f5/33f05dc3ba10a02dedb1485870cf81c109227d3d3aa280f0e48486cac248/greenlet-3.2.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:27890167f55d2387576d1f41d9487ef171849ea0359ce1510ca6e06c8bece11d", size = 627610, upload-time = "2025-08-07T13:43:01.345Z" }, - { url = "https://files.pythonhosted.org/packages/b2/a7/9476decef51a0844195f99ed5dc611d212e9b3515512ecdf7321543a7225/greenlet-3.2.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:18d9260df2b5fbf41ae5139e1be4e796d99655f023a636cd0e11e6406cca7d58", size = 639417, upload-time = "2025-08-07T13:45:32.094Z" }, - { url = "https://files.pythonhosted.org/packages/bd/e0/849b9159cbb176f8c0af5caaff1faffdece7a8417fcc6fe1869770e33e21/greenlet-3.2.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:671df96c1f23c4a0d4077a325483c1503c96a1b7d9db26592ae770daa41233d4", size = 634751, upload-time = "2025-08-07T13:53:18.848Z" }, - { url = "https://files.pythonhosted.org/packages/5f/d3/844e714a9bbd39034144dca8b658dcd01839b72bb0ec7d8014e33e3705f0/greenlet-3.2.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:16458c245a38991aa19676900d48bd1a6f2ce3e16595051a4db9d012154e8433", size = 634020, upload-time = "2025-08-07T13:18:36.841Z" }, - { url = "https://files.pythonhosted.org/packages/6b/4c/f3de2a8de0e840ecb0253ad0dc7e2bb3747348e798ec7e397d783a3cb380/greenlet-3.2.4-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c9913f1a30e4526f432991f89ae263459b1c64d1608c0d22a5c79c287b3c70df", size = 582817, upload-time = "2025-08-07T13:18:35.48Z" }, - { url = "https://files.pythonhosted.org/packages/89/80/7332915adc766035c8980b161c2e5d50b2f941f453af232c164cff5e0aeb/greenlet-3.2.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b90654e092f928f110e0007f572007c9727b5265f7632c2fa7415b4689351594", size = 1111985, upload-time = "2025-08-07T13:42:42.425Z" }, - { url = "https://files.pythonhosted.org/packages/66/71/1928e2c80197353bcb9b50aa19c4d8e26ee6d7a900c564907665cf4b9a41/greenlet-3.2.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:81701fd84f26330f0d5f4944d4e92e61afe6319dcd9775e39396e39d7c3e5f98", size = 1136137, upload-time = "2025-08-07T13:18:26.168Z" }, - { url = "https://files.pythonhosted.org/packages/4b/bf/7bd33643e48ed45dcc0e22572f650767832bd4e1287f97434943cc402148/greenlet-3.2.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:28a3c6b7cd72a96f61b0e4b2a36f681025b60ae4779cc73c1535eb5f29560b10", size = 1542941, upload-time = "2025-11-04T12:42:27.427Z" }, - { url = "https://files.pythonhosted.org/packages/9b/74/4bc433f91d0d09a1c22954a371f9df928cb85e72640870158853a83415e5/greenlet-3.2.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:52206cd642670b0b320a1fd1cbfd95bca0e043179c1d8a045f2c6109dfe973be", size = 1609685, upload-time = "2025-11-04T12:42:29.242Z" }, - { url = "https://files.pythonhosted.org/packages/89/48/a5dc74dde38aeb2b15d418cec76ed50e1dd3d620ccda84d8199703248968/greenlet-3.2.4-cp39-cp39-win32.whl", hash = "sha256:65458b409c1ed459ea899e939f0e1cdb14f58dbc803f2f93c5eab5694d32671b", size = 281400, upload-time = "2025-08-07T14:02:20.263Z" }, - { url = "https://files.pythonhosted.org/packages/e5/44/342c4591db50db1076b8bda86ed0ad59240e3e1da17806a4cf10a6d0e447/greenlet-3.2.4-cp39-cp39-win_amd64.whl", hash = "sha256:d2e685ade4dafd447ede19c31277a224a239a0a1a4eca4e6390efedf20260cfb", size = 298533, upload-time = "2025-08-07T13:56:34.168Z" }, ] [[package]] @@ -1099,141 +885,64 @@ wheels = [ name = "importlib-resources" version = "6.5.2" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "zipp", marker = "python_full_version < '3.10'" }, -] sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693, upload-time = "2025-01-03T18:51:56.698Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461, upload-time = "2025-01-03T18:51:54.306Z" }, ] -[[package]] -name = "iniconfig" -version = "2.1.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, -] - [[package]] name = "iniconfig" version = "2.3.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14'", - "python_full_version >= '3.11' and python_full_version < '3.14'", - "python_full_version == '3.10.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, ] -[[package]] -name = "ipykernel" -version = "6.31.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "appnope", marker = "python_full_version < '3.10' and sys_platform == 'darwin'" }, - { name = "comm", marker = "python_full_version < '3.10'" }, - { name = "debugpy", marker = "python_full_version < '3.10'" }, - { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "jupyter-client", marker = "python_full_version < '3.10'" }, - { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "matplotlib-inline", marker = "python_full_version < '3.10'" }, - { name = "nest-asyncio", marker = "python_full_version < '3.10'" }, - { name = "packaging", marker = "python_full_version < '3.10'" }, - { name = "psutil", marker = "python_full_version < '3.10'" }, - { name = "pyzmq", marker = "python_full_version < '3.10'" }, - { name = "tornado", marker = "python_full_version < '3.10'" }, - { name = "traitlets", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/a5/1d/d5ba6edbfe6fae4c3105bca3a9c889563cc752c7f2de45e333164c7f4846/ipykernel-6.31.0.tar.gz", hash = "sha256:2372ce8bc1ff4f34e58cafed3a0feb2194b91fc7cad0fc72e79e47b45ee9e8f6", size = 167493, upload-time = "2025-10-20T11:42:39.948Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f6/d8/502954a4ec0efcf264f99b65b41c3c54e65a647d9f0d6f62cd02227d242c/ipykernel-6.31.0-py3-none-any.whl", hash = "sha256:abe5386f6ced727a70e0eb0cf1da801fa7c5fa6ff82147747d5a0406cd8c94af", size = 117003, upload-time = "2025-10-20T11:42:37.502Z" }, -] - [[package]] name = "ipykernel" version = "7.0.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14'", - "python_full_version >= '3.11' and python_full_version < '3.14'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "appnope", marker = "python_full_version >= '3.10' and sys_platform == 'darwin'" }, - { name = "comm", marker = "python_full_version >= '3.10'" }, - { name = "debugpy", marker = "python_full_version >= '3.10'" }, - { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "ipython", version = "9.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "jupyter-client", marker = "python_full_version >= '3.10'" }, - { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "matplotlib-inline", marker = "python_full_version >= '3.10'" }, - { name = "nest-asyncio", marker = "python_full_version >= '3.10'" }, - { name = "packaging", marker = "python_full_version >= '3.10'" }, - { name = "psutil", marker = "python_full_version >= '3.10'" }, - { name = "pyzmq", marker = "python_full_version >= '3.10'" }, - { name = "tornado", marker = "python_full_version >= '3.10'" }, - { name = "traitlets", marker = "python_full_version >= '3.10'" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a8/4c/9f0024c8457286c6bfd5405a15d650ec5ea36f420ef9bbc58b301f66cfc5/ipykernel-7.0.1.tar.gz", hash = "sha256:2d3fd7cdef22071c2abbad78f142b743228c5d59cd470d034871ae0ac359533c", size = 171460, upload-time = "2025-10-14T16:17:07.325Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/b8/f7/761037905ffdec673533bfa43af8d4c31c859c778dfc3bbb71899875ec18/ipykernel-7.0.1-py3-none-any.whl", hash = "sha256:87182a8305e28954b6721087dec45b171712610111d494c17bb607befa1c4000", size = 118157, upload-time = "2025-10-14T16:17:05.606Z" }, ] -[[package]] -name = "ipython" -version = "8.18.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, - { name = "decorator", marker = "python_full_version < '3.10'" }, - { name = "exceptiongroup", marker = "python_full_version < '3.10'" }, - { name = "jedi", marker = "python_full_version < '3.10'" }, - { name = "matplotlib-inline", marker = "python_full_version < '3.10'" }, - { name = "pexpect", marker = "python_full_version < '3.10' and sys_platform != 'win32'" }, - { name = "prompt-toolkit", marker = "python_full_version < '3.10'" }, - { name = "pygments", marker = "python_full_version < '3.10'" }, - { name = "stack-data", marker = "python_full_version < '3.10'" }, - { name = "traitlets", marker = "python_full_version < '3.10'" }, - { name = "typing-extensions", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330, upload-time = "2023-11-27T09:58:34.596Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/47/6b/d9fdcdef2eb6a23f391251fde8781c38d42acd82abe84d054cb74f7863b0/ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397", size = 808161, upload-time = "2023-11-27T09:58:30.538Z" }, -] - [[package]] name = "ipython" version = "8.37.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.10.*'", + "python_full_version < '3.11'", ] dependencies = [ - { name = "colorama", marker = "python_full_version == '3.10.*' and sys_platform == 'win32'" }, - { name = "decorator", marker = "python_full_version == '3.10.*'" }, - { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" }, - { name = "jedi", marker = "python_full_version == '3.10.*'" }, - { name = "matplotlib-inline", marker = "python_full_version == '3.10.*'" }, - { name = "pexpect", marker = "python_full_version == '3.10.*' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, - { name = "prompt-toolkit", marker = "python_full_version == '3.10.*'" }, - { name = "pygments", marker = "python_full_version == '3.10.*'" }, - { name = "stack-data", marker = "python_full_version == '3.10.*'" }, - { name = "traitlets", marker = "python_full_version == '3.10.*'" }, - { name = "typing-extensions", marker = "python_full_version == '3.10.*'" }, + { name = "colorama", marker = "python_full_version < '3.11' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version < '3.11'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "jedi", marker = "python_full_version < '3.11'" }, + { name = "matplotlib-inline", marker = "python_full_version < '3.11'" }, + { name = "pexpect", marker = "python_full_version < '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version < '3.11'" }, + { name = "pygments", marker = "python_full_version < '3.11'" }, + { name = "stack-data", marker = "python_full_version < '3.11'" }, + { name = "traitlets", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/85/31/10ac88f3357fc276dc8a64e8880c82e80e7459326ae1d0a211b40abf6665/ipython-8.37.0.tar.gz", hash = "sha256:ca815841e1a41a1e6b73a0b08f3038af9b2252564d01fc405356d34033012216", size = 5606088, upload-time = "2025-05-31T16:39:09.613Z" } wheels = [ @@ -1284,8 +993,7 @@ version = "8.1.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "comm" }, - { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "ipython", version = "9.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "jupyterlab-widgets" }, { name = "traitlets" }, @@ -1413,8 +1121,7 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "attrs" }, { name = "jsonschema-specifications" }, - { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "referencing", version = "0.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "referencing" }, { name = "rpds-py" }, ] sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } @@ -1450,8 +1157,7 @@ name = "jsonschema-specifications" version = "2025.9.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "referencing", version = "0.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "referencing" }, ] sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } wheels = [ @@ -1463,8 +1169,7 @@ name = "jupyter" version = "1.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "ipykernel", version = "6.31.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "ipykernel", version = "7.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "ipykernel" }, { name = "ipywidgets" }, { name = "jupyter-console" }, { name = "jupyterlab" }, @@ -1481,9 +1186,7 @@ name = "jupyter-client" version = "8.6.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, - { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyter-core" }, { name = "python-dateutil" }, { name = "pyzmq" }, { name = "tornado" }, @@ -1499,14 +1202,11 @@ name = "jupyter-console" version = "6.6.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "ipykernel", version = "6.31.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "ipykernel", version = "7.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "ipykernel" }, + { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "ipython", version = "9.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "jupyter-client" }, - { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyter-core" }, { name = "prompt-toolkit" }, { name = "pygments" }, { name = "pyzmq" }, @@ -1517,35 +1217,13 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ca/77/71d78d58f15c22db16328a476426f7ac4a60d3a5a7ba3b9627ee2f7903d4/jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485", size = 24510, upload-time = "2023-03-06T14:13:28.229Z" }, ] -[[package]] -name = "jupyter-core" -version = "5.8.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "pywin32", marker = "python_full_version < '3.10' and platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, - { name = "traitlets", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/99/1b/72906d554acfeb588332eaaa6f61577705e9ec752ddb486f302dafa292d9/jupyter_core-5.8.1.tar.gz", hash = "sha256:0a5f9706f70e64786b75acba995988915ebd4601c8a52e534a40b51c95f59941", size = 88923, upload-time = "2025-05-27T07:38:16.655Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2f/57/6bffd4b20b88da3800c5d691e0337761576ee688eb01299eae865689d2df/jupyter_core-5.8.1-py3-none-any.whl", hash = "sha256:c28d268fc90fb53f1338ded2eb410704c5449a358406e8a948b75706e24863d0", size = 28880, upload-time = "2025-05-27T07:38:15.137Z" }, -] - [[package]] name = "jupyter-core" version = "5.9.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14'", - "python_full_version >= '3.11' and python_full_version < '3.14'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "platformdirs", version = "4.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "traitlets", marker = "python_full_version >= '3.10'" }, + { name = "platformdirs" }, + { name = "traitlets" }, ] sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" } wheels = [ @@ -1561,8 +1239,7 @@ dependencies = [ { name = "packaging" }, { name = "python-json-logger" }, { name = "pyyaml" }, - { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "referencing", version = "0.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "referencing" }, { name = "rfc3339-validator" }, { name = "rfc3986-validator" }, { name = "traitlets" }, @@ -1577,7 +1254,6 @@ name = "jupyter-lsp" version = "2.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, { name = "jupyter-server" }, ] sdist = { url = "https://files.pythonhosted.org/packages/eb/5a/9066c9f8e94ee517133cd98dba393459a16cd48bba71a82f16a65415206c/jupyter_lsp-2.3.0.tar.gz", hash = "sha256:458aa59339dc868fb784d73364f17dbce8836e906cd75fd471a325cba02e0245", size = 54823, upload-time = "2025-08-27T17:47:34.671Z" } @@ -1594,8 +1270,7 @@ dependencies = [ { name = "argon2-cffi" }, { name = "jinja2" }, { name = "jupyter-client" }, - { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyter-core" }, { name = "jupyter-events" }, { name = "jupyter-server-terminals" }, { name = "nbconvert" }, @@ -1636,12 +1311,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "async-lru" }, { name = "httpx" }, - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, - { name = "ipykernel", version = "6.31.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "ipykernel", version = "7.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "ipykernel" }, { name = "jinja2" }, - { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyter-core" }, { name = "jupyter-lsp" }, { name = "jupyter-server" }, { name = "jupyterlab-server" }, @@ -1672,7 +1344,6 @@ version = "2.27.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "babel" }, - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, { name = "jinja2" }, { name = "json5" }, { name = "jsonschema" }, @@ -1705,7 +1376,7 @@ wheels = [ [[package]] name = "linkml" -version = "1.9.4" +version = "1.10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "antlr4-python3-runtime" }, @@ -1729,15 +1400,14 @@ dependencies = [ { name = "pyyaml" }, { name = "rdflib" }, { name = "requests" }, - { name = "sphinx-click", version = "6.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "sphinx-click", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "sphinx-click" }, { name = "sqlalchemy" }, { name = "typing-extensions", marker = "python_full_version < '3.12'" }, { name = "watchdog" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9d/7c/ea1548762bf9098d7a50925579318d1f773a97b2666c8eaa397321afe242/linkml-1.9.4.tar.gz", hash = "sha256:b5075a697bfdb6ef829e19e15046f6efc11a946352eb7f5024e89f710ebd96ca", size = 42799474, upload-time = "2025-08-26T18:07:49.725Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/57/e480d016c94ac1dcfeccde3fd751fa1464545e3de2446c9ebf9fe66dd393/linkml-1.10.0.tar.gz", hash = "sha256:ca70bba1474bc7de37edd33005a8a556d4718190584ab2c88f7c46d090477d55", size = 334216, upload-time = "2026-02-25T17:13:32.086Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a8/bd/e46587d1c99334c708d485c7a357ee58de13e2348881917829001d7a11ac/linkml-1.9.4-py3-none-any.whl", hash = "sha256:ecc5cb73669da7d48340f689ae6ed8076b6b15099aef472668345fc9b5931b11", size = 337157, upload-time = "2025-08-26T18:07:47.205Z" }, + { url = "https://files.pythonhosted.org/packages/b3/54/0d01e407b3b8657cb1a58031e3f23e7039d26338173a130a3be30fdd8e0b/linkml-1.10.0-py3-none-any.whl", hash = "sha256:2d4934f000977489352307336267a8a4270de3156187c3394d542a0a4b8130e5", size = 434438, upload-time = "2026-02-25T17:13:29.068Z" }, ] [[package]] @@ -1746,8 +1416,7 @@ version = "1.9.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, - { name = "curies", version = "0.10.23", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "curies", version = "0.12.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "curies" }, { name = "deprecated" }, { name = "hbreader" }, { name = "isodate", marker = "python_full_version < '3.11'" }, @@ -1770,9 +1439,6 @@ wheels = [ name = "markdown" version = "3.9" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, -] sdist = { url = "https://files.pythonhosted.org/packages/8d/37/02347f6d6d8279247a5837082ebc26fc0d5aaeaf75aa013fcbb433c777ab/markdown-3.9.tar.gz", hash = "sha256:d2900fe1782bd33bdbbd56859defef70c2e78fc46668f8eb9df3128138f2cb6a", size = 364585, upload-time = "2025-09-04T20:25:22.885Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/70/ae/44c4a6a4cbb496d93c6257954260fe3a6e91b7bed2240e5dad2a717f5111/markdown-3.9-py3-none-any.whl", hash = "sha256:9f4d91ed810864ea88a6f32c07ba8bee1346c0cc1f6b1f9f6c822f2a9667d280", size = 107441, upload-time = "2025-09-04T20:25:21.784Z" }, @@ -1861,17 +1527,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, - { url = "https://files.pythonhosted.org/packages/56/23/0d8c13a44bde9154821586520840643467aee574d8ce79a17da539ee7fed/markupsafe-3.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26", size = 11623, upload-time = "2025-09-27T18:37:29.296Z" }, - { url = "https://files.pythonhosted.org/packages/fd/23/07a2cb9a8045d5f3f0890a8c3bc0859d7a47bfd9a560b563899bec7b72ed/markupsafe-3.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc", size = 12049, upload-time = "2025-09-27T18:37:30.234Z" }, - { url = "https://files.pythonhosted.org/packages/bc/e4/6be85eb81503f8e11b61c0b6369b6e077dcf0a74adbd9ebf6b349937b4e9/markupsafe-3.0.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c", size = 21923, upload-time = "2025-09-27T18:37:31.177Z" }, - { url = "https://files.pythonhosted.org/packages/6f/bc/4dc914ead3fe6ddaef035341fee0fc956949bbd27335b611829292b89ee2/markupsafe-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42", size = 20543, upload-time = "2025-09-27T18:37:32.168Z" }, - { url = "https://files.pythonhosted.org/packages/89/6e/5fe81fbcfba4aef4093d5f856e5c774ec2057946052d18d168219b7bd9f9/markupsafe-3.0.3-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b", size = 20585, upload-time = "2025-09-27T18:37:33.166Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f6/e0e5a3d3ae9c4020f696cd055f940ef86b64fe88de26f3a0308b9d3d048c/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758", size = 21387, upload-time = "2025-09-27T18:37:34.185Z" }, - { url = "https://files.pythonhosted.org/packages/c8/25/651753ef4dea08ea790f4fbb65146a9a44a014986996ca40102e237aa49a/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2", size = 20133, upload-time = "2025-09-27T18:37:35.138Z" }, - { url = "https://files.pythonhosted.org/packages/dc/0a/c3cf2b4fef5f0426e8a6d7fce3cb966a17817c568ce59d76b92a233fdbec/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d", size = 20588, upload-time = "2025-09-27T18:37:36.096Z" }, - { url = "https://files.pythonhosted.org/packages/cd/1b/a7782984844bd519ad4ffdbebbba2671ec5d0ebbeac34736c15fb86399e8/markupsafe-3.0.3-cp39-cp39-win32.whl", hash = "sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7", size = 14566, upload-time = "2025-09-27T18:37:37.09Z" }, - { url = "https://files.pythonhosted.org/packages/18/1f/8d9c20e1c9440e215a44be5ab64359e207fcb4f675543f1cf9a2a7f648d0/markupsafe-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e", size = 15053, upload-time = "2025-09-27T18:37:38.054Z" }, - { url = "https://files.pythonhosted.org/packages/4e/d3/fe08482b5cd995033556d45041a4f4e76e7f0521112a9c9991d40d39825f/markupsafe-3.0.3-cp39-cp39-win_arm64.whl", hash = "sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8", size = 13928, upload-time = "2025-09-27T18:37:39.037Z" }, ] [[package]] @@ -1934,7 +1589,6 @@ dependencies = [ { name = "click" }, { name = "colorama", marker = "sys_platform == 'win32'" }, { name = "ghp-import" }, - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, { name = "jinja2" }, { name = "markdown" }, { name = "markupsafe" }, @@ -1956,10 +1610,8 @@ name = "mkdocs-get-deps" version = "0.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, { name = "mergedeep" }, - { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "platformdirs", version = "4.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "platformdirs" }, { name = "pyyaml" }, ] sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239, upload-time = "2023-11-20T17:51:09.981Z" } @@ -2015,6 +1667,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1a/4b/6fd6dd632019b7f522f1b1f794ab6115cd79890330986614be56fd18f0eb/mkdocs_mermaid2_plugin-1.2.3-py3-none-any.whl", hash = "sha256:33f60c582be623ed53829a96e19284fc7f1b74a1dbae78d4d2e47fe00c3e190d", size = 17299, upload-time = "2025-10-17T19:38:51.874Z" }, ] +[[package]] +name = "mkdocs-pymdownx-material-extras" +version = "2.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mkdocs-material" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5e/f6/5199d1e251e15b3c554f46b5796d02870e129f524dc2f117e828c5444674/mkdocs_pymdownx_material_extras-2.8.tar.gz", hash = "sha256:7b22bb119cd9592f98d6c6d4d269506d9a68d7038355c71525aadc88169ee9fe", size = 26512, upload-time = "2025-03-16T14:24:50.528Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/78/0059cb24b62a3dd68293daea38acb2cb75415d5735a62d6d60f752cd00ed/mkdocs_pymdownx_material_extras-2.8-py3-none-any.whl", hash = "sha256:81b68789420c51b9b15514180d0f3ab7136d56ee512c830c998d2edb77ca3d77", size = 28846, upload-time = "2025-03-16T14:24:49.235Z" }, +] + [[package]] name = "mknotebooks" version = "0.8.0" @@ -2036,8 +1700,7 @@ version = "0.10.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jupyter-client" }, - { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyter-core" }, { name = "nbformat" }, { name = "traitlets" }, ] @@ -2054,10 +1717,8 @@ dependencies = [ { name = "beautifulsoup4" }, { name = "bleach", extra = ["css"] }, { name = "defusedxml" }, - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, { name = "jinja2" }, - { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyter-core" }, { name = "jupyterlab-pygments" }, { name = "markupsafe" }, { name = "mistune" }, @@ -2080,8 +1741,7 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "fastjsonschema" }, { name = "jsonschema" }, - { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyter-core" }, { name = "traitlets" }, ] sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" } @@ -2213,27 +1873,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, ] -[[package]] -name = "platformdirs" -version = "4.4.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -sdist = { url = "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf", size = 21634, upload-time = "2025-08-26T14:32:04.268Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654, upload-time = "2025-08-26T14:32:02.735Z" }, -] - [[package]] name = "platformdirs" version = "4.5.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14'", - "python_full_version >= '3.11' and python_full_version < '3.14'", - "python_full_version == '3.10.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz", hash = "sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312", size = 21632, upload-time = "2025-10-08T17:44:48.791Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl", hash = "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3", size = 18651, upload-time = "2025-10-08T17:44:47.223Z" }, @@ -2268,8 +1911,7 @@ name = "prefixmaps" version = "0.2.6" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "curies", version = "0.10.23", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "curies", version = "0.12.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "curies" }, { name = "pyyaml" }, ] sdist = { url = "https://files.pythonhosted.org/packages/4d/cf/f588bcdfd2c841839b9d59ce219a46695da56aa2805faff937bbafb9ee2b/prefixmaps-0.2.6.tar.gz", hash = "sha256:7421e1244eea610217fa1ba96c9aebd64e8162a930dc0626207cd8bf62ecf4b9", size = 709899, upload-time = "2024-10-17T16:30:57.738Z" } @@ -2444,19 +2086,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1e/29/b53a9ca6cd366bfc928823679c6a76c7a4c69f8201c0ba7903ad18ebae2f/pydantic_core-2.41.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5729225de81fb65b70fdb1907fcf08c75d498f4a6f15af005aabb1fdadc19dfa", size = 2041183, upload-time = "2025-10-14T10:22:08.812Z" }, { url = "https://files.pythonhosted.org/packages/c7/3d/f8c1a371ceebcaf94d6dd2d77c6cf4b1c078e13a5837aee83f760b4f7cfd/pydantic_core-2.41.4-cp314-cp314t-win_amd64.whl", hash = "sha256:de2cfbb09e88f0f795fd90cf955858fc2c691df65b1f21f0aa00b99f3fbc661d", size = 1993542, upload-time = "2025-10-14T10:22:11.332Z" }, { url = "https://files.pythonhosted.org/packages/8a/ac/9fc61b4f9d079482a290afe8d206b8f490e9fd32d4fc03ed4fc698214e01/pydantic_core-2.41.4-cp314-cp314t-win_arm64.whl", hash = "sha256:d34f950ae05a83e0ede899c595f312ca976023ea1db100cd5aa188f7005e3ab0", size = 1973897, upload-time = "2025-10-14T10:22:13.444Z" }, - { url = "https://files.pythonhosted.org/packages/2c/36/f86d582be5fb47d4014506cd9ddd10a3979b6d0f2d237aa6ad3e7033b3ea/pydantic_core-2.41.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:646e76293345954acea6966149683047b7b2ace793011922208c8e9da12b0062", size = 2112444, upload-time = "2025-10-14T10:22:16.165Z" }, - { url = "https://files.pythonhosted.org/packages/ba/e5/63c521dc2dd106ba6b5941c080617ea9db252f8a7d5625231e9d761bc28c/pydantic_core-2.41.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cc8e85a63085a137d286e2791037f5fdfff0aabb8b899483ca9c496dd5797338", size = 1938218, upload-time = "2025-10-14T10:22:19.443Z" }, - { url = "https://files.pythonhosted.org/packages/30/56/c84b638a3e6e9f5a612b9f5abdad73182520423de43669d639ed4f14b011/pydantic_core-2.41.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:692c622c8f859a17c156492783902d8370ac7e121a611bd6fe92cc71acf9ee8d", size = 1971449, upload-time = "2025-10-14T10:22:21.567Z" }, - { url = "https://files.pythonhosted.org/packages/99/c6/e974aade34fc7a0248fdfd0a373d62693502a407c596ab3470165e38183c/pydantic_core-2.41.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d1e2906efb1031a532600679b424ef1d95d9f9fb507f813951f23320903adbd7", size = 2054023, upload-time = "2025-10-14T10:22:24.229Z" }, - { url = "https://files.pythonhosted.org/packages/4f/91/2507dda801f50980a38d1353c313e8f51349a42b008e63a4e45bf4620562/pydantic_core-2.41.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e04e2f7f8916ad3ddd417a7abdd295276a0bf216993d9318a5d61cc058209166", size = 2251614, upload-time = "2025-10-14T10:22:26.498Z" }, - { url = "https://files.pythonhosted.org/packages/b2/ad/05d886bc96938f4d31bed24e8d3fc3496d9aea7e77bcff6e4b93127c6de7/pydantic_core-2.41.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df649916b81822543d1c8e0e1d079235f68acdc7d270c911e8425045a8cfc57e", size = 2378807, upload-time = "2025-10-14T10:22:28.733Z" }, - { url = "https://files.pythonhosted.org/packages/6a/0a/d26e1bb9a80b9fc12cc30d9288193fbc9e60a799e55843804ee37bd38a9c/pydantic_core-2.41.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66c529f862fdba70558061bb936fe00ddbaaa0c647fd26e4a4356ef1d6561891", size = 2076891, upload-time = "2025-10-14T10:22:30.853Z" }, - { url = "https://files.pythonhosted.org/packages/d9/66/af014e3a294d9933ebfecf11a5d858709014bd2315fa9616195374dd82f0/pydantic_core-2.41.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fc3b4c5a1fd3a311563ed866c2c9b62da06cb6398bee186484ce95c820db71cb", size = 2192179, upload-time = "2025-10-14T10:22:33.481Z" }, - { url = "https://files.pythonhosted.org/packages/e7/3e/79783f97024037d0ea6e1b3ebcd761463a925199e04ce2625727e9f27d06/pydantic_core-2.41.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6e0fc40d84448f941df9b3334c4b78fe42f36e3bf631ad54c3047a0cdddc2514", size = 2153067, upload-time = "2025-10-14T10:22:35.792Z" }, - { url = "https://files.pythonhosted.org/packages/b3/97/ea83b0f87d9e742405fb687d5682e7a26334eef2c82a2de06bfbdc305fab/pydantic_core-2.41.4-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:44e7625332683b6c1c8b980461475cde9595eff94447500e80716db89b0da005", size = 2319048, upload-time = "2025-10-14T10:22:38.144Z" }, - { url = "https://files.pythonhosted.org/packages/64/4a/36d8c966a0b086362ac10a7ee75978ed15c5f2dfdfc02a1578d19d3802fb/pydantic_core-2.41.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:170ee6835f6c71081d031ef1c3b4dc4a12b9efa6a9540f93f95b82f3c7571ae8", size = 2321830, upload-time = "2025-10-14T10:22:40.337Z" }, - { url = "https://files.pythonhosted.org/packages/a2/6e/d80cc4909dde5f6842861288aa1a7181e7afbfc50940c862ed2848df15bd/pydantic_core-2.41.4-cp39-cp39-win32.whl", hash = "sha256:3adf61415efa6ce977041ba9745183c0e1f637ca849773afa93833e04b163feb", size = 1976706, upload-time = "2025-10-14T10:22:42.61Z" }, - { url = "https://files.pythonhosted.org/packages/29/ee/5bda8d960d4a8b24a7eeb8a856efa9c865a7a6cab714ed387b29507dc278/pydantic_core-2.41.4-cp39-cp39-win_amd64.whl", hash = "sha256:a238dd3feee263eeaeb7dc44aea4ba1364682c4f9f9467e6af5596ba322c2332", size = 2027640, upload-time = "2025-10-14T10:22:44.907Z" }, { url = "https://files.pythonhosted.org/packages/b0/12/5ba58daa7f453454464f92b3ca7b9d7c657d8641c48e370c3ebc9a82dd78/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:a1b2cfec3879afb742a7b0bcfa53e4f22ba96571c9e54d6a3afe1052d17d843b", size = 2122139, upload-time = "2025-10-14T10:22:47.288Z" }, { url = "https://files.pythonhosted.org/packages/21/fb/6860126a77725c3108baecd10fd3d75fec25191d6381b6eb2ac660228eac/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:d175600d975b7c244af6eb9c9041f10059f20b8bbffec9e33fdd5ee3f67cdc42", size = 1936674, upload-time = "2025-10-14T10:22:49.555Z" }, { url = "https://files.pythonhosted.org/packages/de/be/57dcaa3ed595d81f8757e2b44a38240ac5d37628bce25fb20d02c7018776/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f184d657fa4947ae5ec9c47bd7e917730fa1cbb78195037e32dcbab50aca5ee", size = 1956398, upload-time = "2025-10-14T10:22:52.19Z" }, @@ -2571,8 +2200,7 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, - { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "iniconfig", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "iniconfig" }, { name = "packaging" }, { name = "pluggy" }, { name = "pygments" }, @@ -2608,51 +2236,11 @@ wheels = [ name = "python-json-logger" version = "4.0.0" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.10'" }, -] sdist = { url = "https://files.pythonhosted.org/packages/29/bf/eca6a3d43db1dae7070f70e160ab20b807627ba953663ba07928cdd3dc58/python_json_logger-4.0.0.tar.gz", hash = "sha256:f58e68eb46e1faed27e0f574a55a0455eecd7b8a5b88b85a784519ba3cff047f", size = 17683, upload-time = "2025-10-06T04:15:18.984Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/51/e5/fecf13f06e5e5f67e8837d777d1bc43fac0ed2b77a676804df5c34744727/python_json_logger-4.0.0-py3-none-any.whl", hash = "sha256:af09c9daf6a813aa4cc7180395f50f2a9e5fa056034c9953aec92e381c5ba1e2", size = 15548, upload-time = "2025-10-06T04:15:17.553Z" }, ] -[[package]] -name = "pytrie" -version = "0.4.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "sortedcontainers", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d3/19/15ec77ab9c85f7c36eb590d6ab7dd529f8c8516c0e2219f1a77a99d7ee77/PyTrie-0.4.0.tar.gz", hash = "sha256:8f4488f402d3465993fb6b6efa09866849ed8cda7903b50647b7d0342b805379", size = 95139, upload-time = "2020-10-21T15:39:30.334Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/fd/499b261a34e9c6e39b9f5711c4b3093bca980b8db4b49de3009d808f41c9/PyTrie-0.4.0-py3-none-any.whl", hash = "sha256:f687c224ee8c66cda8e8628a903011b692635ffbb08d4b39c5f92b18eb78c950", size = 6061, upload-time = "2024-03-09T16:59:46.768Z" }, -] - -[[package]] -name = "pywin32" -version = "311" -source = { registry = "https://pypi.org/simple" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/40/44efbb0dfbd33aca6a6483191dae0716070ed99e2ecb0c53683f400a0b4f/pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3", size = 8760432, upload-time = "2025-07-14T20:13:05.9Z" }, - { url = "https://files.pythonhosted.org/packages/5e/bf/360243b1e953bd254a82f12653974be395ba880e7ec23e3731d9f73921cc/pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b", size = 9590103, upload-time = "2025-07-14T20:13:07.698Z" }, - { url = "https://files.pythonhosted.org/packages/57/38/d290720e6f138086fb3d5ffe0b6caa019a791dd57866940c82e4eeaf2012/pywin32-311-cp310-cp310-win_arm64.whl", hash = "sha256:0502d1facf1fed4839a9a51ccbcc63d952cf318f78ffc00a7e78528ac27d7a2b", size = 8778557, upload-time = "2025-07-14T20:13:11.11Z" }, - { url = "https://files.pythonhosted.org/packages/7c/af/449a6a91e5d6db51420875c54f6aff7c97a86a3b13a0b4f1a5c13b988de3/pywin32-311-cp311-cp311-win32.whl", hash = "sha256:184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151", size = 8697031, upload-time = "2025-07-14T20:13:13.266Z" }, - { url = "https://files.pythonhosted.org/packages/51/8f/9bb81dd5bb77d22243d33c8397f09377056d5c687aa6d4042bea7fbf8364/pywin32-311-cp311-cp311-win_amd64.whl", hash = "sha256:3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503", size = 9508308, upload-time = "2025-07-14T20:13:15.147Z" }, - { url = "https://files.pythonhosted.org/packages/44/7b/9c2ab54f74a138c491aba1b1cd0795ba61f144c711daea84a88b63dc0f6c/pywin32-311-cp311-cp311-win_arm64.whl", hash = "sha256:a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2", size = 8703930, upload-time = "2025-07-14T20:13:16.945Z" }, - { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543, upload-time = "2025-07-14T20:13:20.765Z" }, - { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040, upload-time = "2025-07-14T20:13:22.543Z" }, - { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102, upload-time = "2025-07-14T20:13:24.682Z" }, - { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, - { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, - { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, - { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, - { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, - { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, - { url = "https://files.pythonhosted.org/packages/59/42/b86689aac0cdaee7ae1c58d464b0ff04ca909c19bb6502d4973cdd9f9544/pywin32-311-cp39-cp39-win32.whl", hash = "sha256:aba8f82d551a942cb20d4a83413ccbac30790b50efb89a75e4f586ac0bb8056b", size = 8760837, upload-time = "2025-07-14T20:12:59.59Z" }, - { url = "https://files.pythonhosted.org/packages/9f/8a/1403d0353f8c5a2f0829d2b1c4becbf9da2f0a4d040886404fc4a5431e4d/pywin32-311-cp39-cp39-win_amd64.whl", hash = "sha256:e0c4cfb0621281fe40387df582097fd796e80430597cb9944f0ae70447bacd91", size = 9590187, upload-time = "2025-07-14T20:13:01.419Z" }, - { url = "https://files.pythonhosted.org/packages/60/22/e0e8d802f124772cec9c75430b01a212f86f9de7546bda715e54140d5aeb/pywin32-311-cp39-cp39-win_arm64.whl", hash = "sha256:62ea666235135fee79bb154e695f3ff67370afefd71bd7fea7512fc70ef31e3d", size = 8778162, upload-time = "2025-07-14T20:13:03.544Z" }, -] - [[package]] name = "pywinpty" version = "3.0.2" @@ -2666,7 +2254,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cb/44/cbae12ecf6f4fa4129c36871fd09c6bef4f98d5f625ecefb5e2449765508/pywinpty-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:663383ecfab7fc382cc97ea5c4f7f0bb32c2f889259855df6ea34e5df42d305b", size = 2049874, upload-time = "2025-10-03T21:18:53.923Z" }, { url = "https://files.pythonhosted.org/packages/ca/15/f12c6055e2d7a617d4d5820e8ac4ceaff849da4cb124640ef5116a230771/pywinpty-3.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:28297cecc37bee9f24d8889e47231972d6e9e84f7b668909de54f36ca785029a", size = 2050386, upload-time = "2025-10-03T21:18:50.477Z" }, { url = "https://files.pythonhosted.org/packages/de/24/c6907c5bb06043df98ad6a0a0ff5db2e0affcecbc3b15c42404393a3f72a/pywinpty-3.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:34b55ae9a1b671fe3eae071d86618110538e8eaad18fcb1531c0830b91a82767", size = 2049834, upload-time = "2025-10-03T21:19:25.688Z" }, - { url = "https://files.pythonhosted.org/packages/d3/ea/5cc069afc60f6dd5bc99b3e51fb8b219f10bcf5674882fc5d6dd2186d3aa/pywinpty-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:3962daf801bc38dd4de872108c424b5338c9a46c6efca5761854cd66370a9022", size = 2052447, upload-time = "2025-10-03T21:18:51.457Z" }, ] [[package]] @@ -2731,15 +2318,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, - { url = "https://files.pythonhosted.org/packages/9f/62/67fc8e68a75f738c9200422bf65693fb79a4cd0dc5b23310e5202e978090/pyyaml-6.0.3-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da", size = 184450, upload-time = "2025-09-25T21:33:00.618Z" }, - { url = "https://files.pythonhosted.org/packages/ae/92/861f152ce87c452b11b9d0977952259aa7df792d71c1053365cc7b09cc08/pyyaml-6.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917", size = 174319, upload-time = "2025-09-25T21:33:02.086Z" }, - { url = "https://files.pythonhosted.org/packages/d0/cd/f0cfc8c74f8a030017a2b9c771b7f47e5dd702c3e28e5b2071374bda2948/pyyaml-6.0.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9", size = 737631, upload-time = "2025-09-25T21:33:03.25Z" }, - { url = "https://files.pythonhosted.org/packages/ef/b2/18f2bd28cd2055a79a46c9b0895c0b3d987ce40ee471cecf58a1a0199805/pyyaml-6.0.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5", size = 836795, upload-time = "2025-09-25T21:33:05.014Z" }, - { url = "https://files.pythonhosted.org/packages/73/b9/793686b2d54b531203c160ef12bec60228a0109c79bae6c1277961026770/pyyaml-6.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a", size = 750767, upload-time = "2025-09-25T21:33:06.398Z" }, - { url = "https://files.pythonhosted.org/packages/a9/86/a137b39a611def2ed78b0e66ce2fe13ee701a07c07aebe55c340ed2a050e/pyyaml-6.0.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926", size = 727982, upload-time = "2025-09-25T21:33:08.708Z" }, - { url = "https://files.pythonhosted.org/packages/dd/62/71c27c94f457cf4418ef8ccc71735324c549f7e3ea9d34aba50874563561/pyyaml-6.0.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7", size = 755677, upload-time = "2025-09-25T21:33:09.876Z" }, - { url = "https://files.pythonhosted.org/packages/29/3d/6f5e0d58bd924fb0d06c3a6bad00effbdae2de5adb5cda5648006ffbd8d3/pyyaml-6.0.3-cp39-cp39-win32.whl", hash = "sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0", size = 142592, upload-time = "2025-09-25T21:33:10.983Z" }, - { url = "https://files.pythonhosted.org/packages/f0/0c/25113e0b5e103d7f1490c0e947e303fe4a696c10b501dea7a9f49d4e876c/pyyaml-6.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007", size = 158777, upload-time = "2025-09-25T21:33:15.55Z" }, ] [[package]] @@ -2815,16 +2393,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92", size = 587472, upload-time = "2025-09-08T23:08:58.18Z" }, { url = "https://files.pythonhosted.org/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0", size = 661401, upload-time = "2025-09-08T23:08:59.802Z" }, { url = "https://files.pythonhosted.org/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7", size = 575170, upload-time = "2025-09-08T23:09:01.418Z" }, - { url = "https://files.pythonhosted.org/packages/ac/4e/782eb6df91b6a9d9afa96c2dcfc5cac62562a68eb62a02210101f886014d/pyzmq-27.1.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:96c71c32fff75957db6ae33cd961439f386505c6e6b377370af9b24a1ef9eafb", size = 1330426, upload-time = "2025-09-08T23:09:21.03Z" }, - { url = "https://files.pythonhosted.org/packages/8d/ca/2b8693d06b1db4e0c084871e4c9d7842b561d0a6ff9d780640f5e3e9eb55/pyzmq-27.1.0-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:49d3980544447f6bd2968b6ac913ab963a49dcaa2d4a2990041f16057b04c429", size = 906559, upload-time = "2025-09-08T23:09:22.983Z" }, - { url = "https://files.pythonhosted.org/packages/6a/b3/b99b39e2cfdcebd512959780e4d299447fd7f46010b1d88d63324e2481ec/pyzmq-27.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:849ca054d81aa1c175c49484afaaa5db0622092b5eccb2055f9f3bb8f703782d", size = 863816, upload-time = "2025-09-08T23:09:24.556Z" }, - { url = "https://files.pythonhosted.org/packages/61/b2/018fa8e8eefb34a625b1a45e2effcbc9885645b22cdd0a68283f758351e7/pyzmq-27.1.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3970778e74cb7f85934d2b926b9900e92bfe597e62267d7499acc39c9c28e345", size = 666735, upload-time = "2025-09-08T23:09:26.297Z" }, - { url = "https://files.pythonhosted.org/packages/01/05/8ae778f7cd7c94030731ae2305e6a38f3a333b6825f56c0c03f2134ccf1b/pyzmq-27.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:da96ecdcf7d3919c3be2de91a8c513c186f6762aa6cf7c01087ed74fad7f0968", size = 1655425, upload-time = "2025-09-08T23:09:28.172Z" }, - { url = "https://files.pythonhosted.org/packages/ad/ad/d69478a97a3f3142f9dbbbd9daa4fcf42541913a85567c36d4cfc19b2218/pyzmq-27.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9541c444cfe1b1c0156c5c86ece2bb926c7079a18e7b47b0b1b3b1b875e5d098", size = 2033729, upload-time = "2025-09-08T23:09:30.097Z" }, - { url = "https://files.pythonhosted.org/packages/9a/6d/e3c6ad05bc1cddd25094e66cc15ae8924e15c67e231e93ed2955c401007e/pyzmq-27.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e30a74a39b93e2e1591b58eb1acef4902be27c957a8720b0e368f579b82dc22f", size = 1891803, upload-time = "2025-09-08T23:09:31.875Z" }, - { url = "https://files.pythonhosted.org/packages/7f/a7/97e8be0daaca157511563160b67a13d4fe76b195e3fa6873cb554ad46be3/pyzmq-27.1.0-cp39-cp39-win32.whl", hash = "sha256:b1267823d72d1e40701dcba7edc45fd17f71be1285557b7fe668887150a14b78", size = 567627, upload-time = "2025-09-08T23:09:33.98Z" }, - { url = "https://files.pythonhosted.org/packages/5c/91/70bbf3a7c5b04c904261ef5ba224d8a76315f6c23454251bf5f55573a8a1/pyzmq-27.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:0c996ded912812a2fcd7ab6574f4ad3edc27cb6510349431e4930d4196ade7db", size = 632315, upload-time = "2025-09-08T23:09:36.097Z" }, - { url = "https://files.pythonhosted.org/packages/cc/b5/a4173a83c7fd37f6bdb5a800ea338bc25603284e9ef8681377cec006ede4/pyzmq-27.1.0-cp39-cp39-win_arm64.whl", hash = "sha256:346e9ba4198177a07e7706050f35d733e08c1c1f8ceacd5eb6389d653579ffbc", size = 559833, upload-time = "2025-09-08T23:09:38.183Z" }, { url = "https://files.pythonhosted.org/packages/f3/81/a65e71c1552f74dec9dff91d95bafb6e0d33338a8dfefbc88aa562a20c92/pyzmq-27.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c17e03cbc9312bee223864f1a2b13a99522e0dc9f7c5df0177cd45210ac286e6", size = 836266, upload-time = "2025-09-08T23:09:40.048Z" }, { url = "https://files.pythonhosted.org/packages/58/ed/0202ca350f4f2b69faa95c6d931e3c05c3a397c184cacb84cb4f8f42f287/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:f328d01128373cb6763823b2b4e7f73bdf767834268c565151eacb3b7a392f90", size = 800206, upload-time = "2025-09-08T23:09:41.902Z" }, { url = "https://files.pythonhosted.org/packages/47/42/1ff831fa87fe8f0a840ddb399054ca0009605d820e2b44ea43114f5459f4/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c1790386614232e1b3a40a958454bdd42c6d1811837b15ddbb052a032a43f62", size = 567747, upload-time = "2025-09-08T23:09:43.741Z" }, @@ -2835,11 +2403,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/49/0e/3f0d0d335c6b3abb9b7b723776d0b21fa7f3a6c819a0db6097059aada160/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53b40f8ae006f2734ee7608d59ed661419f087521edbfc2149c3932e9c14808c", size = 567747, upload-time = "2025-09-08T23:09:52.698Z" }, { url = "https://files.pythonhosted.org/packages/a1/cf/f2b3784d536250ffd4be70e049f3b60981235d70c6e8ce7e3ef21e1adb25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f605d884e7c8be8fe1aa94e0a783bf3f591b84c24e4bc4f3e7564c82ac25e271", size = 747371, upload-time = "2025-09-08T23:09:54.563Z" }, { url = "https://files.pythonhosted.org/packages/01/1b/5dbe84eefc86f48473947e2f41711aded97eecef1231f4558f1f02713c12/pyzmq-27.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c9f7f6e13dff2e44a6afeaf2cf54cee5929ad64afaf4d40b50f93c58fc687355", size = 544862, upload-time = "2025-09-08T23:09:56.509Z" }, - { url = "https://files.pythonhosted.org/packages/57/f4/c2e978cf6b833708bad7d6396c3a20c19750585a1775af3ff13c435e1912/pyzmq-27.1.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:722ea791aa233ac0a819fc2c475e1292c76930b31f1d828cb61073e2fe5e208f", size = 836257, upload-time = "2025-09-08T23:10:07.635Z" }, - { url = "https://files.pythonhosted.org/packages/5f/5f/4e10c7f57a4c92ab0fbb2396297aa8d618e6f5b9b8f8e9756d56f3e6fc52/pyzmq-27.1.0-pp39-pypy39_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:01f9437501886d3a1dd4b02ef59fb8cc384fa718ce066d52f175ee49dd5b7ed8", size = 800203, upload-time = "2025-09-08T23:10:09.436Z" }, - { url = "https://files.pythonhosted.org/packages/19/72/a74a007cd636f903448c6ab66628104b1fc5f2ba018733d5eabb94a0a6fb/pyzmq-27.1.0-pp39-pypy39_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4a19387a3dddcc762bfd2f570d14e2395b2c9701329b266f83dd87a2b3cbd381", size = 758756, upload-time = "2025-09-08T23:10:11.733Z" }, - { url = "https://files.pythonhosted.org/packages/a9/d4/30c25b91f2b4786026372f5ef454134d7f576fcf4ac58539ad7dd5de4762/pyzmq-27.1.0-pp39-pypy39_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c618fbcd069e3a29dcd221739cacde52edcc681f041907867e0f5cc7e85f172", size = 567742, upload-time = "2025-09-08T23:10:14.732Z" }, - { url = "https://files.pythonhosted.org/packages/92/aa/ee86edad943438cd0316964020c4b6d09854414f9f945f8e289ea6fcc019/pyzmq-27.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ff8d114d14ac671d88c89b9224c63d6c4e5a613fe8acd5594ce53d752a3aafe9", size = 544857, upload-time = "2025-09-08T23:10:16.431Z" }, ] [[package]] @@ -2880,36 +2443,14 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5f/97/d8a785d2c7131c731c90cb0e65af9400081af4380bea4ec04868dc21aa92/rdflib_shim-1.0.3-py3-none-any.whl", hash = "sha256:7a853e7750ef1e9bf4e35dea27d54e02d4ed087de5a9e0c329c4a6d82d647081", size = 5190, upload-time = "2021-12-21T16:31:05.719Z" }, ] -[[package]] -name = "referencing" -version = "0.36.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "attrs", marker = "python_full_version < '3.10'" }, - { name = "rpds-py", marker = "python_full_version < '3.10'" }, - { name = "typing-extensions", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload-time = "2025-01-25T08:48:14.241Z" }, -] - [[package]] name = "referencing" version = "0.37.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14'", - "python_full_version >= '3.11' and python_full_version < '3.14'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "attrs", marker = "python_full_version >= '3.10'" }, - { name = "rpds-py", marker = "python_full_version >= '3.10'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.10' and python_full_version < '3.13'" }, + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } wheels = [ @@ -3090,20 +2631,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813, upload-time = "2025-08-27T12:15:00.334Z" }, { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385, upload-time = "2025-08-27T12:15:01.937Z" }, { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097, upload-time = "2025-08-27T12:15:03.961Z" }, - { url = "https://files.pythonhosted.org/packages/7f/6c/252e83e1ce7583c81f26d1d884b2074d40a13977e1b6c9c50bbf9a7f1f5a/rpds_py-0.27.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c918c65ec2e42c2a78d19f18c553d77319119bf43aa9e2edf7fb78d624355527", size = 372140, upload-time = "2025-08-27T12:15:05.441Z" }, - { url = "https://files.pythonhosted.org/packages/9d/71/949c195d927c5aeb0d0629d329a20de43a64c423a6aa53836290609ef7ec/rpds_py-0.27.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1fea2b1a922c47c51fd07d656324531adc787e415c8b116530a1d29c0516c62d", size = 354086, upload-time = "2025-08-27T12:15:07.404Z" }, - { url = "https://files.pythonhosted.org/packages/9f/02/e43e332ad8ce4f6c4342d151a471a7f2900ed1d76901da62eb3762663a71/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbf94c58e8e0cd6b6f38d8de67acae41b3a515c26169366ab58bdca4a6883bb8", size = 382117, upload-time = "2025-08-27T12:15:09.275Z" }, - { url = "https://files.pythonhosted.org/packages/d0/05/b0fdeb5b577197ad72812bbdfb72f9a08fa1e64539cc3940b1b781cd3596/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2a8fed130ce946d5c585eddc7c8eeef0051f58ac80a8ee43bd17835c144c2cc", size = 394520, upload-time = "2025-08-27T12:15:10.727Z" }, - { url = "https://files.pythonhosted.org/packages/67/1f/4cfef98b2349a7585181e99294fa2a13f0af06902048a5d70f431a66d0b9/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:037a2361db72ee98d829bc2c5b7cc55598ae0a5e0ec1823a56ea99374cfd73c1", size = 522657, upload-time = "2025-08-27T12:15:12.613Z" }, - { url = "https://files.pythonhosted.org/packages/44/55/ccf37ddc4c6dce7437b335088b5ca18da864b334890e2fe9aa6ddc3f79a9/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5281ed1cc1d49882f9997981c88df1a22e140ab41df19071222f7e5fc4e72125", size = 402967, upload-time = "2025-08-27T12:15:14.113Z" }, - { url = "https://files.pythonhosted.org/packages/74/e5/5903f92e41e293b07707d5bf00ef39a0eb2af7190aff4beaf581a6591510/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fd50659a069c15eef8aa3d64bbef0d69fd27bb4a50c9ab4f17f83a16cbf8905", size = 384372, upload-time = "2025-08-27T12:15:15.842Z" }, - { url = "https://files.pythonhosted.org/packages/8f/e3/fbb409e18aeefc01e49f5922ac63d2d914328430e295c12183ce56ebf76b/rpds_py-0.27.1-cp39-cp39-manylinux_2_31_riscv64.whl", hash = "sha256:c4b676c4ae3921649a15d28ed10025548e9b561ded473aa413af749503c6737e", size = 401264, upload-time = "2025-08-27T12:15:17.388Z" }, - { url = "https://files.pythonhosted.org/packages/55/79/529ad07794e05cb0f38e2f965fc5bb20853d523976719400acecc447ec9d/rpds_py-0.27.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:079bc583a26db831a985c5257797b2b5d3affb0386e7ff886256762f82113b5e", size = 418691, upload-time = "2025-08-27T12:15:19.144Z" }, - { url = "https://files.pythonhosted.org/packages/33/39/6554a7fd6d9906fda2521c6d52f5d723dca123529fb719a5b5e074c15e01/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4e44099bd522cba71a2c6b97f68e19f40e7d85399de899d66cdb67b32d7cb786", size = 558989, upload-time = "2025-08-27T12:15:21.087Z" }, - { url = "https://files.pythonhosted.org/packages/19/b2/76fa15173b6f9f445e5ef15120871b945fb8dd9044b6b8c7abe87e938416/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e202e6d4188e53c6661af813b46c37ca2c45e497fc558bacc1a7630ec2695aec", size = 589835, upload-time = "2025-08-27T12:15:22.696Z" }, - { url = "https://files.pythonhosted.org/packages/ee/9e/5560a4b39bab780405bed8a88ee85b30178061d189558a86003548dea045/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f41f814b8eaa48768d1bb551591f6ba45f87ac76899453e8ccd41dba1289b04b", size = 555227, upload-time = "2025-08-27T12:15:24.278Z" }, - { url = "https://files.pythonhosted.org/packages/52/d7/cd9c36215111aa65724c132bf709c6f35175973e90b32115dedc4ced09cb/rpds_py-0.27.1-cp39-cp39-win32.whl", hash = "sha256:9e71f5a087ead99563c11fdaceee83ee982fd39cf67601f4fd66cb386336ee52", size = 217899, upload-time = "2025-08-27T12:15:25.926Z" }, - { url = "https://files.pythonhosted.org/packages/5b/e0/d75ab7b4dd8ba777f6b365adbdfc7614bbfe7c5f05703031dfa4b61c3d6c/rpds_py-0.27.1-cp39-cp39-win_amd64.whl", hash = "sha256:71108900c9c3c8590697244b9519017a400d9ba26a36c48381b3f64743a44aab", size = 228725, upload-time = "2025-08-27T12:15:27.398Z" }, { url = "https://files.pythonhosted.org/packages/d5/63/b7cc415c345625d5e62f694ea356c58fb964861409008118f1245f8c3347/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7ba22cb9693df986033b91ae1d7a979bc399237d45fccf875b76f62bb9e52ddf", size = 371360, upload-time = "2025-08-27T12:15:29.218Z" }, { url = "https://files.pythonhosted.org/packages/e5/8c/12e1b24b560cf378b8ffbdb9dc73abd529e1adcfcf82727dfd29c4a7b88d/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b640501be9288c77738b5492b3fd3abc4ba95c50c2e41273c8a1459f08298d3", size = 353933, upload-time = "2025-08-27T12:15:30.837Z" }, { url = "https://files.pythonhosted.org/packages/9b/85/1bb2210c1f7a1b99e91fea486b9f0f894aa5da3a5ec7097cbad7dec6d40f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb08b65b93e0c6dd70aac7f7890a9c0938d5ec71d5cb32d45cf844fb8ae47636", size = 382962, upload-time = "2025-08-27T12:15:32.348Z" }, @@ -3129,19 +2656,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6a/24/e3e72d265121e00b063aef3e3501e5b2473cf1b23511d56e529531acf01e/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:94c44ee01fd21c9058f124d2d4f0c9dc7634bec93cd4b38eefc385dabe71acbf", size = 560003, upload-time = "2025-08-27T12:16:08.06Z" }, { url = "https://files.pythonhosted.org/packages/26/ca/f5a344c534214cc2d41118c0699fffbdc2c1bc7046f2a2b9609765ab9c92/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:df8b74962e35c9249425d90144e721eed198e6555a0e22a563d29fe4486b51f6", size = 590482, upload-time = "2025-08-27T12:16:10.137Z" }, { url = "https://files.pythonhosted.org/packages/ce/08/4349bdd5c64d9d193c360aa9db89adeee6f6682ab8825dca0a3f535f434f/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dc23e6820e3b40847e2f4a7726462ba0cf53089512abe9ee16318c366494c17a", size = 556523, upload-time = "2025-08-27T12:16:12.188Z" }, - { url = "https://files.pythonhosted.org/packages/4e/ea/5463cd5048a7a2fcdae308b6e96432802132c141bfb9420260142632a0f1/rpds_py-0.27.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:aa8933159edc50be265ed22b401125c9eebff3171f570258854dbce3ecd55475", size = 371778, upload-time = "2025-08-27T12:16:13.851Z" }, - { url = "https://files.pythonhosted.org/packages/0d/c8/f38c099db07f5114029c1467649d308543906933eebbc226d4527a5f4693/rpds_py-0.27.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a50431bf02583e21bf273c71b89d710e7a710ad5e39c725b14e685610555926f", size = 354394, upload-time = "2025-08-27T12:16:15.609Z" }, - { url = "https://files.pythonhosted.org/packages/7d/79/b76f97704d9dd8ddbd76fed4c4048153a847c5d6003afe20a6b5c3339065/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78af06ddc7fe5cc0e967085a9115accee665fb912c22a3f54bad70cc65b05fe6", size = 382348, upload-time = "2025-08-27T12:16:17.251Z" }, - { url = "https://files.pythonhosted.org/packages/8a/3f/ef23d3c1be1b837b648a3016d5bbe7cfe711422ad110b4081c0a90ef5a53/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:70d0738ef8fee13c003b100c2fbd667ec4f133468109b3472d249231108283a3", size = 394159, upload-time = "2025-08-27T12:16:19.251Z" }, - { url = "https://files.pythonhosted.org/packages/74/8a/9e62693af1a34fd28b1a190d463d12407bd7cf561748cb4745845d9548d3/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2f6fd8a1cea5bbe599b6e78a6e5ee08db434fc8ffea51ff201c8765679698b3", size = 522775, upload-time = "2025-08-27T12:16:20.929Z" }, - { url = "https://files.pythonhosted.org/packages/36/0d/8d5bb122bf7a60976b54c5c99a739a3819f49f02d69df3ea2ca2aff47d5c/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8177002868d1426305bb5de1e138161c2ec9eb2d939be38291d7c431c4712df8", size = 402633, upload-time = "2025-08-27T12:16:22.548Z" }, - { url = "https://files.pythonhosted.org/packages/0f/0e/237948c1f425e23e0cf5a566d702652a6e55c6f8fbd332a1792eb7043daf/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:008b839781d6c9bf3b6a8984d1d8e56f0ec46dc56df61fd669c49b58ae800400", size = 384867, upload-time = "2025-08-27T12:16:24.29Z" }, - { url = "https://files.pythonhosted.org/packages/d6/0a/da0813efcd998d260cbe876d97f55b0f469ada8ba9cbc47490a132554540/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:a55b9132bb1ade6c734ddd2759c8dc132aa63687d259e725221f106b83a0e485", size = 401791, upload-time = "2025-08-27T12:16:25.954Z" }, - { url = "https://files.pythonhosted.org/packages/51/78/c6c9e8a8aaca416a6f0d1b6b4a6ee35b88fe2c5401d02235d0a056eceed2/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a46fdec0083a26415f11d5f236b79fa1291c32aaa4a17684d82f7017a1f818b1", size = 419525, upload-time = "2025-08-27T12:16:27.659Z" }, - { url = "https://files.pythonhosted.org/packages/a3/69/5af37e1d71487cf6d56dd1420dc7e0c2732c1b6ff612aa7a88374061c0a8/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:8a63b640a7845f2bdd232eb0d0a4a2dd939bcdd6c57e6bb134526487f3160ec5", size = 559255, upload-time = "2025-08-27T12:16:29.343Z" }, - { url = "https://files.pythonhosted.org/packages/40/7f/8b7b136069ef7ac3960eda25d832639bdb163018a34c960ed042dd1707c8/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:7e32721e5d4922deaaf963469d795d5bde6093207c52fec719bd22e5d1bedbc4", size = 590384, upload-time = "2025-08-27T12:16:31.005Z" }, - { url = "https://files.pythonhosted.org/packages/d8/06/c316d3f6ff03f43ccb0eba7de61376f8ec4ea850067dddfafe98274ae13c/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:2c426b99a068601b5f4623573df7a7c3d72e87533a2dd2253353a03e7502566c", size = 555959, upload-time = "2025-08-27T12:16:32.73Z" }, - { url = "https://files.pythonhosted.org/packages/60/94/384cf54c430b9dac742bbd2ec26c23feb78ded0d43d6d78563a281aec017/rpds_py-0.27.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4fc9b7fe29478824361ead6e14e4f5aed570d477e06088826537e202d25fe859", size = 228784, upload-time = "2025-08-27T12:16:34.428Z" }, ] [[package]] @@ -3210,15 +2724,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c8/78/3565d011c61f5a43488987ee32b6f3f656e7f107ac2782dd57bdd7d91d9a/snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", size = 103274, upload-time = "2025-05-09T16:34:50.371Z" }, ] -[[package]] -name = "sortedcontainers" -version = "2.4.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88", size = 30594, upload-time = "2021-05-16T22:03:42.897Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575, upload-time = "2021-05-16T22:03:41.177Z" }, -] - [[package]] name = "soupsieve" version = "2.8" @@ -3254,63 +2759,31 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/31/89/176e3db96e31e795d7dfd91dd67749d3d1f0316bb30c6931a6140e1a0477/SPARQLWrapper-2.0.0-py3-none-any.whl", hash = "sha256:c99a7204fff676ee28e6acef327dc1ff8451c6f7217dcd8d49e8872f324a8a20", size = 28620, upload-time = "2022-03-13T23:13:58.969Z" }, ] -[[package]] -name = "sphinx" -version = "7.4.7" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "alabaster", version = "0.7.16", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "babel", marker = "python_full_version < '3.10'" }, - { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, - { name = "docutils", marker = "python_full_version < '3.10'" }, - { name = "imagesize", marker = "python_full_version < '3.10'" }, - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, - { name = "jinja2", marker = "python_full_version < '3.10'" }, - { name = "packaging", marker = "python_full_version < '3.10'" }, - { name = "pygments", marker = "python_full_version < '3.10'" }, - { name = "requests", marker = "python_full_version < '3.10'" }, - { name = "snowballstemmer", marker = "python_full_version < '3.10'" }, - { name = "sphinxcontrib-applehelp", marker = "python_full_version < '3.10'" }, - { name = "sphinxcontrib-devhelp", marker = "python_full_version < '3.10'" }, - { name = "sphinxcontrib-htmlhelp", marker = "python_full_version < '3.10'" }, - { name = "sphinxcontrib-jsmath", marker = "python_full_version < '3.10'" }, - { name = "sphinxcontrib-qthelp", marker = "python_full_version < '3.10'" }, - { name = "sphinxcontrib-serializinghtml", marker = "python_full_version < '3.10'" }, - { name = "tomli", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/5b/be/50e50cb4f2eff47df05673d361095cafd95521d2a22521b920c67a372dcb/sphinx-7.4.7.tar.gz", hash = "sha256:242f92a7ea7e6c5b406fdc2615413890ba9f699114a9c09192d7dfead2ee9cfe", size = 8067911, upload-time = "2024-07-20T14:46:56.059Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/ef/153f6803c5d5f8917dbb7f7fcf6d34a871ede3296fa89c2c703f5f8a6c8e/sphinx-7.4.7-py3-none-any.whl", hash = "sha256:c2419e2135d11f1951cd994d6eb18a1835bd8fdd8429f9ca375dc1f3281bd239", size = 3401624, upload-time = "2024-07-20T14:46:52.142Z" }, -] - [[package]] name = "sphinx" version = "8.1.3" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.10.*'", -] -dependencies = [ - { name = "alabaster", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "babel", marker = "python_full_version == '3.10.*'" }, - { name = "colorama", marker = "python_full_version == '3.10.*' and sys_platform == 'win32'" }, - { name = "docutils", marker = "python_full_version == '3.10.*'" }, - { name = "imagesize", marker = "python_full_version == '3.10.*'" }, - { name = "jinja2", marker = "python_full_version == '3.10.*'" }, - { name = "packaging", marker = "python_full_version == '3.10.*'" }, - { name = "pygments", marker = "python_full_version == '3.10.*'" }, - { name = "requests", marker = "python_full_version == '3.10.*'" }, - { name = "snowballstemmer", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-applehelp", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-devhelp", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-htmlhelp", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-jsmath", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-qthelp", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-serializinghtml", marker = "python_full_version == '3.10.*'" }, - { name = "tomli", marker = "python_full_version == '3.10.*'" }, + "python_full_version < '3.11'", +] +dependencies = [ + { name = "alabaster", marker = "python_full_version < '3.11'" }, + { name = "babel", marker = "python_full_version < '3.11'" }, + { name = "colorama", marker = "python_full_version < '3.11' and sys_platform == 'win32'" }, + { name = "docutils", marker = "python_full_version < '3.11'" }, + { name = "imagesize", marker = "python_full_version < '3.11'" }, + { name = "jinja2", marker = "python_full_version < '3.11'" }, + { name = "packaging", marker = "python_full_version < '3.11'" }, + { name = "pygments", marker = "python_full_version < '3.11'" }, + { name = "requests", marker = "python_full_version < '3.11'" }, + { name = "snowballstemmer", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-applehelp", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-devhelp", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-htmlhelp", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-jsmath", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-qthelp", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-serializinghtml", marker = "python_full_version < '3.11'" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/be0b61178fe2cdcb67e2a92fc9ebb488e3c51c4f74a36a7824c0adf23425/sphinx-8.1.3.tar.gz", hash = "sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927", size = 8184611, upload-time = "2024-10-13T20:27:13.93Z" } wheels = [ @@ -3326,7 +2799,7 @@ resolution-markers = [ "python_full_version >= '3.11' and python_full_version < '3.14'", ] dependencies = [ - { name = "alabaster", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "alabaster", marker = "python_full_version >= '3.11'" }, { name = "babel", marker = "python_full_version >= '3.11'" }, { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" }, { name = "docutils", marker = "python_full_version >= '3.11'" }, @@ -3349,36 +2822,14 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/31/53/136e9eca6e0b9dc0e1962e2c908fbea2e5ac000c2a2fbd9a35797958c48b/sphinx-8.2.3-py3-none-any.whl", hash = "sha256:4405915165f13521d875a8c29c8970800a0141c14cc5416a38feca4ea5d9b9c3", size = 3589741, upload-time = "2025-03-02T22:31:56.836Z" }, ] -[[package]] -name = "sphinx-click" -version = "6.0.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "click", marker = "python_full_version < '3.10'" }, - { name = "docutils", marker = "python_full_version < '3.10'" }, - { name = "sphinx", version = "7.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/db/0a/5b1e8d0579dbb4ca8114e456ca4a68020bfe8e15c7001f3856be4929ab83/sphinx_click-6.0.0.tar.gz", hash = "sha256:f5d664321dc0c6622ff019f1e1c84e58ce0cecfddeb510e004cf60c2a3ab465b", size = 29574, upload-time = "2024-05-15T14:49:17.044Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/d7/8621c4726ad3f788a1db4c0c409044b16edc563f5c9542807b3724037555/sphinx_click-6.0.0-py3-none-any.whl", hash = "sha256:1e0a3c83bcb7c55497751b19d07ebe56b5d7b85eb76dd399cf9061b497adc317", size = 9922, upload-time = "2024-05-15T14:49:15.768Z" }, -] - [[package]] name = "sphinx-click" version = "6.1.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14'", - "python_full_version >= '3.11' and python_full_version < '3.14'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "click", marker = "python_full_version >= '3.10'" }, - { name = "docutils", marker = "python_full_version >= '3.10'" }, - { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "click" }, + { name = "docutils" }, + { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "sphinx", version = "8.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/de/4b/c433ea57136eac0ccb8d76d33355783f1e6e77f1f13dc7d8f15dba2dc024/sphinx_click-6.1.0.tar.gz", hash = "sha256:c702e0751c1a0b6ad649e4f7faebd0dc09a3cc7ca3b50f959698383772f50eef", size = 26855, upload-time = "2025-09-11T11:05:45.53Z" } @@ -3482,14 +2933,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/88/ee/4afb39a8ee4fc786e2d716c20ab87b5b1fb33d4ac4129a1aaa574ae8a585/sqlalchemy-2.0.44-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1e77faf6ff919aa8cd63f1c4e561cac1d9a454a191bb864d5dd5e545935e5a40", size = 3226248, upload-time = "2025-10-10T15:43:51.862Z" }, { url = "https://files.pythonhosted.org/packages/32/d5/0e66097fc64fa266f29a7963296b40a80d6a997b7ac13806183700676f86/sqlalchemy-2.0.44-cp313-cp313-win32.whl", hash = "sha256:ee51625c2d51f8baadf2829fae817ad0b66b140573939dd69284d2ba3553ae73", size = 2101275, upload-time = "2025-10-10T15:03:26.096Z" }, { url = "https://files.pythonhosted.org/packages/03/51/665617fe4f8c6450f42a6d8d69243f9420f5677395572c2fe9d21b493b7b/sqlalchemy-2.0.44-cp313-cp313-win_amd64.whl", hash = "sha256:c1c80faaee1a6c3428cecf40d16a2365bcf56c424c92c2b6f0f9ad204b899e9e", size = 2127901, upload-time = "2025-10-10T15:03:27.548Z" }, - { url = "https://files.pythonhosted.org/packages/65/1c/819435b7cb66dac6192e6af8b7d0896b9507edf798f3826b9590c7e980db/sqlalchemy-2.0.44-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f7027414f2b88992877573ab780c19ecb54d3a536bef3397933573d6b5068be4", size = 2138850, upload-time = "2025-10-10T16:20:45.841Z" }, - { url = "https://files.pythonhosted.org/packages/fd/06/e8637ce5c4fdc027c00a9611052329169ef5a99feb22efd38866e27caf27/sqlalchemy-2.0.44-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3fe166c7d00912e8c10d3a9a0ce105569a31a3d0db1a6e82c4e0f4bf16d5eca9", size = 2128842, upload-time = "2025-10-10T16:20:47.209Z" }, - { url = "https://files.pythonhosted.org/packages/c3/5b/86f7cc573254bbfa50b339d8c72c5c026ceaa0adaa114237884886a0e14b/sqlalchemy-2.0.44-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3caef1ff89b1caefc28f0368b3bde21a7e3e630c2eddac16abd9e47bd27cc36a", size = 3216858, upload-time = "2025-10-10T15:38:33.535Z" }, - { url = "https://files.pythonhosted.org/packages/2f/ee/c9e582288edb41a47df7525f9fcae775d9f0b7da8eda8732f9d22f0c383e/sqlalchemy-2.0.44-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc2856d24afa44295735e72f3c75d6ee7fdd4336d8d3a8f3d44de7aa6b766df2", size = 3217019, upload-time = "2025-10-10T15:45:13.678Z" }, - { url = "https://files.pythonhosted.org/packages/71/a1/449f3bea46769b31443eac4152452af684c0ddd64e3c4719b636f85a5604/sqlalchemy-2.0.44-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:11bac86b0deada30b6b5f93382712ff0e911fe8d31cb9bf46e6b149ae175eff0", size = 3155491, upload-time = "2025-10-10T15:38:35.317Z" }, - { url = "https://files.pythonhosted.org/packages/0e/34/f99b584a0bf94ff2e822bcb4951dcc24a7967476b35b9b3c35bc11cbd6bc/sqlalchemy-2.0.44-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4d18cd0e9a0f37c9f4088e50e3839fcb69a380a0ec957408e0b57cff08ee0a26", size = 3179978, upload-time = "2025-10-10T15:45:15.262Z" }, - { url = "https://files.pythonhosted.org/packages/ae/43/71a22aa66a1ef974f4e34982ce55d5f38d4770d2f0091eb210374e860b8e/sqlalchemy-2.0.44-cp39-cp39-win32.whl", hash = "sha256:9e9018544ab07614d591a26c1bd4293ddf40752cc435caf69196740516af7100", size = 2106888, upload-time = "2025-10-10T15:45:58.079Z" }, - { url = "https://files.pythonhosted.org/packages/08/fb/cc98eb1ab3c5ad92b51c0db17ee86d1c33379a7490da376567b902222dcf/sqlalchemy-2.0.44-cp39-cp39-win_amd64.whl", hash = "sha256:8e0e4e66fd80f277a8c3de016a81a554e76ccf6b8d881ee0b53200305a8433f6", size = 2130728, upload-time = "2025-10-10T15:45:59.7Z" }, { url = "https://files.pythonhosted.org/packages/9c/5e/6a29fa884d9fb7ddadf6b69490a9d45fded3b38541713010dad16b77d015/sqlalchemy-2.0.44-py3-none-any.whl", hash = "sha256:19de7ca1246fbef9f9d1bff8f1ab25641569df226364a0e40457dc5457c54b05", size = 1928718, upload-time = "2025-10-10T15:29:45.32Z" }, ] @@ -3685,13 +3128,8 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, - { url = "https://files.pythonhosted.org/packages/05/52/7223011bb760fce8ddc53416beb65b83a3ea6d7d13738dde75eeb2c89679/watchdog-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8", size = 96390, upload-time = "2024-11-01T14:06:49.325Z" }, - { url = "https://files.pythonhosted.org/packages/9c/62/d2b21bc4e706d3a9d467561f487c2938cbd881c69f3808c43ac1ec242391/watchdog-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a", size = 88386, upload-time = "2024-11-01T14:06:50.536Z" }, - { url = "https://files.pythonhosted.org/packages/ea/22/1c90b20eda9f4132e4603a26296108728a8bfe9584b006bd05dd94548853/watchdog-6.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c", size = 89017, upload-time = "2024-11-01T14:06:51.717Z" }, { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902, upload-time = "2024-11-01T14:06:53.119Z" }, { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380, upload-time = "2024-11-01T14:06:55.19Z" }, - { url = "https://files.pythonhosted.org/packages/5b/79/69f2b0e8d3f2afd462029031baafb1b75d11bb62703f0e1022b2e54d49ee/watchdog-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa", size = 87903, upload-time = "2024-11-01T14:06:57.052Z" }, - { url = "https://files.pythonhosted.org/packages/e2/2b/dc048dd71c2e5f0f7ebc04dd7912981ec45793a03c0dc462438e0591ba5d/watchdog-6.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e", size = 88381, upload-time = "2024-11-01T14:06:58.193Z" }, { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, @@ -3815,16 +3253,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/be/44/a1bd64b723d13bb151d6cc91b986146a1952385e0392a78567e12149c7b4/wrapt-1.17.3-cp314-cp314t-win32.whl", hash = "sha256:41b1d2bc74c2cac6f9074df52b2efbef2b30bdfe5f40cb78f8ca22963bc62977", size = 38717, upload-time = "2025-08-12T05:53:15.214Z" }, { url = "https://files.pythonhosted.org/packages/79/d9/7cfd5a312760ac4dd8bf0184a6ee9e43c33e47f3dadc303032ce012b8fa3/wrapt-1.17.3-cp314-cp314t-win_amd64.whl", hash = "sha256:73d496de46cd2cdbdbcce4ae4bcdb4afb6a11234a1df9c085249d55166b95116", size = 41334, upload-time = "2025-08-12T05:53:14.178Z" }, { url = "https://files.pythonhosted.org/packages/46/78/10ad9781128ed2f99dbc474f43283b13fea8ba58723e98844367531c18e9/wrapt-1.17.3-cp314-cp314t-win_arm64.whl", hash = "sha256:f38e60678850c42461d4202739f9bf1e3a737c7ad283638251e79cc49effb6b6", size = 38471, upload-time = "2025-08-12T05:52:57.784Z" }, - { url = "https://files.pythonhosted.org/packages/41/be/be9b3b0a461ee3e30278706f3f3759b9b69afeedef7fe686036286c04ac6/wrapt-1.17.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:30ce38e66630599e1193798285706903110d4f057aab3168a34b7fdc85569afc", size = 53485, upload-time = "2025-08-12T05:51:53.11Z" }, - { url = "https://files.pythonhosted.org/packages/b3/a8/8f61d6b8f526efc8c10e12bf80b4206099fea78ade70427846a37bc9cbea/wrapt-1.17.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:65d1d00fbfb3ea5f20add88bbc0f815150dbbde3b026e6c24759466c8b5a9ef9", size = 38675, upload-time = "2025-08-12T05:51:42.885Z" }, - { url = "https://files.pythonhosted.org/packages/48/f1/23950c29a25637b74b322f9e425a17cc01a478f6afb35138ecb697f9558d/wrapt-1.17.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a7c06742645f914f26c7f1fa47b8bc4c91d222f76ee20116c43d5ef0912bba2d", size = 38956, upload-time = "2025-08-12T05:52:03.149Z" }, - { url = "https://files.pythonhosted.org/packages/43/46/dd0791943613885f62619f18ee6107e6133237a6b6ed8a9ecfac339d0b4f/wrapt-1.17.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7e18f01b0c3e4a07fe6dfdb00e29049ba17eadbc5e7609a2a3a4af83ab7d710a", size = 81745, upload-time = "2025-08-12T05:52:49.62Z" }, - { url = "https://files.pythonhosted.org/packages/dd/ec/bb2d19bd1a614cc4f438abac13ae26c57186197920432d2a915183b15a8b/wrapt-1.17.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f5f51a6466667a5a356e6381d362d259125b57f059103dd9fdc8c0cf1d14139", size = 82833, upload-time = "2025-08-12T05:52:27.738Z" }, - { url = "https://files.pythonhosted.org/packages/8d/eb/66579aea6ad36f07617fedca8e282e49c7c9bab64c63b446cfe4f7f47a49/wrapt-1.17.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:59923aa12d0157f6b82d686c3fd8e1166fa8cdfb3e17b42ce3b6147ff81528df", size = 81889, upload-time = "2025-08-12T05:52:29.023Z" }, - { url = "https://files.pythonhosted.org/packages/04/9c/a56b5ac0e2473bdc3fb11b22dd69ff423154d63861cf77911cdde5e38fd2/wrapt-1.17.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:46acc57b331e0b3bcb3e1ca3b421d65637915cfcd65eb783cb2f78a511193f9b", size = 81344, upload-time = "2025-08-12T05:52:50.869Z" }, - { url = "https://files.pythonhosted.org/packages/93/4c/9bd735c42641d81cb58d7bfb142c58f95c833962d15113026705add41a07/wrapt-1.17.3-cp39-cp39-win32.whl", hash = "sha256:3e62d15d3cfa26e3d0788094de7b64efa75f3a53875cdbccdf78547aed547a81", size = 36462, upload-time = "2025-08-12T05:53:19.623Z" }, - { url = "https://files.pythonhosted.org/packages/f0/ea/0b72f29cb5ebc16eb55c57dc0c98e5de76fc97f435fd407f7d409459c0a6/wrapt-1.17.3-cp39-cp39-win_amd64.whl", hash = "sha256:1f23fa283f51c890eda8e34e4937079114c74b4c81d2b2f1f1d94948f5cc3d7f", size = 38740, upload-time = "2025-08-12T05:53:18.271Z" }, - { url = "https://files.pythonhosted.org/packages/c3/8b/9eae65fb92321e38dbfec7719b87d840a4b92fde83fd1bbf238c5488d055/wrapt-1.17.3-cp39-cp39-win_arm64.whl", hash = "sha256:24c2ed34dc222ed754247a2702b1e1e89fdbaa4016f324b4b8f1a802d4ffe87f", size = 36806, upload-time = "2025-08-12T05:52:58.765Z" }, { url = "https://files.pythonhosted.org/packages/1f/f6/a933bd70f98e9cf3e08167fc5cd7aaaca49147e48411c0bd5ae701bb2194/wrapt-1.17.3-py3-none-any.whl", hash = "sha256:7171ae35d2c33d326ac19dd8facb1e82e5fd04ef8c6c0e394d7af55a55051c22", size = 23591, upload-time = "2025-08-12T05:53:20.674Z" }, ]