@prefix IAO: <http://purl.obolibrary.org/obo/IAO_> .
@prefix dash: <http://datashapes.org/dash#> .
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix dlcommonmx: <https://concepts.datalad.org/s/common-mixin/unreleased/> .
@prefix dlfilesmx: <https://concepts.datalad.org/s/files-mixin/unreleased/> .
@prefix dlflat: <https://concepts.datalad.org/s/flat/unreleased/> .
@prefix dlflatfiles: <https://concepts.datalad.org/s/flat-files/unreleased/> .
@prefix dlidentifiers: <https://concepts.datalad.org/s/identifiers/unreleased/> .
@prefix dlrelationsmx: <https://concepts.datalad.org/s/relations-mixin/unreleased/> .
@prefix dlspatialmx: <https://concepts.datalad.org/s/spatial-mixin/unreleased/> .
@prefix dlthings: <https://concepts.datalad.org/s/things/v1/> .
@prefix dltypes: <https://concepts.datalad.org/s/types/v1/> .
@prefix fabio: <http://purl.org/spar/fabio/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ns1: <http://purl.org/ontology/bibo/> .
@prefix obo: <http://purl.obolibrary.org/obo/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix pav: <http://purl.org/pav/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix spdx: <http://spdx.org/rdf/terms#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

dlcommonmx:keywords a owl:DatatypeProperty ;
    rdfs:label "keywords" ;
    rdfs:range xsd:string ;
    skos:definition "One or more keywords or tags describing the subject." ;
    skos:exactMatch IAO:0000629,
        <http://schema.org/keywords>,
        dcat:keyword ;
    skos:inScheme <https://concepts.datalad.org/s/common-mixin/unreleased> .

dlcommonmx:short_name a owl:DatatypeProperty ;
    rdfs:label "short_name" ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf dlcommonmx:name ;
    skos:broadMatch obo:NCIT_C42610 ;
    skos:definition "A shortened name for the subject. For example, an acronym, initialism, nickname, or other abbreviation of the `name`." ;
    skos:exactMatch <http://www.wikidata.org/prop/qualifier/P1813> ;
    skos:inScheme <https://concepts.datalad.org/s/common-mixin/unreleased> .

dlcommonmx:title a owl:DatatypeProperty ;
    rdfs:label "title" ;
    rdfs:range xsd:string ;
    skos:definition "A summarily description of the subject. It is closely related to a `name`, but often less compact and more descriptive. Typically used for documents." ;
    skos:exactMatch dcterms:title ;
    skos:inScheme <https://concepts.datalad.org/s/common-mixin/unreleased> ;
    skos:relatedMatch <http://schema.org/name> .

<https://concepts.datalad.org/s/flat-files/unreleased.owl.ttl> a owl:Ontology ;
    rdfs:label "flat-files-schema" ;
    dcterms:license "CC-BY-4.0" ;
    dcterms:title "FLAT files schema" ;
    ns1:status <http://publications.europa.eu/resource/authority/concept-status/DEPRECATED> ;
    pav:version "UNRELEASED" ;
    skos:definition """More information may be available on the schema's [about page](about).

The schema definition is available as

- [JSON-LD context](../unreleased.context.jsonld)
- [LinkML YAML](../unreleased.yaml)
- [LinkML YAML (static/resolved)](../unreleased.static.yaml)
- [OWL TTL](../unreleased.owl.ttl)
- [SHACL TTL](../unreleased.shacl.ttl)
""" ;
    skos:note "ALL CONTENT HERE IS UNRELEASED AND MAY CHANGE ANY TIME" .

dlrelationsmx:about a owl:ObjectProperty ;
    rdfs:label "about" ;
    rdfs:range dlthings:Thing ;
    skos:definition "A relation of an information artifact to the subject, such as a URL identifying the topic of a document." ;
    skos:exactMatch IAO:0000136,
        <http://schema.org/about> ;
    skos:inScheme <https://concepts.datalad.org/s/relations-mixin/unreleased> .

dlrelationsmx:conforms_to a owl:ObjectProperty ;
    rdfs:label "conforms_to" ;
    rdfs:range dlthings:Thing ;
    skos:definition "An established standard to which the subject conforms." ;
    skos:exactMatch dcterms:conformsTo ;
    skos:inScheme <https://concepts.datalad.org/s/relations-mixin/unreleased> ;
    skos:note "This property SHOULD be used to indicate a model, schema, ontology, view or profile that the subject conforms to." .

dlrelationsmx:depends_on a owl:ObjectProperty ;
    rdfs:label "depends_on" ;
    rdfs:range dlthings:Thing ;
    skos:definition "The subject depends on object in some way." ;
    skos:exactMatch obo:RO_0002502 ;
    skos:inScheme <https://concepts.datalad.org/s/relations-mixin/unreleased> .

dlrelationsmx:part_of a owl:ObjectProperty ;
    rdfs:label "part_of" ;
    rdfs:range dlthings:Thing ;
    skos:definition "The entity that the subject is a part of. A core relation that holds between a part and its whole." ;
    skos:exactMatch obo:BFO_0000050,
        dcterms:isPartOf,
        <http://schema.org/isPartOf> ;
    skos:inScheme <https://concepts.datalad.org/s/relations-mixin/unreleased> .

dlrelationsmx:same_as a owl:ObjectProperty ;
    rdfs:label "same_as" ;
    rdfs:range dlthings:Thing ;
    skos:closeMatch <http://schema.org/sameAs> ;
    skos:definition "Declares that the subject and an object are equal. Can be used to indicate a URL of a reference Web page that unambiguously indicates the subject's identity. For example, the URL of the subject's Wikipedia page, Wikidata entry, or official website." ;
    skos:exactMatch owl:sameAs ;
    skos:inScheme <https://concepts.datalad.org/s/relations-mixin/unreleased> .

dlrelationsmx:version_of a owl:ObjectProperty ;
    rdfs:label "version_of" ;
    rdfs:range dlthings:Thing ;
    skos:definition "A related resource of which the described resource is a version, edition, or adaptation." ;
    skos:exactMatch dcterms:isVersionOf ;
    skos:inScheme <https://concepts.datalad.org/s/relations-mixin/unreleased> .

dlspatialmx:at_location a owl:ObjectProperty ;
    rdfs:label "at_location" ;
    rdfs:range dlthings:Thing ;
    skos:definition "Associate the subject with a location. This can be a geographic place, or another uniquely identified object." ;
    skos:editorialNote "For specifying a context-specific location see `locator`." ;
    skos:exactMatch <http://schema.org/location>,
        prov:atLocation ;
    skos:inScheme <https://concepts.datalad.org/s/spatial-mixin/unreleased> ;
    skos:note "Does not define a range, because the desired type is highly use case specific." .

dltypes:EmailAddress a rdfs:Datatype ;
    owl:equivalentClass [ a rdfs:Datatype ;
            owl:intersectionOf ( xsd:string [ a rdfs:Datatype ;
                        owl:onDatatype xsd:string ;
                        owl:withRestrictions ( [ xsd:pattern "(?:[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?|\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[A-Za-z0-9-]*[A-Za-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])" ] ) ] ) ] .

xsd:hexBinary a rdfs:Datatype ;
    owl:equivalentClass [ a rdfs:Datatype ;
            owl:intersectionOf ( xsd:string [ a rdfs:Datatype ;
                        owl:onDatatype xsd:string ;
                        owl:withRestrictions ( [ xsd:pattern "^[a-fA-F0-9]+$" ] ) ] ) ] .

dlcommonmx:name a owl:DatatypeProperty ;
    rdfs:label "name" ;
    rdfs:range xsd:string ;
    skos:closeMatch IAO:0000590,
        dcterms:title ;
    skos:definition "Name of the subject. A name is closely related to a `title`, but often more compact and identifier-like, but without the implication of uniqueness of an identifier. A name is often used by technical systems to display an item in an organizational structure, such as a file in a directory hierarchy." ;
    skos:exactMatch <http://schema.org/name>,
        rdfs:label,
        foaf:name ;
    skos:inScheme <https://concepts.datalad.org/s/common-mixin/unreleased> .

dlflatfiles:NamedDistributionPart a owl:Class ;
    rdfs:label "NamedDistributionPart" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom [ a rdfs:Datatype ;
                    owl:intersectionOf ( xsd:string [ a rdfs:Datatype ;
                                owl:onDatatype xsd:string ;
                                owl:withRestrictions ( [ xsd:pattern "^[^/]+.*$" ] ) ] ) ] ;
            owl:onProperty dlspatialmx:locator ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlspatialmx:locator ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlflatfiles:Distribution ;
            owl:onProperty dlthings:object ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlrelationsmx:roles ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlthings:object ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlthings:Thing ;
            owl:onProperty dlrelationsmx:roles ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlspatialmx:locator ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty dlthings:object ] ;
    skos:definition "An association class for attaching a `locator` as additional information to a `hasPart` relationship." ;
    skos:inScheme <https://concepts.datalad.org/s/flat-files/unreleased> .

dlflat:FlatAnnotation a owl:Class ;
    rdfs:label "FlatAnnotation" ;
    dcterms:title "Annotation" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:annotation_tag ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlflat:AnnotationTag ;
            owl:onProperty dlflatfiles:annotation_tag ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflatfiles:annotation_tag ],
        dlthings:Annotation ;
    skos:definition "A tag/value pair with the semantics of OWL Annotation." ;
    skos:inScheme <https://concepts.datalad.org/s/flat/unreleased> .

dlflat:FlatStatement a owl:Class ;
    rdfs:label "FlatStatement" ;
    dcterms:title "Statement" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom dlflat:FlatProperty ;
            owl:onProperty dlflatfiles:predicate ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:predicate ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflatfiles:predicate ],
        dlthings:Statement ;
    skos:definition "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`." ;
    skos:inScheme <https://concepts.datalad.org/s/flat/unreleased> .

xsd:nonNegativeInteger a rdfs:Datatype ;
    owl:equivalentClass xsd:integer .

dlfilesmx:distribution_of a owl:ObjectProperty ;
    rdfs:label "distribution_of" ;
    rdfs:range dlthings:Thing ;
    skos:broadMatch <http://semanticscience.org/resource/SIO_000426> ;
    skos:definition "The resource that the subject is a distribution of." ;
    skos:inScheme <https://concepts.datalad.org/s/files-mixin/unreleased> .

dlflatfiles:checksums a owl:ObjectProperty ;
    rdfs:label "checksums" ;
    rdfs:range dlidentifiers:Checksum ;
    skos:definition "The checksum property provides a mechanism that can be used to verify that the contents of a file or package have not changed." ;
    skos:exactMatch spdx:checksum ;
    skos:inScheme <https://concepts.datalad.org/s/flat-files/unreleased> .

dlidentifiers:identifiers a owl:ObjectProperty ;
    rdfs:label "identifiers" ;
    rdfs:range dlidentifiers:Identifier ;
    skos:definition "An unambiguous reference to the subject within a given context." ;
    skos:exactMatch dcterms:identifier,
        <http://schema.org/identifier>,
        <http://www.w3.org/ns/adms#identifier> ;
    skos:inScheme <https://concepts.datalad.org/s/identifiers/unreleased> .

dlrelationsmx:parts a owl:ObjectProperty ;
    rdfs:label "parts" ;
    rdfs:range dlthings:Thing ;
    skos:definition "A related resource that is included either physically or logically in the described resource." ;
    skos:exactMatch dcterms:hasPart,
        <http://schema.org/hasPart> ;
    skos:inScheme <https://concepts.datalad.org/s/relations-mixin/unreleased> .

dlrelationsmx:roles a owl:ObjectProperty ;
    rdfs:label "roles" ;
    rdfs:range dlthings:Thing ;
    skos:definition "Describes the function of an entity or agent (object) within the scope of a relationship with the subject." ;
    skos:exactMatch dcat:had_role,
        prov:hadRole ;
    skos:inScheme <https://concepts.datalad.org/s/relations-mixin/unreleased> .

dlthings:ValueSpecification a owl:Class ;
    rdfs:label "ValueSpecification" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty dlflatfiles:value ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:value ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflatfiles:value ],
        dlthings:Thing,
        dlthings:ValueSpecificationMixin ;
    skos:definition "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` (`attributes`)." ;
    skos:exactMatch obo:OBI_0001933 ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:ValueSpecificationMixin a owl:Class ;
    rdfs:label "ValueSpecificationMixin" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlthings:value ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty dlthings:range ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:range ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlthings:value ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:value ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlthings:range ] ;
    skos:definition "Mix-in for a (structured) value specification. Two slots are provided to define a (literal) value (`value`) and its type (`range`)." ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:annotations a owl:ObjectProperty ;
    rdfs:label "annotations" ;
    dcterms:title "Annotations" ;
    rdfs:range dlthings:Annotation ;
    skos:definition "A record of properties of the metadata record on a subject, a collection of tag/text tuples with the semantics of OWL Annotation." ;
    skos:exactMatch obo:NCIT_C44272 ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:attributes a owl:ObjectProperty ;
    rdfs:label "attributes" ;
    dcterms:title "Attributes" ;
    rdfs:range dlthings:AttributeSpecification ;
    skos:definition "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." ;
    skos:exactMatch <http://semanticscience.org/resource/SIO_000008> ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:broad_mappings a owl:DatatypeProperty ;
    rdfs:label "broad_mappings" ;
    dcterms:title "Broad mappings" ;
    rdfs:range xsd:anyURI ;
    rdfs:subPropertyOf dlthings:mappings ;
    skos:definition "A list of terms from different schemas or terminology systems that have broader meaning." ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:characterized_by a owl:ObjectProperty ;
    rdfs:label "characterized_by" ;
    dcterms:title "Is characterized by" ;
    rdfs:range dlthings:Statement ;
    skos:definition "Qualifies relationships between a subject `Thing` and an object `Thing` with a `Statement` declaring a `predicate` on the nature of the relationship." ;
    skos:exactMatch obo:RO_0000053 ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:close_mappings a owl:DatatypeProperty ;
    rdfs:label "close_mappings" ;
    dcterms:title "Close mappings" ;
    rdfs:range xsd:anyURI ;
    rdfs:subPropertyOf dlthings:mappings ;
    skos:definition "A list of terms from different schemas or terminology systems that have close meaning." ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:exact_mappings a owl:DatatypeProperty ;
    rdfs:label "exact_mappings" ;
    dcterms:title "Exact mappings" ;
    rdfs:range xsd:anyURI ;
    rdfs:subPropertyOf dlthings:mappings ;
    skos:definition "A list of terms from different schemas or terminology systems that have identical meaning." ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:narrow_mappings a owl:DatatypeProperty ;
    rdfs:label "narrow_mappings" ;
    dcterms:title "Narrow mappings" ;
    rdfs:range xsd:anyURI ;
    rdfs:subPropertyOf dlthings:mappings ;
    skos:definition "A list of terms from different schemas or terminology systems that have narrower meaning." ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:related_mappings a owl:DatatypeProperty ;
    rdfs:label "related_mappings" ;
    dcterms:title "Related mappings" ;
    rdfs:range xsd:anyURI ;
    rdfs:subPropertyOf dlthings:mappings ;
    skos:definition "A list of terms from different schemas or terminology systems that have related meaning." ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:relations a owl:ObjectProperty,
        owl:SymmetricProperty ;
    rdfs:label "relations" ;
    dcterms:title "Relations" ;
    rdfs:domain dlthings:Thing ;
    rdfs:range dlthings:Thing ;
    skos:definition "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." ;
    skos:exactMatch dcterms:relation,
        dcat:relation ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

rdfs:Resource a rdfs:Datatype ;
    owl:equivalentClass xsd:anyURI .

dlfilesmx:byte_size a owl:DatatypeProperty ;
    rdfs:label "byte_size" ;
    rdfs:range xsd:nonNegativeInteger ;
    skos:definition "The size of the subject in bytes." ;
    skos:exactMatch dcat:byteSize ;
    skos:inScheme <https://concepts.datalad.org/s/files-mixin/unreleased> .

dlfilesmx:format a owl:ObjectProperty ;
    rdfs:label "format" ;
    rdfs:range dlthings:Thing ;
    skos:definition "The file format of a distribution." ;
    skos:editorialNote "When type of the distribution is defined by IANA, `media_type` should be used." ;
    skos:exactMatch dcterms:format ;
    skos:inScheme <https://concepts.datalad.org/s/files-mixin/unreleased> .

dlfilesmx:media_type a owl:DatatypeProperty ;
    rdfs:label "media_type" ;
    rdfs:range xsd:string ;
    rdfs:seeAlso <https://www.iana.org/assignments/media-types> ;
    skos:definition "The media type of a distribution as defined by IANA" ;
    skos:exactMatch dcat:mediaType ;
    skos:inScheme <https://concepts.datalad.org/s/files-mixin/unreleased> .

dlflatfiles:Distribution a owl:Class ;
    rdfs:label "Distribution" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlfilesmx:media_type ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlfilesmx:byte_size ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlfilesmx:byte_size ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlflatfiles:NamedDistributionPart ;
            owl:onProperty dlrelationsmx:parts ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlfilesmx:format ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlthings:Thing ;
            owl:onProperty dlrelationsmx:kind ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlfilesmx:media_type ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlthings:Thing ;
            owl:onProperty dlfilesmx:format ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlidentifiers:Checksum ;
            owl:onProperty dlflatfiles:checksums ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlfilesmx:media_type ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlrelationsmx:parts ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:checksums ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlfilesmx:format ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlrelationsmx:kind ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:nonNegativeInteger ;
            owl:onProperty dlfilesmx:byte_size ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlrelationsmx:kind ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlthings:Thing ;
            owl:onProperty dlfilesmx:distribution_of ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlfilesmx:distribution_of ],
        dlflat:FlatThing ;
    skos:definition "A specific representation of a data item, which may come in the form of an electronic file, or an archive or directory of many files, may be standalone or part of a larger collection." ;
    skos:exactMatch fabio:DigitalManifestation,
        dcat:Distribution ;
    skos:inScheme <https://concepts.datalad.org/s/flat-files/unreleased> ;
    skos:note "There is no `name` property or similar, because the focus is on the identity of the distribution content, not how it might be named in a particular context. For example, an image in JPEG format might be names \"20250825_102385.jpg\" on a camera and \"me_at_the_party.jpg\" elsewhere, but it would be the exact same image. Expressing naming in some context should be done within the scope of the containing entity (see `named_parts`)." .

dlflat:AnnotationTag a owl:Class ;
    rdfs:label "AnnotationTag" ;
    dcterms:title "Annotation tag" ;
    rdfs:subClassOf dlflat:FlatThing ;
    skos:definition "A tag identifying an annotation." ;
    skos:inScheme <https://concepts.datalad.org/s/flat/unreleased> .

dlflat:FlatAttributeSpecification a owl:Class ;
    rdfs:label "FlatAttributeSpecification" ;
    dcterms:title "Attribute" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:predicate ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflatfiles:predicate ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlflat:FlatProperty ;
            owl:onProperty dlflatfiles:predicate ],
        dlthings:AttributeSpecification ;
    skos:definition "An attribute is conceptually a thing, but it requires no dedicated identifier (`pid`). Instead, it is linked to a `Thing` via its `attributes` slot and declares a `predicate` on the nature of the relationship." ;
    skos:inScheme <https://concepts.datalad.org/s/flat/unreleased> .

dlidentifiers:DOI a owl:Class ;
    rdfs:label "DOI" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:creator ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:creator ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:schema_agency ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflatfiles:creator ],
        [ a owl:Restriction ;
            owl:allValuesFrom [ a rdfs:Datatype ;
                    owl:onDatatype xsd:string ;
                    owl:withRestrictions ( [ xsd:pattern "(?i)^(?!(?:https?://|doi:)).+$" ] ) ] ;
            owl:onProperty dlflatfiles:notation ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:schema_agency ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflatfiles:schema_agency ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflatfiles:notation ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:notation ],
        dlidentifiers:IssuedIdentifier ;
    owl:hasKey ( dlidentifiers:notation ) ;
    skos:definition "Digital Object Identifier (DOI; ISO 26324), an identifier system governed by the DOI Foundation, where individual identifiers are issued by one of several registration agencies." ;
    skos:exactMatch dlidentifiers:DOI ;
    skos:inScheme <https://concepts.datalad.org/s/identifiers/unreleased> .

dlidentifiers:creator a owl:DatatypeProperty ;
    rdfs:label "creator" ;
    rdfs:range xsd:anyURI ;
    skos:definition "An agent responsible for making an entity." ;
    skos:editorialNote "The `range` is only `uriorcurie` here (and not `Thing`), because we have an `ifabsent` declaration for DOIs that only work with this type. And even for that it needs a patch." ;
    skos:exactMatch dcterms:creator ;
    skos:inScheme <https://concepts.datalad.org/s/identifiers/unreleased> .

dlidentifiers:schema_agency a owl:DatatypeProperty ;
    rdfs:label "schema_agency" ;
    rdfs:range xsd:string ;
    skos:definition "Name of the agency that issued an identifier." ;
    skos:exactMatch <http://www.w3.org/ns/adms#schemaAgency> ;
    skos:inScheme <https://concepts.datalad.org/s/identifiers/unreleased> .

dlrelationsmx:kind a owl:ObjectProperty ;
    rdfs:label "kind" ;
    rdfs:range dlthings:Thing ;
    skos:definition "The nature of the subject." ;
    skos:exactMatch dcterms:type ;
    skos:inScheme <https://concepts.datalad.org/s/relations-mixin/unreleased> ;
    skos:note "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." .

dlspatialmx:locator a owl:DatatypeProperty ;
    rdfs:label "locator" ;
    rdfs:range xsd:string ;
    skos:definition "A descriptive identifier that locates a resource within a containing resource. This can be a unique name, a numerical key, or another notation that uniquely identifies the subject within the containing resource." ;
    skos:editorialNote "For specifying a location via a globally unique identifier see `at_location`." ;
    skos:exactMatch ns1:locator ;
    skos:inScheme <https://concepts.datalad.org/s/spatial-mixin/unreleased> .

dlthings:Annotation a owl:Class ;
    rdfs:label "Annotation" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlthings:annotation_tag ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlthings:Thing ;
            owl:onProperty dlthings:annotation_tag ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:annotation_value ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlthings:annotation_value ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:annotation_tag ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlthings:annotation_value ] ;
    skos:definition "A tag/value pair with the semantics of OWL Annotation." ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:annotation_tag a owl:ObjectProperty ;
    rdfs:label "annotation_tag" ;
    rdfs:range dlthings:Thing ;
    skos:definition "A tag identifying an annotation." ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:annotation_value a owl:DatatypeProperty ;
    rdfs:label "annotation_value" ;
    rdfs:range xsd:string ;
    skos:definition "The actual annotation." ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:description a owl:DatatypeProperty ;
    rdfs:label "description" ;
    dash:singleLine false ;
    dcterms:title "Description" ;
    rdfs:range xsd:string ;
    skos:broadMatch IAO:0000300 ;
    skos:definition "A free-text account of the subject." ;
    skos:exactMatch dcterms:description,
        rdfs:comment ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:pid a owl:DatatypeProperty ;
    rdfs:label "pid" ;
    dcterms:title "Persistent identifier" ;
    rdfs:range xsd:anyURI ;
    skos:definition "Persistent and globally unique identifier of a `Thing`." ;
    skos:exactMatch dcterms:identifier,
        <http://schema.org/identifier>,
        <http://www.w3.org/ns/adms#identifier> ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:range a owl:DatatypeProperty ;
    rdfs:label "range" ;
    rdfs:range xsd:anyURI ;
    skos:definition "Declares that the value of a `Thing` or `AttributeSpecification` are instances of a particular class." ;
    skos:exactMatch rdfs:range ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:value a owl:DatatypeProperty ;
    rdfs:label "value" ;
    rdfs:range xsd:string ;
    skos:definition "Value that is a direct representation of a thing." ;
    skos:exactMatch rdf:value ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlflat:FlatProperty a owl:Class ;
    rdfs:label "FlatProperty" ;
    dcterms:title "Property" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflat:editorial_note ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflat:display_note ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlflat:display_label ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflat:display_label ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlflat:editorial_note ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflat:display_label ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflat:display_note ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlflat:display_note ],
        dlthings:Property ;
    skos:definition "An RDF property, a `Thing` used to define a `predicate`, for example in a `Statement`." ;
    skos:inScheme <https://concepts.datalad.org/s/flat/unreleased> .

dlflat:FlatThing a owl:Class ;
    rdfs:label "FlatThing" ;
    dcterms:title "Thing" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlflat:display_label ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:annotations ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlidentifiers:Identifier ;
            owl:onProperty dlidentifiers:identifiers ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflat:display_note ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlflat:FlatAnnotation ;
            owl:onProperty dlflatfiles:annotations ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlflat:display_note ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:characterized_by ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlflat:FlatStatement ;
            owl:onProperty dlflatfiles:characterized_by ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:attributes ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflat:display_label ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlflat:editorial_note ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflat:display_note ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlflat:FlatAttributeSpecification ;
            owl:onProperty dlflatfiles:attributes ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflat:display_label ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflat:editorial_note ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlidentifiers:identifiers ],
        dlthings:Thing ;
    skos:definition """`Thing` variant that provides a basis for the annotation and curation of more specialized concepts.
It equips `Thing` with additional slots to annotate labels and notes that aid information entry and curation in workflows and user interfaces. Moreover, the `identifiers` slot enables the specification is any number of identifiers (issued or computed) associated with a `Thing`.""" ;
    skos:inScheme <https://concepts.datalad.org/s/flat/unreleased> .

dlflat:editorial_note a owl:DatatypeProperty ;
    rdfs:label "editorial_note" ;
    dash:singleLine false ;
    dcterms:title "Editorial note" ;
    rdfs:range xsd:string ;
    skos:definition "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." ;
    skos:inScheme <https://concepts.datalad.org/s/flat/unreleased> .

dlidentifiers:ComputedIdentifier a owl:Class ;
    rdfs:label "ComputedIdentifier" ;
    rdfs:subClassOf dlidentifiers:Identifier ;
    skos:definition "An identifier that has been derived from information on the identified entity." ;
    skos:exactMatch dlidentifiers:ComputedIdentifier ;
    skos:inScheme <https://concepts.datalad.org/s/identifiers/unreleased> ;
    skos:narrowMatch spdx:Checksum .

dlidentifiers:IssuedIdentifier a owl:Class ;
    rdfs:label "IssuedIdentifier" ;
    rdfs:seeAlso <https://semiceu.github.io/ADMS/releases/2.00/#Identifier> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlidentifiers:schema_agency ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlidentifiers:schema_agency ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlidentifiers:schema_agency ],
        dlidentifiers:Identifier ;
    skos:definition "An identifier that was issued by a particular agent with a notation that has no (or an undefined) relation to the nature of the identified entity." ;
    skos:exactMatch <http://www.w3.org/ns/adms#Identifier>,
        dlidentifiers:IssuedIdentifier ;
    skos:inScheme <https://concepts.datalad.org/s/identifiers/unreleased> .

dlidentifiers:notation a owl:DatatypeProperty ;
    rdfs:label "notation" ;
    rdfs:range xsd:string ;
    skos:definition "String of characters such as \"T58:5\" or \"30:4833\" used to uniquely identify a concept within the scope of a given concept scheme." ;
    skos:exactMatch skos:notation ;
    skos:inScheme <https://concepts.datalad.org/s/identifiers/unreleased> .

dlthings:Statement a owl:Class ;
    rdfs:label "Statement" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom dlthings:Property ;
            owl:onProperty dlthings:predicate ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlthings:object ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlthings:predicate ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty dlthings:predicate ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty dlthings:object ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlthings:Thing ;
            owl:onProperty dlthings:object ] ;
    skos:definition "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`." ;
    skos:exactMatch rdf:Statement,
        dlthings:Statement ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:ThingMixin a owl:Class ;
    rdfs:label "ThingMixin" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:description ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlthings:description ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:related_mappings ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:exact_mappings ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:close_mappings ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty dlthings:close_mappings ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:attributes ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty dlthings:related_mappings ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dltypes:schema_type ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlthings:Statement ;
            owl:onProperty dlthings:characterized_by ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:broad_mappings ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty dlthings:narrow_mappings ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:characterized_by ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlthings:AttributeSpecification ;
            owl:onProperty dlthings:attributes ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:narrow_mappings ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlthings:Annotation ;
            owl:onProperty dlthings:annotations ],
        [ a owl:Restriction ;
            owl:allValuesFrom rdfs:Resource ;
            owl:onProperty dltypes:schema_type ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlthings:description ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dltypes:schema_type ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:annotations ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty dlthings:exact_mappings ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty dlthings:broad_mappings ] ;
    skos:definition "Mix-in with the common interface of `Thing` and `AttributeSpecification`. This interface enables type specifications (`rdf:type`) for things and attributes via a `type` designator slot to indicate specialized schema classes for validation where a slot's `range` is too generic. A thing or attribute can be further describe with statements on qualified relations to other things (`characterized_by`), or inline attributes (`attributes`). A set of `mappings` slots enables the alignment for arbitrary external schemas and terminologies." ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlidentifiers:Checksum a owl:Class ;
    rdfs:label "Checksum" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:hexBinary ;
            owl:onProperty dlflatfiles:notation ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty dlflatfiles:notation ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty dlflatfiles:creator ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflatfiles:notation ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflatfiles:creator ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:creator ],
        dlidentifiers:ComputedIdentifier ;
    skos:definition "A Checksum is a value that allows to check the integrity of the contents of a file. Even small changes to the content of the file will change its checksum. This class allows the results of a variety of checksum and cryptographic message digest algorithms to be represented." ;
    skos:exactMatch spdx:Checksum,
        dlidentifiers:Checksum ;
    skos:inScheme <https://concepts.datalad.org/s/identifiers/unreleased> .

dlthings:AttributeSpecification a owl:Class ;
    rdfs:label "AttributeSpecification" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom dlthings:Property ;
            owl:onProperty dlthings:predicate ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlthings:predicate ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty dlthings:predicate ],
        dlthings:ThingMixin,
        dlthings:ValueSpecificationMixin ;
    skos:closeMatch dlthings:Thing ;
    skos:definition "An attribute is conceptually a thing, but it requires no dedicated identifier (`pid`). Instead, it is linked to a `Thing` via its `attributes` slot and declares a `predicate` on the nature of the relationship." ;
    skos:exactMatch <http://semanticscience.org/resource/SIO_000614> ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:mappings a owl:DatatypeProperty ;
    rdfs:label "mappings" ;
    rdfs:range xsd:anyURI ;
    skos:definition "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlflat:display_label a owl:DatatypeProperty ;
    rdfs:label "display_label" ;
    dcterms:title "Record display label" ;
    rdfs:range xsd:string ;
    skos:definition "Label that can be shown when the metadata record is displayed as an item." ;
    skos:inScheme <https://concepts.datalad.org/s/flat/unreleased> .

dlflat:display_note a owl:DatatypeProperty ;
    rdfs:label "display_note" ;
    dash:singleLine false ;
    dcterms:title "Record display note" ;
    rdfs:range xsd:string ;
    skos:definition "Note that can be shown when the record is displayed as an item. This is typically longer than a label." ;
    skos:inScheme <https://concepts.datalad.org/s/flat/unreleased> .

dlthings:object a owl:ObjectProperty ;
    rdfs:label "object" ;
    skos:definition "Reference to a `Thing` within a `Statement`." ;
    skos:editorialNote "We do not declare a range here to be able to tighten the range in subclasses of class that need a particular range. This appears to be working around a linkml limitation." ;
    skos:exactMatch rdf:object ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlthings:predicate a owl:ObjectProperty ;
    rdfs:label "predicate" ;
    rdfs:range dlthings:Property ;
    skos:definition "Reference to a `Property` within a `Statement`." ;
    skos:exactMatch rdf:predicate ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dlidentifiers:Identifier a owl:Class ;
    rdfs:label "Identifier" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dltypes:schema_type ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dltypes:schema_type ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlidentifiers:creator ],
        [ a owl:Restriction ;
            owl:allValuesFrom rdfs:Resource ;
            owl:onProperty dltypes:schema_type ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlidentifiers:notation ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty dlidentifiers:notation ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty dlidentifiers:creator ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlidentifiers:creator ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty dlidentifiers:notation ] ;
    skos:closeMatch <http://www.w3.org/ns/adms#Identifier> ;
    skos:definition "An identifier is a label that uniquely identifies an item in a particular context. Some identifiers are globally unique. All identifiers are unique within their individual scope." ;
    skos:exactMatch dlidentifiers:Identifier ;
    skos:inScheme <https://concepts.datalad.org/s/identifiers/unreleased> .

dlthings:Property a owl:Class ;
    rdfs:label "Property" ;
    rdfs:subClassOf dlthings:Thing ;
    skos:definition "An RDF property, a `Thing` used to define a `predicate`, for example in a `Statement`." ;
    skos:exactMatch rdf:Property,
        dlthings:Property ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

dltypes:schema_type a owl:DatatypeProperty ;
    rdfs:label "schema_type" ;
    rdfs:range rdfs:Resource ;
    skos:definition "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." ;
    skos:exactMatch dcterms:type ;
    skos:inScheme <https://concepts.datalad.org/s/types/v1> .

dlthings:Thing a owl:Class ;
    rdfs:label "Thing" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:related_mappings ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlthings:relations ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:exact_mappings ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:annotations ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty dlthings:pid ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlthings:pid ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:characterized_by ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:exact_mappings ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:description ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty dlthings:pid ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:narrow_mappings ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:characterized_by ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:close_mappings ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:related_mappings ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:close_mappings ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:description ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:broad_mappings ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:broad_mappings ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:narrow_mappings ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:attributes ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty dlflatfiles:description ],
        [ a owl:Restriction ;
            owl:allValuesFrom dlthings:Thing ;
            owl:onProperty dlthings:relations ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Thing ;
            owl:onProperty dlflatfiles:annotations ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty dlflatfiles:attributes ],
        dlthings:ThingMixin ;
    skos:definition "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`." ;
    skos:exactMatch <http://schema.org/Thing>,
        dlthings:Thing ;
    skos:inScheme <https://concepts.datalad.org/s/things/v1> .

[] a owl:Restriction ;
    rdfs:subClassOf dlthings:AttributeSpecification ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlthings:AttributeSpecification .

[] a owl:Restriction ;
    rdfs:subClassOf dlthings:Property ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlthings:Property .

[] a owl:Restriction ;
    rdfs:subClassOf dlthings:ThingMixin ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlthings:ThingMixin .

[] a owl:Restriction ;
    rdfs:subClassOf dlflat:FlatThing ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlflat:FlatThing .

[] a owl:Restriction ;
    rdfs:subClassOf dlflat:AnnotationTag ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlflat:AnnotationTag .

[] a owl:Restriction ;
    rdfs:subClassOf dlthings:ValueSpecification ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlthings:ValueSpecification .

[] a owl:Restriction ;
    rdfs:subClassOf dlidentifiers:DOI ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlidentifiers:DOI .

[] a owl:Restriction ;
    rdfs:subClassOf dlidentifiers:Checksum ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlidentifiers:Checksum .

[] a owl:Restriction ;
    rdfs:subClassOf dlthings:Thing ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlthings:Thing .

[] a owl:Restriction ;
    rdfs:subClassOf dlidentifiers:Identifier ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlidentifiers:Identifier .

[] a owl:Restriction ;
    rdfs:subClassOf dlidentifiers:ComputedIdentifier ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlidentifiers:ComputedIdentifier .

[] a owl:Restriction ;
    rdfs:subClassOf dlflat:FlatProperty ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlflat:FlatProperty .

[] a owl:Restriction ;
    rdfs:subClassOf dlflatfiles:Distribution ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlflatfiles:Distribution .

[] a owl:Restriction ;
    rdfs:subClassOf dlflat:FlatAttributeSpecification ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlflat:FlatAttributeSpecification .

[] a owl:Restriction ;
    rdfs:subClassOf dlidentifiers:IssuedIdentifier ;
    owl:onProperty dltypes:schema_type ;
    owl:someValuesFrom dlidentifiers:IssuedIdentifier .


