PREFIX mtd: <https://w3id.org/monarch-initiative/monarch-documentation/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

mtd:ProjectBoard a rdfs:Class ;
  rdfs:comment "A reference to a project board, like a kanban board." ;
  rdfs:subClassOf <http://schema.org/Thing> .

mtd:tagline a rdf:Property ;
  rdfs:comment "A short tagline for the resource." ;
  rdfs:range xsd:string .

mtd:repository a rdf:Property ;
  rdfs:comment "The repository associated with this resource" ;
  rdfs:range xsd:anyURI .

mtd:url a rdf:Property ;
  rdfs:comment "A web location" ;
  rdfs:range xsd:anyURI .

<http://schema.org/description> a rdf:Property ;
  rdfs:comment "A human-readable description for a resource" ;
  rdfs:range xsd:string .

mtd:contact a rdf:Property ;
  rdfs:comment "The person responsible for a resources." ;
  rdfs:range mtd:Contact .

mtd:license a rdf:Property ;
  rdfs:comment "A URL to the license." ;
  rdfs:range mtd:LicenseEnum .

mtd:short_name a rdf:Property ;
  rdfs:comment "A short name for a resource" ;
  rdfs:range xsd:string .

mtd:visual_explainer a rdf:Property ;
  rdfs:comment "A visual abstract for the resource." ;
  rdfs:range xsd:string .

mtd:project_boards a rdf:Property ;
  rdfs:comment "The project board associated with this resource" ;
  rdfs:range mtd:ProjectBoard .

mtd:icons_url a rdf:Property ;
  rdfs:comment "A URL to an icon or set of icon representing the asset. We dont expect this to resolve to a specific icon, more to the place where to get the icons from." ;
  rdfs:range xsd:anyURI .

mtd:grants a rdf:Property ;
  rdfs:comment "The grant used to finance the production of an asset." ;
  rdfs:range mtd:GrantEnum .

<http://schema.org/name> a rdf:Property ;
  rdfs:comment "A human-readable name for a resource" ;
  rdfs:range xsd:string .

mtd:monarch_role a rdf:Property ;
  rdfs:comment "The strategic role the asset has for the Monarch core mission." ;
  rdfs:range mtd:MonarchRoleEnum .

mtd:icon a rdf:Property ;
  rdfs:comment "An icon representing the asset." ;
  rdfs:range xsd:string .

mtd:documentation a rdf:Property ;
  rdfs:comment "A URL to the documentation about this asset." ;
  rdfs:range xsd:anyURI .

mtd:see_also a rdf:Property ;
  rdfs:comment "A list of related resources." ;
  rdfs:range xsd:anyURI .

mtd:citation a rdf:Property ;
  rdfs:comment "A citation for the resource" ;
  rdfs:range xsd:string .

mtd:website_include a rdf:Property ;
  rdfs:comment "Flag if this resource should be shown on the website." ;
  rdfs:range xsd:boolean .

mtd:monarch_contribution a rdf:Property ;
  rdfs:comment "The role the Monarch Initiative plays in the maintainence of this asset." ;
  rdfs:range mtd:MonarchContributionEnum .

mtd:DataAsset a rdfs:Class ;
  rdfs:comment "A data asset is a resource that contains data, either manually curated,  or generated by a computational (ETL) process. Data are raw facts (associations)  generated by observations." ;
  rdfs:subClassOf <http://schema.org/Thing> .

mtd:category a rdf:Property ;
  rdfs:comment "Monarch asset category. This allows grouping related assets (like data assets) together in sensible categories." ;
  rdfs:range mtd:DataAssetEnum , mtd:StandardEnum , mtd:DocumentationAssetEnum , mtd:ToolAssetEnum .

mtd:download a rdf:Property ;
  rdfs:comment "The web location this asset can be obtained from." ;
  rdfs:range mtd:Download .

mtd:Standard a rdfs:Class ;
  rdfs:comment "Standards are agreed-upon conventions or guidelines that ensure uniformity,  consistency, and compatibility in various fields and practices.  They are like the common languages or rulebooks that different parties use to ensure  they understand each other and can work together efficiently. Standards include both exchange standards, like KGX or SSSOM, and ontologies, like HPO or Mondo." ;
  rdfs:subClassOf <http://schema.org/Thing> .

mtd:Contact a rdfs:Class ;
  rdfs:comment "The person responsible for a resources." .

mtd:orcid a rdf:Property ;
  rdfs:comment "The ORCID of the contact." ;
  rdfs:range xsd:anyURI .

mtd:github a rdf:Property ;
  rdfs:comment "The GitHub handle of the contact." ;
  rdfs:range xsd:string .

mtd:email a rdf:Property ;
  rdfs:comment "The email of the contact." ;
  rdfs:range xsd:string .

mtd:ResourceRegistry a rdfs:Class ;
  rdfs:comment "A registry of different types of data assets" ;
  rdfs:subClassOf <http://schema.org/Thing> .

mtd:repositories a rdf:Property ;
  rdfs:range <http://schema.org/Thing> .

mtd:standards a rdf:Property ;
  rdfs:range mtd:Standard .

mtd:data a rdf:Property ;
  rdfs:range mtd:DataAsset .

mtd:tools a rdf:Property ;
  rdfs:range mtd:Tool .

mtd:documentations a rdf:Property ;
  rdfs:range mtd:Documentation .

<http://schema.org/Thing> a rdfs:Class ;
  rdfs:comment "A generic grouping for any identifiable entity" .

mtd:Repository a rdfs:Class ;
  rdfs:comment "A reference to a version control repository." ;
  rdfs:subClassOf <http://schema.org/Thing> .

mtd:organization a rdf:Property ;
  rdfs:range xsd:string .

mtd:repo_url a rdf:Property ;
  rdfs:comment "(str) URL to" ;
  rdfs:range xsd:string .

mtd:depends_on a rdf:Property ;
  rdfs:comment "A list of packages a resource depends on" ;
  rdfs:domain mtd:Repository ;
  rdfs:range mtd:Repository .

mtd:Documentation a rdfs:Class ;
  rdfs:comment "A resource that contains documentation, like a wiki, a webpage with training materials, etc." ;
  rdfs:subClassOf <http://schema.org/Thing> .

mtd:Download a rdfs:Class ;
  rdfs:comment "A downloadable asset, i.e. a data file, an software component, etc." .

mtd:release_status a rdf:Property ;
  rdfs:comment "The maturity of the asset, e.g. whether it is under development, or public." ;
  rdfs:range mtd:ReleaseStatusEnum .

mtd:file_format a rdf:Property ;
  rdfs:comment "The format of the file." ;
  rdfs:range mtd:FileFormatEnum .

mtd:Tool a rdfs:Class ;
  rdfs:comment "A software tool is a computer program designed to help users perform specific tasks or functions,  typically making complex or time-consuming processes more efficient and user-friendly.  These tasks can range from simple data manipulation to sophisticated design and analysis." ;
  rdfs:subClassOf <http://schema.org/Thing> .

mtd:MonarchRoleEnum a rdfs:Class .

mtd:MonarchRoleEnum.FOUNDATIONAL a mtd:MonarchRoleEnum ;
  rdfs:comment "A foundational product is a product that fulfills a strategic role for the Monarch Initiative. In particular it (1) *directly* supports the Monarch mission (excluding products of general utility) (2) has stakeholders outside of the Monarch Initiative (3) has stakeholders among most major member organisations of the Monarch Initiative An important corrolary of (3) is that all major member organisations of the Monarch Initiative should feel a sense of commitment to contributing to the success of the foundational product." .

mtd:MonarchRoleEnum.CORE a mtd:MonarchRoleEnum ;
  rdfs:comment "A core product is a product that contributes to the Monarch mission, but is not a foundational product. In particular it (1) may support the Monarch mission in an indirect manner, such as core infrastructure for ontology lifecycle management or querying (2) has stakeholders outside of the Monarch Initiative (3) has stakeholders among at least one major member organisation of the Monarch Initiative An important corrolary of (3) is that at least one major member organisation of the Monarch Initiative should feel a sense of commitment to contributing to the success of the core product." .

mtd:MonarchRoleEnum.SUPPORT a mtd:MonarchRoleEnum ;
  rdfs:comment "A support product is a product that only indirectly contributes to the Monarch mission, usually by supporting the development of a foundational or core product. A support product (1) does not directly support the Monarch mission, but is essential for the development of a foundational or core product (2) has few stakeholders outside of the Monarch Initiative" .

mtd:MonarchRoleEnum.RESEARCH a mtd:MonarchRoleEnum ;
  rdfs:comment "A research product is a product that supports our own research efforts. The research outcome may or may not be used in a foundational product, core or support product. A research product (1) does not directly support the Monarch mission, but leads to insights that support our mission (2) has no stakeholders outside of the Monarch Initiative (the research itself may!)" .

mtd:MonarchRoleEnum.COMMUNITY a mtd:MonarchRoleEnum ;
  rdfs:comment "A community product is a product that does not directly support the Monarch mission, but supports community efforts towards the mission. A community product (1) is usually a community resource, such as training materials, a community website, a standard specification, etc. (2) is usually more *general-purpose* (3) is community-driven, rather than mission-driven" .

mtd:GrantEnum a rdfs:Class .

mtd:GrantEnum.PHENOMICS_FIRST a mtd:GrantEnum ;
  rdfs:comment "The Phenomics First Grant" .

mtd:GrantEnum.MONARCH_R_24 a mtd:GrantEnum .

mtd:GrantEnum.HPO a mtd:GrantEnum .

mtd:GrantEnum.EXOMISER a mtd:GrantEnum .

mtd:GrantEnum.BOSCH_GIFT a mtd:GrantEnum .

mtd:GrantEnum.TBD a mtd:GrantEnum .

mtd:StandardEnum a rdfs:Class .

mtd:StandardEnum.ONTOLOGY a mtd:StandardEnum .

mtd:StandardEnum.DATA_STANDARD a mtd:StandardEnum .

mtd:StandardEnum.DATA_EXCHANGE a mtd:StandardEnum .

mtd:StandardEnum.ONTOLOGY_CURATION a mtd:StandardEnum .

mtd:DocumentationAssetEnum a rdfs:Class .

mtd:DocumentationAssetEnum.TECHNICAL_DOCUMENTATION a mtd:DocumentationAssetEnum .

mtd:DocumentationAssetEnum.TRAINING_MATERIALS a mtd:DocumentationAssetEnum .

mtd:LicenseEnum a rdfs:Class .

mtd:LicenseEnum.CC_0 a mtd:LicenseEnum ;
  rdfs:comment "Creative Commons Zero v1.0 Universal" .

mtd:LicenseEnum.CC_BY_3_0 a mtd:LicenseEnum ;
  rdfs:comment "Creative Commons Attribution 3.0 Unported" .

mtd:LicenseEnum.CC_BY_4_0 a mtd:LicenseEnum ;
  rdfs:comment "Creative Commons Attribution 4.0 International" .

mtd:LicenseEnum.CC_BY_NC_4_0 a mtd:LicenseEnum ;
  rdfs:comment "Creative Commons Attribution-NonCommercial 4.0 International" .

mtd:LicenseEnum.CC_BY_SA_4_0 a mtd:LicenseEnum ;
  rdfs:comment "Creative Commons Attribution-ShareAlike 4.0 International" .

mtd:LicenseEnum.CC_BY_NC_SA_4_0 a mtd:LicenseEnum ;
  rdfs:comment "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International" .

mtd:LicenseEnum.GP_LV_3 a mtd:LicenseEnum ;
  rdfs:comment "GNU General Public License v3.0" .

mtd:LicenseEnum.BSD_3_CLAUSE a mtd:LicenseEnum ;
  rdfs:comment "BSD 3-Clause License" .

mtd:LicenseEnum.APACHE_2_0 a mtd:LicenseEnum ;
  rdfs:comment "Apache License 2.0" .

mtd:LicenseEnum.AGPL_3_0 a mtd:LicenseEnum ;
  rdfs:comment "GNU Affero General Public License v3.0" .

mtd:LicenseEnum.MIT a mtd:LicenseEnum ;
  rdfs:comment "MIT License" .

mtd:LicenseEnum.JAX_CUSTOM a mtd:LicenseEnum ;
  rdfs:comment "JAX Custom License (https://hpo.jax.org/license)" .

mtd:ToolAssetEnum a rdfs:Class .

mtd:ToolAssetEnum.CLINICAL_DIAGNOSIS a mtd:ToolAssetEnum .

mtd:ToolAssetEnum.ONTOLOGY_MAINTENANCE a mtd:ToolAssetEnum .

mtd:ToolAssetEnum.ONTOLOGY_USE a mtd:ToolAssetEnum .

mtd:ToolAssetEnum.MAPPING a mtd:ToolAssetEnum .

mtd:ToolAssetEnum.DATA_CURATION a mtd:ToolAssetEnum .

mtd:ToolAssetEnum.DATA_ANALYSIS a mtd:ToolAssetEnum .

mtd:ToolAssetEnum.BENCHMARKING a mtd:ToolAssetEnum .

mtd:ToolAssetEnum.REGISTRY a mtd:ToolAssetEnum .

mtd:FileFormatEnum a rdfs:Class .

mtd:FileFormatEnum.TSV a mtd:FileFormatEnum .

mtd:FileFormatEnum.CSV a mtd:FileFormatEnum .

mtd:FileFormatEnum.TTL a mtd:FileFormatEnum .

mtd:FileFormatEnum.JSON a mtd:FileFormatEnum .

mtd:FileFormatEnum.RDFXML a mtd:FileFormatEnum .

mtd:FileFormatEnum.NT_GZ a mtd:FileFormatEnum .

mtd:MonarchContributionEnum a rdfs:Class .

mtd:MonarchContributionEnum.LEAD a mtd:MonarchContributionEnum .

mtd:MonarchContributionEnum.CO_LEAD a mtd:MonarchContributionEnum .

mtd:MonarchContributionEnum.CONTRIBUTOR a mtd:MonarchContributionEnum .

mtd:ReleaseStatusEnum a rdfs:Class .

mtd:ReleaseStatusEnum.PUBLIC a mtd:ReleaseStatusEnum .

mtd:ReleaseStatusEnum.DEVELOPMENT_SNAPSHOT a mtd:ReleaseStatusEnum .

mtd:DataAssetEnum a rdfs:Class .

mtd:DataAssetEnum.BIOMEDICAL_DATA a mtd:DataAssetEnum .

mtd:DataAssetEnum.KNOWLEDGE_GRAPH_INGESTIBLES a mtd:DataAssetEnum .

mtd:DataAssetEnum.KNOWLEDGE_GRAPH a mtd:DataAssetEnum .
