bioregistry 0.13.11__py3-none-any.whl → 0.13.13__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. bioregistry/__init__.py +2 -0
  2. bioregistry/app/templates/base.html +6 -0
  3. bioregistry/app/templates/collection.html +13 -6
  4. bioregistry/app/templates/resource-bibliometrics.html +79 -0
  5. bioregistry/app/templates/resource-standards.html +89 -0
  6. bioregistry/app/templates/resource.html +10 -177
  7. bioregistry/curation/add_linkml.py +89 -0
  8. bioregistry/curation/add_nfdi_section_collections.py +60 -0
  9. bioregistry/data/bioregistry.json +94 -40
  10. bioregistry/data/collections.json +518 -7
  11. bioregistry/data/curated_papers.tsv +1 -0
  12. bioregistry/external/aberowl/processed.json +31 -25
  13. bioregistry/external/bartoc/processed.json +947 -14
  14. bioregistry/external/bioportal/agroportal.json +22 -6
  15. bioregistry/external/bioportal/ecoportal.json +1 -2
  16. bioregistry/external/fairsharing/processed.json +10 -5
  17. bioregistry/external/integbio/processed.json +11 -10
  18. bioregistry/external/obofoundry/processed.json +1 -1
  19. bioregistry/external/ols/processed.json +25 -16
  20. bioregistry/external/re3data/processed.json +54 -5
  21. bioregistry/resource_manager.py +4 -0
  22. bioregistry/schema/schema.json +21 -1
  23. bioregistry/schema/struct.py +9 -1
  24. bioregistry/schema_utils.py +6 -1
  25. bioregistry/validate/cli.py +16 -0
  26. bioregistry/validate/utils.py +28 -1
  27. bioregistry/version.py +1 -1
  28. {bioregistry-0.13.11.dist-info → bioregistry-0.13.13.dist-info}/METADATA +1 -1
  29. {bioregistry-0.13.11.dist-info → bioregistry-0.13.13.dist-info}/RECORD +31 -27
  30. {bioregistry-0.13.11.dist-info → bioregistry-0.13.13.dist-info}/WHEEL +1 -1
  31. {bioregistry-0.13.11.dist-info → bioregistry-0.13.13.dist-info}/entry_points.txt +0 -0
@@ -64,6 +64,17 @@
64
64
  "name": "Agriculture and Forestry Ontology",
65
65
  "prefix": "AFO"
66
66
  },
67
+ "AFY": {
68
+ "contact": {
69
+ "email": "raphael.condesalazar@online.fr",
70
+ "name": "Raphaël CONDE SALAZAR"
71
+ },
72
+ "description": "Agroforestry Ontology is a knowledge model that provides a unifying framework for structuring agroforestry data and knowledge., Ontologie des systèmes agroforestiers, Ontology of agroforestry systems",
73
+ "license": "CC-BY-4.0",
74
+ "name": "Agroforestry Ontology",
75
+ "prefix": "AFY",
76
+ "version": "1.0.0"
77
+ },
67
78
  "AGFOOD": {
68
79
  "contact": {
69
80
  "email": "contact-terminologietal@inist.fr",
@@ -1927,7 +1938,7 @@
1927
1938
  "license": "CC-BY-4.0",
1928
1939
  "name": "A lexicon of water related textual and geophysicla data - Un lexique de données textuelles et géophysiques sur l'eau",
1929
1940
  "prefix": "LEXEAU",
1930
- "version": "2.2"
1941
+ "version": "2.3"
1931
1942
  },
1932
1943
  "LHO": {
1933
1944
  "contact": {
@@ -2199,13 +2210,18 @@
2199
2210
  },
2200
2211
  "ONTOPFAS": {
2201
2212
  "contact": {
2202
- "email": "abrouk@lirmm.fr",
2203
- "name": "Lylia ABROUK"
2213
+ "email": "lylia.abrouk@u-bourgogne.fr",
2214
+ "name": "Lylia Abrouk"
2204
2215
  },
2205
2216
  "description": "OntoPFAS is a conceptualization of the PFAS domain, concerning its exposure, measurement, and spread aspects. Combining chemical, geographical, and sensor data, it aims to represent a hub for practitioners of different fields willing to contribute with data, models, or artificial intelligence applications.",
2206
2217
  "license": "CC-BY-4.0",
2207
- "name": "OntoPFAS",
2208
- "prefix": "ONTOPFAS"
2218
+ "name": "OntoPFAS: an Ontology for the Forever Chemicals",
2219
+ "prefix": "ONTOPFAS",
2220
+ "publications": [
2221
+ "https://hal.science/hal-05189813"
2222
+ ],
2223
+ "repository": "https://github.com/davide1797/OntoPFAS",
2224
+ "version": "1"
2209
2225
  },
2210
2226
  "OWSD": {
2211
2227
  "contact": {
@@ -2938,7 +2954,7 @@
2938
2954
  "license": "http://publications.europa.eu/resource/authority/access-right/PUBLIC",
2939
2955
  "name": "PO2/TransformON",
2940
2956
  "prefix": "TRANSFORMON",
2941
- "version": "22.0"
2957
+ "version": "23.0"
2942
2958
  },
2943
2959
  "TRANSMAT": {
2944
2960
  "contact": {
@@ -950,8 +950,7 @@
950
950
  "homepage": "https://ecoportal.lifewatch.eu/ontologies/TRAITS_THES",
951
951
  "license": "CC-BY-4.0",
952
952
  "name": "Traits Thesaurus",
953
- "prefix": "TRAITS_THES",
954
- "version": "2.0.1"
953
+ "prefix": "TRAITS_THES"
955
954
  },
956
955
  "WISE_CLASS": {
957
956
  "contact": {
@@ -1158,7 +1158,7 @@
1158
1158
  },
1159
1159
  "FAIRsharing.2b4316": {
1160
1160
  "abbreviation": "PMCID",
1161
- "description": "Identifier schema for PubMed Central, a U.S. National Institutes of Health's National Library of Medicine (NIH/NLM) free full-text archive of biomedical and life sciences journal literature.",
1161
+ "description": "Identifier schema for PubMed Central, a U.S. National Institutes of Health's National Library of Medicine (NIH/NLM) free full-text archive of biomedical and life sciences journal literature, which gives the public access to papers at no cost. Papers collected under the NIH or participating funder's public access policy are archived in PMC. Each paper in PMC is assigned a unique identification number. A PMCID may be used by authors and awardees to demonstrate compliance with a funder's public access policy. A PMCID is assigned to an NIHMS submission when the following two criteria are met: the Final Approval step is complete, and the article has been matched to a PubMed record.",
1162
1162
  "domains": [
1163
1163
  "centrally registered identifier"
1164
1164
  ],
@@ -1170,7 +1170,7 @@
1170
1170
  },
1171
1171
  "FAIRsharing.2b9b61": {
1172
1172
  "abbreviation": "PMID",
1173
- "description": "The PubMed Unique Identifier (PMID) is a 1- to 8-digit accession number with no leading zeros for managing and disseminating records at the PubMed repository. The PMID is a unique reference number for PubMed citations and is a distinctly different number from the PMCID and is used only for PubMed records. PMIDs are not reused after records are deleted. Prior to the 2004 version of PubMed (available December 3, 2003), many records contained a MEDLINE Unique Identifier in addition to the PMID. NLM no longer displays the MEDLINE Unique Identifier. The PMID has become the unique identifier for the MEDLINE record.",
1173
+ "description": "The PubMed Unique Identifier (PMID) is a 1- to 8-digit accession number with no leading zeros for managing and disseminating records at the PubMed repository. PubMed is a citation and abstract database for biomedical literature, life science journals, and online books. Citations may include links to full-text content from PubMed Central and publisher websites. The PMID is a unique reference number for PubMed citations and is a distinctly different number from the PMCID and is used only for PubMed records. PMIDs are not reused after records are deleted. Prior to the 2004 version of PubMed (available December 3, 2003), many records contained a MEDLINE Unique Identifier in addition to the PMID. NLM no longer displays the MEDLINE Unique Identifier. The PMID has become the unique identifier for the MEDLINE record. Each citation record in PubMed is assigned a unique identification number. A PMID is not the same as a PMCID and cannot be used to demonstrate compliance with the NIH or another participating funder's public access policy. ",
1174
1174
  "homepage": "https://www.nihms.nih.gov/help/glossary/#pmid",
1175
1175
  "name": "PubMed Unique Identifier",
1176
1176
  "subjects": [
@@ -6556,7 +6556,8 @@
6556
6556
  "Resource metadata",
6557
6557
  "Annotation",
6558
6558
  "Data retrieval",
6559
- "centrally registered identifier"
6559
+ "centrally registered identifier",
6560
+ "FAIR"
6560
6561
  ],
6561
6562
  "homepage": "https://www.rrids.org/",
6562
6563
  "name": "Research Resource Identifier",
@@ -6598,6 +6599,10 @@
6598
6599
  "Omics",
6599
6600
  "Biology",
6600
6601
  "Chemistry"
6602
+ ],
6603
+ "user_defined_tags": [
6604
+ "Resource Discovery",
6605
+ "community resource"
6601
6606
  ]
6602
6607
  },
6603
6608
  "FAIRsharing.DbFnKV": {
@@ -9932,9 +9937,9 @@
9932
9937
  "twitter": "sparontologies"
9933
9938
  },
9934
9939
  "FAIRsharing.d88s6e": {
9935
- "abbreviation": "SNOMEDCT",
9940
+ "abbreviation": "SNOMED CT",
9936
9941
  "description": "The Systematized Nomenclature of Medicine Clinical Terms is a reference terminology that can be used to cross-map standardized healthcare languages across healthcare disciplines.",
9937
- "homepage": "http://www.snomed.org/snomed-ct/five-step-briefing",
9942
+ "homepage": "https://www.snomed.org/what-is-snomed-ct",
9938
9943
  "name": "Systematized Nomenclature of Medicine-Clinical Terms",
9939
9944
  "publications": [
9940
9945
  {
@@ -460,7 +460,7 @@
460
460
  "maintainer": "Tokyo Medical and Dental University Medical Research Institute",
461
461
  "name": "CGH Data Base",
462
462
  "prefix": "NBDC00026",
463
- "status": "Active",
463
+ "status": "Inactive",
464
464
  "target_keywords": [
465
465
  "Genetic variation",
466
466
  "Health/Disease"
@@ -641,6 +641,7 @@
641
641
  "pubmeds": [
642
642
  "17211581"
643
643
  ],
644
+ "status": "Closed",
644
645
  "target_keywords": [
645
646
  "Genome/Gene"
646
647
  ]
@@ -718,7 +719,7 @@
718
719
  "7971946",
719
720
  "2330366"
720
721
  ],
721
- "status": "Active",
722
+ "status": "Inactive",
722
723
  "target_keywords": [
723
724
  "Protein"
724
725
  ]
@@ -1021,7 +1022,7 @@
1021
1022
  "nbdc00054": {
1022
1023
  "description": "ENSEMBL is a collection of automatically annotated genome databases for vertebrates and a number of eukaryotes, integrated with all other relevant biological data available.\nThe repository covers data on gene annotation, microarray probeset mapping and comparative genomics among many other topics.\nInformation may be downloaded by a variety of means: \nFor small amounts of data, an export option is suggested.\nFor larger amounts of data, an FTP site is provided from where a complete database may be downloaded in one of various formats, from flat files to MySQL dumps.",
1023
1024
  "fairsharing": "biodbcore-000330",
1024
- "homepage": "http://uswest.ensembl.org/index.html",
1025
+ "homepage": "https://www.ensembl.org/index.html",
1025
1026
  "information_keywords": [
1026
1027
  "Sequence"
1027
1028
  ],
@@ -1068,7 +1069,7 @@
1068
1069
  "maintainer": "RIKEN BRC (RIKEN BioResource Research Center)",
1069
1070
  "name": "ENU Mutants (A large Scale Mutagenesis Project in Riken GSC)",
1070
1071
  "prefix": "NBDC00056",
1071
- "status": "Active",
1072
+ "status": "Inactive",
1072
1073
  "target_keywords": [
1073
1074
  "Genome/Gene",
1074
1075
  "Organism"
@@ -1670,7 +1671,7 @@
1670
1671
  "nbdc00088": {
1671
1672
  "alt_name": "A Database for Triticeae and Avena",
1672
1673
  "description": "Graingenes provides information on wheat and barley research. Users can browse through class data such as references, authors, genes, polymorphisms, proteins, and sequences. Each record is linked to associated databases and web resources. Users can also use BLAST, CMap, and GenomeBrowser.",
1673
- "homepage": "https://wheat.pw.usda.gov/GG3/",
1674
+ "homepage": "https://graingenes.org//GG3/",
1674
1675
  "information_keywords": [
1675
1676
  "Sequence",
1676
1677
  "Image/Movie"
@@ -2107,7 +2108,7 @@
2107
2108
  "nbdc00111": {
2108
2109
  "alt_name": "Japan Drosophila Database",
2109
2110
  "description": "JDD is an introductory database on genetics and taxonomy of Drosophila. JDD stores images of wild-types and mutants, cytological maps, information on taxonomy of Drosophilidae and proteome atlas with search function. This database provides search systems of gene symbols, species name and taxonomic references. English page of each content is not constructed, and the home page of JDD provides only links to the Japanese pages.",
2110
- "homepage": "http://www.dgrc.kit.ac.jp/~jdd/index_en.html",
2111
+ "homepage": "http://www.drosophila.jp/jdd/",
2111
2112
  "information_keywords": [
2112
2113
  "Image/Movie",
2113
2114
  "Bibliography/Documents",
@@ -13543,7 +13544,7 @@
13543
13544
  },
13544
13545
  "nbdc00851": {
13545
13546
  "description": "ELKUType is a database of information on type specimens preserved in the Entomological Laboratory, Kyushu University (ELKU). ELKUType is based on the holotypes, which are used in the original description for establishment of a new taxon. Each record consists of 17 items including a image of the holotype, scientific names (family, genus and species), the Japanese name and distribution data. Users can search records by keywords from these items.",
13546
- "homepage": "https://insectdb.kyushu-u.ac.jp/elkutype/",
13547
+ "homepage": "http://elkutype.aiic.jp/",
13547
13548
  "information_keywords": [
13548
13549
  "Ontology/Terminology/Nomenclature",
13549
13550
  "Image/Movie"
@@ -20626,7 +20627,7 @@
20626
20627
  "pubmeds": [
20627
20628
  "20194625"
20628
20629
  ],
20629
- "status": "Active"
20630
+ "status": "Inactive"
20630
20631
  },
20631
20632
  "nbdc01544": {
20632
20633
  "description": "This Plant gene Database contains plant gene information focusing on the secondary metabolism and the transport mechanism of plants. The data was obtained by analyzing EST information from S. flavescensplant and L. erythrorhizon cells which were cultured in the selected cell-suspension culture systems where photosynthetic genes and those for morphogenesis are strongly suppressed. The database provides keyword search and BLAST search services useful for homology-based cloning of genes, identification of conserved amino acid domains and motif and phylogenetic analyses.",
@@ -29114,7 +29115,7 @@
29114
29115
  "pubmeds": [
29115
29116
  "22058129"
29116
29117
  ],
29117
- "status": "Active",
29118
+ "status": "Closed",
29118
29119
  "target_keywords": [
29119
29120
  "Genome/Gene",
29120
29121
  "Genetic variation",
@@ -31572,7 +31573,7 @@
31572
31573
  "pubmeds": [
31573
31574
  "26772741"
31574
31575
  ],
31575
- "status": "Inactive",
31576
+ "status": "Closed",
31576
31577
  "target_keywords": [
31577
31578
  "Drug",
31578
31579
  "Genome/Gene",
@@ -5232,7 +5232,7 @@
5232
5232
  "homepage": "https://github.com/monarch-initiative/vertebrate-breed-ontology",
5233
5233
  "license": "CC BY 4.0",
5234
5234
  "license.url": "https://creativecommons.org/licenses/by/4.0/",
5235
- "logo": "https://github.com/tis-lab/closed-illustrations/blob/15058315cba1018e09572b28ebeee262a458b1c6/logos/vbo-logo/VBO-black-logo-stackedv2.png",
5235
+ "logo": "https://raw.githubusercontent.com/tis-lab/closed-illustrations/master/logos/vbo-logo/VBO-black-logo-stackedv2.png",
5236
5236
  "name": "Vertebrate Breed Ontology",
5237
5237
  "preferredPrefix": "VBO",
5238
5238
  "publications": [
@@ -129,8 +129,8 @@
129
129
  "name": "The Behaviour Change Intervention Ontology",
130
130
  "prefix": "bcio",
131
131
  "uri_format": "http://humanbehaviourchange.org/ontology/BCIO_$1",
132
- "version": "2025-11-07",
133
- "version.iri": "http://humanbehaviourchange.org/ontology/bcio.owl/2025-11-07"
132
+ "version": "2025-12-05",
133
+ "version.iri": "http://humanbehaviourchange.org/ontology/bcio.owl/2025-12-05"
134
134
  },
135
135
  "bco": {
136
136
  "description": "An ontology to support the interoperability of biodiversity data, including data on museum collections, environmental/metagenomic samples, and ecological surveys.",
@@ -366,8 +366,8 @@
366
366
  "name": "Clinical measurement ontology",
367
367
  "prefix": "cmo",
368
368
  "tracker": "https://github.com/rat-genome-database/CMO-Clinical-Measurement-Ontology/issues",
369
- "version": "2.259",
370
- "version.iri": "http://purl.obolibrary.org/obo/cmo/2.259/cmo.owl"
369
+ "version": "2.260",
370
+ "version.iri": "http://purl.obolibrary.org/obo/cmo/2.260/cmo.owl"
371
371
  },
372
372
  "cmpo": {
373
373
  "contact": "jupp@ebi.ac.uk",
@@ -718,6 +718,15 @@
718
718
  "prefix": "evorao",
719
719
  "uri_format": "https://w3id.org/evorao/$1"
720
720
  },
721
+ "exmo": {
722
+ "description": "A core reference ontology built upon BFO about exercise medicine. This ontology contains the related terms for healthy people, people with chronic conditions and people living with diability to exercise.",
723
+ "download_owl": "http://purl.obolibrary.org/obo/exmo.owl",
724
+ "homepage": "https://github.com/Exercise-Medicine-Ontology/EXMO",
725
+ "name": "EXMO",
726
+ "prefix": "exmo",
727
+ "tracker": "https://github.com/Exercise-Medicine-Ontology/EXMO/issues",
728
+ "version.iri": "http://purl.obolibrary.org/obo/exmo/2025-06-05/exmo.owl"
729
+ },
721
730
  "exo": {
722
731
  "description": "ExO is intended to bridge the gap between exposure science and diverse environmental health disciplines including toxicology, epidemiology, disease surveillance, and epigenetics.",
723
732
  "download_owl": "http://purl.obolibrary.org/obo/exo.owl",
@@ -1322,8 +1331,8 @@
1322
1331
  "name": "Measurement method ontology",
1323
1332
  "prefix": "mmo",
1324
1333
  "tracker": "https://github.com/rat-genome-database/MMO-Measurement-Method-Ontology/issues",
1325
- "version": "2.166",
1326
- "version.iri": "http://purl.obolibrary.org/obo/mmo/2.166/mmo.owl"
1334
+ "version": "2.167",
1335
+ "version.iri": "http://purl.obolibrary.org/obo/mmo/2.167/mmo.owl"
1327
1336
  },
1328
1337
  "mmusdv": {
1329
1338
  "description": "Life cycle stages for Mus Musculus",
@@ -1414,8 +1423,8 @@
1414
1423
  "name": "Mass spectrometry ontology",
1415
1424
  "prefix": "ms",
1416
1425
  "tracker": "https://github.com/HUPO-PSI/psi-ms-CV/issues",
1417
- "version": "4.1.216",
1418
- "version.iri": "http://purl.obolibrary.org/obo/ms/4.1.216/ms.owl"
1426
+ "version": "4.1.221",
1427
+ "version.iri": "http://purl.obolibrary.org/obo/ms/4.1.221/ms.owl"
1419
1428
  },
1420
1429
  "msio": {
1421
1430
  "description": "an application ontology for supporting description and annotation of mass-spectrometry and nmr-spectroscopy based metabolomics experiments and fluxomics studies.",
@@ -1857,8 +1866,8 @@
1857
1866
  "name": "Plant Experimental Conditions Ontology",
1858
1867
  "prefix": "peco",
1859
1868
  "tracker": "https://github.com/Planteome/plant-experimental-conditions-ontology/issues",
1860
- "version": "2023-11-10",
1861
- "version.iri": "http://purl.obolibrary.org/obo/peco/releases/2023-11-10/peco.owl"
1869
+ "version": "2025-12-02",
1870
+ "version.iri": "http://purl.obolibrary.org/obo/peco/releases/2025-12-02/peco.owl"
1862
1871
  },
1863
1872
  "phipo": {
1864
1873
  "description": "Ontology of species-neutral phenotypes observed in pathogen-host interactions.",
@@ -2071,8 +2080,8 @@
2071
2080
  "name": "Rat Strain Ontology",
2072
2081
  "prefix": "rs",
2073
2082
  "tracker": "https://github.com/rat-genome-database/RS-Rat-Strain-Ontology/issues",
2074
- "version": "6.262",
2075
- "version.iri": "http://purl.obolibrary.org/obo/rs/6.262/rs.owl"
2083
+ "version": "6.263",
2084
+ "version.iri": "http://purl.obolibrary.org/obo/rs/6.263/rs.owl"
2076
2085
  },
2077
2086
  "rxno": {
2078
2087
  "contact": "chemistry-ontologies@googlegroups.com",
@@ -2172,8 +2181,8 @@
2172
2181
  "name": "Space Life Sciences Ontology",
2173
2182
  "prefix": "slso",
2174
2183
  "tracker": "https://github.com/nasa/LSDAO/issues",
2175
- "version": "2025-09-16",
2176
- "version.iri": "http://purl.obolibrary.org/obo/slso/releases/2025-09-16/slso.owl"
2184
+ "version": "2025-12-09",
2185
+ "version.iri": "http://purl.obolibrary.org/obo/slso/releases/2025-12-09/slso.owl"
2177
2186
  },
2178
2187
  "snomed": {
2179
2188
  "description": "SNOMED CT or SNOMED Clinical Terms is a systematically organized computer processable collection of medical terms providing codes, terms, synonyms and definitions used in clinical documentation and reporting.",
@@ -2341,8 +2350,8 @@
2341
2350
  "name": "Uber-anatomy ontology",
2342
2351
  "prefix": "uberon",
2343
2352
  "tracker": "https://github.com/obophenotype/uberon/issues",
2344
- "version": "2025-08-15",
2345
- "version.iri": "http://purl.obolibrary.org/obo/uberon/releases/2025-08-15/uberon.owl"
2353
+ "version": "2025-12-04",
2354
+ "version.iri": "http://purl.obolibrary.org/obo/uberon/releases/2025-12-04/uberon.owl"
2346
2355
  },
2347
2356
  "unimod": {
2348
2357
  "contact": "psidev-ms-vocab@lists.sourceforge.net",
@@ -278,7 +278,7 @@
278
278
  "r3d100000037": {
279
279
  "description": "The Oak Ridge National Laboratory Distributed Active Archive Center (ORNL DAAC) for biogeochemical dynamics is one of the National Aeronautics and Space Administration (NASA) Earth Observing System Data and Information System (EOSDIS) data centers managed by the Earth Science Data and Information System (ESDIS) Project. The ORNL DAAC archives data produced by NASA's Terrestrial Ecology Program. The DAAC provides data and information relevant to biogeochemical dynamics, ecological data, and environmental processes, critical for understanding the dynamics relating to the biological, geological, and chemical components of Earth's environment.",
280
280
  "doi": "10.17616/R3SG61",
281
- "homepage": "https://daac.ornl.gov/",
281
+ "homepage": "https://www.earthdata.nasa.gov/centers/ornl-daac/data-access-tools",
282
282
  "name": "Oak Ridge National Laboratory Distributed Active Archive Center for Biogeochemical Dynamics",
283
283
  "prefix": "r3d100000037",
284
284
  "synonyms": [
@@ -4728,7 +4728,7 @@
4728
4728
  ]
4729
4729
  },
4730
4730
  "r3d100010492": {
4731
- "description": "Lithuanian Data Archive for Social Sciences and Humanities (LiDA) is a virtual digital infrastructure for SSH data and research resources acquisition, long-term preservation and dissemination. All the data and research resources are documented in both English and Lithuanian according to international standards. Access to the resources is provided via Dataverse repository. LiDA curates different types of resources and they are published into catalogues according to the type: Survey Data, Aggregated Data (including Historical Statistics), Encoded Data (including News Media Studies), and Textual Data. Also, LiDA holds collections of social sciences and humanities data deposited by Lithuanian science and higher education institutions and Lithuanian state institutions (Data of Other Institutions).\n\nLiDA is hosted by the Centre for Data Analysis and Archiving of Kaunas University of Technology (data.ktu.edu).",
4731
+ "description": "Lithuanian Data Archive for Social Sciences and Humanities (LiDA) is a virtual digital infrastructure for SSH data and research resources acquisition, long-term preservation and dissemination. All the data and research resources are documented in both English and Lithuanian according to international standards. Access to the resources is provided via Dataverse repository. LiDA curates different types of resources and they are published into catalogues according to the type: Survey Data, Aggregated Data (including Historical Statistics), Encoded Data (including News Media Studies), and Textual Data. Also, LiDA holds collections of social sciences and humanities data deposited by Lithuanian science and higher education institutions and Lithuanian state institutions (Data of Other Institutions).\nLiDA is the Lithuanian national service provider for the CESSDA ERIC.",
4732
4732
  "doi": "10.17616/R34S5V",
4733
4733
  "homepage": "https://lida.dataverse.lt",
4734
4734
  "license": "CC",
@@ -24417,9 +24417,9 @@
24417
24417
  ]
24418
24418
  },
24419
24419
  "r3d100012928": {
24420
- "description": "The MicroScope platform is an informatics infrastructure dedicated to the annotation and comparative analysis of microbial genomes and metagenomes.",
24420
+ "description": "The MicroScope is a web platform for the analysis of prokaryotic genomes and expert functional annotation.",
24421
24421
  "doi": "10.17616/R31NJMGW",
24422
- "homepage": "https://mage.genoscope.cns.fr/microscope/home/index.php",
24422
+ "homepage": "https://mage.genoscope.cns.fr/microscope/",
24423
24423
  "name": "MicroScope",
24424
24424
  "prefix": "r3d100012928",
24425
24425
  "synonyms": [
@@ -34885,7 +34885,7 @@
34885
34885
  ]
34886
34886
  },
34887
34887
  "r3d100014604": {
34888
- "description": "Das Repositorium der Herzog August Bibliothek bietet Zugriff auf Publikationen der Bibliothek, auf Forschungsdaten, auf digitale Editionen sowie auf weitere Medien. Die Veröffentlichung im Repositorium der Herzog August Bibliothek folgt den Grundsätzen von Open Access und den FAIR-Data-Prinzipien.",
34888
+ "description": "The repository of the Herzog August Bibliothek provides access to publications of the library, research data, digital editions and other media. Publishing in the repository of the Herzog August Bibliothek follows the principles of Open Access and the FAIR data principles.",
34889
34889
  "doi": "10.17616/R31NJNRG",
34890
34890
  "homepage": "https://repo.hab.de/home",
34891
34891
  "name": "Repositorium der Herzog August Bibliothek",
@@ -35563,6 +35563,7 @@
35563
35563
  },
35564
35564
  "r3d100014736": {
35565
35565
  "description": "Datarepository Unive is the institutional, free, and open repository that collects, stores, and preserves research data produced by Ca' Foscari University researchers according to the highest international standards and best practices. Datasets published in the archive have a set of metadata that ensure proper description and discoverability.",
35566
+ "doi": "10.17616/R31NJNV4",
35566
35567
  "homepage": "https://datarepository.unive.it/",
35567
35568
  "license": "CC",
35568
35569
  "name": "Datarepository Unive",
@@ -35570,8 +35571,56 @@
35570
35571
  },
35571
35572
  "r3d100014737": {
35572
35573
  "description": "A data sharing platform for the MRC CoRE in Restorative Neural Dynamics, and the Brain Network Dynamics Unit. Nuffield Department of Clinical Neurosciences, University of Oxford.",
35574
+ "doi": "10.17616/R31NJNV5",
35573
35575
  "homepage": "https://data.mrc.ox.ac.uk/",
35574
35576
  "name": "Cambium",
35575
35577
  "prefix": "r3d100014737"
35578
+ },
35579
+ "r3d100014738": {
35580
+ "description": "The MNXref namespace (the database for MetaNetX) is a comprehensive resource for the reconciliation and integration of metabolic information across diverse biochemical databases. MNXref integrates biochemical data from a broad range of resources, including ChEBI, KEGG, Rhea, BiGG, The SEED, and the recently added VHM. Each source is parsed, standardized, and mapped to MetaNetX identifiers through a combination of automated pipelines and manual curation.",
35581
+ "doi": "10.17616/R31NJNV6",
35582
+ "homepage": "https://www.metanetx.org",
35583
+ "license": "CC",
35584
+ "name": "MetaNetX",
35585
+ "prefix": "r3d100014738",
35586
+ "synonyms": [
35587
+ "MNXref"
35588
+ ]
35589
+ },
35590
+ "r3d100014739": {
35591
+ "description": "The Croatian Social Science Data Archive (CROSSDA) is a national infrastructure public service whose role is to ensure the long-term preservation and dissemination of social science research data. CROSSDA is committed to providing data management support for researchers during the entire lifecycle of the project, from hypothesis development and grant preparation to data collection and data analysis. The data archive will make sure that the data are preserved and reusable in the long-term. CROSSDA is the national service provider for Croatia in the Consortium of European Social Science Data Archives CESSDA ERIC.",
35592
+ "doi": "10.17616/R31NJNV7",
35593
+ "homepage": "https://data.crossda.hr",
35594
+ "name": "Croatian Social Science Data Archive",
35595
+ "prefix": "r3d100014739",
35596
+ "synonyms": [
35597
+ "CROSSDA",
35598
+ "Hrvatski arhiv podataka za društvene znanosti"
35599
+ ]
35600
+ },
35601
+ "r3d100014740": {
35602
+ "description": "The International Soil Moisture Network (ISMN) provides free access to long-term, harmonised and quality-controlled in situ soil moisture observations, covering the near-surface zone down to the deep-root zone. These observations are collected from around 3.000 sites belonging to various organisations that supply ISMN with data on a voluntary basis. Other relevant hydrometeorological variables such as rainfall and temperature are also stored in the database. Services provided by ISMN have made a major contribution towards calibrating/validating and improving global satellite soil moisture products and land surface models.",
35603
+ "homepage": "https://ismn.earth",
35604
+ "name": "International Soil Moisture Network",
35605
+ "prefix": "r3d100014740",
35606
+ "synonyms": [
35607
+ "ISMN"
35608
+ ]
35609
+ },
35610
+ "r3d100014741": {
35611
+ "description": "GRANTS Data is a data repository operated by the Japan Science and Technology Agency (JST). GRANTS Data is a platform that securely stores and publishes data for researchers who wish to share the findings of their publicly funded research with the public. The purpose of this service is to promote the publication and utilization of research data, and ultimately to contribute to the promotion and advancement of science and technology.\n\nData Published through GRANTS Data will automatically be assigned a DOI and will be distributed worldwide as open access* data, which means that the data can be cited, shared, reused, and otherwise used under the conditions set by the copyright holder.\n\n*Open access: Anyone can access it for free, and the scope of permitted secondary use is clearly stated.\n\nNote: Please be aware that some of the data included in GRANTS Data is not linked to any research paper, meaning that it has not been academically evaluated or verified by researchers.",
35612
+ "homepage": "https://grantsdata.jst.go.jp/",
35613
+ "name": "GRANTS Data",
35614
+ "prefix": "r3d100014741"
35615
+ },
35616
+ "r3d100014742": {
35617
+ "description": "Telkom University Dataverse is the institutional research data repository of Universitas Telkom (Telkom University), Indonesia. It provides Telkom University researchers, lecturers, students, and partners with a trusted platform to deposit, preserve, and share research data, software, and other reproducible research outputs across all disciplines. The repository assigns DataCite DOIs to datasets, supports standard data citation and Make Data Count metrics (views, downloads, citations), and follows FAIR data principles to promote open science, long-term stewardship, and global visibility and re-use of Telkom University research data. The service is operated by the Directorate of Information Technology Center (PuTI) of Telkom University.",
35618
+ "homepage": "https://dataverse.telkomuniversity.ac.id/",
35619
+ "license": "CC",
35620
+ "name": "Dataverse Telkom University",
35621
+ "prefix": "r3d100014742",
35622
+ "synonyms": [
35623
+ "Dataverse Universitas Telkom"
35624
+ ]
35576
35625
  }
35577
35626
  }
@@ -222,6 +222,10 @@ class Manager:
222
222
  self._converter.add_prefix(resource.prefix, uri_prefix)
223
223
  # TODO what about synonyms
224
224
 
225
+ def add_collection(self, collection: Collection) -> None:
226
+ """Add a collection."""
227
+ self.collections[collection.identifier] = collection
228
+
225
229
  def add_to_collection(self, collection: str | Collection, resource: str | Resource) -> None:
226
230
  """Add a resource to the collection."""
227
231
  if isinstance(collection, Collection):
@@ -147,6 +147,7 @@
147
147
  },
148
148
  "description": {
149
149
  "description": "A description of the collection",
150
+ "minLength": 30,
150
151
  "title": "Description",
151
152
  "type": "string"
152
153
  },
@@ -155,6 +156,7 @@
155
156
  "items": {
156
157
  "type": "string"
157
158
  },
159
+ "minItems": 1,
158
160
  "title": "Resources",
159
161
  "type": "array"
160
162
  },
@@ -163,9 +165,27 @@
163
165
  "items": {
164
166
  "$ref": "#/$defs/Author"
165
167
  },
168
+ "minItems": 1,
166
169
  "title": "Authors",
167
170
  "type": "array"
168
171
  },
172
+ "organizations": {
173
+ "anyOf": [
174
+ {
175
+ "items": {
176
+ "$ref": "#/$defs/Organization"
177
+ },
178
+ "minItems": 1,
179
+ "type": "array"
180
+ },
181
+ {
182
+ "type": "null"
183
+ }
184
+ ],
185
+ "default": null,
186
+ "description": "A list of organizations that contribute to this collection",
187
+ "title": "Organizations"
188
+ },
169
189
  "context": {
170
190
  "anyOf": [
171
191
  {
@@ -329,7 +349,7 @@
329
349
  "type": "object"
330
350
  },
331
351
  "Organization": {
332
- "description": "Model for organizataions.",
352
+ "description": "Model for organizations.",
333
353
  "properties": {
334
354
  "ror": {
335
355
  "anyOf": [
@@ -185,7 +185,7 @@ class MetaprefixAnnotatedValue(Generic[X]):
185
185
 
186
186
 
187
187
  class Organization(BaseModel):
188
- """Model for organizataions."""
188
+ """Model for organizations."""
189
189
 
190
190
  ror: str | None = Field(
191
191
  default=None,
@@ -3112,14 +3112,22 @@ class Collection(BaseModel):
3112
3112
  description: str = Field(
3113
3113
  ...,
3114
3114
  description="A description of the collection",
3115
+ min_length=30,
3115
3116
  )
3116
3117
  resources: list[str] = Field(
3117
3118
  ...,
3118
3119
  description="A list of prefixes of resources appearing in the collection",
3120
+ min_length=1,
3119
3121
  )
3120
3122
  authors: list[Author] = Field(
3121
3123
  ...,
3122
3124
  description="A list of authors/contributors to the collection",
3125
+ min_length=1,
3126
+ )
3127
+ organizations: list[Organization] | None = Field(
3128
+ None,
3129
+ description="A list of organizations that contribute to this collection",
3130
+ min_length=1,
3123
3131
  )
3124
3132
  context: str | None = Field(default=None, description="The JSON-LD context's name")
3125
3133
  references: list[str] | None = Field(default=None, description="URL references")
@@ -218,7 +218,12 @@ def write_collections(collections: Mapping[str, Collection], *, path: Path | Non
218
218
  collection.resources = sorted(set(collection.resources))
219
219
  with open(path or COLLECTIONS_PATH, encoding="utf-8", mode="w") as file:
220
220
  json.dump(
221
- {"collections": [c.model_dump(exclude_none=True) for c in values]},
221
+ {
222
+ "collections": [
223
+ c.model_dump(exclude_none=True, exclude_defaults=True, exclude_unset=True)
224
+ for c in values
225
+ ]
226
+ },
222
227
  file,
223
228
  indent=2,
224
229
  sort_keys=True,
@@ -102,3 +102,19 @@ def validate_virtuoso(
102
102
  url, strict=not relax, use_preferred=use_preferred, context=context
103
103
  )
104
104
  click_write_messages(messages, tablefmt=tablefmt)
105
+
106
+
107
+ @validate.command(name="linkml")
108
+ @click.argument("url")
109
+ @RELAX_OPTION
110
+ @CONTEXT_OPTION
111
+ @PREFERRED_OPTION
112
+ @FORMAT_OPTION
113
+ def validate_linkml(
114
+ url: str, relax: bool, use_preferred: bool, context: str | None, tablefmt: str | None
115
+ ) -> None:
116
+ """Validate prefixes in a LinkMK YAML configuration."""
117
+ from .utils import click_write_messages, validate_linkml
118
+
119
+ messages = validate_linkml(url, strict=not relax, use_preferred=use_preferred, context=context)
120
+ click_write_messages(messages, tablefmt=tablefmt)
@@ -5,7 +5,7 @@ from __future__ import annotations
5
5
  import json
6
6
  from collections.abc import Callable, Mapping
7
7
  from pathlib import Path
8
- from typing import TYPE_CHECKING, Any, Literal
8
+ from typing import TYPE_CHECKING, Any, Literal, cast
9
9
 
10
10
  import click
11
11
  from pydantic import BaseModel
@@ -18,6 +18,7 @@ __all__ = [
18
18
  "Message",
19
19
  "click_write_messages",
20
20
  "validate_jsonld",
21
+ "validate_linkml",
21
22
  "validate_ttl",
22
23
  "validate_virtuoso",
23
24
  ]
@@ -150,6 +151,13 @@ def validate_virtuoso(url: str, **kwargs: Any) -> list[Message]:
150
151
  return _get_all_messages(inputs, **kwargs)
151
152
 
152
153
 
154
+ def validate_linkml(url: str, **kwargs: Any) -> list[Message]:
155
+ """Validate a LinkML YAML configuration's prefix map."""
156
+ prefix_map = get_linkml_prefix_map(url)
157
+ inputs: list[tuple[str, str, int | None]] = [(k, v, None) for k, v in prefix_map.items()]
158
+ return _get_all_messages(inputs, **kwargs)
159
+
160
+
153
161
  def _get_all_messages(
154
162
  inputs: list[tuple[str, str, int | None]],
155
163
  *,
@@ -309,3 +317,22 @@ def get_virtuoso_prefix_map(url: str) -> dict[str, str]:
309
317
  )
310
318
  rv = {left.text: right.text for left, right in table_body_tag.find_all("tr")}
311
319
  return rv
320
+
321
+
322
+ def get_linkml_prefix_map(url: str) -> dict[str, str]:
323
+ """Get the prefix map from a LinkML YAML configuration.
324
+
325
+ :param url: The URL for the LinkML YAML configuration. Examples:
326
+
327
+ - https://github.com/HendrikBorgelt/CatCore/raw/refs/heads/main/src/catcore/schema/catcore.yaml
328
+ - https://github.com/mapping-commons/sssom/raw/refs/heads/master/src/sssom_schema/schema/sssom_schema.yaml
329
+
330
+ :returns: The prefix map defined in the LinkML configuration
331
+ """
332
+ import requests
333
+ import yaml
334
+
335
+ res = requests.get(url, timeout=5)
336
+ res.raise_for_status()
337
+ data = yaml.safe_load(res.text)
338
+ return cast(dict[str, str], data["prefixes"])
bioregistry/version.py CHANGED
@@ -11,7 +11,7 @@ __all__ = [
11
11
  "get_version",
12
12
  ]
13
13
 
14
- VERSION = "0.13.11"
14
+ VERSION = "0.13.13"
15
15
 
16
16
 
17
17
  def get_git_hash() -> str | None: