From 49b08823025ca2011885d44badf470a64fecae4d Mon Sep 17 00:00:00 2001 From: Michael Hanke Date: Tue, 3 Dec 2024 10:44:56 +0100 Subject: [PATCH 1/4] Major update of the `things` schema This is largely a rewrite aiming to orthogonalize schema elements and capture description needs more systematically. The new setup distinguished 'things' from 'attributes' (only the former requiring an identifier, and enabling the inline declaration of other 'things'). All slots that can be expressed with the basic schema mechanisms `is_characterized_by` and `has_attributes` -- for declaring qualified relationships -- have been removed. The only exception are basic RDF-related slots like (`predicate`, `object`, `range`, `value`, ...). The `relation` slots as means for inline declaration of things in the record of another `Thing` is preserved as a key schema feature. Likewise, the previous `meta_type` is kept under the new name `schema_type`. The new name better delineates this `rdf:type` variant from `type`, being a type designator slot for _schema_ classes. None of the derived schemas have been adjusted yet. --- src/thing/unreleased.yaml | 380 +++++++++--------- .../AttributeSpecification-01-minimal.json | 6 + .../AttributeSpecification-01-minimal.yaml | 5 + ...ibuteSpecification-02-with-attributes.json | 18 + ...ibuteSpecification-02-with-attributes.yaml | 9 + .../examples/Property-01-minimal.json | 5 + .../examples/Property-01-minimal.yaml | 4 + .../examples/Property-02-as_a_thing.json | 17 + .../examples/Property-02-as_a_thing.yaml | 11 + .../examples/Statement-01-minimal.json | 5 + .../examples/Statement-01-minimal.yaml | 5 + ...ing-minimal.json => Thing-01-minimal.json} | 2 +- ...ing-minimal.yaml => Thing-01-minimal.yaml} | 0 .../examples/Thing-02-identifiers.json | 47 +++ .../examples/Thing-02-identifiers.yaml | 32 ++ .../unreleased/examples/Thing-03-topic.json | 11 + .../unreleased/examples/Thing-03-topic.yaml | 6 + .../examples/Thing-04-publication.json | 141 +++++++ .../examples/Thing-04-publication.yaml | 72 ++++ .../examples/Thing-customproperty.json | 22 - .../examples/Thing-customproperty.yaml | 16 - .../examples/Thing-identifiers.json | 32 -- .../examples/Thing-identifiers.yaml | 29 -- .../examples/Thing-publication.json | 73 ---- .../examples/Thing-publication.yaml | 48 --- .../unreleased/examples/Thing-topic.json | 8 - .../unreleased/examples/Thing-topic.yaml | 5 - .../ValueSpecification-01-minimal.json | 6 + .../ValueSpecification-01-minimal.yaml | 9 + ...ification-02-quantitative-measurement.json | 28 ++ ...ification-02-quantitative-measurement.yaml | 16 + .../AttributeSpecification.valid.cfg.yaml | 10 + .../validation/Property.valid.cfg.yaml | 10 + .../validation/Statement.valid.cfg.yaml | 9 + .../validation/Thing.valid.cfg.yaml | 9 +- .../ValueSpecification.valid.cfg.yaml | 10 + 36 files changed, 676 insertions(+), 440 deletions(-) create mode 100644 src/thing/unreleased/examples/AttributeSpecification-01-minimal.json create mode 100644 src/thing/unreleased/examples/AttributeSpecification-01-minimal.yaml create mode 100644 src/thing/unreleased/examples/AttributeSpecification-02-with-attributes.json create mode 100644 src/thing/unreleased/examples/AttributeSpecification-02-with-attributes.yaml create mode 100644 src/thing/unreleased/examples/Property-01-minimal.json create mode 100644 src/thing/unreleased/examples/Property-01-minimal.yaml create mode 100644 src/thing/unreleased/examples/Property-02-as_a_thing.json create mode 100644 src/thing/unreleased/examples/Property-02-as_a_thing.yaml create mode 100644 src/thing/unreleased/examples/Statement-01-minimal.json create mode 100644 src/thing/unreleased/examples/Statement-01-minimal.yaml rename src/thing/unreleased/examples/{Thing-minimal.json => Thing-01-minimal.json} (60%) rename src/thing/unreleased/examples/{Thing-minimal.yaml => Thing-01-minimal.yaml} (100%) create mode 100644 src/thing/unreleased/examples/Thing-02-identifiers.json create mode 100644 src/thing/unreleased/examples/Thing-02-identifiers.yaml create mode 100644 src/thing/unreleased/examples/Thing-03-topic.json create mode 100644 src/thing/unreleased/examples/Thing-03-topic.yaml create mode 100644 src/thing/unreleased/examples/Thing-04-publication.json create mode 100644 src/thing/unreleased/examples/Thing-04-publication.yaml delete mode 100644 src/thing/unreleased/examples/Thing-customproperty.json delete mode 100644 src/thing/unreleased/examples/Thing-customproperty.yaml delete mode 100644 src/thing/unreleased/examples/Thing-identifiers.json delete mode 100644 src/thing/unreleased/examples/Thing-identifiers.yaml delete mode 100644 src/thing/unreleased/examples/Thing-publication.json delete mode 100644 src/thing/unreleased/examples/Thing-publication.yaml delete mode 100644 src/thing/unreleased/examples/Thing-topic.json delete mode 100644 src/thing/unreleased/examples/Thing-topic.yaml create mode 100644 src/thing/unreleased/examples/ValueSpecification-01-minimal.json create mode 100644 src/thing/unreleased/examples/ValueSpecification-01-minimal.yaml create mode 100644 src/thing/unreleased/examples/ValueSpecification-02-quantitative-measurement.json create mode 100644 src/thing/unreleased/examples/ValueSpecification-02-quantitative-measurement.yaml create mode 100644 src/thing/unreleased/validation/AttributeSpecification.valid.cfg.yaml create mode 100644 src/thing/unreleased/validation/Property.valid.cfg.yaml create mode 100644 src/thing/unreleased/validation/Statement.valid.cfg.yaml create mode 100644 src/thing/unreleased/validation/ValueSpecification.valid.cfg.yaml diff --git a/src/thing/unreleased.yaml b/src/thing/unreleased.yaml index d010834..02f269b 100644 --- a/src/thing/unreleased.yaml +++ b/src/thing/unreleased.yaml @@ -2,18 +2,27 @@ id: https://concepts.datalad.org/s/thing/unreleased name: thing-schema version: UNRELEASED status: bibo:status/draft -title: Schema for a generic data description +title: Generic schema for an arbitrarily detailed description of "things" description: | This schema provides a generic [`Thing`](Thing) concept as a basic building block. Key concepts of this schema are that any `Thing` - - must be given a unique identifier ([`id`](id)) for referencing in metadata records, separate from any other identifier(s) that may apply to a `Thing` ([`identifier`](identifier)) - - can be described using generic properties without prescribing a particular vocabulary, such type ([`type`](type)), equivalence ([`same_as`](same_as)), and topic ([`is_about`](is_about)) - - a dedicated [`meta_type`](meta_type) slot enables the distinction of the semantic type of a `Thing` from the type of data structure used to represent the `Thing` in a particular data record + - must be given a unique identifier ([`id`](id)) + - can be further described by attributes ([`has_attributes`](has_attributes)) and qualified relations to other things ([`is_characterized_by`](is_characterized_by)), without prescribing a particular vocabulary + - can be associated with a specialized schema class for enabling detailed validation and precise data transformations ([`schema_type`](schema_type)) without limiting the general expressiveness to a fixed set of classes available in any given (derived) schema. - Moreover, qualitative ([`Property`](Property)) and quantitative ([`QuantitativeProperty`](QuantitativeProperty)) properties can be assigned to a `Thing` ([`has_property`](has_property)), again without prescribing a particular vocabulary. + Each class comes with dedicated examples that exemplify its use. A good + starting point are the [examples of the `Thing`](Thing#examples) class. - Available as + Although this generic schema could be used directly, it is meant to be used + as a foundational building block for more targeted schemas. Therefore, the + schema does not define common slots like `name`, or `description`, and leaves + this to more targeted schemas to decide if such slots are needed, and how they + should be defined. The envisioned use and reuse of this schema is to import + it and built targeted derivatives of `Thing` and other classes provided here. + See the [PROV schema](/s/prov) for an example that is built on this schema. + + The schema definition is available as - [JSON-LD context](../unreleased.jsonld) - [LinkML YAML](../unreleased.yaml) @@ -27,9 +36,9 @@ license: MIT prefixes: ADMS: http://www.w3.org/ns/adms# bibo: http://purl.org/ontology/bibo/ + dcat: http://www.w3.org/ns/dcat# dcterms: http://purl.org/dc/terms/ dlthing: https://concepts.datalad.org/s/thing/unreleased/ - foaf: http://xmlns.com/foaf/0.1/ linkml: https://w3id.org/linkml/ obo: http://purl.obolibrary.org/obo/ owl: http://www.w3.org/2002/07/owl# @@ -37,6 +46,7 @@ prefixes: rdfs: http://www.w3.org/2000/01/rdf-schema# sio: http://semanticscience.org/resource/ skos: http://www.w3.org/2004/02/skos/core# + xsd: http://www.w3.org/2001/XMLSchema# # Example convenience namespace that makes it possible to not think about # a dedicated distribution/dataset/dataset-version-unqiue namespace. # The prefix can be materialized ala @@ -55,7 +65,6 @@ default_prefix: dlthing # the model. All prefixes in this list are added to the prefix sections of # the target models. emit_prefixes: - # needed to indicate a QuantitativeProperty via `meta_type` - dlthing # single prefix that enables a huge range of ontologies ready-to-use for # descriptions -- seems worth emitting @@ -65,135 +74,106 @@ imports: - linkml:types slots: - conforms_to: - slot_uri: dlthing:conforms_to - description: >- - An established standard to which the subject conforms. - range: uriorcurie - comments: - - This property SHOULD be used to indicate a model, schema, ontology, view or profile that the subject conforms to. - exact_mappings: - - dcterms:conformsTo - - description: - slot_uri: dlthing:description - description: A free-text account of the thing. - exact_mappings: - - dcterms:description - - rdfs:comment - range: string - - has_property: - slot_uri: dlthing:has_property + has_attributes: + slot_uri: dlthing:has_attributes description: >- - Relation between a subject and a quality, capability or role that it bears. - range: Property - relational_role: PREDICATE + Declares a relation that associates a `Thing` (or another attribute) + with an attribute, where an attribute is an intrinsic characteristic, + such as a quality, capability, disposition, function, or is an + externally derived attribute determined from some descriptor + (e.g. a quantity, position, label/identifier). + Technically, this declaration is done via an `AttributeSpecification` + that combines a `predicate` with a value declaration and the + attribute-related slots of a `Thing`. Importantly, such attributes + are declared inline, because they do not have a unique identifier. + If an identifier is available, a `Thing` declaration (see `relation`), + and a qualification of that relationship via a `Statement` (see + `is_characterized_by`) should be preferred. + range: AttributeSpecification + inlined: true + inlined_as_list: true + multivalued: true exact_mappings: - - sio:SIO_000233 + - sio:SIO_000008 id: slot_uri: dlthing:id identifier: true description: >- - Globally unique identifier of a metadata object. + Globally unique identifier of a metadata object, such as a `Thing`. range: uriorcurie exact_mappings: - dcterms:identifier - schema:identifier - - identifier: - slot_uri: dlthing:identifier - description: An unambiguous reference to the subject within a given context. - exact_mappings: - - dcterms:identifier - - schema:identifier - ADMS:identifier - range: Identifier - multivalued: true - is_about: - slot_uri: dlthing:is_about + is_characterized_by: + slot_uri: dlthing:is_characterized_by description: >- - A relation of an information artifact to a thing. - For example, the subject matter of the content. - range: uriorcurie + Qualifies relationships between a subject `Thing` and an object `Thing` + with a `Statement` declaration a `predicate` on the nature of the + relationship. + range: Statement + inlined: true + inlined_as_list: true + multivalued: true exact_mappings: - - schema:about - - obo:IAO_0000136 + - obo:RO_0000053 - is_defined_by: - slot_uri: dlthing:is_defined_by + object: + slot_uri: rdf:object description: >- - The definition of the subject thing. - range: uriorcurie - exact_mappings: - - rdfs:isDefinedBy - - name: - slot_uri: dlthing:name - description: Name of a thing. + Reference to a `Thing` within a `Statement`. + range: Thing + inlined: false + multivalued: false + relational_role: OBJECT exact_mappings: - - rdfs:label - - schema:name - - foaf:name - range: string + - rdf:object - notation: - slot_uri: dlthing:notation + predicate: + slot_uri: rdf:predicate description: >- - String of characters such as "T58:5" or "30:4833" used to uniquely - identify a concept within the scope of a given concept scheme. - range: string + Reference to a `Property` within a `Statement`. + range: Property + inlined: false + multivalued: false + relational_role: PREDICATE exact_mappings: - - skos:notation + - rdf:predicate range: slot_uri: rdfs:range description: >- - State that the values of a property are instances of a class. + Declares that the value of a `Thing` or `AttributeSpecification` + are instances of a particular class. range: uriorcurie - - same_as: - slot_uri: dlthing:same_as - description: >- - Property that determines that subject and object are equal. - Can be used to indicate a URL of a reference Web page that unambiguously - indicates the subjects's identity. For example, the URL of the subjects's - Wikipedia page, Wikidata entry, or official website. exact_mappings: - - owl:sameAs - close_mappings: - - schema:sameAs + - rdfs:range - schema_agency: - slot_uri: dlthing:schema_agency + relations: + slot_uri: dlthing:relation description: >- - Name of the agency that issued an identifier. + Declares an unqualified relation of the subject `Thing` to another + `Thing`. This schema slot is used to define related things inline. + If such a definition is not needed. A qualified relationship can be + declared directly using the `is_characterized_by` slot. + domain: Thing + inlined: true + inlined_as_list: true + multivalued: true range: Thing + relational_role: OBJECT + symmetric: true exact_mappings: - - ADMS:schemaAgency - notes: - - The `range` could be tighter (i.e., `Agent`), but we do not have this concept in here (see `prov` schema). - - title: - slot_uri: dlthing:title - description: >- - A summarily description of a thing. It is closely related to - a name, but often less compact and more descriptive. Typically used for - documents. - exact_mappings: - - dcterms:title - - sio:SIO_000185 - related_mappings: - - schema:name - range: string + - dcat:relation + - dcterms:relation - meta_type: + schema_type: slot_uri: rdf:type designates_type: true description: >- - Type designator of a metadata object for validation and schema structure + Type designator of a schema element for validation and schema structure handling purposes. This is used to indicate specialized schema classes for properties that accept a hierarchy of classes as their range. range: uriorcurie @@ -203,134 +183,132 @@ slots: type: slot_uri: rdf:type description: >- - State that the subject is an instance of a class. + State that the subject is an instance of a particular RDF class. range: uriorcurie exact_mappings: - dcterms:type - unit: - slot_uri: dlthing:unit - description: >- - A unit of measurement is a standardized quantity of a physical quality. - range: uriorcurie - exact_mappings: - - obo:UO_0000000 - value: slot_uri: rdfs:value description: >- Value of a thing. relational_role: OBJECT + range: string + exact_mappings: + - rdf:value classes: - Thing: - class_uri: dlthing:Thing + ThingMixin: + mixin: true description: >- - The most basic item. + Mix-in with the common interface of `Thing` and `AttributeSpecification`. + This interface enables `type` specifications (`rdf:type`) for things + and attributes. This is complemented by the `schema_type` slot + (also `rdf:type`) that serves as a type designator for specialized + schema classes, to enable targeted validation and data transformation. + A thing or attribute can be further describe with statements on + qualified relations to other things (`is_characterized_by`), or + inline attributes (`has_attributes`). slots: - - id - - conforms_to - - description - - identifier - - is_about - - meta_type - - name - - has_property - - same_as - - title + - has_attributes + - is_characterized_by + - schema_type - type - slot_usage: - conforms_to: - multivalued: true - identifier: - inlined: true - inlined_as_list: true - is_about: - multivalued: true - has_property: - inlined: true - inlined_as_list: true - multivalued: true - same_as: - multivalued: true - range: uriorcurie - exact_mappings: - - schema:Thing - # - # utilities - # - Identifier: - class_uri: dlthing:Identifier + ValueSpecificationMixin: description: >- - Identifier. + Mix-in for a (structured) value specification. Two slots are provided + to define a (literal) value (`value`) and its type (`range`). slots: - - notation - - schema_agency - exact_mappings: - - ADMS:Identifier - see_also: - - https://semiceu.github.io/ADMS/releases/2.00/#Identifier - - Characteristic: - class_uri: dlthing:Characteristic - description: >- - An inherent quality, function, disposition or process characteristic. - slots: - - description - - is_defined_by - - name - - title - - type - range - value + + AttributeSpecification: + mixins: + - ThingMixin + - ValueSpecificationMixin + slots: + - predicate slot_usage: - is_defined_by: - description: - The property value is defined by this term. - name: - # if we know no type, we require a name to have at least something - required: false if type else true - type: - # best to have a precise type - recommended: true - range: - # unless we have a defined value, best to know a range class for - # a value - recommended: false if is_defined_by else true - value: - range: string - # unless we have a defined value given, we require a value - # specification -- no purpose in having a property without - # any value assigned - required: false if is_defined_by else true - notes: - - We would really want to be able to leave the range undefined and permit - any type. However, linkml requires a range specification. A workaround - via linkml:Any does not produce a satisfactory solution. + predicate: + required: true + description: >- + An attribute is conceptually a thing, but it requires no dedicated + identifier (`id`). Instead, it is linked to a `Thing` via its + `has_attributes` slot and declares a `predicate` on the nature of + the relationship. exact_mappings: - sio:SIO_000614 + close_mappings: + - dlthing:Thing Property: class_uri: dlthing:Property - is_a: Characteristic + is_a: Thing description: >- - An inherent quality, function, disposition or process characteristic - that is being observed or measured. + An RDF property, a `Thing` used to define a `predicate`, for example + in a `Statement`. + exact_mappings: + - rdf:Property + + Statement: + class_uri: dlthing:Statement + description: >- + An RDF statement that links a `predicate` (a `Property`) with an + `object` (a `Thing`) to the subject to form a triple. + A `Statement` is used to qualify a relation to a `Thing` referenced + by its identifier. For specifying a qualified relation to an + attribute that has no dedicated identifier, use + an `AttributeSpecification`. slots: - - meta_type + - object + - predicate + slot_usage: + object: + required: true + predicate: + required: true exact_mappings: - - sio:SIO_000613 + - rdf:Statement - QuantitativeProperty: - class_uri: dlthing:QuantitativeProperty - is_a: Property + Thing: + class_uri: dlthing:Thing + mixins: + - ThingMixin description: >- - An inherent quantitative property that is being observed or measured. + The most basic, identifiable item. In addition to the slots + that are common between a `Thing` and an `AttributeSpecification` + (see `ThingMixin`), two additional slots are provided. The `id` + slot takes the required identifier for a `Thing`. The `relation` + slot allows for the inline specification of other `Thing` instances. + Such a relation is unqualified (and symmetric), and should be + further characterized via a `Statement` (see `is_characterized_by`). + From a schema perspective, the `relation` slots allows for building + self-contained, structured documents (e.g., a JSON object) with + arbitrarily complex information on a `Thing`. slots: - - unit - #- scale - #- distribution - close_mappings: - - obo:NCIT_C70766 + - id + - relations + exact_mappings: + - schema:Thing + + ValueSpecification: + is_a: Thing + mixins: + - ValueSpecificationMixin + description: >- + A `Thing` that is a value of some kind. This class can be used + to describe an outcome of a measurement, a factual value or constant, + or other qualitative or quantitative information with an associated + identifier. If no identifier is available, an `AttributeSpecification` + can be used within the context of an associated `Thing` + (`has_attributes`). + slot_usage: + value: + required: true + notes: >- + It is required, because when it is not needed, `Thing` should be + used as a type. Its absence is therefore likely a sign of an error. + exact_mappings: + - obo:OBI_0001933 diff --git a/src/thing/unreleased/examples/AttributeSpecification-01-minimal.json b/src/thing/unreleased/examples/AttributeSpecification-01-minimal.json new file mode 100644 index 0000000..e292424 --- /dev/null +++ b/src/thing/unreleased/examples/AttributeSpecification-01-minimal.json @@ -0,0 +1,6 @@ +{ + "predicate": "dcterms:title", + "schema_type": "dlthing:AttributeSpecification", + "value": "My attribute", + "@type": "AttributeSpecification" +} diff --git a/src/thing/unreleased/examples/AttributeSpecification-01-minimal.yaml b/src/thing/unreleased/examples/AttributeSpecification-01-minimal.yaml new file mode 100644 index 0000000..ea28af7 --- /dev/null +++ b/src/thing/unreleased/examples/AttributeSpecification-01-minimal.yaml @@ -0,0 +1,5 @@ +# Technically, the only required aspect of an AttributeSpecification +# is a predicate. That is because an attribute may not only have a +# single value, but is a more complex collection of attribute facets. +predicate: dcterms:title +value: "My attribute" diff --git a/src/thing/unreleased/examples/AttributeSpecification-02-with-attributes.json b/src/thing/unreleased/examples/AttributeSpecification-02-with-attributes.json new file mode 100644 index 0000000..78fa328 --- /dev/null +++ b/src/thing/unreleased/examples/AttributeSpecification-02-with-attributes.json @@ -0,0 +1,18 @@ +{ + "predicate": "dcterms:identifier", + "has_attributes": [ + { + "predicate": "skos:notation", + "schema_type": "dlthing:AttributeSpecification", + "value": "5008462-8" + }, + { + "predicate": "ADMS:schemaAgency", + "schema_type": "dlthing:AttributeSpecification", + "value": "https://d-nb.info" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "type": "ADMS:Identifier", + "@type": "AttributeSpecification" +} diff --git a/src/thing/unreleased/examples/AttributeSpecification-02-with-attributes.yaml b/src/thing/unreleased/examples/AttributeSpecification-02-with-attributes.yaml new file mode 100644 index 0000000..35bf5d1 --- /dev/null +++ b/src/thing/unreleased/examples/AttributeSpecification-02-with-attributes.yaml @@ -0,0 +1,9 @@ +# An attribute without a singular value, but attributes of it +# own instead. +predicate: dcterms:identifier +type: ADMS:Identifier +has_attributes: + - predicate: skos:notation + value: 5008462-8 + - predicate: ADMS:schemaAgency + value: https://d-nb.info diff --git a/src/thing/unreleased/examples/Property-01-minimal.json b/src/thing/unreleased/examples/Property-01-minimal.json new file mode 100644 index 0000000..8282d19 --- /dev/null +++ b/src/thing/unreleased/examples/Property-01-minimal.json @@ -0,0 +1,5 @@ +{ + "id": "dcterms:title", + "schema_type": "dlthing:Property", + "@type": "Property" +} diff --git a/src/thing/unreleased/examples/Property-01-minimal.yaml b/src/thing/unreleased/examples/Property-01-minimal.yaml new file mode 100644 index 0000000..8272337 --- /dev/null +++ b/src/thing/unreleased/examples/Property-01-minimal.yaml @@ -0,0 +1,4 @@ +# A property is required to have an identifier, because it makes +# little sense to work with property definitions that cannot be +# referenced/resolved. +id: dcterms:title diff --git a/src/thing/unreleased/examples/Property-02-as_a_thing.json b/src/thing/unreleased/examples/Property-02-as_a_thing.json new file mode 100644 index 0000000..960eede --- /dev/null +++ b/src/thing/unreleased/examples/Property-02-as_a_thing.json @@ -0,0 +1,17 @@ +{ + "id": "dcterms:modified", + "has_attributes": [ + { + "predicate": "dcterms:title", + "schema_type": "dlthing:AttributeSpecification", + "value": "modified" + }, + { + "predicate": "dcterms:description", + "schema_type": "dlthing:AttributeSpecification", + "value": "Date on which the resource was changed." + } + ], + "schema_type": "dlthing:Property", + "@type": "Property" +} diff --git a/src/thing/unreleased/examples/Property-02-as_a_thing.yaml b/src/thing/unreleased/examples/Property-02-as_a_thing.yaml new file mode 100644 index 0000000..b96db4f --- /dev/null +++ b/src/thing/unreleased/examples/Property-02-as_a_thing.yaml @@ -0,0 +1,11 @@ +# A property is a thing, hence can be further defined using a +# Thing's means of definition. In general, properties are +# better referenced from well-defined vocabularies. However, +# for concrete technical applications, it can be useful to be +# able to specify key attributes of properties inline. +id: dcterms:modified +has_attributes: + - predicate: dcterms:title + value: "modified" + - predicate: dcterms:description + value: "Date on which the resource was changed." diff --git a/src/thing/unreleased/examples/Statement-01-minimal.json b/src/thing/unreleased/examples/Statement-01-minimal.json new file mode 100644 index 0000000..7dd9953 --- /dev/null +++ b/src/thing/unreleased/examples/Statement-01-minimal.json @@ -0,0 +1,5 @@ +{ + "object": "https://helmholtz.de", + "predicate": "schema:about", + "@type": "Statement" +} diff --git a/src/thing/unreleased/examples/Statement-01-minimal.yaml b/src/thing/unreleased/examples/Statement-01-minimal.yaml new file mode 100644 index 0000000..0856785 --- /dev/null +++ b/src/thing/unreleased/examples/Statement-01-minimal.yaml @@ -0,0 +1,5 @@ +# A statement contains the missing predicate and object to link to +# a subject in order to form a full RDF triple. Both are required, +# and both must be referenced (URI or CURIE) and not be inlined. +predicate: schema:about +object: https://helmholtz.de diff --git a/src/thing/unreleased/examples/Thing-minimal.json b/src/thing/unreleased/examples/Thing-01-minimal.json similarity index 60% rename from src/thing/unreleased/examples/Thing-minimal.json rename to src/thing/unreleased/examples/Thing-01-minimal.json index 2bf726e..2b33ab3 100644 --- a/src/thing/unreleased/examples/Thing-minimal.json +++ b/src/thing/unreleased/examples/Thing-01-minimal.json @@ -1,5 +1,5 @@ { "id": "exthisns:mything", - "meta_type": "dlthing:Thing", + "schema_type": "dlthing:Thing", "@type": "Thing" } diff --git a/src/thing/unreleased/examples/Thing-minimal.yaml b/src/thing/unreleased/examples/Thing-01-minimal.yaml similarity index 100% rename from src/thing/unreleased/examples/Thing-minimal.yaml rename to src/thing/unreleased/examples/Thing-01-minimal.yaml diff --git a/src/thing/unreleased/examples/Thing-02-identifiers.json b/src/thing/unreleased/examples/Thing-02-identifiers.json new file mode 100644 index 0000000..906d0f4 --- /dev/null +++ b/src/thing/unreleased/examples/Thing-02-identifiers.json @@ -0,0 +1,47 @@ +{ + "id": "https://ror.org/02nv7yv05", + "has_attributes": [ + { + "predicate": "dcterms:identifier", + "has_attributes": [ + { + "predicate": "ADMS:schemaAgency", + "schema_type": "dlthing:AttributeSpecification", + "range": "uri", + "value": "https://ror.org" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "value": "02nv7yv05" + }, + { + "predicate": "dcterms:identifier", + "has_attributes": [ + { + "predicate": "skos:notation", + "schema_type": "dlthing:AttributeSpecification", + "value": "5008462-8" + }, + { + "predicate": "ADMS:schemaAgency", + "schema_type": "dlthing:AttributeSpecification", + "value": "https://d-nb.info" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "type": "ADMS:Identifier" + } + ], + "is_characterized_by": [ + { + "object": "https://en.wikipedia.org/wiki/Forschungszentrum_J%C3%BClich", + "predicate": "owl:sameAs" + }, + { + "object": "https://www.wikidata.org/wiki/Q697111", + "predicate": "owl:sameAs" + } + ], + "schema_type": "dlthing:Thing", + "@type": "Thing" +} diff --git a/src/thing/unreleased/examples/Thing-02-identifiers.yaml b/src/thing/unreleased/examples/Thing-02-identifiers.yaml new file mode 100644 index 0000000..2880464 --- /dev/null +++ b/src/thing/unreleased/examples/Thing-02-identifiers.yaml @@ -0,0 +1,32 @@ +# Identification options for a thing. +# +# `id` is the identifier of the metadata record. In practice it can +# by any of the identifiers below. In a particular context, it is often +# useful to agree on a particular type of identifier to simplify knowledge +# aggregation for individual things. Arbitrary other identifiers +# can be recorded in addition. +id: https://ror.org/02nv7yv05 +has_attributes: + # Research Organization Registry + - predicate: dcterms:identifier + value: 02nv7yv05 + has_attributes: + - predicate: ADMS:schemaAgency + value: https://ror.org + range: uri + # German National Library + # (here not using the direct value specification, but defining + # a proper identifier with a `notation`) + - predicate: dcterms:identifier + type: ADMS:Identifier + has_attributes: + - predicate: skos:notation + value: 5008462-8 + - predicate: ADMS:schemaAgency + value: https://d-nb.info +is_characterized_by: + # Use `sameAs` to point to other sources talking about the same thing + - object: https://en.wikipedia.org/wiki/Forschungszentrum_J%C3%BClich + predicate: owl:sameAs + - object: https://www.wikidata.org/wiki/Q697111 + predicate: owl:sameAs diff --git a/src/thing/unreleased/examples/Thing-03-topic.json b/src/thing/unreleased/examples/Thing-03-topic.json new file mode 100644 index 0000000..ef47a43 --- /dev/null +++ b/src/thing/unreleased/examples/Thing-03-topic.json @@ -0,0 +1,11 @@ +{ + "id": "https://doi.org/10.21105/joss.03262", + "is_characterized_by": [ + { + "object": "https://www.scicrunch.org/resolver/SCR_003931", + "predicate": "schema:about" + } + ], + "schema_type": "dlthing:Thing", + "@type": "Thing" +} diff --git a/src/thing/unreleased/examples/Thing-03-topic.yaml b/src/thing/unreleased/examples/Thing-03-topic.yaml new file mode 100644 index 0000000..98ced4a --- /dev/null +++ b/src/thing/unreleased/examples/Thing-03-topic.yaml @@ -0,0 +1,6 @@ +# Relate a thing to topic/subjects +id: https://doi.org/10.21105/joss.03262 +is_characterized_by: + # DataLad software + - object: https://www.scicrunch.org/resolver/SCR_003931 + predicate: schema:about diff --git a/src/thing/unreleased/examples/Thing-04-publication.json b/src/thing/unreleased/examples/Thing-04-publication.json new file mode 100644 index 0000000..4770b3d --- /dev/null +++ b/src/thing/unreleased/examples/Thing-04-publication.json @@ -0,0 +1,141 @@ +{ + "id": "https://doi.org/10.1038/s41597-022-01163-2", + "relations": [ + { + "id": "https://portal.issn.org/resource/issn/2052-4463", + "has_attributes": [ + { + "predicate": "dcterms:title", + "schema_type": "dlthing:AttributeSpecification", + "value": "Scientific Data" + } + ], + "schema_type": "dlthing:Thing", + "type": "bibo:Journal" + } + ], + "has_attributes": [ + { + "predicate": "dcterms:title", + "schema_type": "dlthing:AttributeSpecification", + "value": "FAIRly big: A framework for computationally reproducible processing of large-scale data" + }, + { + "predicate": "dcterms:description", + "schema_type": "dlthing:AttributeSpecification", + "value": "Large-scale datasets present unique opportunities to perform scientific investigations with unprecedented breadth. However, they also pose considerable challenges for the findability, accessibility, interoperability, and reusability (FAIR) of research outcomes due to infrastructure limitations, data usage constraints, or software license restrictions. Here we introduce a DataLad-based, domain-agnostic framework suitable for reproducible data processing in compliance with open science mandates. The framework attempts to minimize platform idiosyncrasies and performance-related complexities. It affords the capture of machine-actionable computational provenance records that can be used to retrace and verify the origins of research outcomes, as well as be re-executed independent of the original computing infrastructure. We demonstrate the framework’s performance using two showcases: one highlighting data sharing and transparency (using the studyforrest.org dataset) and another highlighting scalability (using the largest public brain imaging dataset available: the UK Biobank dataset)." + }, + { + "predicate": "dcterms:identifier", + "has_attributes": [ + { + "predicate": "skos:notation", + "schema_type": "dlthing:AttributeSpecification", + "value": "10.1038/s41597-022-01163-2" + }, + { + "predicate": "ADMS:schemaAgency", + "schema_type": "dlthing:AttributeSpecification", + "value": "https://doi.org" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "type": "ADMS:Identifier" + }, + { + "predicate": "dcterms:bibliographicCitation", + "schema_type": "dlthing:AttributeSpecification", + "value": "Wagner, A.S., Waite, L.K., Wierzba, M. et al. FAIRly big: A framework for computationally reproducible processing of large-scale data. Sci Data 9, 80 (2022)." + }, + { + "predicate": "bibo:doi", + "has_attributes": [ + { + "predicate": "dcterms:title", + "schema_type": "dlthing:AttributeSpecification", + "value": "DOI" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "value": "https://doi.org/10.1038/s41597-022-01163-2" + }, + { + "predicate": "bibo:volume", + "has_attributes": [ + { + "predicate": "dcterms:title", + "schema_type": "dlthing:AttributeSpecification", + "value": "Volume" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "value": "9" + }, + { + "predicate": "bibo:number", + "has_attributes": [ + { + "predicate": "dcterms:title", + "schema_type": "dlthing:AttributeSpecification", + "value": "Document number" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "value": "80" + }, + { + "predicate": "bibo:numPages", + "has_attributes": [ + { + "predicate": "dcterms:title", + "schema_type": "dlthing:AttributeSpecification", + "value": "Number of pages" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "range": "xsd:nonNegativeInteger", + "value": "17" + }, + { + "predicate": "dcterms:modified", + "schema_type": "dlthing:AttributeSpecification", + "range": "xsd:date", + "value": "2022-02-11" + }, + { + "predicate": "dcterms:date", + "schema_type": "dlthing:AttributeSpecification", + "range": "xsd:date", + "value": "2022-03-11" + } + ], + "is_characterized_by": [ + { + "object": "https://portal.issn.org/resource/issn/2052-4463", + "predicate": "dcterms:isPartOf" + }, + { + "object": "https://www.nature.com/subjects/data-processing", + "predicate": "schema:about" + }, + { + "object": "https://www.nature.com/subjects/data-publication-and-archiving", + "predicate": "schema:about" + }, + { + "object": "https://www.nature.com/subjects/software", + "predicate": "schema:about" + }, + { + "object": "https://www.nature.com/articles/s41597-022-01163-2", + "predicate": "schema:sameAs" + }, + { + "object": "https://spdx.org/licenses/CC-BY-4.0", + "predicate": "dcterms:license" + } + ], + "schema_type": "dlthing:Thing", + "type": "bibo:AcademicArticle", + "@type": "Thing" +} diff --git a/src/thing/unreleased/examples/Thing-04-publication.yaml b/src/thing/unreleased/examples/Thing-04-publication.yaml new file mode 100644 index 0000000..9dcf141 --- /dev/null +++ b/src/thing/unreleased/examples/Thing-04-publication.yaml @@ -0,0 +1,72 @@ +# A record on a scientific publication, as an example of describing +# a rather specialized thing without any dedicated support for +# specialized concepts by the schema itself. +# other schemas for those aspects. +id: https://doi.org/10.1038/s41597-022-01163-2 +type: bibo:AcademicArticle +relations: + # the containing journal with some information on it + - id: https://portal.issn.org/resource/issn/2052-4463 + type: bibo:Journal + has_attributes: + - predicate: dcterms:title + value: "Scientific Data" +has_attributes: + - predicate: dcterms:title + value: "FAIRly big: A framework for computationally reproducible processing of large-scale data" + - predicate: dcterms:description + value: "Large-scale datasets present unique opportunities to perform scientific investigations with unprecedented breadth. However, they also pose considerable challenges for the findability, accessibility, interoperability, and reusability (FAIR) of research outcomes due to infrastructure limitations, data usage constraints, or software license restrictions. Here we introduce a DataLad-based, domain-agnostic framework suitable for reproducible data processing in compliance with open science mandates. The framework attempts to minimize platform idiosyncrasies and performance-related complexities. It affords the capture of machine-actionable computational provenance records that can be used to retrace and verify the origins of research outcomes, as well as be re-executed independent of the original computing infrastructure. We demonstrate the framework’s performance using two showcases: one highlighting data sharing and transparency (using the studyforrest.org dataset) and another highlighting scalability (using the largest public brain imaging dataset available: the UK Biobank dataset)." + # DOI + - predicate: dcterms:identifier + type: ADMS:Identifier + has_attributes: + - predicate: skos:notation + value: 10.1038/s41597-022-01163-2 + - predicate: ADMS:schemaAgency + value: https://doi.org + # bibliographic information + - predicate: dcterms:bibliographicCitation + value: "Wagner, A.S., Waite, L.K., Wierzba, M. et al. FAIRly big: A framework for computationally reproducible processing of large-scale data. Sci Data 9, 80 (2022)." + - predicate: bibo:doi + has_attributes: + - predicate: dcterms:title + value: DOI + value: https://doi.org/10.1038/s41597-022-01163-2 + - predicate: bibo:volume + has_attributes: + - predicate: dcterms:title + value: Volume + value: "9" + - predicate: bibo:number + has_attributes: + - predicate: dcterms:title + value: Document number + value: "80" + - predicate: bibo:numPages + has_attributes: + - predicate: dcterms:title + value: Number of pages + value: "17" + range: xsd:nonNegativeInteger + - predicate: dcterms:modified + range: xsd:date + value: "2022-02-11" + - predicate: dcterms:date + range: xsd:date + value: "2022-03-11" +is_characterized_by: + # containing journal + - predicate: dcterms:isPartOf + object: https://portal.issn.org/resource/issn/2052-4463 + # related topics + - predicate: schema:about + object: https://www.nature.com/subjects/data-processing + - predicate: schema:about + object: https://www.nature.com/subjects/data-publication-and-archiving + - predicate: schema:about + object: https://www.nature.com/subjects/software + # publisher landing page + - predicate: schema:sameAs + object: https://www.nature.com/articles/s41597-022-01163-2 + - predicate: dcterms:license + object: https://spdx.org/licenses/CC-BY-4.0 diff --git a/src/thing/unreleased/examples/Thing-customproperty.json b/src/thing/unreleased/examples/Thing-customproperty.json deleted file mode 100644 index 4970998..0000000 --- a/src/thing/unreleased/examples/Thing-customproperty.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "exthisns:mything", - "meta_type": "dlthing:Thing", - "has_property": [ - { - "is_defined_by": "http://dbpedia.org/resource/Canada", - "name": "origin country", - "type": "obo:HSO_0000360", - "value": "Canada", - "meta_type": "dlthing:Property" - }, - { - "name": "biospecimen weight (kg)", - "type": "obo:NCIT_C181733", - "range": "xsd:decimal", - "value": "145.3", - "meta_type": "dlthing:QuantitativeProperty", - "unit": "obo:UO_0000009" - } - ], - "@type": "Thing" -} diff --git a/src/thing/unreleased/examples/Thing-customproperty.yaml b/src/thing/unreleased/examples/Thing-customproperty.yaml deleted file mode 100644 index c06f54f..0000000 --- a/src/thing/unreleased/examples/Thing-customproperty.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# Arbitrary (well-defined) properties can be attached to any Thing. -# -# Example: something heavy from Canada -id: exthisns:mything -has_property: - - type: obo:HSO_0000360 - name: origin country - value: Canada - is_defined_by: http://dbpedia.org/resource/Canada - - meta_type: dlthing:QuantitativeProperty - type: obo:NCIT_C181733 - name: biospecimen weight (kg) - value: "145.3" - # kilogram - unit: obo:UO_0000009 - range: xsd:decimal diff --git a/src/thing/unreleased/examples/Thing-identifiers.json b/src/thing/unreleased/examples/Thing-identifiers.json deleted file mode 100644 index 2f8e4e2..0000000 --- a/src/thing/unreleased/examples/Thing-identifiers.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": "https://ror.org/02nv7yv05", - "identifier": [ - { - "notation": "02nv7yv05", - "schema_agency": "https://ror.org" - }, - { - "notation": "5008462-8", - "schema_agency": "https://d-nb.info" - }, - { - "notation": "n83199611", - "schema_agency": "https://lccn.loc.gov" - }, - { - "notation": "148696642", - "schema_agency": "https://viaf.org" - }, - { - "notation": "DE 122624631", - "schema_agency": "https://www.bzst.de" - } - ], - "meta_type": "dlthing:Thing", - "same_as": [ - "https://en.wikipedia.org/wiki/Forschungszentrum_J%C3%BClich", - "https://www.fz-juelich.de", - "https://www.wikidata.org/wiki/Q697111" - ], - "@type": "Thing" -} diff --git a/src/thing/unreleased/examples/Thing-identifiers.yaml b/src/thing/unreleased/examples/Thing-identifiers.yaml deleted file mode 100644 index 6be96bc..0000000 --- a/src/thing/unreleased/examples/Thing-identifiers.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# Identification options for a thing. -# -# `id` is the identifier of the metadata record. In practice it can -# by any of the identifiers below. In a particular context, it is often -# useful to agree on a particular type of identifier to simplify knowledge -# aggregation for individual things. Arbitrary other identifiers -# can be recorded in addition. -id: https://ror.org/02nv7yv05 -identifier: - # Research Organization Registry - - notation: 02nv7yv05 - schema_agency: https://ror.org - # German National Library - - notation: 5008462-8 - schema_agency: https://d-nb.info - # Library of Congress Control Number - - notation: n83199611 - schema_agency: https://lccn.loc.gov - # Virtual International Authority File - - notation: "148696642" - schema_agency: https://viaf.org - # VAT number - - notation: "DE 122624631" - schema_agency: https://www.bzst.de -# Use `same_as` to point to other sources talking about the same thing -same_as: - - https://en.wikipedia.org/wiki/Forschungszentrum_J%C3%BClich - - https://www.fz-juelich.de - - https://www.wikidata.org/wiki/Q697111 diff --git a/src/thing/unreleased/examples/Thing-publication.json b/src/thing/unreleased/examples/Thing-publication.json deleted file mode 100644 index 62ed84d..0000000 --- a/src/thing/unreleased/examples/Thing-publication.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "id": "https://doi.org/10.1038/s41597-022-01163-2", - "description": "Large-scale datasets present unique opportunities to perform scientific investigations with unprecedented breadth. However, they also pose considerable challenges for the findability, accessibility, interoperability, and reusability (FAIR) of research outcomes due to infrastructure limitations, data usage constraints, or software license restrictions. Here we introduce a DataLad-based, domain-agnostic framework suitable for reproducible data processing in compliance with open science mandates. The framework attempts to minimize platform idiosyncrasies and performance-related complexities. It affords the capture of machine-actionable computational provenance records that can be used to retrace and verify the origins of research outcomes, as well as be re-executed independent of the original computing infrastructure. We demonstrate the framework’s performance using two showcases: one highlighting data sharing and transparency (using the studyforrest.org dataset) and another highlighting scalability (using the largest public brain imaging dataset available: the UK Biobank dataset).", - "identifier": [ - { - "notation": "10.1038/s41597-022-01163-2", - "schema_agency": "https://doi.org" - } - ], - "is_about": [ - "https://www.nature.com/subjects/data-processing", - "https://www.nature.com/subjects/data-publication-and-archiving", - "https://www.nature.com/subjects/software" - ], - "meta_type": "dlthing:Thing", - "name": "FAIRLy big", - "has_property": [ - { - "type": "dcterms:bibliographicCitation", - "value": "Wagner, A.S., Waite, L.K., Wierzba, M. et al. FAIRly big: A framework for computationally reproducible processing of large-scale data. Sci Data 9, 80 (2022).", - "meta_type": "dlthing:Property" - }, - { - "is_defined_by": "https://portal.issn.org/resource/issn/2052-4463", - "type": "dcterms:isPartOf", - "value": "Scientific Data", - "meta_type": "dlthing:Property" - }, - { - "name": "DOI", - "type": "bibo:doi", - "value": "https://doi.org/10.1038/s41597-022-01163-2", - "meta_type": "dlthing:Property" - }, - { - "name": "Volume", - "type": "bibo:volume", - "value": "9", - "meta_type": "dlthing:Property" - }, - { - "name": "Document number", - "type": "bibo:number", - "value": "80", - "meta_type": "dlthing:Property" - }, - { - "name": "Number of pages", - "type": "bibo:numPages", - "range": "xsd:nonNegativeInteger", - "value": "17", - "meta_type": "dlthing:Property" - }, - { - "type": "dcterms:modified", - "range": "xsd:date", - "value": "2022-02-11", - "meta_type": "dlthing:Property" - }, - { - "type": "dcterms:date", - "range": "xsd:date", - "value": "2022-03-11", - "meta_type": "dlthing:Property" - } - ], - "same_as": [ - "https://www.nature.com/articles/s41597-022-01163-2" - ], - "title": "FAIRly big: A framework for computationally reproducible processing of large-scale data", - "type": "bibo:AcademicArticle", - "@type": "Thing" -} diff --git a/src/thing/unreleased/examples/Thing-publication.yaml b/src/thing/unreleased/examples/Thing-publication.yaml deleted file mode 100644 index 199be00..0000000 --- a/src/thing/unreleased/examples/Thing-publication.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# A scientific publication. -# This is a simplified example lacking any relation descriptions -# (e.g. authors, funding, etc), see publication examples for -# other schemas for those aspects. -id: https://doi.org/10.1038/s41597-022-01163-2 -type: bibo:AcademicArticle -name: "FAIRLy big" -title: "FAIRly big: A framework for computationally reproducible processing of large-scale data" -description: - "Large-scale datasets present unique opportunities to perform scientific investigations with unprecedented breadth. However, they also pose considerable challenges for the findability, accessibility, interoperability, and reusability (FAIR) of research outcomes due to infrastructure limitations, data usage constraints, or software license restrictions. Here we introduce a DataLad-based, domain-agnostic framework suitable for reproducible data processing in compliance with open science mandates. The framework attempts to minimize platform idiosyncrasies and performance-related complexities. It affords the capture of machine-actionable computational provenance records that can be used to retrace and verify the origins of research outcomes, as well as be re-executed independent of the original computing infrastructure. We demonstrate the framework’s performance using two showcases: one highlighting data sharing and transparency (using the studyforrest.org dataset) and another highlighting scalability (using the largest public brain imaging dataset available: the UK Biobank dataset)." -identifier: - - notation: 10.1038/s41597-022-01163-2 - schema_agency: https://doi.org -# related topics -is_about: - - https://www.nature.com/subjects/data-processing - - https://www.nature.com/subjects/data-publication-and-archiving - - https://www.nature.com/subjects/software -#license: licenses:CC-BY-4.0 -same_as: - - https://www.nature.com/articles/s41597-022-01163-2 -# custom properties can be used to arbitrarily (and possibly redundantly) -# detail the publication record for better fit with specialized consumers -has_property: - - type: dcterms:bibliographicCitation - value: "Wagner, A.S., Waite, L.K., Wierzba, M. et al. FAIRly big: A framework for computationally reproducible processing of large-scale data. Sci Data 9, 80 (2022)." - - type: dcterms:isPartOf - value: Scientific Data - is_defined_by: https://portal.issn.org/resource/issn/2052-4463 - - type: bibo:doi - name: DOI - value: https://doi.org/10.1038/s41597-022-01163-2 - - type: bibo:volume - name: Volume - value: "9" - - type: bibo:number - name: Document number - value: "80" - - type: bibo:numPages - name: Number of pages - value: "17" - range: xsd:nonNegativeInteger - - type: dcterms:modified - range: xsd:date - value: "2022-02-11" - - type: dcterms:date - range: xsd:date - value: "2022-03-11" diff --git a/src/thing/unreleased/examples/Thing-topic.json b/src/thing/unreleased/examples/Thing-topic.json deleted file mode 100644 index 186cb85..0000000 --- a/src/thing/unreleased/examples/Thing-topic.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "id": "https://doi.org/10.21105/joss.03262", - "is_about": [ - "https://www.scicrunch.org/resolver/SCR_003931" - ], - "meta_type": "dlthing:Thing", - "@type": "Thing" -} diff --git a/src/thing/unreleased/examples/Thing-topic.yaml b/src/thing/unreleased/examples/Thing-topic.yaml deleted file mode 100644 index 4de37b2..0000000 --- a/src/thing/unreleased/examples/Thing-topic.yaml +++ /dev/null @@ -1,5 +0,0 @@ -# Relate a thing to topic/subjects -id: https://doi.org/10.21105/joss.03262 -is_about: - # DataLad software - - https://www.scicrunch.org/resolver/SCR_003931 diff --git a/src/thing/unreleased/examples/ValueSpecification-01-minimal.json b/src/thing/unreleased/examples/ValueSpecification-01-minimal.json new file mode 100644 index 0000000..f2dd885 --- /dev/null +++ b/src/thing/unreleased/examples/ValueSpecification-01-minimal.json @@ -0,0 +1,6 @@ +{ + "id": "exthisns:measurement853", + "schema_type": "dlthing:ValueSpecification", + "value": "special", + "@type": "ValueSpecification" +} diff --git a/src/thing/unreleased/examples/ValueSpecification-01-minimal.yaml b/src/thing/unreleased/examples/ValueSpecification-01-minimal.yaml new file mode 100644 index 0000000..951de25 --- /dev/null +++ b/src/thing/unreleased/examples/ValueSpecification-01-minimal.yaml @@ -0,0 +1,9 @@ +# The absolute minimum of a value specification is an +# identifier and a value. For something where no identifier +# can be assigned, `AttributeSpecification` can be used +# for attaching it to and identifiable thing. +# Such a plain value specification should only be used when +# additional essential properties can be aggregated via the +# identifier. +id: exthisns:measurement853 +value: "special" diff --git a/src/thing/unreleased/examples/ValueSpecification-02-quantitative-measurement.json b/src/thing/unreleased/examples/ValueSpecification-02-quantitative-measurement.json new file mode 100644 index 0000000..ad7adce --- /dev/null +++ b/src/thing/unreleased/examples/ValueSpecification-02-quantitative-measurement.json @@ -0,0 +1,28 @@ +{ + "id": "exthisns:measurement853", + "has_attributes": [ + { + "predicate": "dcterms:title", + "schema_type": "dlthing:AttributeSpecification", + "value": "measured mass (kg)" + } + ], + "is_characterized_by": [ + { + "object": "obo:IAO_0000109", + "predicate": "schema:about" + }, + { + "object": "obo:PATO_0000125", + "predicate": "schema:about" + }, + { + "object": "obo:UO_0000009", + "predicate": "obo:UO_0000000" + } + ], + "schema_type": "dlthing:ValueSpecification", + "value": "145.3", + "range": "xsd:decimal", + "@type": "ValueSpecification" +} diff --git a/src/thing/unreleased/examples/ValueSpecification-02-quantitative-measurement.yaml b/src/thing/unreleased/examples/ValueSpecification-02-quantitative-measurement.yaml new file mode 100644 index 0000000..d86141e --- /dev/null +++ b/src/thing/unreleased/examples/ValueSpecification-02-quantitative-measurement.yaml @@ -0,0 +1,16 @@ +id: exthisns:measurement853 +has_attributes: + - predicate: dcterms:title + value: "measured mass (kg)" +is_characterized_by: + # measurement datum + - predicate: schema:about + object: obo:IAO_0000109 + # mass + - predicate: schema:about + object: obo:PATO_0000125 + # unit: kilogram + - predicate: obo:UO_0000000 + object: obo:UO_0000009 +range: xsd:decimal +value: "145.3" diff --git a/src/thing/unreleased/validation/AttributeSpecification.valid.cfg.yaml b/src/thing/unreleased/validation/AttributeSpecification.valid.cfg.yaml new file mode 100644 index 0000000..9bb8a91 --- /dev/null +++ b/src/thing/unreleased/validation/AttributeSpecification.valid.cfg.yaml @@ -0,0 +1,10 @@ +schema: src/thing/unreleased.yaml +target_class: AttributeSpecification +data_sources: + - src/thing/unreleased/examples/AttributeSpecification-01-minimal.yaml + - src/thing/unreleased/examples/AttributeSpecification-02-with-attributes.yaml +plugins: + JsonschemaValidationPlugin: + closed: true + include_range_class_descendants: false + RecommendedSlotsPlugin: diff --git a/src/thing/unreleased/validation/Property.valid.cfg.yaml b/src/thing/unreleased/validation/Property.valid.cfg.yaml new file mode 100644 index 0000000..e811a48 --- /dev/null +++ b/src/thing/unreleased/validation/Property.valid.cfg.yaml @@ -0,0 +1,10 @@ +schema: src/thing/unreleased.yaml +target_class: Thing +data_sources: + - src/thing/unreleased/examples/Property-01-minimal.yaml + - src/thing/unreleased/examples/Property-02-as_a_thing.yaml +plugins: + JsonschemaValidationPlugin: + closed: true + include_range_class_descendants: false + RecommendedSlotsPlugin: diff --git a/src/thing/unreleased/validation/Statement.valid.cfg.yaml b/src/thing/unreleased/validation/Statement.valid.cfg.yaml new file mode 100644 index 0000000..d59f433 --- /dev/null +++ b/src/thing/unreleased/validation/Statement.valid.cfg.yaml @@ -0,0 +1,9 @@ +schema: src/thing/unreleased.yaml +target_class: Statement +data_sources: + - src/thing/unreleased/examples/Statement-01-minimal.yaml +plugins: + JsonschemaValidationPlugin: + closed: true + include_range_class_descendants: false + RecommendedSlotsPlugin: diff --git a/src/thing/unreleased/validation/Thing.valid.cfg.yaml b/src/thing/unreleased/validation/Thing.valid.cfg.yaml index efb2e50..2d2ede7 100644 --- a/src/thing/unreleased/validation/Thing.valid.cfg.yaml +++ b/src/thing/unreleased/validation/Thing.valid.cfg.yaml @@ -1,11 +1,10 @@ schema: src/thing/unreleased.yaml target_class: Thing data_sources: - - src/thing/unreleased/examples/Thing-minimal.yaml - - src/thing/unreleased/examples/Thing-identifiers.yaml - - src/thing/unreleased/examples/Thing-topic.yaml - - src/thing/unreleased/examples/Thing-customproperty.yaml - - src/thing/unreleased/examples/Thing-publication.yaml + - src/thing/unreleased/examples/Thing-01-minimal.yaml + - src/thing/unreleased/examples/Thing-02-identifiers.yaml + - src/thing/unreleased/examples/Thing-03-topic.yaml + - src/thing/unreleased/examples/Thing-04-publication.yaml plugins: JsonschemaValidationPlugin: closed: true diff --git a/src/thing/unreleased/validation/ValueSpecification.valid.cfg.yaml b/src/thing/unreleased/validation/ValueSpecification.valid.cfg.yaml new file mode 100644 index 0000000..9125274 --- /dev/null +++ b/src/thing/unreleased/validation/ValueSpecification.valid.cfg.yaml @@ -0,0 +1,10 @@ +schema: src/thing/unreleased.yaml +target_class: ValueSpecification +data_sources: + - src/thing/unreleased/examples/ValueSpecification-01-minimal.yaml + - src/thing/unreleased/examples/ValueSpecification-02-quantitative-measurement.yaml +plugins: + JsonschemaValidationPlugin: + closed: true + include_range_class_descendants: false + RecommendedSlotsPlugin: From c0ffd9d76e67ae67fa4585c988b853c4d8b6a158 Mon Sep 17 00:00:00 2001 From: Michael Hanke Date: Tue, 3 Dec 2024 16:54:31 +0100 Subject: [PATCH 2/4] Minor `prov` update in response to the new `thing` schema version --- src/prov/unreleased.yaml | 36 ++++--------------- .../examples/EntityInfluence-std.json | 2 +- 2 files changed, 7 insertions(+), 31 deletions(-) diff --git a/src/prov/unreleased.yaml b/src/prov/unreleased.yaml index ed475a4..560ae50 100644 --- a/src/prov/unreleased.yaml +++ b/src/prov/unreleased.yaml @@ -2,22 +2,19 @@ id: https://concepts.datalad.org/s/prov/unreleased name: prov-schema version: UNRELEASED status: bibo:status/draft -title: Schema for a generic data provenance +title: Schema for a generic data provenance annotation description: | This schema builds on the [Thing schema](https://concepts.datalad.org/s/thing), and diversifies it to capture the key provenance concepts `Agent`, `Activity`, `Entity` and their relationships. It does that by drawing on (a subset) of the PROV data model [PROV-DM](https://www.w3.org/TR/prov-dm). Central paradigm of the schema is the [qualified relation pattern](https://patterns.dataincubator.org/book/qualified-relation.html). - The three `Thing` derived key concepts `Agent`, `Activity`, and `Entity` each provide a `relation` (symmetric property) slot for **inline declaration** of related things. - This `relation` slot is also the **only** slots that permits inline declaration. - A relationship can be further characterized by referencing a `Thing` by its object identifier in slots like `was_attributed_to` (for an `Agent`). - Full relation qualification is supported via inline declaration of `Influence` (derived) class instances in slots like + The three `Thing` derived key concepts `Agent`, `Activity`, and `Entity` build on the `Thing` slot `relation` (symmetric property) for **inline declaration** of related things, and extend the basic means of qualifying a relationship via `is_characterized_by` with provenance specific slots and corresponding association classes. For example: - `qualified_relation`: for an `EntityInfluence` on an `Entity` - `qualified_association`: for an `AgentInfluence` on an `Activity` - `qualified_attribution`: for an `AgentInfluence` on an `Entity` - Available as + The schema definition is available as - [JSON-LD context](../unreleased.jsonld) - [LinkML YAML](../unreleased.yaml) @@ -143,9 +140,7 @@ slots: description: >- The function of an entity or agent with respect to another entity or resource. - # TODO do we need an activity class? - #range: Activity - range: uriorcurie + range: Activity exact_mappings: - prov:hadActivity @@ -176,20 +171,6 @@ slots: broad_mappings: - dcterms:relation - relation: - slot_uri: dlprov:relation - description: >- - The subject has a relation to the object. - domain: Thing - inlined: true - inlined_as_list: true - multivalued: true - range: Thing - relational_role: OBJECT - symmetric: true - exact_mappings: - - dcterms:relation - qualified_association: slot_uri: dlprov:qualified_association description: >- @@ -308,7 +289,6 @@ classes: transforming, modifying, relocating, using, or generating entities. slots: - qualified_association - - relation - was_associated_with - was_informed_by # - at_location @@ -342,8 +322,6 @@ classes: Something that bears some form of responsibility for an activity taking place, for the existence of an entity, or for another agent's activity. - slots: - - relation exact_mappings: - foaf:Agent - prov:Agent @@ -361,7 +339,6 @@ classes: - qualified_attribution - qualified_derivation - qualified_relation - - relation - was_attributed_to - was_derived_from - was_generated_by @@ -455,7 +432,7 @@ classes: or behavior of another. slots: - entity - - meta_type + - schema_type slot_usage: entity: multivalued: true @@ -480,12 +457,11 @@ classes: Role: class_uri: dlprov:Role + is_a: Thing description: >- A role is the function of a resource or agent with respect to another resource, in the context of resource attribution or resource relationships. - slots: - - id exact_mappings: - prov:Role - dcat:Role diff --git a/src/prov/unreleased/examples/EntityInfluence-std.json b/src/prov/unreleased/examples/EntityInfluence-std.json index e2cbcc5..40a7176 100644 --- a/src/prov/unreleased/examples/EntityInfluence-std.json +++ b/src/prov/unreleased/examples/EntityInfluence-std.json @@ -5,6 +5,6 @@ "entity": [ "https://en.wikipedia.org/wiki/Vulcan_(Star_Trek)#Mind_melds" ], - "meta_type": "dlprov:EntityInfluence", + "schema_type": "dlprov:EntityInfluence", "@type": "EntityInfluence" } From 3b596f1bffb9633282ed6f6a467675194172077b Mon Sep 17 00:00:00 2001 From: Michael Hanke Date: Wed, 4 Dec 2024 10:02:36 +0100 Subject: [PATCH 3/4] Update of the `distribution` schema This is primarily in response to the `thing` revision. Additionally, the `Parameter` concept and the conflict of `AttributeSpecification` with its required `predicate` vs `has_parameter` needs another pass. The support for it has been removed here, and needs to be reintroduced once a suitable solution is available. This pending update should happen with awareness of https://github.com/psychoinformatics-de/datalad-concepts/issues/172 --- .../examples/Distribution-annexaccess.json | 18 ---- .../examples/Distribution-annexaccess.yaml | 13 --- .../examples/Distribution-annexkey.json | 2 +- .../Distribution-datasetcontentaccess.json | 30 ++++--- .../Distribution-datasetcontentaccess.yaml | 15 ++-- .../examples/Distribution-gittree.json | 2 +- .../examples/Resource-dataladdataset.json | 11 --- .../examples/Resource-dataladdataset.yaml | 10 --- .../examples/Resource-gitcommit.json | 66 -------------- .../examples/Resource-gitcommit.yaml | 63 ------------- .../unreleased/extra-docs/about.md | 2 +- .../validation/Distribution.valid.cfg.yaml | 1 - .../validation/Resource.valid.cfg.yaml | 2 - src/distribution/unreleased.yaml | 52 +++-------- .../examples/DataService-annexremote.json | 54 +++++------ .../examples/DataService-annexremote.yaml | 54 ++++++----- .../examples/Distribution-access.json | 47 +++------- .../examples/Distribution-access.yaml | 50 ++++++----- .../examples/Distribution-annexaccess.json | 8 +- .../examples/Distribution-annexaccess.yaml | 7 +- .../examples/Distribution-annexkey.json | 2 +- .../examples/Distribution-basic.json | 10 ++- .../examples/Distribution-basic.yaml | 4 +- .../examples/Distribution-customlicense.json | 6 +- .../examples/Distribution-customlicense.yaml | 4 +- .../examples/Distribution-datatypes.json | 13 ++- .../examples/Distribution-datatypes.yaml | 13 +-- .../examples/Distribution-formats.json | 15 ++-- .../examples/Distribution-formats.yaml | 6 +- .../examples/Distribution-gitblob.json | 2 +- .../examples/Distribution-gittree.json | 2 +- .../examples/Distribution-parts.json | 22 +++-- .../examples/Distribution-parts.yaml | 8 +- .../examples/Distribution-resource.json | 34 +++++-- .../examples/Distribution-resource.yaml | 20 +++-- .../examples/Resource-dataladdataset.json | 21 ++++- .../examples/Resource-dataladdataset.yaml | 11 ++- .../examples/Resource-gitcommit.json | 74 +++++++++------ .../examples/Resource-gitcommit.yaml | 31 ++++--- .../unreleased/examples/Resource-study.json | 90 +++++++++++++------ .../unreleased/examples/Resource-study.yaml | 57 +++++++----- .../unreleased/extra-docs/about.md | 2 +- src/sdd/unreleased.yaml | 1 - .../examples/Distribution-penguins.json | 38 ++++---- .../examples/Distribution-penguins.yaml | 22 ++--- .../unreleased/examples/Publication-std.json | 64 ++++++------- .../unreleased/examples/Publication-std.yaml | 48 +++++----- .../unreleased/examples/Resource-funding.json | 8 +- .../unreleased/examples/Resource-funding.yaml | 4 +- .../Distribution-dataverse-rtmefmri.yaml | 12 +-- 50 files changed, 528 insertions(+), 623 deletions(-) delete mode 100644 src/datalad-dataset/unreleased/examples/Distribution-annexaccess.json delete mode 100644 src/datalad-dataset/unreleased/examples/Distribution-annexaccess.yaml delete mode 100644 src/datalad-dataset/unreleased/examples/Resource-dataladdataset.json delete mode 100644 src/datalad-dataset/unreleased/examples/Resource-dataladdataset.yaml delete mode 100644 src/datalad-dataset/unreleased/examples/Resource-gitcommit.json delete mode 100644 src/datalad-dataset/unreleased/examples/Resource-gitcommit.yaml diff --git a/src/datalad-dataset/unreleased/examples/Distribution-annexaccess.json b/src/datalad-dataset/unreleased/examples/Distribution-annexaccess.json deleted file mode 100644 index eb85bd3..0000000 --- a/src/datalad-dataset/unreleased/examples/Distribution-annexaccess.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": "annex-key:MD5E-s3214--ba1f2511fc30423bdbb183fe33f3dd0f.csv", - "meta_type": "dldist:Distribution", - "qualified_access": [ - { - "access_service": [ - "annex-uuid:0a8713ca-ef42-11ee-a805-d3e9a774e795" - ], - "has_parameter": [ - { - "name": "key", - "value": "MD5E-s3214--ba1f2511fc30423bdbb183fe33f3dd0f.csv" - } - ] - } - ], - "@type": "Distribution" -} diff --git a/src/datalad-dataset/unreleased/examples/Distribution-annexaccess.yaml b/src/datalad-dataset/unreleased/examples/Distribution-annexaccess.yaml deleted file mode 100644 index 74bd012..0000000 --- a/src/datalad-dataset/unreleased/examples/Distribution-annexaccess.yaml +++ /dev/null @@ -1,13 +0,0 @@ -# specification of a distribution access via a git-annex special remote -id: annex-key:MD5E-s3214--ba1f2511fc30423bdbb183fe33f3dd0f.csv -qualified_access: - - access_service: - # see example DataService-annexremote for a matching specification - - annex-uuid:0a8713ca-ef42-11ee-a805-d3e9a774e795 - # there could be more remotes from which the same key is provided - # identify the annex key matching this Distribution, to complete the information - # required to perform a request. The name has to match the parameter specification - # of the access service - has_parameter: - - name: key - value: MD5E-s3214--ba1f2511fc30423bdbb183fe33f3dd0f.csv diff --git a/src/datalad-dataset/unreleased/examples/Distribution-annexkey.json b/src/datalad-dataset/unreleased/examples/Distribution-annexkey.json index c84c083..05bcf2a 100644 --- a/src/datalad-dataset/unreleased/examples/Distribution-annexkey.json +++ b/src/datalad-dataset/unreleased/examples/Distribution-annexkey.json @@ -1,6 +1,6 @@ { "id": "annex-key:MD5E-s3214--ba1f2511fc30423bdbb183fe33f3dd0f.csv", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "byte_size": 3214, "checksum": [ { diff --git a/src/datalad-dataset/unreleased/examples/Distribution-datasetcontentaccess.json b/src/datalad-dataset/unreleased/examples/Distribution-datasetcontentaccess.json index cb60e6f..e3a1caa 100644 --- a/src/datalad-dataset/unreleased/examples/Distribution-datasetcontentaccess.json +++ b/src/datalad-dataset/unreleased/examples/Distribution-datasetcontentaccess.json @@ -1,28 +1,36 @@ { "id": "gitsha:eb4d2457a1165519c61859152fe0e3394200d75d", - "identifier": [ - { - "notation": "eb4d2457a1165519c61859152fe0e3394200d75d", - "schema_agency": "https://git-scm.com" - } - ], - "meta_type": "dldist:Distribution", - "type": "https://git-scm.com/book/en/v2/Git-Internals-Git-Objects#_git_commit_objects", - "relation": [ + "relations": [ { "id": "https://github.com/datalad-datasets/machinelearning-books.git", - "meta_type": "dldist:DataService", + "schema_type": "dldist:DataService", "type": "http://usefulinc.com/ns/doap#GitRepository", "endpoint_url": "https://github.com/datalad-datasets/machinelearning-books.git" } ], + "has_attributes": [ + { + "predicate": "ADMS:identifier", + "has_attributes": [ + { + "predicate": "ADMS:SchemaAgency", + "schema_type": "dlthing:AttributeSpecification", + "value": "https://git-scm.com" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "value": "eb4d2457a1165519c61859152fe0e3394200d75d" + } + ], + "schema_type": "dldist:Distribution", + "type": "https://git-scm.com/book/en/v2/Git-Internals-Git-Objects#_git_commit_objects", "access_service": [ "https://github.com/datalad-datasets/machinelearning-books.git" ], "has_part": [ { "id": "gitsha:f776e30f386b83e13196eab6445f30d3ab54c155", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "access_service": [ "https://github.com/datalad-datasets/machinelearning-books.git" ] diff --git a/src/datalad-dataset/unreleased/examples/Distribution-datasetcontentaccess.yaml b/src/datalad-dataset/unreleased/examples/Distribution-datasetcontentaccess.yaml index 0711243..9aef0b8 100644 --- a/src/datalad-dataset/unreleased/examples/Distribution-datasetcontentaccess.yaml +++ b/src/datalad-dataset/unreleased/examples/Distribution-datasetcontentaccess.yaml @@ -3,10 +3,13 @@ id: gitsha:eb4d2457a1165519c61859152fe0e3394200d75d # abusing the documentation as a type definition URL of a Git commit # TODO define term in `datalad-dataset` schema type: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects#_git_commit_objects -identifier: - # a Git SHA - notation: eb4d2457a1165519c61859152fe0e3394200d75d - schema_agency: https://git-scm.com +has_attributes: + - predicate: ADMS:identifier + # a Git SHA + value: eb4d2457a1165519c61859152fe0e3394200d75d + has_attributes: + - predicate: ADMS:SchemaAgency + value: https://git-scm.com # A hosted (http-accessible) Git repository is the access service for this # commit and the associated tree. # We could also consider all of GitHub as an access service, and declare @@ -15,14 +18,14 @@ identifier: # applicable to any Git repo hosted anywhere access_service: - https://github.com/datalad-datasets/machinelearning-books.git -relation: +relations: # we leave inline information on the hosted Git repo in a relation. # use id from access_service property above - id: https://github.com/datalad-datasets/machinelearning-books.git # identify as a dataservice -- not strictly needed for an implementation # that wants to obtain the commit, because we have the id from `access_service` # to match against - meta_type: dldist:DataService + schema_type: dldist:DataService # we use the DOAP (description of a project) term to identify this dataservice # as a Git repository. # TODO define term in `datalad-dataset` schema diff --git a/src/datalad-dataset/unreleased/examples/Distribution-gittree.json b/src/datalad-dataset/unreleased/examples/Distribution-gittree.json index 074a57b..9aff30e 100644 --- a/src/datalad-dataset/unreleased/examples/Distribution-gittree.json +++ b/src/datalad-dataset/unreleased/examples/Distribution-gittree.json @@ -1,6 +1,6 @@ { "id": "gitsha:9a48c2bf7e97a081f2b1ab68eb909bbfc86267be", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "is_distribution_of": "gitsha:8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f", "qualified_part": [ { diff --git a/src/datalad-dataset/unreleased/examples/Resource-dataladdataset.json b/src/datalad-dataset/unreleased/examples/Resource-dataladdataset.json deleted file mode 100644 index c721f83..0000000 --- a/src/datalad-dataset/unreleased/examples/Resource-dataladdataset.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "id": "datalad-ds:cec1da92-0dbd-4df3-8602-7c72b2d12854", - "identifier": [ - { - "notation": "cec1da92-0dbd-4df3-8602-7c72b2d12854", - "schema_agency": "https://datalad.org" - } - ], - "meta_type": "dldist:Resource", - "@type": "Resource" -} diff --git a/src/datalad-dataset/unreleased/examples/Resource-dataladdataset.yaml b/src/datalad-dataset/unreleased/examples/Resource-dataladdataset.yaml deleted file mode 100644 index 6cea1f9..0000000 --- a/src/datalad-dataset/unreleased/examples/Resource-dataladdataset.yaml +++ /dev/null @@ -1,10 +0,0 @@ -id: datalad-ds:cec1da92-0dbd-4df3-8602-7c72b2d12854 -# we need a definition for a DataLad dataset -#type: ... -identifier: - - notation: cec1da92-0dbd-4df3-8602-7c72b2d12854 - schema_agency: https://datalad.org -# here could be any additional properties or linked resources -# that are related to the dataset in general and not just to a particular -# version -#is_about: ... diff --git a/src/datalad-dataset/unreleased/examples/Resource-gitcommit.json b/src/datalad-dataset/unreleased/examples/Resource-gitcommit.json deleted file mode 100644 index e8d0cb3..0000000 --- a/src/datalad-dataset/unreleased/examples/Resource-gitcommit.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "id": "gitsha:8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f", - "description": "This message describes the changes done for this particular Dataset version.\n", - "identifier": [ - { - "notation": "final2", - "schema_agency": "exthisds:#" - }, - { - "notation": "latest", - "schema_agency": "exthisds:#" - } - ], - "meta_type": "dldist:Resource", - "qualified_derivation": [ - { - "had_role": [ - "owl:priorVersion" - ], - "entity": [ - "gitsha:a52963ce19a3e3628e9976555ffc8c422b29f054" - ], - "meta_type": "dlprov:Derivation", - "had_activity": "obo:NCIT_C25446" - } - ], - "relation": [ - { - "id": "gitsha:8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#authoring", - "meta_type": "dlprov:Activity", - "type": "obo:NCIT_C25625", - "qualified_association": [ - { - "had_role": [ - "marcrel:aut" - ], - "agent": "exthisds:#gituser_doe@example.com" - } - ], - "ended_at": "2001-02-28T18:27:04+02:00" - }, - { - "id": "gitsha:8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#committing", - "meta_type": "dlprov:Activity", - "type": "obo:NCIT_C42882", - "qualified_association": [ - { - "had_role": [ - "marcrel:cre" - ], - "agent": "exthisds:#gituser_doe@example.com" - } - ], - "was_informed_by": [ - "gitsha:8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#authoring" - ], - "ended_at": "2002-05-30T09:30:10+06:00" - } - ], - "was_generated_by": [ - "gitsha:8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#committing" - ], - "is_version_of": "datalad-ds:cec1da92-0dbd-4df3-8602-7c72b2d12854", - "version": "8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f", - "@type": "Resource" -} diff --git a/src/datalad-dataset/unreleased/examples/Resource-gitcommit.yaml b/src/datalad-dataset/unreleased/examples/Resource-gitcommit.yaml deleted file mode 100644 index 6da8d0e..0000000 --- a/src/datalad-dataset/unreleased/examples/Resource-gitcommit.yaml +++ /dev/null @@ -1,63 +0,0 @@ -id: gitsha:8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f -# link to datalad dataset -is_version_of: datalad-ds:cec1da92-0dbd-4df3-8602-7c72b2d12854 -identifier: - # two git-tags associated with the commit - # they must be unique across all commits in the repo, hence we - # use the context entity for the version-less dataset as the - # agency/scope - - notation: final2 - schema_agency: exthisds:# - - notation: latest - schema_agency: exthisds:# -# this only *single* version label we can have without making additional -# assumptions is the commit gitsha -version: 8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f -# commit message -description: > - This message describes the changes done for this particular - Dataset version. -qualified_derivation: - # parent commit(s) - - entity: - # in a derivation any number of entities can play a role - - gitsha:a52963ce19a3e3628e9976555ffc8c422b29f054 - # "change", ie. unknown what was done - # there are plenty of terms to drill down on the nature - # of the derivation - # - obo:NCIT_C64266: merge - # - obo:NCIT_C64911: add - had_activity: obo:NCIT_C25446 - had_role: - - owl:priorVersion -relation: - # author activity - # this is modeled as a dedicated action so that the - # author time can be captured as an independent property. - # otherwise the author role could be added above - - id: gitsha:8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#authoring - meta_type: dlprov:Activity - # "preparation" - type: obo:NCIT_C25625 - ended_at: "2001-02-28T18:27:04+02:00" - qualified_association: - # author of the commit - - agent: exthisds:#gituser_doe@example.com - had_role: - - marcrel:aut - # commit activity - - id: gitsha:8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#committing - meta_type: dlprov:Activity - # go for activity type: "release", but could also be - # "label as such" (obo:NCIT_C64662) - type: obo:NCIT_C42882 - ended_at: "2002-05-30T09:30:10+06:00" - qualified_association: - # creator of the commit - - agent: exthisds:#gituser_doe@example.com - had_role: - - marcrel:cre - was_informed_by: - - gitsha:8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#authoring -was_generated_by: - - gitsha:8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#committing diff --git a/src/datalad-dataset/unreleased/extra-docs/about.md b/src/datalad-dataset/unreleased/extra-docs/about.md index 094551c..cbdaed7 100644 --- a/src/datalad-dataset/unreleased/extra-docs/about.md +++ b/src/datalad-dataset/unreleased/extra-docs/about.md @@ -33,7 +33,7 @@ TODO: how to declare relationships when no dedicated support for a particular ty Properties that are used as containers to define related objects support the declaration of specific subtypes of the respective range-defining class. For example, `was_attributed_to` accepts any `Agent`, but specialized classes maybe be more suitable in particular contexts. -Such a derived class can be indicated via the `meta_type` property. +Such a derived class can be indicated via the `schema_type` property. If declared, it is then used for data structure definition and validation for this particular record. Independent of this structure-focused type declaration, the `type` property can be used to detail the semantics of an object. diff --git a/src/datalad-dataset/unreleased/validation/Distribution.valid.cfg.yaml b/src/datalad-dataset/unreleased/validation/Distribution.valid.cfg.yaml index cdfce99..221a54b 100644 --- a/src/datalad-dataset/unreleased/validation/Distribution.valid.cfg.yaml +++ b/src/datalad-dataset/unreleased/validation/Distribution.valid.cfg.yaml @@ -2,7 +2,6 @@ schema: src/distribution/unreleased.yaml target_class: Distribution data_sources: - src/distribution/unreleased/examples/Distribution-basic.yaml - - src/datalad-dataset/unreleased/examples/Distribution-annexaccess.yaml - src/distribution/unreleased/examples/Distribution-customlicense.yaml - src/distribution/unreleased/examples/Distribution-resource.yaml - src/distribution/unreleased/examples/Distribution-parts.yaml diff --git a/src/datalad-dataset/unreleased/validation/Resource.valid.cfg.yaml b/src/datalad-dataset/unreleased/validation/Resource.valid.cfg.yaml index eb4fde3..0fae77a 100644 --- a/src/datalad-dataset/unreleased/validation/Resource.valid.cfg.yaml +++ b/src/datalad-dataset/unreleased/validation/Resource.valid.cfg.yaml @@ -2,8 +2,6 @@ schema: src/distribution/unreleased.yaml target_class: Resource data_sources: - src/distribution/unreleased/examples/Resource-study.yaml - - src/datalad-dataset/unreleased/examples/Resource-gitcommit.yaml - - src/datalad-dataset/unreleased/examples/Resource-dataladdataset.yaml plugins: JsonschemaValidationPlugin: closed: true diff --git a/src/distribution/unreleased.yaml b/src/distribution/unreleased.yaml index 4b48566..a02c5c0 100644 --- a/src/distribution/unreleased.yaml +++ b/src/distribution/unreleased.yaml @@ -293,11 +293,6 @@ slots: A description of the services available via the end-points, including their operations, parameters etc. range: uri - exact_mappings: - - dcat:downloadURL - related_mappings: - - dldist:endpoint_url - - dlthing:conforms_to endpoint_url: slot_uri: dldist:endpoint_url @@ -307,8 +302,8 @@ slots: exact_mappings: - dcat:endpointURL related_mappings: + - dcat:downloadURL - dldist:endpoint_description - - dlthing:conforms_to format: slot_uri: dldist:format @@ -321,15 +316,6 @@ slots: notes: - When type of the distribution is defined by IANA, `media_type` should be used. - has_parameter: - slot_uri: dldist:has_parameter - description: >- - Relation between a process or function and an information entity which - modulates the behaviour of the subject. - close_mappings: - - sio:SIO_000552 - - obo:OBI_0000293 - has_part: slot_uri: dldist:has_part description: >- @@ -417,6 +403,15 @@ slots: exact_mappings: - dcat:mediaType + name: + slot_uri: dlthing:name + description: Name of a thing. + exact_mappings: + - rdfs:label + - schema:name + - foaf:name + range: string + qualified_access: slot_uri: dlco:qualified_access description: >- @@ -625,21 +620,6 @@ classes: - download_url_template - endpoint_description - endpoint_url - - has_parameter - slot_usage: - has_parameter: - description: >- - Parameter that needs to be supplied in order to request a - particular `Distribution` from the `DataService`. - Any such concrete parameter values can be specific in a - dedicated `QualifiedAccess` relation, linking a `Distribution` - to a `DataService`. - A `Parameter` value property given in the scope of a `DataService` - can be considered as a default value. - inlined: true - inlined_as_list: true - multivalued: true - range: Parameter comments: - Characteristics of a particular `Dataservice` that do not vary across `Distributions` that can be requested from the `DataService` are considered properties (`has_property`) of the `Dataservice`. In contrast, information needed in addition for requesting a particular `Distribution` are considered an access request parameter (`has_parameter`). Such parameters can be declared for a `DataService`, and provided for a particular `Distribution` via a dedicated `QualifiedAccess` relation. exact_mappings: @@ -660,19 +640,7 @@ classes: - dcat:access_service slots: - access_service - - has_parameter slot_usage: access_service: multivalued: true range: DataService - has_parameter: - multivalued: true - range: Parameter - - Parameter: - class_uri: dldist:Parameter - is_a: Characteristic - description: >- - A variable whose value changes the characteristics of a system or a function. - exact_mappings: - - sio:SIO_000144 diff --git a/src/distribution/unreleased/examples/DataService-annexremote.json b/src/distribution/unreleased/examples/DataService-annexremote.json index 2dc8c16..dc005db 100644 --- a/src/distribution/unreleased/examples/DataService-annexremote.json +++ b/src/distribution/unreleased/examples/DataService-annexremote.json @@ -1,46 +1,32 @@ { "id": "https://concepts.datalad.org/ns/annex-uuid/0a8713ca-ef42-11ee-a805-d3e9a774e795", - "identifier": [ + "has_attributes": [ { - "notation": "0a8713ca-ef42-11ee-a805-d3e9a774e795", - "schema_agency": "https://git-annex.branchable.com" - } - ], - "meta_type": "dldist:DataService", - "name": "box.com", - "has_property": [ - { - "name": "type", - "value": "webdav", - "meta_type": "dlthing:Property" - }, - { - "name": "url", - "type": "dcat:endpointURL", - "value": "https://dav.box.com/dav/git-annex", - "meta_type": "dlthing:Property" + "predicate": "foaf:name", + "schema_type": "dlthing:AttributeSpecification", + "value": "box.com" }, { - "name": "chunk", - "value": "10mb", - "meta_type": "dlthing:Property" - }, - { - "name": "keyid", - "value": "id@joeyh.name", - "meta_type": "dlthing:Property" + "predicate": "dcterms:identifier", + "has_attributes": [ + { + "predicate": "skos:notation", + "schema_type": "dlthing:AttributeSpecification", + "value": "0a8713ca-ef42-11ee-a805-d3e9a774e795" + }, + { + "predicate": "ADMS:schemaAgency", + "schema_type": "dlthing:AttributeSpecification", + "value": "https://git-annex.branchable.com" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "type": "ADMS:Identifier" } ], + "schema_type": "dldist:DataService", "type": "https://git-annex.branchable.com/special_remotes", "endpoint_description": "https://git-annex.branchable.com/special_remotes/webdav/", "endpoint_url": "https://dav.box.com/dav/git-annex", - "has_parameter": [ - { - "description": "git-annex key", - "name": "key", - "type": "obo:NCIT_C99023", - "range": "https://git-annex.branchable.com/internals/key_format" - } - ], "@type": "DataService" } diff --git a/src/distribution/unreleased/examples/DataService-annexremote.yaml b/src/distribution/unreleased/examples/DataService-annexremote.yaml index 5c79d15..a875f04 100644 --- a/src/distribution/unreleased/examples/DataService-annexremote.yaml +++ b/src/distribution/unreleased/examples/DataService-annexremote.yaml @@ -1,12 +1,18 @@ # specification of a git-annex special remote as a DataService id: https://concepts.datalad.org/ns/annex-uuid/0a8713ca-ef42-11ee-a805-d3e9a774e795 -meta_type: dldist:DataService -name: box.com +schema_type: dldist:DataService # TODO have a definition of a generic annex remote type: https://git-annex.branchable.com/special_remotes -identifier: - - notation: 0a8713ca-ef42-11ee-a805-d3e9a774e795 - schema_agency: https://git-annex.branchable.com +has_attributes: + - predicate: foaf:name + value: box.com + - predicate: dcterms:identifier + type: ADMS:Identifier + has_attributes: + - predicate: skos:notation + value: 0a8713ca-ef42-11ee-a805-d3e9a774e795 + - predicate: ADMS:schemaAgency + value: https://git-annex.branchable.com endpoint_url: https://dav.box.com/dav/git-annex # we are using a box.com WebDAV endpoint, but through a git-annex special remote, # hence its documentation is the more appropriate description @@ -18,22 +24,26 @@ endpoint_description: https://git-annex.branchable.com/special_remotes/webdav/ # These are modeled as properties of the dataservice, because the dataservice # is a generic git-annex special remote, and only these (fixed) properties # define protocol/layout/content of the dataservice -has_property: - - name: type - value: webdav - - name: url - value: https://dav.box.com/dav/git-annex - type: dcat:endpointURL - - name: chunk - value: 10mb - - name: keyid - value: id@joeyh.name +# TODO the following are required and fixed configuration settings +#has_property: +# - name: type +# value: webdav +# - name: url +# value: https://dav.box.com/dav/git-annex +# type: dcat:endpointURL +# - name: chunk +# value: 10mb +# - name: keyid +# value: id@joeyh.name # identification of parameters that have to be provided in order to perform # content retrieval -has_parameter: - - name: key - description: git-annex key - # content identifier - type: obo:NCIT_C99023 - # (ab)use design document on annex keys as range identifier - range: https://git-annex.branchable.com/internals/key_format +# TODO Parameter is presently a AttributeSpecification which require a predicate +# however, there already is the predicate `has_parameter`. It think this needs +# to be properly delineated and clarified. +# has_parameter: +# - name: key +# description: git-annex key +# # content identifier +# type: obo:NCIT_C99023 +# # (ab)use design document on annex keys as range identifier +# range: https://git-annex.branchable.com/internals/key_format diff --git a/src/distribution/unreleased/examples/Distribution-access.json b/src/distribution/unreleased/examples/Distribution-access.json index afa4877..9c68a99 100644 --- a/src/distribution/unreleased/examples/Distribution-access.json +++ b/src/distribution/unreleased/examples/Distribution-access.json @@ -1,35 +1,24 @@ { "id": "exthisdsver:./some/path.ext", - "meta_type": "dldist:Distribution", - "relation": [ + "relations": [ { "id": "https://coscine.example.com", - "description": "Central RDM service at example.com", - "meta_type": "dldist:DataService", + "has_attributes": [ + { + "predicate": "dcterms:description", + "schema_type": "dlthing:AttributeSpecification", + "value": "Central RDM service at example.com" + } + ], + "schema_type": "dldist:DataService", "type": "https://coscine.rwth-aachen.de", "contact_point": "exthisns:coscine-admin", "download_url_template": "https://coscine.example.com/coscine/api/v2/projects/{projectId}/resources/{resourceId}/blobs/{key}", "endpoint_description": "https://coscine.rwth-aachen.de/coscine/api/swagger/v2/swagger.json", - "endpoint_url": "https://coscine.example.com/coscine", - "has_parameter": [ - { - "description": "Coscine project identifier", - "name": "projectId", - "type": "obo:NCIT_C165055" - }, - { - "description": "Coscine resource identifier", - "name": "resourceId", - "type": "obo:NCIT_C165071" - }, - { - "description": "Coscine blob identifier", - "name": "key", - "type": "obo:NCIT_C99023" - } - ] + "endpoint_url": "https://coscine.example.com/coscine" } ], + "schema_type": "dldist:Distribution", "access_service": [ "https://coscine.example.com" ], @@ -44,20 +33,6 @@ { "access_service": [ "https://coscine.example.com" - ], - "has_parameter": [ - { - "name": "projectId", - "value": "p123" - }, - { - "name": "resourceId", - "value": "r456" - }, - { - "name": "key", - "value": "k789" - } ] } ], diff --git a/src/distribution/unreleased/examples/Distribution-access.yaml b/src/distribution/unreleased/examples/Distribution-access.yaml index c0318ea..70245ea 100644 --- a/src/distribution/unreleased/examples/Distribution-access.yaml +++ b/src/distribution/unreleased/examples/Distribution-access.yaml @@ -18,16 +18,18 @@ access_service: # typically a dataservice would be define in a more general record, rather # than inlined in a specific distribution record (done here for demonstration # purposes). -relation: +relations: - id: https://coscine.example.com - meta_type: dldist:DataService + schema_type: dldist:DataService # (ab)using the URL of the upstream instance as a type identifier type: https://coscine.rwth-aachen.de # identify a person/organization to contact for any inquiries about the data service. # value is identifier of an agent record contact_point: exthisns:coscine-admin # any general (human-readable) description of the dataservice - description: Central RDM service at example.com + has_attributes: + - predicate: dcterms:description + value: "Central RDM service at example.com" # API description endpoint_description: https://coscine.rwth-aachen.de/coscine/api/swagger/v2/swagger.json # API end point @@ -36,19 +38,20 @@ relation: # providing type (and possibly range, description, and default values, can # help to pass useful information to a user, or to implement generic # request handler) - has_parameter: - - name: projectId - description: Coscine project identifier - # project identifier - type: obo:NCIT_C165055 - - name: resourceId - description: Coscine resource identifier - # resource identifier - type: obo:NCIT_C165071 - - name: key - description: Coscine blob identifier - # content identifier - type: obo:NCIT_C99023 + # TODO + #has_parameter: + # - name: projectId + # description: Coscine project identifier + # # project identifier + # type: obo:NCIT_C165055 + # - name: resourceId + # description: Coscine resource identifier + # # resource identifier + # type: obo:NCIT_C165071 + # - name: key + # description: Coscine blob identifier + # # content identifier + # type: obo:NCIT_C99023 # specify how download URLs can be determined from a template and # content-specific parameters. # this is optional, but enables generic, dataservice-unspecific download @@ -62,10 +65,11 @@ qualified_access: - access_service: - https://coscine.example.com # service parameter needed for obtaining `exthisdsver:./some/path.ext` - has_parameter: - - name: projectId - value: p123 - - name: resourceId - value: r456 - - name: key - value: k789 + # TODO + # has_parameter: + # - name: projectId + # value: p123 + # - name: resourceId + # value: r456 + # - name: key + # value: k789 diff --git a/src/distribution/unreleased/examples/Distribution-annexaccess.json b/src/distribution/unreleased/examples/Distribution-annexaccess.json index 8564d7e..41e17b6 100644 --- a/src/distribution/unreleased/examples/Distribution-annexaccess.json +++ b/src/distribution/unreleased/examples/Distribution-annexaccess.json @@ -1,16 +1,10 @@ { "id": "https://concepts.datalad.org/ns/annex-key/MD5E-s3214--ba1f2511fc30423bdbb183fe33f3dd0f.csv", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "qualified_access": [ { "access_service": [ "https://concepts.datalad.org/ns/annex-uuid/0a8713ca-ef42-11ee-a805-d3e9a774e795" - ], - "has_parameter": [ - { - "name": "key", - "value": "MD5E-s3214--ba1f2511fc30423bdbb183fe33f3dd0f.csv" - } ] } ], diff --git a/src/distribution/unreleased/examples/Distribution-annexaccess.yaml b/src/distribution/unreleased/examples/Distribution-annexaccess.yaml index 78455de..f137ec1 100644 --- a/src/distribution/unreleased/examples/Distribution-annexaccess.yaml +++ b/src/distribution/unreleased/examples/Distribution-annexaccess.yaml @@ -8,6 +8,7 @@ qualified_access: # identify the annex key matching this Distribution, to complete the information # required to perform a request. The name has to match the parameter specification # of the access service - has_parameter: - - name: key - value: MD5E-s3214--ba1f2511fc30423bdbb183fe33f3dd0f.csv + # TODO + #has_parameter: + # - name: key + # value: MD5E-s3214--ba1f2511fc30423bdbb183fe33f3dd0f.csv diff --git a/src/distribution/unreleased/examples/Distribution-annexkey.json b/src/distribution/unreleased/examples/Distribution-annexkey.json index 8afee2a..09d30c2 100644 --- a/src/distribution/unreleased/examples/Distribution-annexkey.json +++ b/src/distribution/unreleased/examples/Distribution-annexkey.json @@ -1,6 +1,6 @@ { "id": "https://concepts.datalad.org/ns/annex-key/MD5E-s3214--ba1f2511fc30423bdbb183fe33f3dd0f.csv", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "byte_size": 3214, "checksum": [ { diff --git a/src/distribution/unreleased/examples/Distribution-basic.json b/src/distribution/unreleased/examples/Distribution-basic.json index 9acb3e0..3d1cec0 100644 --- a/src/distribution/unreleased/examples/Distribution-basic.json +++ b/src/distribution/unreleased/examples/Distribution-basic.json @@ -1,7 +1,13 @@ { "id": "exthisdsver:./some/name.ext", - "meta_type": "dldist:Distribution", - "name": "name.ext", + "has_attributes": [ + { + "predicate": "foaf:name", + "schema_type": "dlthing:AttributeSpecification", + "value": "name.ext" + } + ], + "schema_type": "dldist:Distribution", "byte_size": 123456789, "checksum": [ { diff --git a/src/distribution/unreleased/examples/Distribution-basic.yaml b/src/distribution/unreleased/examples/Distribution-basic.yaml index 460a9a4..553da24 100644 --- a/src/distribution/unreleased/examples/Distribution-basic.yaml +++ b/src/distribution/unreleased/examples/Distribution-basic.yaml @@ -8,7 +8,9 @@ id: exthisdsver:./some/name.ext byte_size: 123456789 license: licenses:CC0-1.0 date_modified: "2024-03-21" -name: name.ext +has_attributes: + - predicate: foaf:name + value: "name.ext" # # Checksum information is inlined, because additional linkage # to a unique content checksum value is an unlikely use case diff --git a/src/distribution/unreleased/examples/Distribution-customlicense.json b/src/distribution/unreleased/examples/Distribution-customlicense.json index f968069..dbf60e7 100644 --- a/src/distribution/unreleased/examples/Distribution-customlicense.json +++ b/src/distribution/unreleased/examples/Distribution-customlicense.json @@ -1,13 +1,13 @@ { "id": "exthisdsver:./some/path.ext", - "meta_type": "dldist:Distribution", - "relation": [ + "relations": [ { "id": "exthisds:#customlicense", - "meta_type": "dldist:LicenseDocument", + "schema_type": "dldist:LicenseDocument", "license_text": "Highly custom terms, never seen before." } ], + "schema_type": "dldist:Distribution", "license": "exthisds:#customlicense", "@type": "Distribution" } diff --git a/src/distribution/unreleased/examples/Distribution-customlicense.yaml b/src/distribution/unreleased/examples/Distribution-customlicense.yaml index b1f946b..aae8ae6 100644 --- a/src/distribution/unreleased/examples/Distribution-customlicense.yaml +++ b/src/distribution/unreleased/examples/Distribution-customlicense.yaml @@ -1,7 +1,7 @@ id: exthisdsver:./some/path.ext -relation: +relations: - id: exthisds:#customlicense - meta_type: dldist:LicenseDocument + schema_type: dldist:LicenseDocument license_text: >- Highly custom terms, never seen before. license: exthisds:#customlicense diff --git a/src/distribution/unreleased/examples/Distribution-datatypes.json b/src/distribution/unreleased/examples/Distribution-datatypes.json index a2b9057..19896ac 100644 --- a/src/distribution/unreleased/examples/Distribution-datatypes.json +++ b/src/distribution/unreleased/examples/Distribution-datatypes.json @@ -1,15 +1,12 @@ { "id": "exthisdsver:./file.jpeg", - "meta_type": "dldist:Distribution", - "has_property": [ + "is_characterized_by": [ { - "is_defined_by": "obo:NCIT_C95650", - "name": "data type", - "type": "obo:NCIT_C42645", - "value": "encapsulated image data", - "meta_type": "dlthing:Property" + "object": "obo:NCIT_C95650", + "predicate": "obo:NCIT_C42645" } ], + "schema_type": "dldist:Distribution", "qualified_relation": [ { "had_role": [ @@ -18,7 +15,7 @@ "entity": [ "obo:NCIT_C95650" ], - "meta_type": "dlprov:EntityInfluence" + "schema_type": "dlprov:EntityInfluence" } ], "@type": "Distribution" diff --git a/src/distribution/unreleased/examples/Distribution-datatypes.yaml b/src/distribution/unreleased/examples/Distribution-datatypes.yaml index 24f1149..c44c126 100644 --- a/src/distribution/unreleased/examples/Distribution-datatypes.yaml +++ b/src/distribution/unreleased/examples/Distribution-datatypes.yaml @@ -14,12 +14,7 @@ qualified_relation: # - id: exthisds:#dtype_funky # ... -# this is an alternative approach via a custom property. -# it is also combinable with a custom data type definition in -# a relation. -has_property: - - type: obo:NCIT_C42645 - is_defined_by: obo:NCIT_C95650 - # optionally: - name: data type - value: encapsulated image data +# this is an alternative approach +is_characterized_by: + - predicate: obo:NCIT_C42645 + object: obo:NCIT_C95650 diff --git a/src/distribution/unreleased/examples/Distribution-formats.json b/src/distribution/unreleased/examples/Distribution-formats.json index bac6bbd..c198719 100644 --- a/src/distribution/unreleased/examples/Distribution-formats.json +++ b/src/distribution/unreleased/examples/Distribution-formats.json @@ -1,18 +1,23 @@ { "id": "exthisdsver:.", - "conforms_to": [ - "https://bids-specification.readthedocs.io/en/v1.4.0" + "has_attributes": [ + { + "predicate": "dcterms:conformsTo", + "schema_type": "dlthing:AttributeSpecification", + "range": "uri", + "value": "https://bids-specification.readthedocs.io/en/v1.4.0" + } ], - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "has_part": [ { "id": "exthisdsver:./dataset_description.json", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "media_type": "application/json" }, { "id": "exthisdsver:./participants.tsv", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "format": "http://edamontology.org/format_3475" } ], diff --git a/src/distribution/unreleased/examples/Distribution-formats.yaml b/src/distribution/unreleased/examples/Distribution-formats.yaml index 5f3cb72..a9c6c0f 100644 --- a/src/distribution/unreleased/examples/Distribution-formats.yaml +++ b/src/distribution/unreleased/examples/Distribution-formats.yaml @@ -2,8 +2,10 @@ id: exthisdsver:. # identify a particular version of BIDS as the organization standard # used for the distribution -conforms_to: - - https://bids-specification.readthedocs.io/en/v1.4.0 +has_attributes: + - predicate: dcterms:conformsTo + value: https://bids-specification.readthedocs.io/en/v1.4.0 + range: uri has_part: - id: exthisdsver:./dataset_description.json # file format specification as IANA media type diff --git a/src/distribution/unreleased/examples/Distribution-gitblob.json b/src/distribution/unreleased/examples/Distribution-gitblob.json index 2e1491c..8b044b9 100644 --- a/src/distribution/unreleased/examples/Distribution-gitblob.json +++ b/src/distribution/unreleased/examples/Distribution-gitblob.json @@ -1,6 +1,6 @@ { "id": "gitsha:e12e9505cff5417f594d719b99720b4c39d86434", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "byte_size": 63165, "checksum": [ { diff --git a/src/distribution/unreleased/examples/Distribution-gittree.json b/src/distribution/unreleased/examples/Distribution-gittree.json index 48ef28a..6ab5b1a 100644 --- a/src/distribution/unreleased/examples/Distribution-gittree.json +++ b/src/distribution/unreleased/examples/Distribution-gittree.json @@ -1,6 +1,6 @@ { "id": "https://concepts.datalad.org/ns/gitsha/9a48c2bf7e97a081f2b1ab68eb909bbfc86267be", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "is_distribution_of": "https://concepts.datalad.org/ns/gitsha/8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f", "qualified_part": [ { diff --git a/src/distribution/unreleased/examples/Distribution-parts.json b/src/distribution/unreleased/examples/Distribution-parts.json index f26d4bf..1d6d94f 100644 --- a/src/distribution/unreleased/examples/Distribution-parts.json +++ b/src/distribution/unreleased/examples/Distribution-parts.json @@ -1,16 +1,28 @@ { "id": "exthisdsver:./archive.zip", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "has_part": [ { "id": "exthisdsver:./archive.zip/subdir", - "description": "A subdirectory", - "meta_type": "dldist:Distribution", + "has_attributes": [ + { + "predicate": "dcterms:description", + "schema_type": "dlthing:AttributeSpecification", + "value": "A subdirectory" + } + ], + "schema_type": "dldist:Distribution", "has_part": [ { "id": "exthisdsver:./archive.zip/subdir/file.txt", - "description": "A file", - "meta_type": "dldist:Distribution" + "has_attributes": [ + { + "predicate": "dcterms:description", + "schema_type": "dlthing:AttributeSpecification", + "value": "A file" + } + ], + "schema_type": "dldist:Distribution" } ], "qualified_part": [ diff --git a/src/distribution/unreleased/examples/Distribution-parts.yaml b/src/distribution/unreleased/examples/Distribution-parts.yaml index 3667fca..6732af2 100644 --- a/src/distribution/unreleased/examples/Distribution-parts.yaml +++ b/src/distribution/unreleased/examples/Distribution-parts.yaml @@ -9,10 +9,14 @@ id: exthisdsver:./archive.zip has_part: # a part of a Distribution is also a Distribution - id: exthisdsver:./archive.zip/subdir - description: A subdirectory + has_attributes: + - predicate: dcterms:description + value: "A subdirectory" has_part: - id: exthisdsver:./archive.zip/subdir/file.txt - description: A file + has_attributes: + - predicate: dcterms:description + value: "A file" qualified_part: - name: file.txt entity: exthisdsver:./archive.zip/subdir/file.txt diff --git a/src/distribution/unreleased/examples/Distribution-resource.json b/src/distribution/unreleased/examples/Distribution-resource.json index 3d61f1a..010a114 100644 --- a/src/distribution/unreleased/examples/Distribution-resource.json +++ b/src/distribution/unreleased/examples/Distribution-resource.json @@ -1,25 +1,43 @@ { "id": "exthisdsver:./some/path.ext", - "meta_type": "dldist:Distribution", - "relation": [ + "relations": [ { "id": "exthisdsver:#some/path", - "description": "Some tabular data", - "meta_type": "dldist:Resource", + "has_attributes": [ + { + "predicate": "dcterms:description", + "schema_type": "dlthing:AttributeSpecification", + "value": "Some tabular data" + } + ], + "schema_type": "dldist:Resource", "is_part_of": "exthisdsver:#" }, { "id": "exthisdsver:#", - "description": "A version of a collection of some data", - "meta_type": "dldist:Resource", + "has_attributes": [ + { + "predicate": "dcterms:description", + "schema_type": "dlthing:AttributeSpecification", + "value": "A version of a collection of some data\"" + } + ], + "schema_type": "dldist:Resource", "is_version_of": "exthisds:#" }, { "id": "exthisds:#", - "description": "A collection of some data", - "meta_type": "dldist:Resource" + "has_attributes": [ + { + "predicate": "dcterms:description", + "schema_type": "dlthing:AttributeSpecification", + "value": "A collection of some data" + } + ], + "schema_type": "dldist:Resource" } ], + "schema_type": "dldist:Distribution", "is_distribution_of": "exthisdsver:#some/path", "@type": "Distribution" } diff --git a/src/distribution/unreleased/examples/Distribution-resource.yaml b/src/distribution/unreleased/examples/Distribution-resource.yaml index 8f26741..1b8b318 100644 --- a/src/distribution/unreleased/examples/Distribution-resource.yaml +++ b/src/distribution/unreleased/examples/Distribution-resource.yaml @@ -9,15 +9,21 @@ # defined once in a `relation` property id: exthisdsver:./some/path.ext is_distribution_of: exthisdsver:#some/path -relation: +relations: - id: exthisdsver:#some/path - meta_type: dldist:Resource - description: Some tabular data + schema_type: dldist:Resource + has_attributes: + - predicate: dcterms:description + value: "Some tabular data" is_part_of: exthisdsver:# - id: exthisdsver:# - meta_type: dldist:Resource - description: A version of a collection of some data + schema_type: dldist:Resource + has_attributes: + - predicate: dcterms:description + value: A version of a collection of some data" is_version_of: exthisds:# - id: exthisds:# - meta_type: dldist:Resource - description: A collection of some data + schema_type: dldist:Resource + has_attributes: + - predicate: dcterms:description + value: "A collection of some data" diff --git a/src/distribution/unreleased/examples/Resource-dataladdataset.json b/src/distribution/unreleased/examples/Resource-dataladdataset.json index 23652cb..9378dcd 100644 --- a/src/distribution/unreleased/examples/Resource-dataladdataset.json +++ b/src/distribution/unreleased/examples/Resource-dataladdataset.json @@ -1,11 +1,24 @@ { "id": "https://concepts.datalad.org/ns/dataset-uuid/cec1da92-0dbd-4df3-8602-7c72b2d12854", - "identifier": [ + "has_attributes": [ { - "notation": "cec1da92-0dbd-4df3-8602-7c72b2d12854", - "schema_agency": "https://datalad.org" + "predicate": "dcterms:identifier", + "has_attributes": [ + { + "predicate": "skos:notation", + "schema_type": "dlthing:AttributeSpecification", + "value": "cec1da92-0dbd-4df3-8602-7c72b2d12854" + }, + { + "predicate": "ADMS:schemaAgency", + "schema_type": "dlthing:AttributeSpecification", + "value": "https://datalad.org" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "type": "ADMS:Identifier" } ], - "meta_type": "dldist:Resource", + "schema_type": "dldist:Resource", "@type": "Resource" } diff --git a/src/distribution/unreleased/examples/Resource-dataladdataset.yaml b/src/distribution/unreleased/examples/Resource-dataladdataset.yaml index 5dcaf5b..81091e3 100644 --- a/src/distribution/unreleased/examples/Resource-dataladdataset.yaml +++ b/src/distribution/unreleased/examples/Resource-dataladdataset.yaml @@ -1,9 +1,14 @@ id: https://concepts.datalad.org/ns/dataset-uuid/cec1da92-0dbd-4df3-8602-7c72b2d12854 # we need a definition for a DataLad dataset #type: ... -identifier: - - notation: cec1da92-0dbd-4df3-8602-7c72b2d12854 - schema_agency: https://datalad.org +has_attributes: + - predicate: dcterms:identifier + type: ADMS:Identifier + has_attributes: + - predicate: skos:notation + value: cec1da92-0dbd-4df3-8602-7c72b2d12854 + - predicate: ADMS:schemaAgency + value: https://datalad.org # here could be any additional properties or linked resources # that are related to the dataset in general and not just to a particular # version diff --git a/src/distribution/unreleased/examples/Resource-gitcommit.json b/src/distribution/unreleased/examples/Resource-gitcommit.json index ce6d45c..2596e07 100644 --- a/src/distribution/unreleased/examples/Resource-gitcommit.json +++ b/src/distribution/unreleased/examples/Resource-gitcommit.json @@ -1,33 +1,9 @@ { "id": "https://concepts.datalad.org/ns/gitsha/8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f", - "description": "This message describes the changes done for this particular Dataset version.\n", - "identifier": [ - { - "notation": "final2", - "schema_agency": "exthisds:#" - }, - { - "notation": "latest", - "schema_agency": "exthisds:#" - } - ], - "meta_type": "dldist:Resource", - "qualified_derivation": [ - { - "had_role": [ - "owl:priorVersion" - ], - "entity": [ - "https://concepts.datalad.org/ns/gitsha/a52963ce19a3e3628e9976555ffc8c422b29f054" - ], - "meta_type": "dlprov:Derivation", - "had_activity": "obo:NCIT_C25446" - } - ], - "relation": [ + "relations": [ { "id": "https://concepts.datalad.org/ns/gitsha/8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#authoring", - "meta_type": "dlprov:Activity", + "schema_type": "dlprov:Activity", "type": "obo:NCIT_C25625", "qualified_association": [ { @@ -41,7 +17,7 @@ }, { "id": "https://concepts.datalad.org/ns/gitsha/8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#committing", - "meta_type": "dlprov:Activity", + "schema_type": "dlprov:Activity", "type": "obo:NCIT_C42882", "qualified_association": [ { @@ -57,6 +33,50 @@ "ended_at": "2002-05-30T09:30:10+06:00" } ], + "has_attributes": [ + { + "predicate": "dcterms:identifier", + "has_attributes": [ + { + "predicate": "ADMS:schemaAgency", + "schema_type": "dlthing:AttributeSpecification", + "value": "exthisds:#" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "value": "final2" + }, + { + "predicate": "dcterms:identifier", + "has_attributes": [ + { + "predicate": "ADMS:schemaAgency", + "schema_type": "dlthing:AttributeSpecification", + "value": "exthisds:#" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "value": "latest" + }, + { + "predicate": "dcterms:description", + "schema_type": "dlthing:AttributeSpecification", + "value": "This message describes the changes done for this particular Dataset version.\n" + } + ], + "schema_type": "dldist:Resource", + "qualified_derivation": [ + { + "had_role": [ + "owl:priorVersion" + ], + "entity": [ + "https://concepts.datalad.org/ns/gitsha/a52963ce19a3e3628e9976555ffc8c422b29f054" + ], + "schema_type": "dlprov:Derivation", + "had_activity": "obo:NCIT_C25446" + } + ], "was_generated_by": [ "https://concepts.datalad.org/ns/gitsha/8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#committing" ], diff --git a/src/distribution/unreleased/examples/Resource-gitcommit.yaml b/src/distribution/unreleased/examples/Resource-gitcommit.yaml index a922111..68e780c 100644 --- a/src/distribution/unreleased/examples/Resource-gitcommit.yaml +++ b/src/distribution/unreleased/examples/Resource-gitcommit.yaml @@ -1,22 +1,29 @@ id: https://concepts.datalad.org/ns/gitsha/8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f # link to datalad dataset is_version_of: https://concepts.datalad.org/ns/dataset-uuid/cec1da92-0dbd-4df3-8602-7c72b2d12854 -identifier: +has_attributes: # two git-tags associated with the commit # they must be unique across all commits in the repo, hence we # use the context entity for the version-less dataset as the # agency/scope - - notation: final2 - schema_agency: exthisds:# - - notation: latest - schema_agency: exthisds:# + - predicate: dcterms:identifier + value: final2 + has_attributes: + - predicate: ADMS:schemaAgency + value: exthisds:# + - predicate: dcterms:identifier + value: latest + has_attributes: + - predicate: ADMS:schemaAgency + value: exthisds:# + # commit message + - predicate: dcterms:description + value: > + This message describes the changes done for this particular + Dataset version. # this only *single* version label we can have without making additional # assumptions is the commit gitsha version: 8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f -# commit message -description: > - This message describes the changes done for this particular - Dataset version. qualified_derivation: # parent commit(s) - entity: @@ -30,13 +37,13 @@ qualified_derivation: had_activity: obo:NCIT_C25446 had_role: - owl:priorVersion -relation: +relations: # author activity # this is modeled as a dedicated action so that the # author time can be captured as an independent property. # otherwise the author role could be added above - id: https://concepts.datalad.org/ns/gitsha/8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#authoring - meta_type: dlprov:Activity + schema_type: dlprov:Activity # "preparation" type: obo:NCIT_C25625 ended_at: "2001-02-28T18:27:04+02:00" @@ -47,7 +54,7 @@ relation: - marcrel:aut # commit activity - id: https://concepts.datalad.org/ns/gitsha/8d6f033bb2a6109b2c4d64d6f27b0feb181e4d0f#committing - meta_type: dlprov:Activity + schema_type: dlprov:Activity # go for activity type: "release", but could also be # "label as such" (obo:NCIT_C64662) type: obo:NCIT_C42882 diff --git a/src/distribution/unreleased/examples/Resource-study.json b/src/distribution/unreleased/examples/Resource-study.json index d58e290..d1711d4 100644 --- a/src/distribution/unreleased/examples/Resource-study.json +++ b/src/distribution/unreleased/examples/Resource-study.json @@ -1,49 +1,84 @@ { "id": "exthisdsver:#", - "meta_type": "dldist:Resource", - "relation": [ + "relations": [ { "id": "exthisds:#s001", - "meta_type": "dlprov:Agent", - "name": "s001", - "has_property": [ + "has_attributes": [ { - "is_defined_by": "obo:PATO_0002204", - "type": "obo:PATO_0002201", - "meta_type": "dlthing:Property" + "predicate": "foaf:name", + "schema_type": "dlthing:AttributeSpecification", + "value": "s001" } - ] + ], + "is_characterized_by": [ + { + "object": "obo:PATO_0002204", + "predicate": "obo:PATO_0002201" + } + ], + "schema_type": "dlprov:Agent" }, { "id": "exthisds:#s002", - "meta_type": "dlprov:Agent", - "name": "s002", - "has_property": [ + "has_attributes": [ { - "is_defined_by": "obo:PATO_0000384", - "type": "obo:PATO_0000047", - "value": "male", - "meta_type": "dlthing:Property" + "predicate": "foaf:name", + "schema_type": "dlthing:AttributeSpecification", + "value": "s002" }, { - "name": "age (years)", - "type": "obo:NCIT_C37908", - "value": "36", - "meta_type": "dlthing:QuantitativeProperty", - "unit": "obo:UO_0000036" + "predicate": "obo:NCIT_C37908", + "has_attributes": [ + { + "predicate": "foaf:name", + "schema_type": "dlthing:AttributeSpecification", + "value": "age (years)" + } + ], + "is_characterized_by": [ + { + "object": "obo:UO_0000036", + "predicate": "obo:UO_0000000" + } + ], + "schema_type": "dlthing:AttributeSpecification", + "value": "36" } - ] + ], + "is_characterized_by": [ + { + "object": "obo:PATO_0000384", + "predicate": "obo:PATO_0000047" + } + ], + "schema_type": "dlprov:Agent" }, { "id": "exthisds:#study_2005-004406-93", - "identifier": [ + "has_attributes": [ { - "notation": "2005-004406-93", - "schema_agency": "https://eudract.ema.europa.eu" + "predicate": "dcterms:title", + "schema_type": "dlthing:AttributeSpecification", + "value": "Study about the effectiveness of a disease treatment" + }, + { + "predicate": "ADMS:identifier", + "has_attributes": [ + { + "predicate": "skos:notation", + "schema_type": "dlthing:AttributeSpecification", + "value": "2005-004406-93" + }, + { + "predicate": "ADMS:schema_agency", + "schema_type": "dlthing:AttributeSpecification", + "value": "https://eudract.ema.europa.eu" + } + ], + "schema_type": "dlthing:AttributeSpecification" } ], - "meta_type": "dlprov:Activity", - "title": "Study about the effectiveness of a disease treatment", + "schema_type": "dlprov:Activity", "type": "obo:NCIT_C71104", "qualified_association": [ { @@ -63,6 +98,7 @@ ] } ], + "schema_type": "dldist:Resource", "was_generated_by": [ "exthisds:#study_2005-004406-93" ], diff --git a/src/distribution/unreleased/examples/Resource-study.yaml b/src/distribution/unreleased/examples/Resource-study.yaml index e476ca5..321491a 100644 --- a/src/distribution/unreleased/examples/Resource-study.yaml +++ b/src/distribution/unreleased/examples/Resource-study.yaml @@ -1,38 +1,51 @@ id: exthisdsver:# -relation: +relations: # study participants (role assigned below) - id: exthisds:#s001 - meta_type: dlprov:Agent - name: s001 - has_property: + schema_type: dlprov:Agent + has_attributes: + - predicate: foaf:name + value: s001 + is_characterized_by: # handedness - - type: obo:PATO_0002201 + - predicate: obo:PATO_0002201 # ambidextrous - is_defined_by: obo:PATO_0002204 + object: obo:PATO_0002204 - id: exthisds:#s002 - meta_type: dlprov:Agent - name: s002 - has_property: + schema_type: dlprov:Agent + is_characterized_by: # biological sex - - type: obo:PATO_0000047 - value: male - is_defined_by: obo:PATO_0000384 + - predicate: obo:PATO_0000047 + # male + object: obo:PATO_0000384 + has_attributes: + - predicate: foaf:name + value: s002 # age in years - - meta_type: dlthing:QuantitativeProperty - # length of a person's life, stated in years since birth - type: obo:NCIT_C37908 - name: age (years) + # length of a person's life, stated in years since birth + - predicate: obo:NCIT_C37908 value: "36" - unit: obo:UO_0000036 + has_attributes: + - predicate: foaf:name + value: "age (years)" + is_characterized_by: + # unit + - predicate: obo:UO_0000000 + object: obo:UO_0000036 # study activity - id: exthisds:#study_2005-004406-93 - meta_type: dlprov:Activity - title: Study about the effectiveness of a disease treatment + schema_type: dlprov:Activity + has_attributes: + - predicate: dcterms:title + value: "Study about the effectiveness of a disease treatment" + - predicate: ADMS:identifier + has_attributes: + - predicate: skos:notation + value: 2005-004406-93 + - predicate: ADMS:schema_agency + value: https://eudract.ema.europa.eu # registered clinical trial type: obo:NCIT_C71104 - identifier: - - notation: 2005-004406-93 - schema_agency: https://eudract.ema.europa.eu qualified_association: - agent: exthisds:#s001 had_role: diff --git a/src/distribution/unreleased/extra-docs/about.md b/src/distribution/unreleased/extra-docs/about.md index 094551c..cbdaed7 100644 --- a/src/distribution/unreleased/extra-docs/about.md +++ b/src/distribution/unreleased/extra-docs/about.md @@ -33,7 +33,7 @@ TODO: how to declare relationships when no dedicated support for a particular ty Properties that are used as containers to define related objects support the declaration of specific subtypes of the respective range-defining class. For example, `was_attributed_to` accepts any `Agent`, but specialized classes maybe be more suitable in particular contexts. -Such a derived class can be indicated via the `meta_type` property. +Such a derived class can be indicated via the `schema_type` property. If declared, it is then used for data structure definition and validation for this particular record. Independent of this structure-focused type declaration, the `type` property can be used to detail the semantics of an object. diff --git a/src/sdd/unreleased.yaml b/src/sdd/unreleased.yaml index ec73066..fb81577 100644 --- a/src/sdd/unreleased.yaml +++ b/src/sdd/unreleased.yaml @@ -114,7 +114,6 @@ classes: - date_modified - date_published - license - - notation exact_mappings: - obo:IAO_0000311 - obo:NCIT_C48471 diff --git a/src/sdd/unreleased/examples/Distribution-penguins.json b/src/sdd/unreleased/examples/Distribution-penguins.json index 3024a8a..03b0264 100644 --- a/src/sdd/unreleased/examples/Distribution-penguins.json +++ b/src/sdd/unreleased/examples/Distribution-penguins.json @@ -1,6 +1,6 @@ { "id": "exthisdsver:.", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "relation": [ { "id": "exthisdsver:#", @@ -11,7 +11,7 @@ "schema_agency": "https://doi.org" } ], - "meta_type": "dldist:Resource", + "schema_type": "dldist:Resource", "name": "penguins", "same_as": [ "https://doi.org/10.5281/zenodo.3960218" @@ -67,7 +67,7 @@ "exthisds:#nsf0823101", "exthisds:#nsf0741351" ], - "meta_type": "dlprov:EntityInfluence" + "schema_type": "dlprov:EntityInfluence" }, { "had_role": [ @@ -77,7 +77,7 @@ "entity": [ "exthisds:#gormanetal" ], - "meta_type": "dlprov:EntityInfluence" + "schema_type": "dlprov:EntityInfluence" } ], "date_modified": "2020-07-16", @@ -103,7 +103,7 @@ "schema_agency": "https://ror.org/021nxhr62" } ], - "meta_type": "dlsdd:Grant", + "schema_type": "dlsdd:Grant", "name": "LTER: PALMER, ANTARCTICA LTER: Climate Change, Ecosystem Migration and Teleconnections in an Ice-Dominated Environment", "sponsor": "https://ror.org/05nwjp114", "cites_as_authority": "https://www.nsf.gov/awardsearch/showAward?AWD_ID=0217282" @@ -116,7 +116,7 @@ "schema_agency": "https://ror.org/021nxhr62" } ], - "meta_type": "dlsdd:Grant", + "schema_type": "dlsdd:Grant", "name": "Palmer, Antarctica Long Term Ecological Research Project", "sponsor": "https://ror.org/05nwjp114", "cites_as_authority": "https://www.nsf.gov/awardsearch/showAward?AWD_ID=0823101" @@ -129,7 +129,7 @@ "schema_agency": "https://ror.org/021nxhr62" } ], - "meta_type": "dlsdd:Grant", + "schema_type": "dlsdd:Grant", "name": "Collaborative Research: Possible Climate-induced Change in the Distribution of Pleuragramma Antarcticum on the Western Antarctic Peninsula Shelf", "sponsor": "https://ror.org/05nwjp114", "cites_as_authority": "https://www.nsf.gov/awardsearch/showAward?AWD_ID=0741351" @@ -142,7 +142,7 @@ "schema_agency": "https://doi.org" } ], - "meta_type": "dlsdd:Publication", + "schema_type": "dlsdd:Publication", "qualified_attribution": [ { "had_role": [ @@ -162,7 +162,7 @@ "schema_agency": "https://orcid.org" } ], - "meta_type": "dldist:Person", + "schema_type": "dldist:Person", "name": "Allison Horst", "same_as": [ "https://orcid.org/0000-0002-6047-5564" @@ -180,7 +180,7 @@ "schema_agency": "https://orcid.org" } ], - "meta_type": "dldist:Person", + "schema_type": "dldist:Person", "name": "Allison Hill", "affiliation": [ "exthisds:#Rstudio" @@ -195,7 +195,7 @@ "schema_agency": "https://orcid.org" } ], - "meta_type": "dldist:Person", + "schema_type": "dldist:Person", "name": "Kirsten Gorman", "affiliation": [ "https://ror.org/01j7nq853" @@ -204,12 +204,12 @@ }, { "id": "exthisds:#UCSB", - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "UC Santa Barbara: Santa Barbara, CA, US" }, { "id": "exthisds:#RStudio", - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "RStudio: Boston, MA, US" }, { @@ -220,7 +220,7 @@ "schema_agency": "https://ror.org" } ], - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "University of Alaska Fairbanks: Fairbanks, AK, US" }, { @@ -231,7 +231,7 @@ "schema_agency": "https://ror.org" } ], - "meta_type": "dlthing:Thing", + "schema_type": "dlthing:Thing", "name": "NSF Office of Polar Programs" }, { @@ -242,7 +242,7 @@ "schema_agency": "https://ror.org" } ], - "meta_type": "dlthing:Thing", + "schema_type": "dlthing:Thing", "name": "US National Science Foundation", "same_as": [ "https://www.nsf.org" @@ -262,7 +262,7 @@ "has_part": [ { "id": "exthisdsver:./adelie.csv", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "byte_size": 23755, "checksum": [ { @@ -277,7 +277,7 @@ }, { "id": "exthisdsver:./gentoo.csv", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "byte_size": 11263, "checksum": [ { @@ -292,7 +292,7 @@ }, { "id": "exthisdsver:./chinstrap.csv", - "meta_type": "dldist:Distribution", + "schema_type": "dldist:Distribution", "byte_size": 18872, "checksum": [ { diff --git a/src/sdd/unreleased/examples/Distribution-penguins.yaml b/src/sdd/unreleased/examples/Distribution-penguins.yaml index ce5f238..70d841f 100644 --- a/src/sdd/unreleased/examples/Distribution-penguins.yaml +++ b/src/sdd/unreleased/examples/Distribution-penguins.yaml @@ -43,7 +43,7 @@ qualified_part: is_distribution_of: exthisdsver:# relation: - id: exthisdsver:# - meta_type: dldist:Resource + schema_type: dldist:Resource date_modified: "2020-07-16" description: >- The goal of palmerpenguins is to provide a great dataset for data @@ -106,7 +106,7 @@ relation: version: "0.1.0" - id: exthisds:#nsf0217282 - meta_type: dlsdd:Grant + schema_type: dlsdd:Grant name: "LTER: PALMER, ANTARCTICA LTER: Climate Change, Ecosystem Migration and Teleconnections in an Ice-Dominated Environment" identifier: - notation: "0217282" @@ -114,7 +114,7 @@ relation: sponsor: https://ror.org/05nwjp114 cites_as_authority: https://www.nsf.gov/awardsearch/showAward?AWD_ID=0217282 - id: exthisds:#nsf0823101 - meta_type: dlsdd:Grant + schema_type: dlsdd:Grant name: Palmer, Antarctica Long Term Ecological Research Project identifier: - notation: "0823101" @@ -122,7 +122,7 @@ relation: sponsor: https://ror.org/05nwjp114 cites_as_authority: https://www.nsf.gov/awardsearch/showAward?AWD_ID=0823101 - id: exthisds:#nsf0741351 - meta_type: dlsdd:Grant + schema_type: dlsdd:Grant name: "Collaborative Research: Possible Climate-induced Change in the Distribution of Pleuragramma Antarcticum on the Western Antarctic Peninsula Shelf" identifier: - notation: "0741351" @@ -132,7 +132,7 @@ relation: # the following publication ID could also be the DOI, but having a global ID is not # a requirement (although almost unconditionally advantageous) - id: exthisds:#gormanetal - meta_type: dlsdd:Publication + schema_type: dlsdd:Publication notation: >- 'Gorman KB, Williams TD, Fraser WR (2014) Ecological Sexual Dimorphism and Environmental Variability within a Community of Antarctic Penguins (Genus @@ -154,7 +154,7 @@ relation: # We use the `thisds` prefix based on the assumption that no # namespace conflict would ever happen across dataset versions. - id: exthisds:#ahorst - meta_type: dldist:Person + schema_type: dldist:Person name: Allison Horst email: ahorst@example.com identifier: @@ -167,7 +167,7 @@ relation: same_as: - https://orcid.org/0000-0002-6047-5564 - id: exthisds:#ahill - meta_type: dldist:Person + schema_type: dldist:Person name: Allison Hill email: ahill@example.com identifier: @@ -176,7 +176,7 @@ relation: affiliation: - exthisds:#Rstudio - id: exthisds:#kgorman - meta_type: dldist:Person + schema_type: dldist:Person name: Kirsten Gorman email: kgorman@example.com identifier: @@ -185,13 +185,13 @@ relation: affiliation: - https://ror.org/01j7nq853 - id: exthisds:#UCSB - meta_type: dldist:Organization + schema_type: dldist:Organization name: 'UC Santa Barbara: Santa Barbara, CA, US' - id: exthisds:#RStudio - meta_type: dldist:Organization + schema_type: dldist:Organization name: 'RStudio: Boston, MA, US' - id: https://ror.org/01j7nq853 - meta_type: dldist:Organization + schema_type: dldist:Organization name: 'University of Alaska Fairbanks: Fairbanks, AK, US' identifier: - notation: 01j7nq853 diff --git a/src/sdd/unreleased/examples/Publication-std.json b/src/sdd/unreleased/examples/Publication-std.json index 165dade..7e412e8 100644 --- a/src/sdd/unreleased/examples/Publication-std.json +++ b/src/sdd/unreleased/examples/Publication-std.json @@ -12,32 +12,32 @@ "https://www.nature.com/subjects/data-publication-and-archiving", "https://www.nature.com/subjects/software" ], - "meta_type": "dlsdd:Publication", + "schema_type": "dlsdd:Publication", "has_property": [ { "name": "DOI", "type": "bibo:doi", "value": "https://doi.org/10.1038/s41597-022-01163-2", - "meta_type": "dlthing:Property" + "schema_type": "dlthing:Property" }, { "name": "Volume", "type": "bibo:volume", "value": "9", - "meta_type": "dlthing:Property" + "schema_type": "dlthing:Property" }, { "name": "Document number", "type": "bibo:number", "value": "80", - "meta_type": "dlthing:Property" + "schema_type": "dlthing:Property" }, { "name": "Number of pages", "type": "bibo:numPages", "range": "xsd:nonNegativeInteger", "value": "17", - "meta_type": "dlthing:Property" + "schema_type": "dlthing:Property" } ], "same_as": [ @@ -168,7 +168,7 @@ "entity": [ "https://portal.issn.org/resource/issn/2052-4463" ], - "meta_type": "dlprov:EntityInfluence" + "schema_type": "dlprov:EntityInfluence" }, { "had_role": [ @@ -183,7 +183,7 @@ "https://cordis.europa.eu/project/id/826421", "https://cordis.europa.eu/project/id/945539" ], - "meta_type": "dlprov:EntityInfluence" + "schema_type": "dlprov:EntityInfluence" } ], "relation": [ @@ -195,7 +195,7 @@ "schema_agency": "https://cordis.europa.eu" } ], - "meta_type": "dlsdd:Grant", + "schema_type": "dlsdd:Grant", "name": "HBP SGA3", "title": "Human Brain Project Specific Grant Agreement 3", "cites_as_authority": "https://cordis.europa.eu/project/id/945539" @@ -208,7 +208,7 @@ "schema_agency": "https://cordis.europa.eu" } ], - "meta_type": "dlsdd:Grant", + "schema_type": "dlsdd:Grant", "name": "VirtualBrainCloud", "title": "Personalized Recommendations for Neurodegenerative Disease", "cites_as_authority": "https://cordis.europa.eu/project/id/826421" @@ -221,7 +221,7 @@ "schema_agency": "https://ror.org/021nxhr62" } ], - "meta_type": "dlsdd:Grant", + "schema_type": "dlsdd:Grant", "title": "Collaborative Proposal: CRCNS US-German Data Sharing Proposal: DataLad - a decentralized system for integrated discovery, management, and publication of digital objects of science", "cites_as_authority": "https://www.nsf.gov/awardsearch/showAward?AWD_ID=1912266" }, @@ -233,7 +233,7 @@ "schema_agency": "https://ror.org/021nxhr62" } ], - "meta_type": "dlsdd:Grant", + "schema_type": "dlsdd:Grant", "title": "CRCNS US-German Data Sharing: DataGit - converging catalogues, warehouses, and deployment logistics into a federated 'data distribution'", "cites_as_authority": "https://www.nsf.gov/awardsearch/showAward?AWD_ID=1429999" }, @@ -245,7 +245,7 @@ "schema_agency": "https://www.ncn.gov.pl" } ], - "meta_type": "dlsdd:Grant", + "schema_type": "dlsdd:Grant", "name": "ETIUDA" }, { @@ -256,7 +256,7 @@ "schema_agency": "https://www.bmbf.de" } ], - "meta_type": "dlsdd:Grant", + "schema_type": "dlsdd:Grant", "title": "Datagit - Kombination von Katalogen, Datenbanken und Verteilungslogistik in eine Daten-Distribution" }, { @@ -267,7 +267,7 @@ "schema_agency": "https://www.bmbf.de" } ], - "meta_type": "dlsdd:Grant", + "schema_type": "dlsdd:Grant", "name": "METALAD", "title": "DataLad - ein dezentrales System für Forschungsdatenverwaltung, -publikation und -suche" }, @@ -279,7 +279,7 @@ "schema_agency": "https://portal.issn.org" } ], - "meta_type": "dlprov:Entity", + "schema_type": "dlprov:Entity", "same_as": [ "https://www.nature.com/sdata" ], @@ -294,7 +294,7 @@ "schema_agency": "http://orcid.org" } ], - "meta_type": "dldist:Person", + "schema_type": "dldist:Person", "name": "Adina S. Wagner", "affiliation": [ "https://ror.org/02nv7yv05" @@ -309,7 +309,7 @@ "schema_agency": "http://orcid.org" } ], - "meta_type": "dldist:Person", + "schema_type": "dldist:Person", "name": "Laura K. Waite", "affiliation": [ "https://ror.org/02nv7yv05" @@ -323,7 +323,7 @@ "schema_agency": "http://orcid.org" } ], - "meta_type": "dldist:Person", + "schema_type": "dldist:Person", "name": "Małgorzata Wierzba", "affiliation": [ "https://ror.org/04waf7p94" @@ -337,7 +337,7 @@ "schema_agency": "http://orcid.org" } ], - "meta_type": "dldist:Person", + "schema_type": "dldist:Person", "name": "Felix Hoffstaedter", "affiliation": [ "https://ror.org/02nv7yv05" @@ -351,7 +351,7 @@ "schema_agency": "http://orcid.org" } ], - "meta_type": "dldist:Person", + "schema_type": "dldist:Person", "name": "Alexander Q. Waite", "affiliation": [ "https://ror.org/02nv7yv05" @@ -365,7 +365,7 @@ "schema_agency": "http://orcid.org" } ], - "meta_type": "dldist:Person", + "schema_type": "dldist:Person", "name": "Benjamin Poldrack", "affiliation": [ "https://ror.org/02nv7yv05" @@ -373,7 +373,7 @@ }, { "id": "https://www.nature.com/articles/s41597-022-01163-2#auth-Simon_B_-Eickhoff-Aff1-Aff3", - "meta_type": "dldist:Person", + "schema_type": "dldist:Person", "name": "Simon B. Eickhoff", "same_as": [ "https://scholar.google.com/citations?user=wjpISMAAAAAJ" @@ -391,7 +391,7 @@ "schema_agency": "http://orcid.org" } ], - "meta_type": "dldist:Person", + "schema_type": "dldist:Person", "name": "Michael Hanke", "affiliation": [ "https://ror.org/02nv7yv05", @@ -406,7 +406,7 @@ "schema_agency": "https://ror.org" } ], - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "FZJ-INM7", "title": "Institute of Neuroscience and Medicine, Brain & Behaviour (INM-7), Research Center Jülich, Jülich, Germany" }, @@ -418,7 +418,7 @@ "schema_agency": "https://ror.org" } ], - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "HHU-ISN", "title": "Institute of Systems Neuroscience, Medical Faculty, Heinrich Heine University Düsseldorf, Düsseldorf, Germany" }, @@ -430,7 +430,7 @@ "schema_agency": "https://ror.org" } ], - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "Nencki", "title": "Laboratory of Brain Imaging, Nencki Institute of Experimental Biology, Polish Academy of Sciences, Warsaw, Poland" }, @@ -442,7 +442,7 @@ "schema_agency": "https://ror.org" } ], - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "UK Biobank" }, { @@ -453,7 +453,7 @@ "schema_agency": "https://ror.org" } ], - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "European Commission" }, { @@ -464,7 +464,7 @@ "schema_agency": "https://ror.org" } ], - "meta_type": "dlthing:Thing", + "schema_type": "dlthing:Thing", "name": "US National Science Foundation", "same_as": [ "https://www.nsf.org" @@ -478,7 +478,7 @@ "schema_agency": "https://ror.org" } ], - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "Federal Ministry of Education and Research", "same_as": [ "https://www.bmbf.de" @@ -487,7 +487,7 @@ }, { "id": "https://www.ncn.gov.pl", - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "National Science Center Poland" }, { @@ -498,7 +498,7 @@ "schema_agency": "https://ror.org" } ], - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "Springer Nature (United Kingdom)" } ], diff --git a/src/sdd/unreleased/examples/Publication-std.yaml b/src/sdd/unreleased/examples/Publication-std.yaml index 2ec2fdd..3b88087 100644 --- a/src/sdd/unreleased/examples/Publication-std.yaml +++ b/src/sdd/unreleased/examples/Publication-std.yaml @@ -37,7 +37,7 @@ has_property: # related entities relation: - id: https://cordis.europa.eu/project/id/945539 - meta_type: dlsdd:Grant + schema_type: dlsdd:Grant name: HBP SGA3 title: Human Brain Project Specific Grant Agreement 3 identifier: @@ -45,7 +45,7 @@ relation: schema_agency: https://cordis.europa.eu cites_as_authority: https://cordis.europa.eu/project/id/945539 - id: https://cordis.europa.eu/project/id/826421 - meta_type: dlsdd:Grant + schema_type: dlsdd:Grant name: VirtualBrainCloud title: Personalized Recommendations for Neurodegenerative Disease identifier: @@ -53,7 +53,7 @@ relation: schema_agency: https://cordis.europa.eu cites_as_authority: https://cordis.europa.eu/project/id/826421 - id: exthisds:#grant_nsf1912266 - meta_type: dlsdd:Grant + schema_type: dlsdd:Grant title: "Collaborative Proposal: CRCNS US-German Data Sharing Proposal: DataLad - a decentralized system for integrated discovery, management, and publication of digital objects of science" identifier: - notation: "1912266" @@ -61,33 +61,33 @@ relation: schema_agency: https://ror.org/021nxhr62 cites_as_authority: https://www.nsf.gov/awardsearch/showAward?AWD_ID=1912266 - id: exthisds:#grant_nsf1429999 - meta_type: dlsdd:Grant + schema_type: dlsdd:Grant title: "CRCNS US-German Data Sharing: DataGit - converging catalogues, warehouses, and deployment logistics into a federated 'data distribution'" identifier: - notation: "1429999" schema_agency: https://ror.org/021nxhr62 cites_as_authority: https://www.nsf.gov/awardsearch/showAward?AWD_ID=1429999 - id: exthisds:#grant_nsc - meta_type: dlsdd:Grant + schema_type: dlsdd:Grant name: ETIUDA identifier: - notation: 2018/28/T/HS6/00507 schema_agency: https://www.ncn.gov.pl - id: exthisds:#grant_bmbf01GQ1411 - meta_type: dlsdd:Grant + schema_type: dlsdd:Grant title: Datagit - Kombination von Katalogen, Datenbanken und Verteilungslogistik in eine Daten-Distribution identifier: - notation: 01GQ1411 schema_agency: https://www.bmbf.de - id: exthisds:#grant_bmbf01GQ1905 - meta_type: dlsdd:Grant + schema_type: dlsdd:Grant name: METALAD title: DataLad - ein dezentrales System für Forschungsdatenverwaltung, -publikation und -suche identifier: - notation: 01GQ1905 schema_agency: https://www.bmbf.de - id: https://portal.issn.org/resource/issn/2052-4463 - meta_type: dlprov:Entity + schema_type: dlprov:Entity # peer-reviewed scientific journal type: obo:NCIT_C93226 title: Scientific data @@ -100,7 +100,7 @@ relation: # related agents # authors - id: http://orcid.org/0000-0003-2917-3450 - meta_type: dldist:Person + schema_type: dldist:Person name: Adina S. Wagner email: adina.wagner@t-online.de identifier: @@ -109,7 +109,7 @@ relation: affiliation: - https://ror.org/02nv7yv05 - id: http://orcid.org/0000-0003-2213-7465 - meta_type: dldist:Person + schema_type: dldist:Person name: Laura K. Waite identifier: - notation: 0000-0003-2213-7465 @@ -117,7 +117,7 @@ relation: affiliation: - https://ror.org/02nv7yv05 - id: http://orcid.org/0000-0003-0820-2662 - meta_type: dldist:Person + schema_type: dldist:Person name: Małgorzata Wierzba identifier: - notation: 0000-0003-0820-2662 @@ -125,7 +125,7 @@ relation: affiliation: - https://ror.org/04waf7p94 - id: http://orcid.org/0000-0001-7163-3110 - meta_type: dldist:Person + schema_type: dldist:Person name: Felix Hoffstaedter identifier: - notation: 0000-0001-7163-3110 @@ -133,7 +133,7 @@ relation: affiliation: - https://ror.org/02nv7yv05 - id: http://orcid.org/0000-0002-8402-6173 - meta_type: dldist:Person + schema_type: dldist:Person name: Alexander Q. Waite identifier: - notation: 0000-0002-8402-6173 @@ -141,7 +141,7 @@ relation: affiliation: - https://ror.org/02nv7yv05 - id: http://orcid.org/0000-0001-7628-0801 - meta_type: dldist:Person + schema_type: dldist:Person name: Benjamin Poldrack identifier: - notation: 0000-0001-7628-0801 @@ -150,7 +150,7 @@ relation: - https://ror.org/02nv7yv05 # identifier is publication scope, taken from publisher website - id: https://www.nature.com/articles/s41597-022-01163-2#auth-Simon_B_-Eickhoff-Aff1-Aff3 - meta_type: dldist:Person + schema_type: dldist:Person name: Simon B. Eickhoff affiliation: - https://ror.org/02nv7yv05 @@ -158,7 +158,7 @@ relation: same_as: - https://scholar.google.com/citations?user=wjpISMAAAAAJ - id: http://orcid.org/0000-0001-6398-6370 - meta_type: dldist:Person + schema_type: dldist:Person name: Michael Hanke identifier: - notation: 0000-0001-6398-6370 @@ -169,21 +169,21 @@ relation: # author institutions - id: https://ror.org/02nv7yv05 - meta_type: dldist:Organization + schema_type: dldist:Organization name: FZJ-INM7 title: Institute of Neuroscience and Medicine, Brain & Behaviour (INM-7), Research Center Jülich, Jülich, Germany identifier: - notation: 02nv7yv05 schema_agency: https://ror.org - id: https://ror.org/024z2rq82 - meta_type: dldist:Organization + schema_type: dldist:Organization name: HHU-ISN title: Institute of Systems Neuroscience, Medical Faculty, Heinrich Heine University Düsseldorf, Düsseldorf, Germany identifier: - notation: 024z2rq82 schema_agency: https://ror.org - id: https://ror.org/04waf7p94 - meta_type: dldist:Organization + schema_type: dldist:Organization name: Nencki title: Laboratory of Brain Imaging, Nencki Institute of Experimental Biology, Polish Academy of Sciences, Warsaw, Poland identifier: @@ -192,7 +192,7 @@ relation: # data provider - id: https://ror.org/02frzq211 - meta_type: dldist:Organization + schema_type: dldist:Organization name: UK Biobank identifier: - notation: 02frzq211 @@ -200,7 +200,7 @@ relation: # funder - id: https://ror.org/00k4n6c32 - meta_type: dldist:Organization + schema_type: dldist:Organization name: European Commission identifier: - notation: 00k4n6c32 @@ -213,7 +213,7 @@ relation: same_as: - https://www.nsf.org - id: https://ror.org/04pz7b180 - meta_type: dldist:Organization + schema_type: dldist:Organization name: Federal Ministry of Education and Research address: Kapelle-Ufer 1, D-10117 Berlin, Germany identifier: @@ -222,12 +222,12 @@ relation: same_as: - https://www.bmbf.de - id: https://www.ncn.gov.pl - meta_type: dldist:Organization + schema_type: dldist:Organization name: National Science Center Poland # publisher - id: https://ror.org/03dsk4d59 - meta_type: dldist:Organization + schema_type: dldist:Organization name: Springer Nature (United Kingdom) identifier: - notation: 03dsk4d59 diff --git a/src/sdd/unreleased/examples/Resource-funding.json b/src/sdd/unreleased/examples/Resource-funding.json index 3c5ead7..2fe386b 100644 --- a/src/sdd/unreleased/examples/Resource-funding.json +++ b/src/sdd/unreleased/examples/Resource-funding.json @@ -1,6 +1,6 @@ { "id": "exthisdsver:#", - "meta_type": "dldist:Resource", + "schema_type": "dldist:Resource", "qualified_relation": [ { "had_role": [ @@ -9,19 +9,19 @@ "entity": [ "https://gepris.dfg.de/gepris/projekt/431549029" ], - "meta_type": "dlprov:EntityInfluence" + "schema_type": "dlprov:EntityInfluence" } ], "relation": [ { "id": "https://gepris.dfg.de/gepris/projekt/431549029", - "meta_type": "dlsdd:Grant", + "schema_type": "dlsdd:Grant", "name": "SFB1451", "sponsor": "https://ror.org/018mejw64" }, { "id": "https://ror.org/018mejw64", - "meta_type": "dldist:Organization", + "schema_type": "dldist:Organization", "name": "Deutsche Forschungsgemeinschaft" } ], diff --git a/src/sdd/unreleased/examples/Resource-funding.yaml b/src/sdd/unreleased/examples/Resource-funding.yaml index a9073dd..fd346a6 100644 --- a/src/sdd/unreleased/examples/Resource-funding.yaml +++ b/src/sdd/unreleased/examples/Resource-funding.yaml @@ -1,11 +1,11 @@ id: exthisdsver:# relation: - id: https://gepris.dfg.de/gepris/projekt/431549029 - meta_type: dlsdd:Grant + schema_type: dlsdd:Grant name: SFB1451 sponsor: https://ror.org/018mejw64 - id: https://ror.org/018mejw64 - meta_type: dldist:Organization + schema_type: dldist:Organization name: Deutsche Forschungsgemeinschaft qualified_relation: - entity: diff --git a/src/sdd/unreleased/validation/Distribution-dataverse-rtmefmri.yaml b/src/sdd/unreleased/validation/Distribution-dataverse-rtmefmri.yaml index 230a854..359e595 100644 --- a/src/sdd/unreleased/validation/Distribution-dataverse-rtmefmri.yaml +++ b/src/sdd/unreleased/validation/Distribution-dataverse-rtmefmri.yaml @@ -8,7 +8,7 @@ was_attributed_to: - exthisds:#EindhovenUniversityofTechnology relation: - id: exthisdsver:# - meta_type: dldist:Resource + schema_type: dldist:Resource date_modified: '2023-11-13' description: rt-me-fMRI is a multi-echo functional magnetic resonance imaging dataset (N=28 healthy volunteers) with four task-based and two resting state @@ -53,7 +53,7 @@ relation: entity: - exthisds:#methods_paper - id: exthisds:#StephanHeunis - meta_type: dldist:Person + schema_type: dldist:Person name: Stephan Heunis identifier: - schema_agency: https://orcid.org @@ -63,7 +63,7 @@ relation: same_as: - https://orcid.org/0000-0003-3503-9872 - id: exthisds:#EindhovenUniversityofTechnology - meta_type: dldist:Organization + schema_type: dldist:Organization name: Eindhoven University of Technology identifier: - schema_agency: https://ror.org @@ -73,7 +73,7 @@ relation: same_as: - https://ror.org/02c2kyt77https://www.wikidata.org/wiki/Q280824 - id: exthisds:#data_paper - meta_type: dlsdd:Publication + schema_type: dlsdd:Publication notation: 'Heunis S, Breeuwer M, Caballero-Gaudes C et al. rt-me-fMRI: a task and resting state dataset for real-time, multi-echo fMRI methods development and validation [version 1; peer review: 1 approved, 1 approved with reservations]. @@ -89,7 +89,7 @@ relation: - marcrel:col - marcrel:cre - id: exthisds:#methods_paper - meta_type: dlsdd:Publication + schema_type: dlsdd:Publication notation: S. Heunis, M. Breeuwer, C. Caballero-Gaudes, L. Hellrung, W. Huijbers, J.F. Jansen, R. Lamerichs, S. Zinger, A.P. Aldenkamp. The effects of multi-echo fMRI combination and rapid T*-mapping on offline and real-time BOLD sensitivity. @@ -103,7 +103,7 @@ relation: had_role: - marcrel:aut - id: exthisds:#humanhealthdatalicense - meta_type: dldist:LicenseDocument + schema_type: dldist:LicenseDocument same_as: - https://dataverse.nl/api/datasets/:persistentId/versions/1.4/customlicense?persistentId=doi:10.34894/R1TNL8 license_text: "

Data user agreement for accessing limited human health data

\n From f40b254f88ce3b7adcb8e770096bbf4421a62e58 Mon Sep 17 00:00:00 2001 From: Michael Hanke Date: Fri, 6 Dec 2024 12:19:31 +0100 Subject: [PATCH 4/4] Disable of `sdd` example These are outdated and require an overhaul. However, this requires a reintroduction of a number of slot definitions that have been removed from `Thing`. Overall, it would be beneficial to rethink the purpose of `sdd`. It may be best seen as an example schema that could be used to craft concrete implementations along its patterns. --- Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 76e322c..a056904 100644 --- a/Makefile +++ b/Makefile @@ -54,8 +54,8 @@ check-models: \ checkmodel/thing/unreleased \ checkmodel/prov/unreleased \ checkmodel/distribution/unreleased \ - checkmodel/datalad-dataset/unreleased \ - checkmodel/sdd/unreleased + checkmodel/datalad-dataset/unreleased +# checkmodel/sdd/unreleased checkmodel/%: src/%.yaml @echo [Check $<] @echo "Run linter" @@ -89,9 +89,9 @@ check-validation: \ convertexamples/distribution/unreleased \ checkvalidation/distribution/unreleased \ convertexamples/datalad-dataset/unreleased \ - checkvalidation/datalad-dataset/unreleased \ - convertexamples/sdd/unreleased \ - checkvalidation/sdd/unreleased + checkvalidation/datalad-dataset/unreleased +# convertexamples/sdd/unreleased \ +# checkvalidation/sdd/unreleased checkvalidation/%: $(MAKE) checkvalid/$* checkinvalid/$* checkvalid/%: src/%/validation src/%.yaml