@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix geonames: <https://www.geonames.org/ontology#> .
@prefix midas: <https://w3id.org/midas-catalog/schema/> .
@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 schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://w3id.org/midas-catalog/schema.owl.ttl> a owl:Ontology ;
    rdfs:label "midas-catalog" ;
    dct:title "MIDAS Catalog Metadata Schema" ;
    pav:version "1.0.1" ;
    skos:definition "LinkML representation of the MIDAS Coordination Center catalog's JSON-LD metadata model. Stage 1 covers the Thing identity/naming base and the shared CreativeWork slice inherited by every resource type." .

midas:Course a owl:Class ;
    rdfs:label "Course" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:hasCourseInstance ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:hasCourseInstance ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:CourseInstance ;
            owl:onProperty midas:hasCourseInstance ],
        midas:LearningResource ;
    skos:definition "A course (educational resource with course=true); adds a course instance." ;
    skos:exactMatch schema:Course ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:Dashboard a owl:Class ;
    rdfs:label "Dashboard" ;
    rdfs:subClassOf midas:SoftwareApplication ;
    skos:definition "A dashboard (type-or-record 6). Emits as schema:SoftwareApplication with applicationCategory=\"Dashboard\" set at runtime; no additional slots." ;
    skos:exactMatch schema:SoftwareApplication ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:Dataset a owl:Class ;
    rdfs:label "Dataset" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:distributions ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:DataDownload ;
            owl:onProperty midas:distributions ],
        midas:CreativeWork ;
    skos:definition "A dataset (type-or-record 1)." ;
    skos:exactMatch schema:Dataset ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:DiseaseSpecificCollection a owl:Class ;
    rdfs:label "DiseaseSpecificCollection" ;
    rdfs:subClassOf midas:Literature ;
    skos:definition "A disease-specific collection (type-or-record 10): Literature with genre=\"disease-specific collection\"; no additional slots." ;
    skos:exactMatch schema:Collection ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:ModelingStudy a owl:Class ;
    rdfs:label "ModelingStudy" ;
    rdfs:subClassOf midas:Literature ;
    skos:definition "A modeling-studies collection (type-or-record 9): Literature with genre=\"modeling studies\"; no additional slots." ;
    skos:exactMatch schema:Collection ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:Repository a owl:Class ;
    rdfs:label "Repository" ;
    rdfs:subClassOf midas:DataCatalog ;
    skos:definition "A repository (type-or-record 7): a specialized DataCatalog. Emits as dual-typed via inheritance." ;
    skos:exactMatch dcat:Catalog,
        schema:DataCatalog ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:LearningResource a owl:Class ;
    rdfs:label "LearningResource" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom midas:DefinedTerm ;
            owl:onProperty midas:educationalLevel ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:learningResourceType ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:DefinedTerm ;
            owl:onProperty midas:educationalObjective ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:dataRequirement ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:timeRequired ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:provider ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:educationalUse ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:DefinedTerm ;
            owl:onProperty midas:competencyRequired ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:dataRequirement ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:competencyRequired ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:teaches ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:DefinedTerm ;
            owl:onProperty midas:audience ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:educationalLevel ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:timeRequired ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:DefinedTerm ;
            owl:onProperty midas:dataRequirement ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:audience ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:programmingLanguage ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:DefinedTerm ;
            owl:onProperty midas:teaches ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:ComputerLanguage ;
            owl:onProperty midas:programmingLanguage ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:Organization ;
            owl:onProperty midas:provider ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:educationalObjective ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:timeRequired ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:DefinedTerm ;
            owl:onProperty midas:educationalUse ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:DefinedTerm ;
            owl:onProperty midas:learningResourceType ],
        midas:CreativeWork ;
    skos:definition "An educational resource (type-or-record 16)." ;
    skos:exactMatch schema:LearningResource ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:SoftwareApplication a owl:Class ;
    rdfs:label "SoftwareApplication" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:applicationCategory ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:additionalType ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:applicationSubCategory ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:ComputerLanguage ;
            owl:onProperty midas:programmingLanguage ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:codeRepository ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:codeRepository ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:additionalType ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:operatingSystems ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:additionalType ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:applicationSubCategory ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:encodingFormat ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:applicationCategory ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:encodingFormat ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:codeRepository ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:OperatingSystem ;
            owl:onProperty midas:operatingSystems ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:programmingLanguage ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:applicationCategory ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:applicationSubCategory ],
        midas:CreativeWork ;
    skos:definition "A software application (type-or-record 2). `rights` is inherited from CreativeWork." ;
    skos:exactMatch schema:SoftwareApplication ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

xsd:boolean a rdfs:Datatype .

midas:ConformsTo a owl:Class ;
    rdfs:label "ConformsTo" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:standardVersion ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:subjectAreas ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:standardType ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:standardVersion ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:standardType ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:subjectAreas ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:standardVersion ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:standardType ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:name ] ;
    skos:definition "A metadata standard/specification this resource's metadata conforms to (Schema.org, Bioschemas, Dublin Core, DCAT, ...). Standalone node typed as dcterms:Standard; deliberately NOT a Thing." ;
    skos:exactMatch dct:Standard ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:CourseInstance a owl:Class ;
    rdfs:label "CourseInstance" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:courseMode ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:courseMode ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:instructor ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:Person ;
            owl:onProperty midas:instructor ],
        midas:Thing ;
    skos:definition "An offering/instance of a Course. Extends Thing (consistent with Person/Place/Language). courseMode carries an IRI when the mode has one, else the mode name." ;
    skos:exactMatch schema:CourseInstance ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:DataDownload a owl:Class ;
    rdfs:label "DataDownload" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:accessUrl ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:License ;
            owl:onProperty midas:license ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:encodingFormat ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:mediaType ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:accessUrl ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:mediaType ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:MediaType ;
            owl:onProperty midas:mediaType ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:WebResource ;
            owl:onProperty midas:accessUrl ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:license ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:encodingFormat ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:license ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:encodingFormat ] ;
    skos:definition "A distribution of a dataset, modeled as an access point: the landing page is its dcat:accessURL (and schema:url). It does not link a direct file (no contentUrl/downloadURL), so it is deliberately not a schema:DataDownload. encodingFormat/mediaType describe the data available through it. Anonymous (no identifier) — projects as an inlined blank node (PropertyValue/Location precedent); the media-type IRI is a value (mediaType), not the node's identity." ;
    skos:exactMatch dcat:Distribution ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:Language a owl:Class ;
    rdfs:label "Language" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom [ a rdfs:Datatype ;
                    owl:onDatatype xsd:string ;
                    owl:withRestrictions ( [ xsd:pattern "^http://lexvo\\.org/id/iso639-3/.+$" ] ) ] ;
            owl:onProperty midas:sameAs ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:allValuesFrom [ a rdfs:Datatype ;
                    owl:onDatatype xsd:string ;
                    owl:withRestrictions ( [ xsd:pattern "^(https://id\\.loc\\.gov/vocabulary/iso639-2/|http://w3id\\.org/midas-metadata/).+$" ] ) ] ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:sameAs ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:sameAs ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ],
        midas:Thing ;
    skos:definition "A language of the resource content: an ISO 639-2 code as name plus, when available, a Lexvo ISO 639-3 sameAs cross-link — both inherited from Thing (no additional slots)." ;
    skos:exactMatch schema:Language ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:Literature a owl:Class ;
    rdfs:label "Literature" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:additionalType ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:additionalType ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:genre ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:genre ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:genre ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:additionalType ],
        midas:CreativeWork ;
    skos:definition "A literature collection (type-or-record 8). Emits as schema:Collection." ;
    skos:exactMatch schema:Collection ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:Location a owl:Class ;
    rdfs:label "Location" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:zipcode ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:city ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:state ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:address ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:state ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:address ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:city ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:sameAs ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:zipcode ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:state ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:country ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:country ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:zipcode ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:sameAs ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:city ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:sameAs ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:country ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:address ] ;
    skos:definition "A postal address for an Organization. Standalone node (not a Thing)." ;
    skos:exactMatch vcard:Address,
        schema:PostalAddress ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:MediaType a owl:Class ;
    rdfs:label "MediaType" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:allValuesFrom [ a rdfs:Datatype ;
                    owl:intersectionOf ( xsd:anyURI [ a rdfs:Datatype ;
                                owl:onDatatype xsd:string ;
                                owl:withRestrictions ( [ xsd:pattern "^((https://www\\.iana\\.org/assignments/media-types/|https://www\\.wikidata\\.org/wiki/|http://edamontology\\.org/|https://www\\.loc\\.gov/preservation/digital/formats/fdd/|http://justsolve\\.archiveteam\\.org/wiki/|http://w3id\\.org/midas-metadata/).+|http://ndjson\\.org/.*|https://jsonlines\\.org/.*)$" ] ) ] ) ] ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ] ;
    skos:definition "Reference to an IANA media type by its IRI — dcterms:MediaType is dcat:mediaType's declared range. Identifier-only and referenced with inlined:false, so it renders as a plain IRI string in JSON / Pydantic / JSON-Schema but as an @id resource node in JSON-LD. This stub exists because gen-jsonld-context only emits @type:@id for class-ranged slots (a uri/uriorcurie range stays an xsd:anyURI literal); it is the generator-native way to give RDF/DCAT consumers a resource without changing the string every JSON consumer sees. No local metadata — the media type is defined by IANA." ;
    skos:exactMatch dct:MediaType ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:OperatingSystem a owl:Class ;
    rdfs:label "OperatingSystem" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom [ a rdfs:Datatype ;
                    owl:onDatatype xsd:string ;
                    owl:withRestrictions ( [ xsd:pattern "^(http://dbpedia\\.org/resource/|http://w3id\\.org/midas-metadata/).+$" ] ) ] ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ],
        midas:Thing ;
    skos:definition "An operating system the software runs on; id = the dbpedia resource IRI, name from Thing. (schema.org's OperatingSystem class — currently \"new\"/feedback area.)" ;
    skos:exactMatch schema:OperatingSystem ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:Place a owl:Class ;
    rdfs:label "Place" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:featureClass ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:featureCode ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:featureCode ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:featureClass ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:featureClass ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:featureCode ],
        [ a owl:Restriction ;
            owl:allValuesFrom [ a rdfs:Datatype ;
                    owl:onDatatype xsd:string ;
                    owl:withRestrictions ( [ xsd:pattern "^(https://sws\\.geonames\\.org/|http://w3id\\.org/midas-metadata/).+$" ] ) ] ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ],
        midas:Thing ;
    skos:definition "A geographic place identified by its GeoNames Concept URI, dual-typed as schema:Place and geonames:Feature. Carries the GeoNames feature code and feature class." ;
    skos:exactMatch schema:Place,
        geonames:Feature ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:PropertyValue a owl:Class ;
    rdfs:label "PropertyValue" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:propertyID ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:value ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:value ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:propertyID ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:value ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:valueReference ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:valueReference ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:DefinedTerm ;
            owl:onProperty midas:valueReference ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:propertyID ] ;
    skos:definition "A structured characteristic (name/value) used in additionalProperty to carry                                                                                                                                                                                                          dataset characteristics with no dedicated schema.org property, each                                                                                                                                                                                                                   dispatch-keyed by propertyID. Standalone node (not a Thing) — these are                                                                                                                                                                                                               anonymous structured values with no IRI of their own, so they project as                                                                                                                                                                                                              inlined blank nodes; the term IRI lives on valueReference. Mirrors the                                                                                                                                                                                                                Location precedent." ;
    skos:exactMatch schema:PropertyValue ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:RelatedData a owl:Class ;
    rdfs:label "RelatedData" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:name ],
        midas:CreativeWork ;
    skos:definition "A related resource (publication, dataset, source page, related course), emitted as a CreativeWork-typed node. The kind of relationship is carried in its description; no slots beyond the inherited CreativeWork set." ;
    skos:exactMatch schema:CreativeWork ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:about a owl:ObjectProperty ;
    rdfs:label "about" ;
    rdfs:range midas:DefinedTerm ;
    skos:closeMatch dct:subject ;
    skos:definition "Subject matter of the content. Contains DefinedTerm objects (topics, biological scales, types)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:additionalProperty a owl:ObjectProperty ;
    rdfs:label "additionalProperty" ;
    rdfs:range midas:PropertyValue ;
    skos:definition "Aggregated dataset characteristics with no dedicated schema.org property, each a self-describing PropertyValue keyed by propertyID to its MIDAS category: geographic resolution (midas03), topic (midas2), digital object type (midas10)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:audience a owl:ObjectProperty ;
    rdfs:label "audience" ;
    rdfs:range midas:DefinedTerm ;
    skos:definition "Intended audience. Default shape is the LearningResource form (DefinedTerm, multivalued); Literature overrides to a single string via slot_usage." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:competencyRequired a owl:ObjectProperty ;
    rdfs:label "competencyRequired" ;
    rdfs:range midas:DefinedTerm ;
    skos:definition "Prerequisite competencies." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:conformsTo a owl:ObjectProperty ;
    rdfs:label "conformsTo" ;
    rdfs:range midas:ConformsTo ;
    skos:definition "Established standards or specifications that this metadata adheres to (e.g., Schema.org, Bioschemas, Dublin Core, DCAT)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:courseMode a owl:DatatypeProperty ;
    rdfs:label "courseMode" ;
    skos:definition "Delivery mode(s) of a course instance (e.g. online, in-person, MOOC). Emits the mode's IRI when available, else the mode name (iri-over-name) — so values are strings that MAY be IRIs; modeled as string (not uriorcurie) because the name fallback is not an IRI." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:creator a owl:ObjectProperty ;
    rdfs:label "creator" ;
    rdfs:range midas:Agent ;
    skos:closeMatch dct:creator ;
    skos:definition "Agent(s) who created or compiled the data — each a Person or an Organization, selected per node by agentType from the curated is_person flag (may include ORCID identifiers). Always emitted as an array; a single-element set holding the MIDAS Coordination Center Organization when no creators are recorded. Range is Agent, the Person/Organization supertype, so the generated JSON Schema accepts either subclass." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:distributions a owl:ObjectProperty ;
    rdfs:label "distributions" ;
    rdfs:range midas:DataDownload ;
    skos:definition "Distributions of the dataset, one per available data format, each an access point (dcat:Distribution) whose accessURL is the landing page. (Field is plural; IRI is singular schema:distribution.)" ;
    skos:exactMatch schema:distribution ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:educationalLevel a owl:ObjectProperty ;
    rdfs:label "educationalLevel" ;
    rdfs:range midas:DefinedTerm ;
    skos:definition "Educational level(s) the resource targets." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:educationalObjective a owl:ObjectProperty ;
    rdfs:label "educationalObjective" ;
    rdfs:range midas:DefinedTerm ;
    skos:definition "Learning objectives (LRMI vocabulary)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:educationalUse a owl:ObjectProperty ;
    rdfs:label "educationalUse" ;
    rdfs:range midas:DefinedTerm ;
    skos:definition "Intended educational use(s)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:externalIdentifiers a owl:DatatypeProperty ;
    rdfs:label "externalIdentifiers" ;
    skos:definition "External identifier strings (DOIs, URLs, etc.) that reference this resource in other systems. Shares schema:identifier with `identifier`." ;
    skos:exactMatch schema:identifier ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:identifiers a owl:DatatypeProperty ;
    rdfs:label "identifiers" ;
    skos:definition "External identifier strings for the person (e.g. ORCID). Shares schema:identifier with identifier/externalIdentifiers. Curator-recommended (\"Creator Identifier — ID\"); the backing registry entry carries the 6-arg recommended flag. Although this is a nested Person-level slot, recommending it is consistent with the model's identifiability stance: creator is recommended, and identifier/externalIdentifiers (resource-level) are recommended, so recommending the creator-level identifier extends the same principle rather than introducing a new one. The flag emits as flat property documentation (same as all recommended slots); it does not encode the \"nested under a recommended creator\" conditionality, which is accepted as an adequate representation. NOTE: there is no separate identifier-TYPE slot on Person, so the \"Creator Identifier — Type\" recommendation has no distinct emitted slot." ;
    skos:exactMatch schema:identifier ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:inLanguage a owl:ObjectProperty ;
    rdfs:label "inLanguage" ;
    rdfs:range midas:Language ;
    skos:closeMatch dct:language ;
    skos:definition "Primary language(s) of the resource content. Language objects with ISO 639-2 codes; each also carries a Lexvo ISO 639-3 sameAs cross-link when available." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:instructor a owl:ObjectProperty ;
    rdfs:label "instructor" ;
    rdfs:range midas:Person ;
    skos:definition "Instructor(s) of a course, carried on the CourseInstance (schema:instructor is defined only on CourseInstance, not on Course/LearningResource). Populated from the collection's creator field when the educational resource is a course with delivery modes; for non-course educational resources that field maps to schema:creator instead. Range is Person per schema.org; MIDAS cannot guarantee the party is a person, so an organization named as instructor still emits as a Person node. No MCC fallback (unlike creator): absent when no instructor is recorded." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:keywords a owl:DatatypeProperty ;
    rdfs:label "keywords" ;
    rdfs:range xsd:string ;
    skos:definition "Topic labels as plain text (schema:keywords), for keyword-based discovery (e.g. Google Dataset Search). Topic names only — the same subject fact also appears structured under `about`." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:learningResourceType a owl:ObjectProperty ;
    rdfs:label "learningResourceType" ;
    rdfs:range midas:DefinedTerm ;
    skos:definition "Type/format of the learning resource." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:operatingSystems a owl:ObjectProperty ;
    rdfs:label "operatingSystems" ;
    rdfs:range midas:OperatingSystem ;
    skos:definition "Operating system(s) the software runs on, as OperatingSystem nodes (id = dbpedia resource IRI)." ;
    skos:exactMatch schema:operatingSystem ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:pavDerivedFrom a owl:DatatypeProperty ;
    rdfs:label "pavDerivedFrom" ;
    skos:definition "Source resources from which this version was derived, one IRI per source (versioning emphasis). Multivalued: PAV permits repeated derivation, and a record built from several sources derives from all of them." ;
    skos:exactMatch pav:derivedFrom ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:places a owl:ObjectProperty ;
    rdfs:label "places" ;
    rdfs:range midas:Place ;
    skos:closeMatch dct:spatial ;
    skos:definition "Place objects with GeoNames references describing geographic locations covered by the resource. Shares schema:spatialCoverage with `spatialCoverage`." ;
    skos:exactMatch schema:spatialCoverage ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:provider a owl:ObjectProperty ;
    rdfs:label "provider" ;
    rdfs:range midas:Organization ;
    skos:definition "Organization(s) providing the resource." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:relatedData a owl:ObjectProperty ;
    rdfs:label "relatedData" ;
    rdfs:range midas:RelatedData ;
    skos:definition "RelatedData (CreativeWork) objects describing publications, datasets, or other resources related to this resource. The kind of relationship is carried per-object in each RelatedData's description." ;
    skos:exactMatch dct:relation ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:subjectAreas a owl:DatatypeProperty ;
    rdfs:label "subjectAreas" ;
    skos:definition "Subject areas the standard covers." ;
    skos:exactMatch dct:subject ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:teaches a owl:ObjectProperty ;
    rdfs:label "teaches" ;
    rdfs:range midas:DefinedTerm ;
    skos:definition "Concepts/skills the resource teaches." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:used a owl:ObjectProperty ;
    rdfs:label "used" ;
    rdfs:range midas:ProvEntity ;
    skos:definition "Entities the activity used." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:wasAssociatedWith a owl:ObjectProperty ;
    rdfs:label "wasAssociatedWith" ;
    rdfs:range midas:ProvAgent ;
    skos:definition "Agents associated with the activity." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:ComputerLanguage a owl:Class ;
    rdfs:label "ComputerLanguage" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:allValuesFrom [ a rdfs:Datatype ;
                    owl:onDatatype xsd:string ;
                    owl:withRestrictions ( [ xsd:pattern "^(http://dbpedia\\.org/resource/|http://w3id\\.org/midas-metadata/).+$" ] ) ] ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ],
        midas:Thing ;
    skos:definition "A programming language (software programmingLanguage / learning-resource programmingLanguage). name + sameAs from Thing; no additional slots." ;
    skos:exactMatch schema:ComputerLanguage ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:DataCatalog a owl:Class ;
    rdfs:label "DataCatalog" ;
    rdfs:subClassOf midas:CreativeWork ;
    skos:definition "A data catalog a resource is included in (the MIDAS Catalog or another). Common CreativeWork fields only; It is dual-typed (@type [schema:DataCatalog, dcat:Catalog])." ;
    skos:exactMatch dcat:Catalog,
        schema:DataCatalog ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:ProvActivity a owl:Class ;
    rdfs:label "ProvActivity" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:generated ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:generated ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:ProvEntity ;
            owl:onProperty midas:generated ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:ProvEntity ;
            owl:onProperty midas:used ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:ProvAgent ;
            owl:onProperty midas:wasAssociatedWith ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:used ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:wasAssociatedWith ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:id ] ;
    skos:definition "The activity that generated a resource (PROV-O)." ;
    skos:exactMatch prov:Activity ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:accessUrl a owl:ObjectProperty ;
    rdfs:label "accessUrl" ;
    rdfs:range midas:WebResource ;
    skos:closeMatch dcat:landingPage ;
    skos:definition "Access point for the distribution: the landing page where the data can be browsed and obtained (DCAT allows a landing page as accessURL)." ;
    skos:exactMatch dcat:accessURL ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:accessibleForFree a owl:DatatypeProperty ;
    rdfs:label "accessibleForFree" ;
    rdfs:range xsd:boolean ;
    skos:definition "Whether the resource can be accessed at no cost to the user." ;
    skos:exactMatch schema:isAccessibleForFree ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:address a owl:DatatypeProperty ;
    rdfs:label "address" ;
    skos:definition "Street address." ;
    skos:exactMatch schema:streetAddress ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:applicationCategory a owl:DatatypeProperty ;
    rdfs:label "applicationCategory" ;
    skos:definition "High-level application category. Also the runtime discriminator for Dashboard (emits as schema:SoftwareApplication)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:applicationSubCategory a owl:DatatypeProperty ;
    rdfs:label "applicationSubCategory" ;
    skos:definition "More specific application sub-category." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:bibliographicCitation a owl:DatatypeProperty ;
    rdfs:label "bibliographicCitation" ;
    skos:definition "Recommended citation for the resource (authorship, title, date, URL) in standard academic citation format." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:broadMatch a owl:DatatypeProperty ;
    rdfs:label "broadMatch" ;
    rdfs:range xsd:anyURI ;
    skos:definition "SKOS broad-match crosswalk IRI. Instance-level (per term), not a slot-level mapping." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:catalogLicense a owl:ObjectProperty ;
    rdfs:label "catalogLicense" ;
    rdfs:range midas:License ;
    skos:closeMatch dct:license ;
    skos:definition "License governing the metadata catalog itself (the hardcoded default), separate from the license of the source data." ;
    skos:exactMatch schema:license ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:city a owl:DatatypeProperty ;
    rdfs:label "city" ;
    skos:definition "City / locality." ;
    skos:exactMatch schema:addressLocality ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:codeRepository a owl:DatatypeProperty ;
    rdfs:label "codeRepository" ;
    rdfs:range xsd:anyURI ;
    skos:definition "URL of the source-code repository." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:country a owl:DatatypeProperty ;
    rdfs:label "country" ;
    skos:definition "Country." ;
    skos:exactMatch schema:addressCountry ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:dataRequirement a owl:ObjectProperty ;
    rdfs:label "dataRequirement" ;
    rdfs:range midas:DefinedTerm ;
    skos:definition "Data prerequisite(s) for the resource (LRMI vocabulary)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:dateModified a owl:DatatypeProperty ;
    rdfs:label "dateModified" ;
    skos:definition "Date the resource was last modified or updated. ISO 8601 (YYYY-MM-DD). Populated from the collection creation end date." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:datePublished a owl:DatatypeProperty ;
    rdfs:label "datePublished" ;
    skos:definition "Last date the resource was made available (date of publication, or of the most recent update/modified version), from the curated Last Publication Date. ISO 8601 (YYYY-MM-DD). Absence is meaningful: a blank value denotes a regularly/automatically-updated resource, and MIDAS never defaults it." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:displayName a owl:DatatypeProperty ;
    rdfs:label "displayName" ;
    skos:definition "Human-readable display label for the term." ;
    skos:exactMatch schema:alternateName ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:email a owl:DatatypeProperty ;
    rdfs:label "email" ;
    skos:definition "Contact email for the organization." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:endpointUrl a owl:ObjectProperty ;
    rdfs:label "endpointUrl" ;
    rdfs:range midas:WebResource ;
    skos:definition "Web page where users can browse information about the dataset and access download links. Canonical landing-page slot (the authoritative landing-page predicate for external consumers)." ;
    skos:exactMatch dcat:landingPage ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:exactMatch a owl:DatatypeProperty ;
    rdfs:label "exactMatch" ;
    rdfs:range xsd:anyURI ;
    skos:definition "SKOS exact-match crosswalk IRI. Instance-level (per term), not a slot-level mapping." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:featureClass a owl:DatatypeProperty ;
    rdfs:label "featureClass" ;
    skos:definition "GeoNames feature class (e.g. A, P). CURIE-compresses under the geonames prefix." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:featureCode a owl:DatatypeProperty ;
    rdfs:label "featureCode" ;
    skos:definition "GeoNames feature code (e.g. PCLI). CURIE-compresses under the geonames prefix." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:funder a owl:ObjectProperty ;
    rdfs:label "funder" ;
    rdfs:range midas:Organization ;
    skos:definition "Organization that funded the creation or maintenance of this resource." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:generated a owl:ObjectProperty ;
    rdfs:label "generated" ;
    rdfs:range midas:ProvEntity ;
    skos:definition "Entity generated by the activity." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:genre a owl:DatatypeProperty ;
    rdfs:label "genre" ;
    skos:definition "Genre of the collection. Also the runtime discriminator for ModelingStudy (\"modeling studies\") and DiseaseSpecificCollection (\"disease-specific collection\")." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:hasCourseInstance a owl:ObjectProperty ;
    rdfs:label "hasCourseInstance" ;
    rdfs:range midas:CourseInstance ;
    skos:definition "An offering/instance of the course." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:includedInDataCatalog a owl:ObjectProperty ;
    rdfs:label "includedInDataCatalog" ;
    rdfs:range midas:DataCatalog ;
    skos:definition "A collection of datasets in which this resource is included. Links to the MIDAS Catalog or other data catalogs." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:location a owl:ObjectProperty ;
    rdfs:label "location" ;
    rdfs:range midas:Location ;
    skos:definition "Postal address of the organization." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:mediaType a owl:ObjectProperty ;
    rdfs:label "mediaType" ;
    rdfs:range midas:MediaType ;
    skos:definition "IANA media type of this distribution as a resolvable IRI (dcat:mediaType). Projected as an IRI reference — mirrors accessUrl/endpointUrl." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:pavCreatedBy a owl:ObjectProperty ;
    rdfs:label "pavCreatedBy" ;
    rdfs:range midas:ProvAgent ;
    skos:definition "Agent responsible for creating the resource (authorship-specific counterpart to prov:wasGeneratedBy)." ;
    skos:exactMatch pav:createdBy ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:propertyID a owl:DatatypeProperty ;
    rdfs:label "propertyID" ;
    rdfs:range xsd:anyURI ;
    skos:definition "IRI of the characteristic (category) a PropertyValue represents — the immutable dispatch key (midas10 digital object type, midas2 topic, midas03 geographic resolution)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:publisher a owl:ObjectProperty ;
    rdfs:label "publisher" ;
    rdfs:range midas:Organization ;
    skos:closeMatch dct:publisher ;
    skos:definition "Organization responsible for making the resource available. For MIDAS Catalog resources, the MIDAS Coordination Center." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:sdDatePublished a owl:DatatypeProperty ;
    rdfs:label "sdDatePublished" ;
    skos:definition "Date MIDAS published this structured-data record (when curation of the record was completed). A fact about the metadata, not the dataset: it is never used as the dataset's datePublished. ISO 8601 (YYYY-MM-DD)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:sourceLicense a owl:ObjectProperty ;
    rdfs:label "sourceLicense" ;
    rdfs:range midas:License ;
    skos:definition "License governing the original source data or related resources. Shares schema:license with catalogLicense (distinct slots, same predicate)." ;
    skos:exactMatch schema:license ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:standardType a owl:DatatypeProperty ;
    rdfs:label "standardType" ;
    skos:definition "Type/category of the standard." ;
    skos:exactMatch dct:type ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:standardVersion a owl:DatatypeProperty ;
    rdfs:label "standardVersion" ;
    rdfs:range xsd:string ;
    skos:definition "Version of the conformance standard this record was produced under. Set only on the MIDAS Catalog JSON-LD Schema standard entry, sourced from MidasCatalogJsonLdSchema.VERSION." ;
    skos:exactMatch pav:version ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:state a owl:DatatypeProperty ;
    rdfs:label "state" ;
    skos:definition "State / region." ;
    skos:exactMatch schema:addressRegion ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:temporalCoverage a owl:DatatypeProperty ;
    rdfs:label "temporalCoverage" ;
    skos:definition "Date range covered by the data. ISO 8601 interval (YYYY-MM-DD/YYYY-MM-DD, or YYYY-MM-DD/.. for ongoing)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:timeRequired a owl:DatatypeProperty ;
    rdfs:label "timeRequired" ;
    skos:definition "Approximate time to complete, as an ISO 8601 duration." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:value a owl:DatatypeProperty ;
    rdfs:label "value" ;
    skos:definition "The characteristic's value (e.g. the resolution level or topic label)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:valueReference a owl:ObjectProperty ;
    rdfs:label "valueReference" ;
    rdfs:range midas:DefinedTerm ;
    skos:definition "The value as a controlled-vocabulary DefinedTerm carrying its own IRI (when minted) and inDefinedTermSet membership." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:version a owl:DatatypeProperty ;
    rdfs:label "version" ;
    skos:definition "Version identifier of the resource (numeric or named, e.g., '1.0', 'v2.3')." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:wasAttributedTo a owl:ObjectProperty ;
    rdfs:label "wasAttributedTo" ;
    rdfs:range midas:ProvAgent ;
    skos:definition "Agent the entity was attributed to." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:zipcode a owl:DatatypeProperty ;
    rdfs:label "zipcode" ;
    skos:definition "Postal / ZIP code." ;
    skos:exactMatch schema:postalCode ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:WebResource a owl:Class ;
    rdfs:label "WebResource" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ] ;
    skos:definition "Reference to a web resource by its IRI — a landing page, access URL, or endpoint (dcat:accessURL / dcat:landingPage range over rdfs:Resource). Same identifier-only, inlined:false pattern and rationale as MediaType: a plain IRI string for JSON consumers, an @id resource node for RDF/DCAT consumers." ;
    skos:exactMatch rdfs:Resource ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:programmingLanguage a owl:ObjectProperty ;
    rdfs:label "programmingLanguage" ;
    rdfs:range midas:ComputerLanguage ;
    skos:definition "Programming language(s). Shared by SoftwareApplication and LearningResource." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:Person a owl:Class ;
    rdfs:label "Person" ;
    rdfs:subClassOf midas:Agent ;
    skos:definition "A person — used for dataset/software creators, with optional identifier (e.g. ORCID) strings; id/name inherited from Thing." ;
    skos:exactMatch schema:Person ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:encodingFormat a owl:DatatypeProperty ;
    rdfs:label "encodingFormat" ;
    skos:definition "Media/encoding format. Shared by DataDownload (single, per distribution) and SoftwareApplication (multivalued, formats the software reads/writes)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:wasDerivedFrom a owl:ObjectProperty ;
    rdfs:label "wasDerivedFrom" ;
    rdfs:range midas:ProvEntity ;
    skos:definition "Source entity from which this resource was derived. Multivalued on CreativeWork (see its slot_usage) where a record may derive from several sources; single-valued on ProvEntity." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:Agent a owl:Class ;
    rdfs:label "Agent" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom midas:Location ;
            owl:onProperty midas:location ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:email ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:email ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:agentType ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:location ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:identifiers ],
        [ owl:unionOf ( midas:Organization midas:Person ) ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:location ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:Organization ;
            owl:onProperty midas:funder ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:funder ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:funder ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:email ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:identifiers ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:agentType ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:agentType ],
        midas:Thing ;
    skos:definition "A person or organization — used for creator. Concrete subclass is selected per node by agentType (curated is_person flag: true -> Person, otherwise Organization)." ;
    skos:exactMatch prov:Agent ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:CreativeWork a owl:Class ;
    rdfs:label "CreativeWork" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:conformsTo ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:inLanguage ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:License ;
            owl:onProperty midas:catalogLicense ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:datePublished ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:boolean ;
            owl:onProperty midas:accessibleForFree ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:Organization ;
            owl:onProperty midas:publisher ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:sdDatePublished ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:wasDerivedFrom ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:DefinedTerm ;
            owl:onProperty midas:about ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:keywords ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:catalogLicense ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:temporalCoverage ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:ConformsTo ;
            owl:onProperty midas:conformsTo ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:sourceLicense ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:publisher ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:rights ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:accessibleForFree ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:about ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:sdDatePublished ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:License ;
            owl:onProperty midas:sourceLicense ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:places ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:externalIdentifiers ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:Place ;
            owl:onProperty midas:places ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:temporalCoverage ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:version ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:bibliographicCitation ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:WebResource ;
            owl:onProperty midas:endpointUrl ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:bibliographicCitation ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:wasGeneratedBy ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:includedInDataCatalog ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:dateModified ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:dateModified ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:pavDerivedFrom ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:ProvActivity ;
            owl:onProperty midas:wasGeneratedBy ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:endpointUrl ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:Language ;
            owl:onProperty midas:inLanguage ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:accessibleForFree ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:additionalProperty ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:datePublished ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:sdDatePublished ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:creator ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:rights ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:Agent ;
            owl:onProperty midas:creator ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:includedInDataCatalog ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:ProvEntity ;
            owl:onProperty midas:wasDerivedFrom ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:version ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:keywords ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:version ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:pavCreatedBy ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:pavCreatedBy ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:rights ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:datePublished ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:ProvAgent ;
            owl:onProperty midas:pavCreatedBy ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:endpointUrl ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:publisher ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:dateModified ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:bibliographicCitation ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:relatedData ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:temporalCoverage ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:PropertyValue ;
            owl:onProperty midas:additionalProperty ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:catalogLicense ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:RelatedData ;
            owl:onProperty midas:relatedData ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:externalIdentifiers ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:pavDerivedFrom ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:DataCatalog ;
            owl:onProperty midas:includedInDataCatalog ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:wasGeneratedBy ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:sourceLicense ],
        midas:Thing ;
    skos:definition "Shared base for every MIDAS resource type (Dataset, SoftwareApplication, DataCatalog, LearningResource, and the Collection subtypes). Every slice below inherits these slots; type-specific slots are added by the subtype classes in later slices." ;
    skos:exactMatch schema:CreativeWork ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:ProvAgent a owl:Class ;
    rdfs:label "ProvAgent" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:name ] ;
    skos:definition "A PROV-O agent (creator/author); id/name/url only." ;
    skos:exactMatch prov:Agent ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:additionalType a owl:DatatypeProperty ;
    rdfs:label "additionalType" ;
    skos:definition "Additional rdf:type-style classification (used by SoftwareApplication and Literature)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:agentType a owl:DatatypeProperty ;
    rdfs:label "agentType" ;
    rdfs:range xsd:anyURI ;
    skos:definition "Designates the concrete Agent subclass of this node (schema:Person or schema:Organization), set from the curated collection_creator.is_person flag." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:identifier a owl:DatatypeProperty ;
    rdfs:label "identifier" ;
    skos:definition "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:license a owl:ObjectProperty ;
    rdfs:label "license" ;
    rdfs:range midas:License ;
    skos:definition "A schema:CreativeWork license node (id/name/url), used by provenance entities (ProvEntity) and DataDownload. Distinct slot from catalogLicense/sourceLicense but the same range (License) and predicate (schema:license)." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:rights a owl:DatatypeProperty ;
    rdfs:label "rights" ;
    skos:definition "Usage rights and conditions for accessing or using the resource (e.g., 'Registration required', 'Academic use only')." ;
    skos:exactMatch schema:usageInfo ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:wasGeneratedBy a owl:ObjectProperty ;
    rdfs:label "wasGeneratedBy" ;
    rdfs:range midas:ProvActivity ;
    skos:definition "Activity that generated this resource. Links to a prov:Activity describing the creation process." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:License a owl:Class ;
    rdfs:label "License" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:allValuesFrom [ a rdfs:Datatype ;
                    owl:onDatatype xsd:string ;
                    owl:withRestrictions ( [ xsd:pattern "^(https://www\\.apache\\.org/licenses/|http://www\\.ebi\\.ac\\.uk/swo/license/|https://creativecommons\\.org/|https://www\\.usa\\.gov/|https://www\\.nationalarchives\\.gov\\.uk/doc/open-government-licence/|https://github\\.com/etalab/licence-ouverte/|https://www\\.enzuzo\\.com/blog/|https://spdx\\.org/licenses/|http://w3id\\.org/midas-metadata/).+$" ] ) ] ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ],
        midas:Thing ;
    skos:definition "A license governing the catalog metadata or source data. Emitted as a CreativeWork-typed node (per its @JsonldType) carrying name/url from Thing; no additional slots." ;
    skos:exactMatch schema:CreativeWork ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:ProvEntity a owl:Class ;
    rdfs:label "ProvEntity" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom midas:ProvAgent ;
            owl:onProperty midas:wasAttributedTo ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:identifier ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:License ;
            owl:onProperty midas:license ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:rights ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:identifier ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:ProvEntity ;
            owl:onProperty midas:wasDerivedFrom ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:allValuesFrom midas:ProvActivity ;
            owl:onProperty midas:wasGeneratedBy ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:identifier ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:wasGeneratedBy ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:rights ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:wasAttributedTo ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:wasDerivedFrom ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:license ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:wasAttributedTo ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:wasDerivedFrom ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:wasGeneratedBy ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:license ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:rights ] ;
    skos:definition "A PROV-O entity (this resource, or a source it derived from). `license` is a schema:CreativeWork node (range License: @id + name + url), the same representation as sourceLicense/DataDownload; `rights` is a plain usage-statement literal under the global `rights` slot (emitted key \"rights\"; predicate per the @context — confirm in the regenerated context)." ;
    skos:exactMatch prov:Entity ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:inDefinedTermSet a owl:DatatypeProperty ;
    rdfs:label "inDefinedTermSet" ;
    rdfs:range xsd:anyURI ;
    skos:definition "IRI of the controlled vocabulary / term set the term belongs to." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:Organization a owl:Class ;
    rdfs:label "Organization" ;
    rdfs:subClassOf midas:Agent ;
    skos:definition "An organization — used for publisher, funder, and the MCC fallback creator." ;
    skos:exactMatch schema:Organization ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:Thing a owl:Class ;
    rdfs:label "Thing" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:sameAs ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:sameAs ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:identifier ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:identifier ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:identifier ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:name ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:id ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:url ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:sameAs ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:description ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:id ] ;
    skos:definition "Root of the type hierarchy. Carries the identity and naming slots shared by every node that appears in a record's JSON-LD — the top-level resource and every nested object (Person, Organization, Place, Language, DefinedTerm, License, etc.). Modeled as its own class, not folded into CreativeWork, because those nested classes are Things but not CreativeWorks." ;
    skos:exactMatch schema:Thing ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:sameAs a owl:DatatypeProperty ;
    rdfs:label "sameAs" ;
    rdfs:range xsd:anyURI ;
    skos:definition "URL of a reference web page that unambiguously indicates the item's identity (e.g., ORCID profile, Wikidata entry). NOTE: deliberately NOT mapped to dcat:landingPage — although CreativeWork populates sameAs from the landing page, this is a generic Thing slot (a Person's sameAs is an ORCID, not a landing page), so the landing-page equivalence is builder behavior, not a slot-level fact." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:description a owl:DatatypeProperty ;
    rdfs:label "description" ;
    skos:definition "Brief description of the data. For datasets: what is included (variables, measurements), method/origin. For software: what it does, access requirements, supported languages." ;
    skos:exactMatch dct:description ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:url a owl:DatatypeProperty ;
    rdfs:label "url" ;
    rdfs:range xsd:anyURI ;
    skos:definition "URL to the website that contains and/or describes the digital object or person." ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:name a owl:DatatypeProperty ;
    rdfs:label "name" ;
    skos:definition "Title or name of the digital object, page, or resource." ;
    skos:exactMatch dct:title ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

midas:DefinedTerm a owl:Class ;
    rdfs:label "DefinedTerm" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:broadMatch ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:displayName ],
        [ a owl:Restriction ;
            owl:allValuesFrom [ a rdfs:Datatype ;
                    owl:intersectionOf ( xsd:anyURI [ a rdfs:Datatype ;
                                owl:onDatatype xsd:string ;
                                owl:withRestrictions ( [ xsd:pattern "^http://w3id\\.org/midas-metadata/(midas2|midas10|midas03|midas5)$" ] ) ] ) ] ;
            owl:onProperty midas:inDefinedTermSet ],
        [ a owl:Restriction ;
            owl:minCardinality 1 ;
            owl:onProperty midas:inDefinedTermSet ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:broadMatch ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:displayName ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:exactMatch ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:exactMatch ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty midas:displayName ],
        [ a owl:Restriction ;
            owl:minCardinality 0 ;
            owl:onProperty midas:exactMatch ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty midas:inDefinedTermSet ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty midas:broadMatch ],
        midas:Thing ;
    skos:definition "A controlled-vocabulary term (topic, biological scale, type-or-record, educational term, ...). It has a dual type set to the SKOS Concept type. The SKOS crosswalks below are INSTANCE-LEVEL — each term carries its own exactMatch/broadMatch IRI — which is exactly why they are slots on this class and NOT slot-level exact_/broad_mappings on the referring properties. (The source class carries a code comment stating the same.)" ;
    skos:exactMatch skos:Concept,
        schema:DefinedTerm ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

xsd:anyURI a rdfs:Datatype .

midas:id a owl:DatatypeProperty ;
    rdfs:label "id" ;
    rdfs:range xsd:anyURI ;
    skos:definition "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier. (Maps to @id; the identifier slot is bound to @id by gen-jsonld-context.)" ;
    skos:inScheme <https://w3id.org/midas-catalog/schema> .

xsd:string a rdfs:Datatype .

[] rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty midas:id ;
            owl:someValuesFrom [ a rdfs:Datatype ;
                    owl:onDatatype xsd:string ;
                    owl:withRestrictions ( [ xsd:pattern "^http://w3id\\.org/midas-metadata/.+$" ] ) ] ] ;
    owl:intersectionOf ( [ a owl:Restriction ;
                owl:onProperty midas:inDefinedTermSet ;
                owl:someValuesFrom [ a rdfs:Datatype ;
                        owl:onDatatype xsd:string ;
                        owl:withRestrictions ( [ xsd:pattern "http://w3id.org/midas-metadata/midas5" ] ) ] ] midas:DefinedTerm ) .

[] a owl:Restriction ;
    rdfs:subClassOf midas:Organization ;
    owl:onProperty midas:agentType ;
    owl:someValuesFrom midas:Organization .

[] a owl:Restriction ;
    rdfs:subClassOf midas:Person ;
    owl:onProperty midas:agentType ;
    owl:someValuesFrom midas:Person .

[] rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty midas:id ;
            owl:someValuesFrom [ a rdfs:Datatype ;
                    owl:onDatatype xsd:string ;
                    owl:withRestrictions ( [ xsd:pattern "^(http://purl\\.obolibrary\\.org/obo/|http://w3id\\.org/midas-metadata/|http://edamontology\\.org/|http://www\\.ontodm\\.com/OntoDM-core/|http://vocabs\\.lter-europe\\.net/EnvThes/).+$" ] ) ] ] ;
    owl:intersectionOf ( [ a owl:Restriction ;
                owl:onProperty midas:inDefinedTermSet ;
                owl:someValuesFrom [ a rdfs:Datatype ;
                        owl:onDatatype xsd:string ;
                        owl:withRestrictions ( [ xsd:pattern "http://w3id.org/midas-metadata/midas2" ] ) ] ] midas:DefinedTerm ) .

[] rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty midas:id ;
            owl:someValuesFrom [ a rdfs:Datatype ;
                    owl:onDatatype xsd:string ;
                    owl:withRestrictions ( [ xsd:pattern "^(http://rdfs\\.co/juso/|https://www\\.wikidata\\.org/wiki/|http://www\\.geonames\\.org/ontology#|https?://schema\\.org/|http://w3id\\.org/midas-metadata/).+$" ] ) ] ] ;
    owl:intersectionOf ( [ a owl:Restriction ;
                owl:onProperty midas:inDefinedTermSet ;
                owl:someValuesFrom [ a rdfs:Datatype ;
                        owl:onDatatype xsd:string ;
                        owl:withRestrictions ( [ xsd:pattern "http://w3id.org/midas-metadata/midas03" ] ) ] ] midas:DefinedTerm ) .

[] a owl:Restriction ;
    rdfs:subClassOf midas:Agent ;
    owl:onProperty midas:agentType ;
    owl:someValuesFrom midas:Agent .

[] rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty midas:id ;
            owl:someValuesFrom [ a rdfs:Datatype ;
                    owl:onDatatype xsd:string ;
                    owl:withRestrictions ( [ xsd:pattern "^(http://purl\\.obolibrary\\.org/obo/|http://w3id\\.org/midas-metadata/).+$" ] ) ] ] ;
    owl:intersectionOf ( [ a owl:Restriction ;
                owl:onProperty midas:inDefinedTermSet ;
                owl:someValuesFrom [ a rdfs:Datatype ;
                        owl:onDatatype xsd:string ;
                        owl:withRestrictions ( [ xsd:pattern "http://w3id.org/midas-metadata/midas10" ] ) ] ] midas:DefinedTerm ) .


