Skip to content

Class: Thing

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 pid 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 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.

URI: dlthings:Thing

classDiagram class Thing click Thing href "../Thing/" ThingMixin <|-- Thing click ThingMixin href "../ThingMixin/" Thing <|-- Property click Property href "../Property/" Thing <|-- ValueSpecification click ValueSpecification href "../ValueSpecification/" Thing <|-- AnnotationTag click AnnotationTag href "../AnnotationTag/" Thing : about Thing --> "*" Thing : about click Thing href "../Thing/" Thing : annotations Thing --> "*" Annotation : annotations click Annotation href "../Annotation/" Thing : attributes Thing --> "*" AttributeSpecification : attributes click AttributeSpecification href "../AttributeSpecification/" Thing : broad_mappings Thing : characterized_by Thing --> "*" Statement : characterized_by click Statement href "../Statement/" Thing : close_mappings Thing : description Thing : display_label Thing : display_note Thing : editorial_notes Thing : exact_mappings Thing : identifiers Thing --> "*" Identifier : identifiers click Identifier href "../Identifier/" Thing : kind Thing --> "0..1" Thing : kind click Thing href "../Thing/" Thing : narrow_mappings Thing : pid Thing : related_mappings Thing : relations Thing --> "*" Thing : relations click Thing href "../Thing/" Thing : schema_type

Inheritance

Slots

Name Cardinality and Range Description Inheritance
pid 1
Uriorcurie
Persistent and globally unique identifier of a Thing direct
relations *
Thing
Declares an unqualified relation of the subject Thing to another Thing direct
about *
Thing
A relation of an information artifact to the subject, such as a URL identifyi... ThingMixin
annotations *
Annotation
A record of properties of the metadata record on a subject, a collection of t... ThingMixin
broad_mappings *
Uriorcurie
A list of terms from different schemas or terminology systems that have broad... ThingMixin
close_mappings *
Uriorcurie
A list of terms from different schemas or terminology systems that have close... ThingMixin
description 0..1
String
A free-text account of the subject ThingMixin
display_label 0..1
String
Label that can be shown when the metadata record is displayed as an item ThingMixin
display_note 0..1
String
Note that can be shown when the record is displayed as an item ThingMixin
editorial_notes *
String
A comment about a metadata record either providing additional information for... ThingMixin
exact_mappings *
Uriorcurie
A list of terms from different schemas or terminology systems that have ident... ThingMixin
identifiers *
Identifier
An unambiguous reference to the subject within a given context ThingMixin
kind 0..1
Thing
The nature of the subject ThingMixin
attributes *
AttributeSpecification
Declares a relation that associates a Thing (or another attribute) with an ... ThingMixin
characterized_by *
Statement
Qualifies relationships between a subject Thing and an object Thing with ... ThingMixin
narrow_mappings *
Uriorcurie
A list of terms from different schemas or terminology systems that have narro... ThingMixin
related_mappings *
Uriorcurie
A list of terms from different schemas or terminology systems that have relat... ThingMixin
schema_type 0..1
NodeUriOrCurie
State that the subject is an instance of a particular schema class ThingMixin

Usages

used by used in type used
ThingMixin about range Thing
ThingMixin kind range Thing
AttributeSpecification about range Thing
AttributeSpecification kind range Thing
Identifier creator range Thing
Property relations range Thing
Property about range Thing
Property kind range Thing
Statement object range Thing
Thing relations range Thing
Thing about range Thing
Thing kind range Thing
ValueSpecification relations range Thing
ValueSpecification about range Thing
ValueSpecification kind range Thing
AnnotationTag relations range Thing
AnnotationTag about range Thing
AnnotationTag kind range Thing

Identifier and Mapping Information

Schema Source

  • from schema: https://concepts.datalad.org/s/things/v2

Mappings

Mapping Type Mapped Value
self dlthings:Thing
native dlthings:Thing
exact schema:Thing

Examples

Example: Thing-01-minimal

# Any document on a Thing requires a identifier.
# Beyond that, no property is required.
pid: ex:mything

Example: Thing-05-publication

# 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.
pid: https://doi.org/10.1038/s41597-022-01163-2
exact_mappings:
  - bibo:AcademicArticle
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)."
relations:
  # the containing journal with some information on it
  ISSN:2052-4463:
    exact_mappings:
      - bibo:Journal
    attributes:
      - predicate: ex:title
        value: "Scientific Data"
attributes:
  - predicate: ex:title
    value: "FAIRly big: A framework for computationally reproducible processing of large-scale data"
  # DOI
  - predicate: ex:identifier
    exact_mappings:
      - obo:IAO_0020000
    attributes:
      - predicate: skos:notation
        value: 10.1038/s41597-022-01163-2
      - predicate: dcterms:creator
        value: https://doi.org
  # bibliographic information
  - predicate: ex: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
    attributes:
      - predicate: ex:title
        value: DOI
    value: https://doi.org/10.1038/s41597-022-01163-2
  - predicate: bibo:volume
    attributes:
      - predicate: ex:title
        value: Volume
    value: "9"
  - predicate: bibo:number
    attributes:
      - predicate: ex:title
        value: Document number
    value: "80"
  - predicate: bibo:numPages
    attributes:
      - predicate: ex:title
        value: Number of pages
    value: "17"
    range: xsd:nonNegativeInteger
  - predicate: ex:modified
    range: xsd:date
    value: "2022-02-11"
  - predicate: ex:date
    range: xsd:date
    value: "2022-03-11"
characterized_by:
  # containing journal
  - predicate: ex:isPartOf
    object: ISSN:2052-4463
  # related topics
  - predicate: ex:subject
    object: https://www.nature.com/subjects/data-processing
  - predicate: ex:subject
    object: https://www.nature.com/subjects/data-publication-and-archiving
  - predicate: ex:subject
    object: https://www.nature.com/subjects/software
  # publisher landing page
  - predicate: owl:sameAs
    object: https://www.nature.com/articles/s41597-022-01163-2
  - predicate: ex:license
    object: https://spdx.org/licenses/CC-BY-4.0

Example: Thing-02-identifiers

# Identification options for a thing.
#
# `pid` 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.
pid: https://ror.org/02nv7yv05
identifiers:
  # Research Organization Registry
  - notation: 02nv7yv05
    creator: https://ror.org
  # German National Library
  # (here not using the direct value specification, but defining
  #  a proper identifier with a `notation`)
  - notation: 5008462-8
    creator: https://d-nb.info
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

Example: Thing-03-topic

# Relate a thing to topic/subjects
pid: https://doi.org/10.21105/joss.03262
characterized_by:
  # DataLad software
  - object: https://www.scicrunch.org/resolver/SCR_003931
    predicate: ex:subject

Example: Thing-02-aid

pid: ex:mything
display_label: My Thing
display_note: >-
  In case someone is wondering what that thing of mine is,
  they could read further here...
editorial_notes:
  - >-
    The only reason this record exists, is to function as
    an example in the documentation of `FlatThing`.
    Remove whenever there is no longer a need for that.
  - "And also: this is lame!"
identifiers:
  - creator: obo:FOODON_03411328
    notation: meh

Example: Thing-04-relations

# `relations` is the only slot that allows for inlining other `Thing`
# records
# example: a paper
pid: https://doi.org/10.21105/joss.03262
relations:
  # the containing journal
  ISSN:2475-9066:
    # inlined information
    attributes:
      - predicate: ex:title
        value: "Journal of Open Source Software"
  # the datalad software (no information beyond the `pid` is inlined)
  https://www.scicrunch.org/resolver/SCR_003931:

Example: Thing-06-annotations

# generic record annotation available for any `Thing`.
# annotation tags can be Thing identifiers, enabling the
# use of convention-driven local annotation patterns.
# annotation values are arbitrary strings, their interpretation
# being subject to such conventions
pid: https://example.org/thething
annotations:
  # approved by
  obo:NCIT_C42615: https://www.trr379.de/contributors/michael-hanke
  # target audience is the public
  dcterms:audience: obo:NCIT_C49060
  # deprecated
  obo:NCIT_C71491:

LinkML Source

Direct

name: Thing
description: 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 `pid` 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 `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`.
from_schema: https://concepts.datalad.org/s/things/v2
exact_mappings:
- schema:Thing
mixins:
- ThingMixin
slots:
- pid
- relations
slot_usage:
  about:
    name: about
    multivalued: true
  relations:
    name: relations
    inlined: true
    inlined_as_list: false
class_uri: dlthings:Thing

Induced

name: Thing
description: 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 `pid` 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 `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`.
from_schema: https://concepts.datalad.org/s/things/v2
exact_mappings:
- schema:Thing
mixins:
- ThingMixin
slot_usage:
  about:
    name: about
    multivalued: true
  relations:
    name: relations
    inlined: true
    inlined_as_list: false
attributes:
  pid:
    name: pid
    description: Persistent and globally unique identifier of a `Thing`.
    title: Persistent identifier
    from_schema: https://concepts.datalad.org/s/things/v2
    exact_mappings:
    - dcterms:identifier
    - schema:identifier
    rank: 1000
    identifier: true
    alias: pid
    owner: Thing
    domain_of:
    - Thing
    range: uriorcurie
    required: true
  relations:
    name: relations
    description: 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 `characterized_by` slot.
    title: Relations
    from_schema: https://concepts.datalad.org/s/things/v2
    exact_mappings:
    - dcat:relation
    - dcterms:relation
    rank: 1000
    slot_uri: dlthings:relation
    alias: relations
    owner: Thing
    domain_of:
    - Thing
    symmetric: true
    relational_role: OBJECT
    range: Thing
    multivalued: true
    inlined: true
    inlined_as_list: false
  about:
    name: about
    description: A relation of an information artifact to the subject, such as a URL
      identifying the topic of a document.
    title: About
    from_schema: https://concepts.datalad.org/s/things/v2
    exact_mappings:
    - schema:about
    - obo:IAO_0000136
    rank: 1000
    slot_uri: dcterms:subject
    alias: about
    owner: Thing
    domain_of:
    - ThingMixin
    range: Thing
    multivalued: true
  annotations:
    name: annotations
    description: A record of properties of the metadata record on a subject, a collection
      of tag/text tuples with the semantics of OWL Annotation.
    title: Annotations
    from_schema: https://concepts.datalad.org/s/things/v2
    exact_mappings:
    - obo:NCIT_C44272
    rank: 1000
    slot_uri: dlthings:annotations
    alias: annotations
    owner: Thing
    domain_of:
    - ThingMixin
    range: Annotation
    multivalued: true
    inlined: true
  broad_mappings:
    name: broad_mappings
    description: A list of terms from different schemas or terminology systems that
      have broader meaning.
    title: Broad mappings
    from_schema: https://concepts.datalad.org/s/things/v2
    rank: 1000
    is_a: mappings
    slot_uri: skos:broadMatch
    alias: broad_mappings
    owner: Thing
    domain_of:
    - ThingMixin
    range: uriorcurie
    multivalued: true
  close_mappings:
    name: close_mappings
    description: A list of terms from different schemas or terminology systems that
      have close meaning.
    title: Close mappings
    from_schema: https://concepts.datalad.org/s/things/v2
    rank: 1000
    is_a: mappings
    slot_uri: skos:closeMatch
    alias: close_mappings
    owner: Thing
    domain_of:
    - ThingMixin
    range: uriorcurie
    multivalued: true
  description:
    name: description
    annotations:
      dash:singleLine:
        tag: dash:singleLine
        value: false
    description: A free-text account of the subject.
    title: Description
    from_schema: https://concepts.datalad.org/s/things/v2
    close_mappings:
    - rdfs:comment
    broad_mappings:
    - obo:IAO_0000300
    rank: 1000
    slot_uri: dcterms:description
    alias: description
    owner: Thing
    domain_of:
    - ThingMixin
    range: string
  display_label:
    name: display_label
    description: Label that can be shown when the metadata record is displayed as
      an item.
    title: Record display label
    from_schema: https://concepts.datalad.org/s/things/v2
    rank: 1000
    slot_uri: skos:prefLabel
    alias: display_label
    owner: Thing
    domain_of:
    - ThingMixin
    range: string
  display_note:
    name: display_note
    annotations:
      dash:singleLine:
        tag: dash:singleLine
        value: false
    description: Note that can be shown when the record is displayed as an item. This
      is typically longer than a label.
    title: Record display note
    from_schema: https://concepts.datalad.org/s/things/v2
    rank: 1000
    slot_uri: skos:note
    alias: display_note
    owner: Thing
    domain_of:
    - ThingMixin
    range: string
  editorial_notes:
    name: editorial_notes
    annotations:
      dash:singleLine:
        tag: dash:singleLine
        value: false
    description: A comment about a metadata record either providing additional information
      for a record curation, or leaving a comment after curation occurred. This can
      be used to include information that is deemed relevant, but could not be expressed
      in the provided fields.
    title: Editorial note
    from_schema: https://concepts.datalad.org/s/things/v2
    rank: 1000
    slot_uri: skos:editorialNote
    alias: editorial_notes
    owner: Thing
    domain_of:
    - ThingMixin
    range: string
    multivalued: true
  exact_mappings:
    name: exact_mappings
    description: A list of terms from different schemas or terminology systems that
      have identical meaning.
    title: Exact mappings
    from_schema: https://concepts.datalad.org/s/things/v2
    rank: 1000
    is_a: mappings
    slot_uri: skos:exactMatch
    alias: exact_mappings
    owner: Thing
    domain_of:
    - ThingMixin
    range: uriorcurie
    multivalued: true
  identifiers:
    name: identifiers
    description: An unambiguous reference to the subject within a given context.
    title: Identifiers
    from_schema: https://concepts.datalad.org/s/things/v2
    exact_mappings:
    - schema:identifier
    rank: 1000
    slot_uri: dcterms:identifier
    alias: identifiers
    owner: Thing
    domain_of:
    - ThingMixin
    range: Identifier
    multivalued: true
    inlined: true
    inlined_as_list: true
  kind:
    name: kind
    description: The nature of the subject.
    title: Kind
    comments:
    - This is conceptually the same as an instance-level `broad_mappings`. It can
      make sense to use this slot (in addition) in order to enable straightforward
      type declarations for instances from a controlled, application specific vocabulary,
      while also keeping the ability to use `broad_mappings` for alignment with external
      vocabularies and applications.
    from_schema: https://concepts.datalad.org/s/things/v2
    exact_mappings:
    - dcterms:type
    rank: 1000
    slot_uri: dcterms:type
    alias: kind
    owner: Thing
    domain_of:
    - ThingMixin
    range: Thing
  attributes:
    name: attributes
    description: 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 `characterized_by`) should be preferred.
    title: Attributes
    from_schema: https://concepts.datalad.org/s/things/v2
    exact_mappings:
    - sio:SIO_000008
    rank: 1000
    slot_uri: dlthings:attributes
    alias: attributes
    owner: Thing
    domain_of:
    - ThingMixin
    range: AttributeSpecification
    multivalued: true
    inlined: true
    inlined_as_list: true
  characterized_by:
    name: characterized_by
    description: Qualifies relationships between a subject `Thing` and an object `Thing`
      with a `Statement` declaring a `predicate` on the nature of the relationship.
    title: Characterized by
    from_schema: https://concepts.datalad.org/s/things/v2
    exact_mappings:
    - obo:RO_0000053
    rank: 1000
    slot_uri: dlthings:characterized_by
    alias: characterized_by
    owner: Thing
    domain_of:
    - ThingMixin
    range: Statement
    multivalued: true
    inlined: true
    inlined_as_list: true
  narrow_mappings:
    name: narrow_mappings
    description: A list of terms from different schemas or terminology systems that
      have narrower meaning.
    title: Narrow mappings
    from_schema: https://concepts.datalad.org/s/things/v2
    rank: 1000
    is_a: mappings
    slot_uri: skos:narrowMatch
    alias: narrow_mappings
    owner: Thing
    domain_of:
    - ThingMixin
    range: uriorcurie
    multivalued: true
  related_mappings:
    name: related_mappings
    description: A list of terms from different schemas or terminology systems that
      have related meaning.
    title: Related mappings
    from_schema: https://concepts.datalad.org/s/things/v2
    rank: 1000
    is_a: mappings
    slot_uri: skos:relatedMatch
    alias: related_mappings
    owner: Thing
    domain_of:
    - ThingMixin
    range: uriorcurie
    multivalued: true
  schema_type:
    name: schema_type
    description: State that the subject is an instance of a particular schema class.
      Typically, no explicit value needs to be assigned to this slot, because it matches
      the class type of a particular record. However, this slots can be used as a
      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.
    title: Schema type
    from_schema: https://concepts.datalad.org/s/things/v2
    exact_mappings:
    - dcterms:type
    rank: 1000
    slot_uri: rdf:type
    designates_type: true
    alias: schema_type
    owner: Thing
    domain_of:
    - ThingMixin
    - Identifier
    range: NodeUriOrCurie
class_uri: dlthings:Thing