├── .gitignore ├── LICENSE ├── README.md ├── build └── .gitkeep ├── charters ├── .gitkeep ├── draft │ └── charter_collection_descriptions_tg_DRAFT.md └── task_group_charter │ └── tg_charter.md ├── docs ├── assets │ └── images │ │ ├── latimer_nyanfly_logo.png │ │ ├── latimer_nyanfly_logo.svg │ │ ├── latimer_nyanfly_logo_tdwg2022.png │ │ ├── latimer_nyanfly_logo_tdwg2022.svg │ │ └── readme.md ├── termlist │ └── .gitkeep └── terms │ └── .gitkeep ├── documents ├── DOCUMENT_LINKS.md ├── ExtendingCD_GroupedCollections.pdf ├── draft │ └── IssuesChallengesREADME.md ├── final │ ├── .gitkeep │ └── Deliverable D2.3 ICEDIG - Design of a Collection Digitisation Dashboard v1.0.docx └── historical │ ├── NCD_V0.34_dccap.xls │ ├── SHNHNCD2.ppt │ └── draft_cd_tg_tasks_2019-02-18.pdf ├── examples ├── .gitkeep ├── archived │ ├── cd_agents_test_2021-04-22.json │ └── cd_agents_test_2021-04-22_reversed.json ├── class-level json examples │ ├── address-example.json │ ├── chronometric-age-example.json │ ├── collection-description-scheme-example.json │ ├── collection-status-history-example.json │ ├── contact-detail-example.json │ ├── event-example.json │ ├── geographic-origin-example.json │ ├── geological-context-example.json │ ├── identifier-example.json │ ├── measurement-or-fact-example.json │ ├── object-classification-example.json │ ├── object-group-example.json │ ├── organisational-unit-example.json │ ├── person-example.json │ ├── person-role-example.json │ ├── record-level-example.json │ ├── reference-example.json │ ├── resource-relationship-example.json │ ├── scheme-measurement-or-fact-example.json │ ├── scheme-term-example.json │ ├── storage-location-example.json │ ├── taxon-example.json │ └── temporal-coverage-example.json ├── documentation examples │ ├── flat │ │ ├── metric_digitisation_level_percentage_example.csv │ │ └── metric_object_count_example.csv │ └── json │ │ ├── contact_detail_example.json │ │ ├── identifiers_institution_example.json │ │ ├── identifiers_person_example.json │ │ └── identifiers_taxon_example.json ├── draft │ ├── Example BGBM Institution and herbarium.csv │ ├── GGBN Example Consortium.csv │ └── GGBN Example biobank.csv ├── implementation examples │ ├── flat │ │ ├── MeasurementOrFact_LtC_Standard_Metrics.csv │ │ ├── MeasurementOrFact_MIDS_Metrics.csv │ │ ├── MeasurementOrFact_McGinley_Metrics.csv │ │ ├── fmnh_accession_carpenter_example.csv │ │ ├── fmnh_institution_example.csv │ │ ├── fmnh_institution_formattedexample.md │ │ ├── fmnh_institutional_collection_example.csv │ │ ├── fmnh_invertebrate_collection_example.csv │ │ ├── fmnh_mammal_collection_example.csv │ │ ├── nhm_join_the_dots_ltc_object_groups.csv │ │ └── nhm_join_the_dots_ltc_scheme.csv │ └── json │ │ ├── fmnh_accession_carpenter_example.json │ │ ├── nhm_challenger_expedition.json │ │ ├── nhm_join_the_dots.json │ │ └── nhm_uk_json_example.json └── recipes.md ├── meetings ├── 2018-11-14_tg_remote.md ├── 2019-03-27_tg_remote.md ├── 2019-04-18_model_task_remote.md ├── 2019-04-24_tg_remote.md └── 2019-09-10+11_london_physical_meeting │ ├── 2019-09-10_london_meeting_day_1.md │ └── meeting_resources │ ├── 9-11Sept2019_CDTGmtg_LondonNHM_dpaul.pptx │ ├── Introduction_wikibase.pptx │ ├── cd_meeting_intro_2019-09-10.pptx │ └── cds_summary_2019-09-10.pptx ├── mids └── README.md ├── reference ├── FAQ.md ├── REFERENCE_LINKS.md ├── crosswalks │ ├── BiodiversityRegistryDatafieldCrosswalk_21Sep2015.xlsx │ ├── Copy of NCD_ABCD_Elements.xlsx │ ├── IPT-Metadata-Profile-Additions_v3_GBIFDocumentForNCD.doc │ ├── NCD-crosswalk-to-DublinCore__based-on-NCD-v0.34_DC-v1.1.xlsx │ ├── NCD_EAD.xls │ ├── README.md │ └── Required NCD elements.doc ├── humanVmachine.md ├── ncd │ └── ncd_normative_standard.xlsx ├── papers │ ├── AnAnalyticalModelOfCollectionsAndTheirCatalogues_Jan2000.pdf │ ├── Collection Level Description - the Museum Perspective.pdf │ ├── CollectionDescriptionFocus_BriefingPaper_2002.pdf │ ├── oclcresearch-archives-special-collections-linked-data.pdf │ └── readme.md └── use_cases │ └── README.md ├── standard ├── data_model │ ├── .gitkeep │ ├── Definitions │ │ ├── BiologicalTaxonomy.md │ │ ├── CollectionContact.md │ │ ├── CollectionDescription.md │ │ ├── CollectionDescriptionMetric.md │ │ ├── CollectionDescriptionScheme.md │ │ ├── CollectionHistory.md │ │ ├── CollectionIdentifier.md │ │ ├── Collector.md │ │ ├── GeographicOrigin.md │ │ ├── GeologicalTimeRange.md │ │ ├── Institution.md │ │ ├── ObjectClassification.md │ │ ├── OrganisationalUnit.md │ │ ├── Person.md │ │ ├── RelatedDatasetIdentifier.md │ │ ├── SpecimenIdentifierSystem.md │ │ └── StorageLocation.md │ ├── README.md │ └── TDWG CD conceptual data model v0.1 2019-11-25.pdf ├── json-schema │ ├── address.json │ ├── chronometric-age.json │ ├── collection-description-scheme.json │ ├── collection-status-history.json │ ├── contact-detail.json │ ├── event.json │ ├── geographic-origin.json │ ├── geological-context.json │ ├── identifier.json │ ├── measurement-or-fact.json │ ├── measurementor-fact.json │ ├── object-classification.json │ ├── object-group.json │ ├── organisational-unit.json │ ├── person-role.json │ ├── person.json │ ├── record-level.json │ ├── reference.json │ ├── resource-relationship.json │ ├── scheme-measurement-or-fact.json │ ├── scheme-term.json │ ├── storage-location.json │ ├── taxon.json │ └── temporal-coverage.json ├── landing_page.md ├── skos_mapping │ └── LtC SKOS decision tree.png ├── termlist-header.md ├── terms │ ├── by_namespace │ │ ├── abcd.csv │ │ ├── dc.csv │ │ ├── dwc.csv │ │ ├── ltc.csv │ │ └── schema.csv │ ├── ltc_categories.csv │ ├── ltc_datatypes.csv │ ├── ltc_skos_mapping.csv │ ├── ltc_sssom_mapping.csv │ └── ltc_standard_terms_draft.csv ├── vocabularies │ └── .gitkeep └── wiki_archive │ ├── .gitkeep │ └── version_1 │ ├── Ltc_wiki_v1.pdf │ └── markdown │ ├── 1.1-LtC-Glossary.md │ ├── 2.1-Audiences.md │ ├── 2.2-Collection-description-schemes.md │ ├── 2.3-Summary-of-LtC-classes.md │ ├── 2.4-Core-elements-of-the-standard.md │ ├── 2.5-Ranges-and-class-level-properties.md │ ├── 2.6-Repeatable-properties-and-classes.md │ ├── 2.7-Linking-ObjectGroups.md │ ├── 2.8-Modelling-approaches.md │ ├── 3.-Relationships-with-other-standards.md │ ├── 4.-Extending-the-standard.md │ ├── 5.-Reference-examples-and-implementations.md │ ├── 6.-Use-Cases.md │ ├── 7.-Release-Notes.md │ ├── Home.md │ └── Home_Footer.md └── tools ├── Latimer Core browser.pbix ├── README.MD ├── TDWG CD standard browser.pbix ├── TDWG CD standard report.xlsx ├── TDWG definition conversion.xlsx └── csv_to_json ├── .env.example ├── README.md ├── csv_to_json.py ├── csv_to_json_spec.py ├── requirements.txt ├── test_json_schema_output ├── address.json ├── chronometric-age.json ├── collection-description-scheme.json ├── collection-status-history.json ├── contact-detail.json ├── event.json ├── geographic-origin.json ├── geological-context.json ├── identifier.json ├── measurementor-fact.json ├── object-classification.json ├── object-group.json ├── organisational-unit.json ├── person-role.json ├── person.json ├── record-level.json ├── reference.json ├── resource-relationship.json ├── scheme-measurement-or-fact.json ├── scheme-term.json ├── storage-location.json ├── taxon.json └── temporal-coverage.json ├── test_spec_input └── test_spec_terms_draft.csv └── test_spec_json_output ├── address.json ├── chronometric-age.json ├── collection-description-scheme.json ├── collection-status-history.json ├── contact-detail.json ├── event.json ├── geographic-origin.json ├── geological-context.json ├── identifier.json ├── measurement-or-fact.json ├── object-classification.json ├── object-group.json ├── organisational-unit.json ├── person-role.json ├── person.json ├── record-level.json ├── reference.json ├── resource-relationship.json ├── scheme-measurement-or-fact.json ├── scheme-term.json ├── storage-location.json ├── taxon.json └── temporal-coverage.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .env 3 | .pylintrc 4 | .vscode 5 | venv -------------------------------------------------------------------------------- /build/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/build/.gitkeep -------------------------------------------------------------------------------- /charters/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/charters/.gitkeep -------------------------------------------------------------------------------- /docs/assets/images/latimer_nyanfly_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/docs/assets/images/latimer_nyanfly_logo.png -------------------------------------------------------------------------------- /docs/assets/images/latimer_nyanfly_logo_tdwg2022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/docs/assets/images/latimer_nyanfly_logo_tdwg2022.png -------------------------------------------------------------------------------- /docs/assets/images/readme.md: -------------------------------------------------------------------------------- 1 | Images, logos & other assets related to Latimer Core docs 2 | -------------------------------------------------------------------------------- /docs/termlist/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/docs/termlist/.gitkeep -------------------------------------------------------------------------------- /docs/terms/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/docs/terms/.gitkeep -------------------------------------------------------------------------------- /documents/DOCUMENT_LINKS.md: -------------------------------------------------------------------------------- 1 | # Document links 2 | 3 | The links below are to provide discoverability and easy access to working documents on platforms such as Google Suite and Office 365. 4 | 5 | ## Group admin 6 | 7 | * [TG project plan and timelines](https://docs.google.com/spreadsheets/d/1LmQvzOUeO4gbZAnHQPYsqxOwJYg9SqdiNT4guJkJ8RU) (draft, Google Sheet) 8 | * [TG charter](https://docs.google.com/document/d/1Kgcx2dzD3xZv1PpYqzQa3NiaNimtWJasYT9PgAOL0eg) (draft, Google Doc) 9 | 10 | ## Weekly Notes 11 | 12 | * [CD Weekly Meeting Notes (2021)](https://docs.google.com/document/d/16RCOisUhdl3h9ZmV2tZFHaRxnzdSfKbQKXKEaFKFAdA/) 13 | 14 | ## Tasks 15 | 16 | Links to external working documents related to the TG tasks should go here. 17 | * [Latimer Core Guidance Document](https://docs.google.com/document/d/1b8H2aLayPLgq3NVMkyYNxix5sS1nl3m__JgvAEtfaYo) [2022-03] 18 | * [Collection Descriptions Paper (DRAFT)](https://docs.google.com/document/d/1nfuNQQpC3lBMI7M39JGRpuOe-yjVRa6Z-dlWziPXgJU) [2021-07] 19 | 20 | ### Previous Documents: 21 | * [TDWG NORMATIVE Site Content (DRAFT)](https://docs.google.com/document/d/1h16xGpY2oF7-bxqx0nQZ-CTEXD2APsqcCzLT04RfouU) 22 | * [Dimensions - Proposed Field List (Draft)](https://docs.google.com/document/d/13intzQGmcqvOpdWUyaGQHl-GEgs_sHPWy1-MBdIrIT4/edit#heading=h.tw24ksesj1bb) 23 | * [Collection Descriptions Class Index (Draft)](https://docs.google.com/spreadsheets/d/1w8DMgUwl7tf-9AXQOpT6IRQeMuUbxUZlJwQinrtUvAs/edit?usp=sharing) Using this linked-list of current terms, grouped by class, to facilitate getting community input at workshops. First workshop used: MOBILISE 10 Feb 2020. List used for participants to contribute definitions, ideas for missing terms, and to indicate awareness of any missing properties and potential controlled vocabularies that may be in existence. 24 | 25 | ### Draft CD-Model Examples: 26 | * [CD Data Model Diagrams](https://docs.google.com/spreadsheets/d/1dqy_7jctWgHSK9uieEKr9OUb1b9UPSr_fvdwOOH76ug) 27 | * [Field Museum Model Diagrams](https://app.diagrams.net/#G1PlZXt3VvbE4_6JlLW6M4_8OgB6g2fHuR) 28 | * [CD data model approaches and workflows (explanation alongside model-diagrams)](https://docs.google.com/document/d/1O98iJHUomDJ1NPi3Smzr6RSAAusNZyjKMc8wP2dGVeE/edit#heading=h.h55im9iwxhk3) 29 | * [Wikibase CD example-records](https://tdwg-cd.wiki.opencura.com/) 30 | * [Meise BR-1 (part of a collection)](https://tdwg-cd.wiki.opencura.com/wiki/Item:Q128) 31 | * [NHM Algae Collection](https://tdwg-cd.wiki.opencura.com/wiki/Item:Q165) 32 | * [FMNH Zoology Collection](https://tdwg-cd.wiki.opencura.com/wiki/Item:Q141) 33 | 34 | -------------------------------------------------------------------------------- /documents/ExtendingCD_GroupedCollections.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/documents/ExtendingCD_GroupedCollections.pdf -------------------------------------------------------------------------------- /documents/draft/IssuesChallengesREADME.md: -------------------------------------------------------------------------------- 1 | # Considerations for Development of a CD Standard 2 | 3 | ## Known Issues for the Task Group 4 | * Resource discovery -- taxonomic and geographic coverage; collecting/collector history (expeditions?); ancillary collections and data sets, such as tissues, field notes, measurements, inventories. 5 | * Provide guidelines for referencing collections and specimens in both human readable and machine actionable forms 6 | * Integrate registration of data providers with collection-level descriptions, including material that is not yet digital 7 | * Estimating the scope of digitization work to be done; conversely, summarize what has been digitized 8 | * Data quality assessment 9 | 10 | ## Known Challenges 11 | * tracking undigitized collections (need to discover them first) 12 | * allow / deal with merging / splitting collections 13 | * it is suggested that "we" authoritatively manage the IDs necessary to implement this. Will need to use contextual clues embedded in records to disambiguate. 14 | * exactly which parts of these records need to be (must be) machine readable? 15 | example: collectionCodes confusion, who are the contacts for what purpose 16 | * prototype. Will there be a public interface for humans to update? Some (most?) of this will be via an API - not human-mediated. So how do these fit / link so everyone can fulfill their role. 17 | * access / curatorial control: Authorization (Authentication), Curation, Accreditation 18 | * authority. Who are the authors of this data? 19 | * life-cycle issues. what can we learn about life-cycle issues from the publishers? 20 | * branding is an issue making sure collections (and individuals?) can be tracked - credited - attributed. 21 | * collection outreach / invitation. We will need carrots / incentives to invite / include people in this endeavor. We need a model (is there one)? 22 | * can we use this as a way to bootstrap curation of collections data? (future) 23 | -------------------------------------------------------------------------------- /documents/final/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/documents/final/.gitkeep -------------------------------------------------------------------------------- /documents/final/Deliverable D2.3 ICEDIG - Design of a Collection Digitisation Dashboard v1.0.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/documents/final/Deliverable D2.3 ICEDIG - Design of a Collection Digitisation Dashboard v1.0.docx -------------------------------------------------------------------------------- /documents/historical/NCD_V0.34_dccap.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/documents/historical/NCD_V0.34_dccap.xls -------------------------------------------------------------------------------- /documents/historical/SHNHNCD2.ppt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/documents/historical/SHNHNCD2.ppt -------------------------------------------------------------------------------- /documents/historical/draft_cd_tg_tasks_2019-02-18.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/documents/historical/draft_cd_tg_tasks_2019-02-18.pdf -------------------------------------------------------------------------------- /examples/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/examples/.gitkeep -------------------------------------------------------------------------------- /examples/class-level json examples/address-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "addressType": "Postal", 3 | "streetAddress": "1400 S Lake Shore Dr", 4 | "postalCode": "60605", 5 | "addressLocality": "Chicago", 6 | "addressRegion": "Illinois", 7 | "addressCountry": "United States", 8 | "hasIdentifier": 9 | [ 10 | { 11 | "identifierType": "what3words", 12 | "identifierValue": "cages.potato.kinds" 13 | }, 14 | { 15 | "identifierType": "ISO 3166-1 alpha-2 country code", 16 | "identifierValue": "US", 17 | "identifierSource": "ISO" 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /examples/class-level json examples/chronometric-age-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "chronometricAgeRemarks": "One of the Crassostrea virginica right valve specimens from North Midden Feature 17 was chosen for AMS dating, but it is unclear exactly which specimen it was.", 3 | "chronometricAgeProtocol": "radiocarbon AMS", 4 | "chronometricAgeUncertaintyInYears": 200, 5 | "earliestChronometricAgeReferenceSystem": "BCE", 6 | "earliestChronometricAge": 2000 7 | } -------------------------------------------------------------------------------- /examples/class-level json examples/collection-description-scheme-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "basisOfScheme": "Institutional holdings", 3 | "isDistinctObjects": true, 4 | "schemeName": "Institutional Registry Project", 5 | "hasIdentifier": 6 | [ 7 | { 8 | "identifierType": "LtC Schema ID", 9 | "identifierValue": "0000-0000-0000-0000" 10 | } 11 | ], 12 | "hasReference": 13 | [ 14 | { 15 | "referenceType": "Website", 16 | "resourceURI": "https://www.registryproject.org/about" 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /examples/class-level json examples/collection-status-history-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "statusType": "Stewardship", 3 | "status": "active", 4 | "hasTemporalCoverage": 5 | [ 6 | { 7 | "temporalCoverageStartDate": "1846-08-10", 8 | "hasReference": 9 | [ 10 | { 11 | "referenceType": "Digitised Document", 12 | "referenceText": "Act establishing the Smithsonian Institution", 13 | "referenceDetails": "Marc Rothenberg, ed. The Papers of Joseph Henry, The Princeton Years, January 1844 - December 1846, vol. 6. Washington, D.C.: Smithsonian Institution Press, p. 463.", 14 | "resoureURI": "https://www.si.edu/object/siris_sic_12522", 15 | "hasIdentifier": 16 | [ 17 | { 18 | "identifierValue": "siris_sic_12522", 19 | "identifierType": "Smithsonian Libraries and Archives Object ID" 20 | } 21 | ] 22 | } 23 | ] 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /examples/class-level json examples/contact-detail-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "contactDetailType": "General enquiries", 3 | "contactDetailCategory": "Email", 4 | "contactDetailValue": "help@place.ac.uk" 5 | } -------------------------------------------------------------------------------- /examples/class-level json examples/event-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "verbatimEventDate": "1755-1756", 3 | "habitat": "temperate rainforest", 4 | "eventName": "Cloudland Expedition (1755-1756)", 5 | "hasPersonRole": 6 | [ 7 | { 8 | "role": "Collector", 9 | "startedAtTime": "1755-09-01", 10 | "hasPerson": 11 | [ 12 | { 13 | "fullName": "Anne Monson", 14 | "familyName": "Monson", 15 | "givenName": "Anne", 16 | "hasIdentifier": 17 | [ 18 | { 19 | "identifierType": "URI", 20 | "identifierSource": "https://www.wikidata.org/wiki/", 21 | "identifierValue": "Q15994645" 22 | } 23 | ] 24 | } 25 | ] 26 | }, 27 | { 28 | "role": "Navigator", 29 | "startedAtTime": "1755-09-01", 30 | "hasPerson": 31 | [ 32 | { 33 | "fullName": "Sidney Smith", 34 | "familyName": "Smith", 35 | "givenName": "Sidney" 36 | } 37 | ] 38 | } 39 | ], 40 | "hasMeasurementOrFact": 41 | [ 42 | { 43 | "measurementType": "Object Count", 44 | "measurementValue": 500, 45 | "measurementAccuracy": "Estimate", 46 | "measurementDerivation": "Reported" 47 | } 48 | ] 49 | } -------------------------------------------------------------------------------- /examples/class-level json examples/geographic-origin-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "waterBody": "Thirsty Sound", 3 | "waterBodyType": "Strait", 4 | "continent": "Ocaeania", 5 | "country": "Australia", 6 | "countryCode": "AU", 7 | "salinityType": "marine", 8 | "stateProvince": "Queensland", 9 | "hasIdentifier": 10 | [ 11 | { 12 | "identifierType": "URI", 13 | "identifierSource": "https://www.geonames.org/", 14 | "identifierValue": "2146841" 15 | } 16 | ], 17 | "hasMeasurementOrFact": 18 | [ 19 | { 20 | "measurementType": "decimal latitude", 21 | "measurementValue": -22.2245 22 | }, 23 | { 24 | "measurementType": "decimal longitude", 25 | "measurementValue": 149.92611 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /examples/class-level json examples/geological-context-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "latestAgeOrHighestStage": "Thanetian", 3 | "earliestAgeOrLowestStage": "Albian", 4 | "latestEpochOrHighestSeries": "Paleocene", 5 | "earliestEpochOrLowestSeries": "Lower Cretaceous", 6 | "latestPeriodOrHighestSystem": "Paleogene", 7 | "earliestPeriodOrLowestSystem": "Cretaceous", 8 | "latestEraOrHighestErathem": "Mesozoic", 9 | "earliestEraOrLowestErathem": "Cenozoic" 10 | } -------------------------------------------------------------------------------- /examples/class-level json examples/identifier-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "identifierType": "Acronym", 3 | "identifierValue": "EMNH" 4 | } -------------------------------------------------------------------------------- /examples/class-level json examples/measurement-or-fact-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "measurementType": "MIDS-0 Object Count", 3 | "measurementValue": 500, 4 | "measurementAccuracy": "Estimate", 5 | "measurementMethod": "DiSSCo MIDS level", 6 | "measurementDerivation": "Reported", 7 | "hasReference": 8 | [ 9 | { 10 | "referenceType": "Measurement methodology", 11 | "resourceURI": "https://doi.org/10.5281/zenodo.3465285", 12 | "referenceDetails": "Saarenmaa, Hannu, Agosti, Donat, Dillen, Mathias, Egloff, Willi, Gagnier, Pierre-Yves, Groom, Quentin, Hardisty, Alex, & Raes, Niels. (2019). Open access implementation guidelines for DiSSCo. Deliverable D6.5 (pp. 1–35).", 13 | "referenceText": "Open access implementation guidelines for DiSSCo. Deliverable D6.5", 14 | "hasIdentifier": 15 | [ 16 | { 17 | "identifierType": "DOI", 18 | "identifierValue": "10.5281/zenodo.3465285" 19 | } 20 | ] 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /examples/class-level json examples/object-classification-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "objectClassificationName": "Arachnids", 3 | "hasObjectClassification": 4 | [ 5 | { 6 | "objectClassificationName": "Insects", 7 | }, 8 | { 9 | "objectClassificationName": "Invertebrates" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /examples/class-level json examples/organisational-unit-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "organisationalUnitName": "Oxford Museum of Natural History", 3 | "organisationalUnitType": "Organisation", 4 | "hasIdentifer": 5 | [ 6 | { 7 | "identifierType": "Acronym", 8 | "identifierValue": "OUMNH" 9 | } 10 | ], 11 | "hasAddress": 12 | [ 13 | { 14 | "streetAddress": "OUMNH, Parks Rd", 15 | "addressRegion": "Oxfordshire", 16 | "addressLocality": "Oxford", 17 | "addressCountry": "UK", 18 | "addressPostalCode": "OX1 3PW" 19 | } 20 | ], 21 | "hasContactDetail": 22 | [ 23 | { 24 | "contactDetailCategory": "email", 25 | "contactDetailValue": "enquiries@oumnh.ac.uk" 26 | } 27 | ], 28 | "hasMeasurementOrFact": 29 | [ 30 | { 31 | "measurementType": "Object Count", 32 | "measurementValue": 5000000, 33 | "measurementAccuracy": "Estimate", 34 | "measurementDerivation": "Reported" 35 | } 36 | ], 37 | "hasPersonRole": 38 | [ 39 | { 40 | "role": "Director", 41 | "hasPerson": 42 | [ 43 | { 44 | "fullName": "Malcolm Powder", 45 | "familyName": "Powder", 46 | "givenName": "Malcolm", 47 | "hasContactDetail": 48 | [ 49 | { 50 | "contactDetailCategory": "email", 51 | "contactDetailValue": "m.powder@oumnh.ac.uk" 52 | }, 53 | { 54 | "contactDetailType": "mobile", 55 | "contactDetailCategory": "telephone", 56 | "contactDetailValue": "447527883354" 57 | } 58 | ], 59 | "hasIdentifier": 60 | [ 61 | { 62 | "identifierType": "URI", 63 | "identifierSource": "https://orcid.org/", 64 | "identifierValue": "0000-0004-4012-0571" 65 | } 66 | ] 67 | } 68 | ] 69 | } 70 | ] 71 | } -------------------------------------------------------------------------------- /examples/class-level json examples/person-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "fullName": "Malcolm Powder", 3 | "familyName": "Powder", 4 | "givenName": "Malcolm", 5 | "hasAddress": 6 | [ 7 | { 8 | "addressType": "Work", 9 | "streetAddress": "Room 14B, OUMNH, Parks Rd", 10 | "addressRegion": "Oxfordshire", 11 | "addressLocality": "Oxford", 12 | "addressCountry": "UK", 13 | "addressPostalCode": "OX1 3PW" 14 | } 15 | ], 16 | "hasContactDetail": 17 | [ 18 | { 19 | "contactDetailCategory": "email", 20 | "contactDetailValue": "m.powder@oumnh.ac.uk" 21 | }, 22 | { 23 | "contactDetailType": "mobile", 24 | "contactDetailCategory": "telephone", 25 | "contactDetailValue": "447527883354" 26 | } 27 | ], 28 | "hasIdentifier": 29 | [ 30 | { 31 | "identifierType": "URI", 32 | "identifierSource": "https://orcid.org/", 33 | "identifierValue": "0000-0004-4012-0571" 34 | }, 35 | { 36 | "identifierType": "URI", 37 | "identifierSource": "http://www.wikidata.org/entity/", 38 | "identifierValue": "Q1951402" 39 | } 40 | ] 41 | } -------------------------------------------------------------------------------- /examples/class-level json examples/person-role-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "role": "Collection Manager", 3 | "startedAtTime": "1984-09-01", 4 | "hasPerson": 5 | [ 6 | { 7 | "fullName": "Malcolm Powder", 8 | "familyName": "Powder", 9 | "givenName": "Malcolm", 10 | "hasAddress": 11 | [ 12 | { 13 | "addressType": "Work", 14 | "streetAddress": "Room 14B, OUMNH, Parks Rd", 15 | "addressRegion": "Oxfordshire", 16 | "addressLocality": "Oxford", 17 | "addressCountry": "UK", 18 | "addressPostalCode": "OX1 3PW" 19 | } 20 | ], 21 | "hasContactDetail": 22 | [ 23 | { 24 | "contactDetailCategory": "email", 25 | "contactDetailValue": "m.powder@oumnh.ac.uk" 26 | }, 27 | { 28 | "contactDetailType": "mobile", 29 | "contactDetailCategory": "telephone", 30 | "contactDetailValue": "447527883354" 31 | } 32 | ], 33 | "hasIdentifier": 34 | [ 35 | { 36 | "identifierType": "URI", 37 | "identifierSource": "https://orcid.org/", 38 | "identifierValue": "0000-0004-4012-0571" 39 | }, 40 | { 41 | "identifierType": "URI", 42 | "identifierSource": "http://www.wikidata.org/entity/", 43 | "identifierValue": "Q1951402" 44 | } 45 | ] 46 | } 47 | ], 48 | "hasContactDetail": 49 | [ 50 | { 51 | "contactDetailCategory": "email", 52 | "contactDetailValue": "enquiries@oumnh.ac.uk" 53 | } 54 | ], 55 | "hasMeasurementOrFact": 56 | [ 57 | { 58 | "measurementType": "FTE person count", 59 | "measurementValue": 0.5 60 | } 61 | ] 62 | } 63 | -------------------------------------------------------------------------------- /examples/class-level json examples/reference-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "referenceType": "Bibliographic citation", 3 | "referenceText": "Seuss. The cat in the hat. Random House Books for Young Readers, 2012.", 4 | "hasIdentifier": 5 | [ 6 | { 7 | "identifierType": "ISBN 13", 8 | "identifierValue": 9780449810866 9 | }, 10 | { 11 | "identifierType": "ISBN 10", 12 | "identifierValue": "0449810860" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /examples/class-level json examples/resource-relationship-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "relatedResourceName": "Holdings of the Croatian Natural History Museum", 3 | "relationshipEstablishedDate": "1963-03-08", 4 | "relationshipAccordingTo": 5 | [ 6 | "Malcolm Powder", 7 | "Lillith Bang" 8 | ], 9 | "relationshipOfResource": "part of", 10 | "relatedResourceID": "0000-000-000000-00000", 11 | "resourceID": "1000-000-000000-00000", 12 | "hasReference": 13 | [ 14 | { 15 | "referenceType": "Journal article", 16 | "referenceText": "Catalogue of spiders (Araneae) deposited in the Croatian Natural History Museum", 17 | "referenceDetails": "Grbac, Irena & Katušić, Luka & Lukić, Marko. (2019). Catalogue of spiders (Araneae) deposited in the Croatian Natural History Museum. Natura Croatica. 28. 185-269. 10.20302/NC.2019.28.19.", 18 | "resourceURI": "https://dx.doi.org/10.20302/NC.2019.28.19", 19 | "hasIdentifier": 20 | [ 21 | { 22 | "identifierType": "DOI", 23 | "identifierValue": "10.20302/NC.2019.28.19" 24 | } 25 | ] 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /examples/class-level json examples/scheme-measurement-or-fact-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemeMeasurementType": "MIDS-0 Object Count", 3 | "isMandatoryMetric": true, 4 | "isRepeatableMetric": true, 5 | "hasReference": 6 | [ 7 | { 8 | "referenceType": "Measurement methodology", 9 | "resourceURI": "https://doi.org/10.5281/zenodo.3465285", 10 | "referenceDetails": "Saarenmaa, Hannu, Agosti, Donat, Dillen, Mathias, Egloff, Willi, Gagnier, Pierre-Yves, Groom, Quentin, Hardisty, Alex, & Raes, Niels. (2019). Open access implementation guidelines for DiSSCo. Deliverable D6.5 (pp. 1–35).", 11 | "referenceText": "Open access implementation guidelines for DiSSCo. Deliverable D6.5", 12 | "hasIdentifier": 13 | [ 14 | { 15 | "identifierType": "DOI", 16 | "identifierValue": "10.5281/zenodo.3465285" 17 | } 18 | ] 19 | } 20 | ] 21 | } -------------------------------------------------------------------------------- /examples/class-level json examples/scheme-term-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "termName": "Event", 3 | "isMandatoryTerm": true, 4 | "isRepeatableTerm": true 5 | } -------------------------------------------------------------------------------- /examples/class-level json examples/storage-location-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "locationName": "Groom Lake Store", 3 | "locationType": "Site", 4 | "hasMeasurementOrFact": 5 | [ 6 | { 7 | "measurementType": "Object Count", 8 | "measurementValue": 50500, 9 | "measurementAccuracy": "Estimate", 10 | "measurementDerivation": "Reported" 11 | }, 12 | { 13 | "measurementType": "Storage Volume", 14 | "measurementValue": 1500, 15 | "measurementUnit": "m3", 16 | "measurementAccuracy": "+/- 5%", 17 | "measurementDerivation": "Reported", 18 | "measurementRemarks": "Reflects total max storage capacity of existing furniture." 19 | } 20 | ], 21 | "hasAddress": 22 | [ 23 | { 24 | "streetAddress": "Groom Lake, Rachel, Lincoln County, Nevada, US", 25 | "addressRegion": "Nevada", 26 | "addressLocality": "Lincoln County", 27 | "addressCountry": "US" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /examples/class-level json examples/taxon-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "genus": "Priapulus", 3 | "taxonRank": "genus", 4 | "order": "Priapulimorphida", 5 | "family": "Priapulidae", 6 | "scientificName": "Priapulus Lamarck, 1816", 7 | "hasIdentifier": 8 | [ 9 | { 10 | "identifierType": "URI", 11 | "identifierSource": "https://www.checklistbank.org/dataset/9812/taxon/", 12 | "identifierValue": "84SNJ" 13 | }, 14 | { 15 | "identifierType": "URI", 16 | "identifierSource": "https://marinespecies.org/authority/metadata.php?lsid=", 17 | "identifierValue": "urn:lsid:marinespecies.org:taxname:116116" 18 | }, 19 | { 20 | "identifierType": "URI", 21 | "identifierSource": "https://www.wikidata.org/wiki/", 22 | "identifierValue": "Q2391885" 23 | } 24 | ], 25 | "hasMeasurementOrFact": 26 | [ 27 | { 28 | "measurementType": "MIDS-0 Object Count", 29 | "measurementValue": 500, 30 | "measurementAccuracy": "Estimate", 31 | "measurementMethod": "DiSSCo MIDS level", 32 | "measurementDerivation": "Reported" 33 | }, 34 | { 35 | "measurementType": "MIDS-1 Object Count", 36 | "measurementValue": 1500, 37 | "measurementAccuracy": "Estimate", 38 | "measurementMethod": "DiSSCo MIDS level", 39 | "measurementDerivation": "Reported" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /examples/class-level json examples/temporal-coverage-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "temporalCoverageType": "Establishment time range", 3 | "temporalCoverageStartDate": "1846-08-10", 4 | "hasReference": 5 | [ 6 | { 7 | "referenceType": "Digitised Document", 8 | "referenceText": "Act establishing the Smithsonian Institution", 9 | "referenceDetails": "Marc Rothenberg, ed. The Papers of Joseph Henry, The Princeton Years, January 1844 - December 1846, vol. 6. Washington, D.C.: Smithsonian Institution Press, p. 463.", 10 | "resoureURI": "https://www.si.edu/object/siris_sic_12522", 11 | "hasIdentifier": 12 | [ 13 | { 14 | "identifierValue": "siris_sic_12522", 15 | "identifierType": "Smithsonian Libraries and Archives Object ID" 16 | } 17 | ] 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /examples/documentation examples/flat/metric_digitisation_level_percentage_example.csv: -------------------------------------------------------------------------------- 1 | Property,Value,Notes 2 | measurementType,digitization level percentage,The percentage of the whole collection being described that is digitized [we should define digitized] 3 | measurementValue,[0-100],Use this if the thing you are recording is an integer or a float. 4 | measurementUnit,percentage,percentage or count or SI units 5 | measurementDeterminedDate,[handled using the date format we end up with], 6 | measurementDeterminedBy,[handled using whatever person format we end up with], 7 | measurementMethod,CD Standard Metric, 8 | measurementFactText,[NULL],Only use this if the thing you are recording is not a number. 9 | measurementAgent,Reported[Calculated],Reported if done by a human eyeball; Calculated if extracted in an automated way. 10 | -------------------------------------------------------------------------------- /examples/documentation examples/flat/metric_object_count_example.csv: -------------------------------------------------------------------------------- 1 | Property,Value,Notes 2 | measurementType,object count, 3 | measurementValue,[integer], 4 | measurementUnit,count,percentage or count or SI units 5 | measurementDeterminedDate,[handled using the date format we end up with], 6 | measurementDeterminedBy,[handled using whatever person format we end up with], 7 | measurementMethod,CD Standard Metric, 8 | measurementFactText,[NULL],Only use this if the thing you are recording is not a number. 9 | measurementAgent,Reported[Calculated],Reported if done by a human eyeball; Calculated if extracted in an automated way. 10 | -------------------------------------------------------------------------------- /examples/documentation examples/json/contact_detail_example.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": { 3 | "ltc": "http://rs.tdwg.org/ltc/", 4 | "schema": "https://schema.org/", 5 | "abcd": "http://rs.tdwg.org/abcd/" 6 | }, 7 | "@type": "ltc:OrganisationalUnit", 8 | "ltc:ContactDetail": [ 9 | { 10 | "@type": "ltc:ContactDetail", 11 | "contactDetailCategory": "email", 12 | "contactDetailType": "General enquiries", 13 | "contactDetailValue": "enquiries@emnh.org" 14 | } 15 | ], 16 | "ltc:PersonRole": { 17 | "@type": "PersonRole", 18 | "role": "Registrar", 19 | "ltd:Person": { 20 | "@type": "ltc:Person", 21 | "schema:additionalName": "Virginia", 22 | "schema:familyName": "Mountweazel", 23 | "schema:givenName": "Lillian", 24 | "abcd:fullName": "Lillian Virginia Mountweazel", 25 | "ltc.ContactDetail": [ 26 | { 27 | "@type": "ltc:ContactDetail", 28 | "contactDetailCategory": "email", 29 | "contactDetailType": "Collection enquiries", 30 | "contactDetailValue": "v.mountweazel@emnh.org" 31 | } 32 | ] 33 | } 34 | }, 35 | "ltc:organisationalUnitAlternativeName": "Museum of Natural History, Erewhon", 36 | "ltc:organisationalUnitName": "Erewhon Museum of Natural History", 37 | "ltc:organisationalUnitType": "Institution" 38 | } 39 | -------------------------------------------------------------------------------- /examples/documentation examples/json/identifiers_institution_example.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": 3 | { 4 | "ltc": "http://rs.tdwg.org/ltc/" 5 | }, 6 | "@type": "ltc:OrganisationalUnit", 7 | "ltc: Identifier": 8 | [ 9 | { 10 | "@type": "ltc:Identifier", 11 | "ltc:identifierType": "Acronym", 12 | "ltc:identifier": "EMNH" 13 | }, 14 | { 15 | "@type": "ltc:Identifier", 16 | "ltc:identifierType": "Acronym", 17 | "ltc:identifier": "EM(NH)" 18 | }, 19 | { 20 | "@type": "ltc:Identifier", 21 | "ltc:identifierType": "URI", 22 | "ltc:identifierSource": "https://ror.org/", 23 | "ltc:identifier": "099zvsn29" 24 | } 25 | ], 26 | "ltc:organisationalUnitName": "Erewhon Museum of Natural History", 27 | "ltc:organisationalUnitType": "Institution", 28 | "ltc:organisationalUnitAlternativeName": "Museum of Natural History, Erewhon" 29 | } 30 | -------------------------------------------------------------------------------- /examples/documentation examples/json/identifiers_person_example.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": 3 | { 4 | "schema": "https://schema.org/", 5 | "abcd": "http://rs.tdwg.org/abcd/", 6 | "ltc": "http://rs.tdwg.org/ltc/" 7 | }, 8 | "@type": "ltc:Person", 9 | "ltc:identifier": 10 | [ 11 | { 12 | "@type": "ltc:Identifier", 13 | "ltc:identifierType": "URI", 14 | "ltc:identifierSource": "https://www.worldcat.org/identities/", 15 | "ltc:identifier": "lccn-n85816396" 16 | }, 17 | { 18 | "@type": "ltc:Identifier", 19 | "ltc:identifierType": "URI", 20 | "ltc:identifierSource": "https://www.wikidata.org/wiki/", 21 | "ltc:identifier": "Q371568" 22 | }, 23 | { 24 | "@type": "ltc:Identifier", 25 | "ltc:identifierType": "URI", 26 | "ltc:identifierSource": "https://viaf.org/viaf/", 27 | "ltc:identifier": "38383989" 28 | } 29 | ], 30 | "schema:additionalName": "Eileen Doris", 31 | "schema:familyName": "Courtenay-Latimer", 32 | "schema:givenName": "Marjorie", 33 | "abcd:fullName": "Marjorie Eileen Doris Courtenay-Latimer" 34 | } 35 | -------------------------------------------------------------------------------- /examples/documentation examples/json/identifiers_taxon_example.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": 3 | { 4 | "dwc": "http://rs.tdwg.org/dwc/", 5 | "ltc": "http://rs.tdwg.org/ltc/" 6 | }, 7 | "@type": "ltc:Taxon", 8 | "ltc:Identifier": 9 | [ 10 | { 11 | "@type": "ltc:Identifier", 12 | "ltc:identifierType": "URI", 13 | "ltc:identifierSource": "https://www.checklistbank.org/dataset/9812/taxon/", 14 | "ltc:identifier": "84SNJ" 15 | }, 16 | { 17 | "@type": "ltc:Identifier", 18 | "ltc:identifierType": "URI", 19 | "ltc:identifierSource": "https://marinespecies.org/authority/metadata.php?lsid=", 20 | "ltc:identifier": "urn:lsid:marinespecies.org:taxname:116116" 21 | }, 22 | { 23 | "@type": "ltc:Identifier", 24 | "ltc:identifierType": "URI", 25 | "ltc:identifierSource": "https://www.wikidata.org/wiki/", 26 | "ltc:identifier": "Q2391885" 27 | } 28 | ], 29 | "dwc:order": "Priapulimorphida", 30 | "dwc:family": "Priapulidae", 31 | "dwc:genus": "Priapulus" 32 | } 33 | -------------------------------------------------------------------------------- /examples/draft/GGBN Example Consortium.csv: -------------------------------------------------------------------------------- 1 | Term,Class,Example 2 | PID,RecordLevel,SuperStableInstitutionID123 3 | role,PersonRole,Primary Collection Description record contact 4 | fullName,Person,Mariel Campbell 5 | role,PersonRole,Chair 6 | fullName,Person,Mariel Campbell 7 | organisationalUnitName,OrganisationalUnit,Arctos 8 | organisationalUnitType,OrganisationalUnit,Consortium 9 | resourceURI,Reference,https://arctosdb.org/ 10 | referenceType,Reference,Website 11 | referenceText,Reference,Arctos Website 12 | organisationalUnitDescription,ObjectGroup,"Arctos is a community, an online collection management information system, and a provider of research-grade data. It provides fundamental research infrastructure and is intended for curators, collection managers, investigators, educators, and anyone interested in natural and cultural history. As a community, Arctos is a consortium of museums and organizations that collaborate to serve data on over 3 million records from natural and cultural history collections. An additional 2 million records are in MCZBase, a separate instance at the Museum of Comparative Zoology, Harvard University. The Arctos community provides a collaborative environment for sharing data vocabulary and standards, curating and improving the quality of shared data such as agents and taxonomy, forming strong links between related catalog records, and guiding the future development of Arctos." 13 | addressLocality,Address,Albuquerque 14 | addressCountry,Address,United States of America 15 | addressRegion,Address,New Mexico 16 | addressType,Address,Physical 17 | contactDetailCategory,ContactDetail,Email 18 | contactDetailType,ContactDetail,General enquiries 19 | contactDetailValue,ContactDetail,chair@arctosdb.org 20 | -------------------------------------------------------------------------------- /examples/implementation examples/flat/MeasurementOrFact_MIDS_Metrics.csv: -------------------------------------------------------------------------------- 1 | measurementScheme,measurementType,measurementValue,measurementUnit,measurementMethod,measurementAccuracy 2 | https://github.com/tdwg/mids/blob/working-draft/current-draft/MIDS-definition-v0.15-29Jul2021.md#44-information-elements-expected-at-mids-level-0,MIDS-0 object count,0,count,reported,estimated 3 | https://github.com/tdwg/mids/blob/working-draft/current-draft/MIDS-definition-v0.15-29Jul2021.md#43-information-elements-expected-at-mids-level-1,MIDS-1 object count,0,count,reported,estimated 4 | https://github.com/tdwg/mids/blob/working-draft/current-draft/MIDS-definition-v0.15-29Jul2021.md#43-information-elements-expected-at-mids-level-2,MIDS-2 object count,29100,count,reported,estimated 5 | https://github.com/tdwg/mids/blob/working-draft/current-draft/MIDS-definition-v0.15-29Jul2021.md#43-information-elements-expected-at-mids-level-3,MIDS-3 object count,2500,count,reported,estimated 6 | -------------------------------------------------------------------------------- /examples/implementation examples/flat/MeasurementOrFact_McGinley_Metrics.csv: -------------------------------------------------------------------------------- 1 | measurementScheme,measurementType,measurementUnit,measurementFactText,measurementAgent,measurementValue 2 | https://www.researchgate.net/publication/233379544_Profiling_natural_history_collections_A_method_for_quantitative_and_comparative_health_assessment,collection profiling scale category,Unlabeled specimens in the general collection. reported,1 -------------------------------------------------------------------------------- /examples/implementation examples/flat/fmnh_accession_carpenter_example.csv: -------------------------------------------------------------------------------- 1 | Term,Class,Example 2 | basisOfScheme,CollectionDescriptionScheme,Accession 3 | description,ObjectGroup,Carpenter collection of shells 4 | discipline,ObjectGroup,Invertebrate Zoology 5 | objectType,ObjectGroup,specimen 6 | typeOfCollection,ObjectGroup,PreservedSpecimen 7 | organisationalUnitImmediateParentID,OrganisationalUnit,http://grbio.org/institutional-collection/invertebrate-collection-0 8 | identifier,Identifiers,17 9 | identifierSource,Identifiers,Field Museum of Natural History 10 | identifierType,Identifiers,Accession Number 11 | role,PersonRole,collector 12 | fullName,Person,Philip P Carpenter 13 | continent,GeographicOrigin,Europe 14 | continent,GeographicOrigin,Asia 15 | continent,GeographicOrigin,South America 16 | continent,GeographicOrigin,Oceania 17 | continent,GeographicOrigin,North America 18 | continent,GeographicOrigin,Central America 19 | continent,GeographicOrigin,Africa 20 | locality,GeographicOrigin,various 21 | waterBody,GeographicOrigin,Indian 22 | waterBody,GeographicOrigin,Atlantic 23 | waterBody,GeographicOrigin,North Pacific 24 | waterBody,GeographicOrigin,Arctic 25 | waterBody,GeographicOrigin,North Atlantic 26 | waterBody,GeographicOrigin,South Pacific 27 | waterBody,GeographicOrigin,Pacific 28 | kingdom,Taxon,Animalia 29 | phylum,Taxon,Mollusca 30 | class,Taxon,Gastropoda 31 | class,Taxon,Bivalvia 32 | class,Taxon,Scaphopoda 33 | class,Taxon,Polyplacophora 34 | class,Taxon,Cephalopoda 35 | temporalCoverageStartDate,TemporalCoverage,07/01/1895 36 | temporalCoverageType,TemporalCoverage,Accession date 37 | measurementType,MeasurementOrFact,Object Count 38 | measurementUnit,MeasurementOrFact,items 39 | measurementValue,MeasurementOrFact,1426 40 | -------------------------------------------------------------------------------- /examples/implementation examples/flat/fmnh_institution_example.csv: -------------------------------------------------------------------------------- 1 | Term,Class,Example 2 | PID,RecordLevel,SuperStableInsititutionID345 3 | rightsHolder,RecordLevel,Field Museum of Natural History 4 | addressLocality,Address,Chicago 5 | addressCountry,Address,USA 6 | addressRegion,Address,IL 7 | streetAddress,Address,1400 S DuSable Lake Shore Drive 8 | postalCode,Address,60605 9 | addressType,Address,Physical 10 | contactDetailCategory,ContactDetail,Phone number 11 | contactDetailType,ContactDetail,General enquiries 12 | contactDetailValue,ContactDetail,+(1) 312-922-9410 13 | role,PersonRole,Primary Collection Description record contact 14 | fullName,Person,Technology Department 15 | role,PersonRole,President and CEO 16 | fullName,Person,Dr Julian Siggers 17 | role,PersonRole,CFO 18 | fullName,Person,Le Monte Booker 19 | identifier,Identifier,FM 20 | identifierSource,Identifier,Field Museum of Natural History 21 | identifierType,Identifier,acronym 22 | identifier,Identifier,FMNH 23 | identifierSource,Identifier,Field Museum of Natural History 24 | identifierType,Identifier,acronym 25 | identifier,Identifier,https://www.gbif.org/grscicoll/institution/e71f36f1-e271-4720-a604-3c5a1418e7aa 26 | identifierSource,Identifier,grscicoll 27 | identifierType,Identifier,uri 28 | identifier,Identifier,http://grbio.org/institution/field-museum-natural-history 29 | identifierSource,Identifier,grbio 30 | identifierType,Identifier,uri 31 | identifier,Identifier,http://biocol.org/urn:lsid:biocol.org:col:34795 32 | identifierSource,Identifier,lsid 33 | identifierType,Identifier,uri 34 | status,CollectionHistory,founded 35 | statusStartDate,CollectionHistory,1893-01-02 36 | organisationalUnitName,OrganisationalUnit,Field Museum of Natural History 37 | organisationalUnitAlternativeName,OrganisationalUnit,Columbian Museum of Chicago 38 | organisationalUnitAlternativeName,OrganisationalUnit,Chicago Natural History Museum 39 | organisationalUnitAlternativeName,OrganisationalUnit,Field Museum 40 | organisationalUnitAlternativeName,OrganisationalUnit,CNHM 41 | organisationalUnitType,OrganisationalUnit,Museum 42 | resourceURI,Reference,https://www.fieldmuseum.org 43 | referenceType,Reference,Website 44 | referenceText,Reference,FMNH website 45 | -------------------------------------------------------------------------------- /examples/implementation examples/flat/fmnh_institution_formattedexample.md: -------------------------------------------------------------------------------- 1 | | Term | Class | Example | 2 | | ---- | ----- | ------- | 3 | | PID | RecordLevel | SuperStableInsititutionID345 | 4 | | rightsHolder | RecordLevel | Field Museum of Natural History | 5 | 6 | | Term | Class | Example | 7 | | ---- | ----- | ------- | 8 | | addressLocality | Address | Chicago | 9 | | addressCountry | Address | USA | 10 | | addressRegion | Address | IL | 11 | | streetAddress | Address | 1400 S DuSable Lake Shore Drive | 12 | | postalCode | Address | 60605 | 13 | | addressType | Address | Physical | 14 | 15 | | Term | Class | Example | 16 | | ---- | ----- | ------- | 17 | | contactDetailCategory | ContactDetail | Phone number | 18 | | contactDetailType | ContactDetail | General enquiries | 19 | | contactDetailValue | ContactDetail | +(1) 312-922-9410 | 20 | 21 | | Term | Class | Example | 22 | | ---- | ----- | ------- | 23 | | role | PersonRole | Primary Collection Description record contact | 24 | | fullName | Person | Technology Department | 25 | | role | PersonRole | President and CEO | 26 | | fullName | Person | Dr Julian Siggers | 27 | | role | PersonRole | CFO | 28 | | fullName | Person | Le Monte Booker | 29 | 30 | | Term | Class | Example | 31 | | ---- | ----- | ------- | 32 | | identifier | Identifier | FM | 33 | | identifierSource | Identifier | Field Museum of Natural History | 34 | | identifierType | Identifier | acronym | 35 | | identifier | Identifier | FMNH | 36 | | identifierSource | Identifier | Field Museum of Natural History | 37 | | identifierType | Identifier | acronym | 38 | | identifier | Identifier | https://www.gbif.org/grscicoll/institution/e71f36f1-e271-4720-a604-3c5a1418e7aa | 39 | | identifierSource | Identifier | grscicoll | 40 | | identifierType | Identifier | uri | 41 | | identifier | Identifier | http://grbio.org/institution/field-museum-natural-history | 42 | | identifierSource | Identifier | grbio | 43 | | identifierType | Identifier | uri | 44 | | identifier | Identifier | http://biocol.org/urn:lsid:biocol.org:col:34795 | 45 | | identifierSource | Identifier | lsid | 46 | | identifierType | Identifier | uri | 47 | 48 | | Term | Class | Example | 49 | | ---- | ----- | ------- | 50 | | status | CollectionHistory | founded | 51 | | statusStartDate | CollectionHistory | 1893-01-02 | 52 | 53 | | Term | Class | Example | 54 | | ---- | ----- | ------- | 55 | | organisationalUnitName | OrganisationalUnit | Field Museum of Natural History | 56 | | organisationalUnitAlternativeName | OrganisationalUnit | Columbian Museum of Chicago | 57 | | organisationalUnitAlternativeName | OrganisationalUnit | Chicago Natural History Museum | 58 | | organisationalUnitAlternativeName | OrganisationalUnit | Field Museum | 59 | | organisationalUnitAlternativeName | OrganisationalUnit | CNHM | 60 | | organisationalUnitType | OrganisationalUnit | Museum | 61 | 62 | | Term | Class | Example | 63 | | ---- | ----- | ------- | 64 | | resourceURI | Reference | https://www.fieldmuseum.org | 65 | | referenceType | Reference | Website | 66 | | referenceText | Reference | FMNH website | 67 | -------------------------------------------------------------------------------- /examples/implementation examples/flat/fmnh_institutional_collection_example.csv: -------------------------------------------------------------------------------- 1 | Term,Class,Example 2 | PID,RecordLevel,SuperStableRecordID963 3 | rightsHolder,RecordLevel,Field Museum of Natural History 4 | addressLocality,Address,Chicago 5 | addressCountry,Address,USA 6 | addressRegion,Address,IL 7 | streetAddress,Address,1400 S Du Sable Lake Shore Drive 8 | postalCode,Address,60605 9 | addressType,Address,Physical 10 | contactDetailCategory,ContactDetail,Phone number 11 | contactDetailType,ContactDetail,General enquiries 12 | contactDetailValue,ContactDetail,+(1) 312-922-9410 13 | role,PersonRole,Primary Collection Description record contact 14 | fullName,Person,Technology Department 15 | role,PersonRole,Head of Collections 16 | fullName,Person,Deborah Bekken 17 | identifier,Identifier,FM 18 | identifierSource,Identifier,Field Museum of Natural History 19 | identifierType,Identifier,acronym 20 | identifier,Identifier,FMNH 21 | identifierSource,Identifier,Field Museum of Natural History 22 | identifierType,Identifier,acronym 23 | identifier,Identifier,F 24 | identifierSource,Identifier,Index Herbariorum 25 | identifierType,Identifier,acronym 26 | status,CollectionHistory,founded 27 | statusStartDate,CollectionHistory,1893-01-02 28 | organisationalUnitParentInstitutionID,OrganisationalUnit,SuperStableInsititutionID345 29 | resourceURI,Reference,https://www.fieldmuseum.org 30 | referenceType,Reference,Website 31 | referenceText,Reference,FMNH website 32 | discipline,ObjectGroup,Anthropology | Botany | Geology | Zoology | Photo Archives 33 | typeOfCollection,ObjectGroup,PreservedSpecimens | FossilSpecimens | MineralSpecimens | ArchaeologicalArtefacts | EthnographicObjects | HumanRemains | HominidRemains | MaterialSamples 34 | description,ObjectGroup,"The Field Museum of Natural History (FMNH), also known as The Field Museum, is a natural history museum in Chicago, Illinois, and is one of the largest such museums in the world.[4] The museum is a popular natural-history museum for the size and quality of its educational and scientific programs,[5][6] as well as due to its extensive scientific-specimen and artifact collections.[7] The permanent exhibitions,[8] which attract up to two million visitors annually, include fossils, current cultures from around the world, and interactive programming demonstrating today's urgent conservation needs.[9][10] The museum is named in honor of its first major benefactor, the department-store magnate Marshall Field. The museum and its collections originated from the 1893 World’s Columbian Exposition and the artifacts displayed at the fair.[11]" 35 | measurementValue,MeasurementOrFact,"40,000,000" 36 | measurementUnit,MeasurementOrFact,items 37 | -------------------------------------------------------------------------------- /examples/implementation examples/flat/fmnh_invertebrate_collection_example.csv: -------------------------------------------------------------------------------- 1 | Term,Class,Example 2 | addressLocality,Address,Chicago 3 | addressCountry,Address,USA 4 | addressRegion,Address,IL 5 | streetAddress,Address,1400 S DuSable Lake Shore Drive 6 | postalCode,Address,60605 7 | addressType,Address,Physical 8 | status,CollectionHistory,active growth 9 | statusStartDate,CollectionHistory,1893-01-02 10 | continent,GeographicOrigin,worldwide 11 | identifierSource,Identifier,ORCiD 12 | identifier,Identifier,https://orcid.org/0000-0002-9554-1947 13 | identifierType,Identifier,URI 14 | identifier,Identifier,INVRT 15 | identiferType,Identifier,Acronym 16 | identifierSource,Identifier,GRSciCol 17 | measurementType,MeasurementOrFact,collection size 18 | measurementValue,MeasurementOrFact,"4,500,000" 19 | measurementUnit,MeasurementOrFact,items 20 | measurementType,MeasurementOrFact,collection size - terrestrial 21 | measurementValue,MeasurementOrFact,55 22 | measurementUnit,MeasurementOrFact,percentage 23 | measurementType,MeasurementOrFact,collection size - marine 24 | measurementValue,MeasurementOrFact,30 25 | measurementUnit,MeasurementOrFact,percentage 26 | measurementType,MeasurementOrFact,collection size - freshwater 27 | measurementValue,MeasurementOrFact,15 28 | measurementUnit,MeasurementOrFact,percentage 29 | currentStatus,ObjectGroup,true 30 | description,ObjectGroup,"Established in 1938, the Division of Invertebrates is in charge of all invertebrate groups except insects and other non-marine arthropods. The first curator of this Division was Fritz Haas, formerly of the Senckenberg Museum in Frankfurt, Germany. Haas (1938 - 1969) and his successor Alan Solem (1957 - 1990) built massive mollusk collections, particularly strong in unionid bivalves and terrestrial snails, reflecting their respective research interests. Current curators Rüdiger Bieler (1990 -) and Janet Voight (1990 -) focus their research and collection-building on marine molluscan groups. The varied curatorial research interests, the collecting efforts of past and present collections managers (e.g., John Slapcinsky and Jochen Gerber), and acquisitions of private collections and ""orphan collections""" 31 | thematicfocus,ObjectGroup,"Unionids, terrestrial and marine mollusks and thermal vent collections." 32 | collectionManagementSystem,ObjectGroup,EMu 33 | knownToContainTypes,ObjectGroup,true 34 | objectType,ObjectGroup,specimen 35 | discipline,ObjectGroup,Zoology 36 | typeOfCollection,ObjectGroup,PreservedSpecimens 37 | organisationalUnitParentInstitutionID,OrganisationalUnit,SuperStableInsititutionID91011fromsomewhereorsomeoneelse 38 | fullName,Person,Jochen Gerber 39 | role,PersonRole,Collection Manager 40 | fullName,Person,Janet Voight 41 | role,PersonRole,Curator 42 | fullName,Person,Rudiger Bieler 43 | role,PersonRole,Curator 44 | PID,RecordLevel,urn:uuid:ea4f0640-ef20-40aa-b359-166f07c7492a 45 | rightsHolder,RecordLevel,Field Museum of Natural History 46 | resourceURI,Reference,https://collections-zoology.fieldmuseum.org/invertebrates 47 | referenceType,Reference,website 48 | kingdom,Taxon,Animalia 49 | phylum,Taxon,Mollusca 50 | phylum,Taxon,Arthropoda 51 | phylum,Taxon,Annelida 52 | phylum,Taxon,Cnidaria 53 | phylum,Taxon,Echinodermata 54 | phylum,Taxon,Porifera 55 | -------------------------------------------------------------------------------- /examples/implementation examples/flat/fmnh_mammal_collection_example.csv: -------------------------------------------------------------------------------- 1 | Term,Class,Example 2 | PID,RecordLevel,urn:uuid:ea4f0640-ef20-40aa-b359-166f07c7492a 3 | role,PersonRole,Collection Manager 4 | fullName,Person,Adam Ferguson 5 | rightsHolder,RecordLevel,Field Museum of Natural History 6 | status,ColectionHistory,Active growth 7 | status,CollectionHistory,founded 8 | statusStartDate,CollectionHistory,1893-01-02 9 | organisationalUnitParentInstitutionID,OrganisationalUnit,SuperStableInsititutionID345fromsomewhereorsomeoneelse 10 | resourceURI,Reference,https://collections-zoology.fieldmuseum.org/Mammals 11 | referenceType,Reference,website 12 | identifier,Identifier,MAMM 13 | identifierSource,Identifier,GRSciCol 14 | currentStatus,ObjectGroup,true 15 | continent,GeographicOrigin,worldwide 16 | collectionStrength,ObjectGroup,"The collection's absolute size and geographic and taxonomic representation make it one of the most significant collections for specimen-based studies in mammalogy. Geographic Areas: Neotropical (particularly Peru, Chile, and Colombia); Afro-tropics (particularly Tanzania, Madagascar, and Kenya); Indo-Malayan (particularly the Philippines, China, and Malaysia); Palearctic (particularly Egypt, Iran, and Afghanistan). Taxonomic Strengths: All orders and all but one extant families (the monotypic bat family Craseonycteridae) are represented in The Field Museum's mammal collections." 17 | kingdom,Taxon,Animalia 18 | order,Taxon,Mammalia 19 | collectionManagementSystem,ObjectGroup,EMu 20 | knownToContainTypes,ObjectGroup,true 21 | objectType,ObjectGroup,specimen 22 | discipline,ObjectGroup,Zoology 23 | typeOfCollection,ObjectGroup,PreservedSpecimens | HominidRemains | MaterialSamples 24 | measurementType,MeasurementOrFact,collection size 25 | measurementValue,MeasurementOrFact,"260,000" 26 | measurementUnit,MeasurementOrFact,items 27 | addressLocality,Address,Chicago 28 | addressCountry,Address,USA 29 | addressRegion,Address,IL 30 | streetAddress,Address,1400 S DuSable Lake Shore Drive 31 | postalCode,Address,60605 32 | addressType,Address,Physical 33 | -------------------------------------------------------------------------------- /meetings/2018-11-14_tg_remote.md: -------------------------------------------------------------------------------- 1 | # CD Task Group Remote Meeting 14/11/2018 2 | 3 | ## Agenda 4 | 5 | 1. Review and agree the project plan 6 | - Feedback and adjustments to tasks, dependencies and timelines 7 | 8 | 2. Assign task leaders and participants 9 | - (Co-)leads for each subtask 10 | - Any additional participants 11 | 12 | 3. Discuss how to handle task tracking and outputs 13 | - Tracking tasks (Github issues? Other web platform e.g. Trello?) 14 | - Working documents (Google docs?) 15 | - Formal outputs (Github documents, Wiki?) 16 | 17 | 4. AOB 18 | 19 | ## Meeting notes 20 | 21 | * No significant additions or modifications to the tasks 22 | * GBIF / GRBIO don’t have any particular dependencies on the TG's timeline, but will pick up the recommendations when they come out 23 | * Niels Raes noted that, from an ICEDIG / DiSSCo perspective, the timeline was too long and would he would hope for earlier output. The general opinion of the group was that the data model and data standards tasks could be substantially compressed, with potential to get some more dedicated time by aligning with SYNTHESYS+ and use MOBILISE funds to get people together for more intensive work towards the middle of next year. Donald Hobern offered to raise this during the conversations in Bratislava later in the week and report back. 24 | * Donald recommended contacting Tim Robertson at GBIF to see if he’s interested in being involved in the data model task. 25 | * There was general agreement that the group's agreed scope needs to be clearly articulated and documented. 26 | * In response to the request for task leads and co-leaders, Niels Raes volunteered for the 'Collections descriptions frameworks crosswalk' and 'Identify breakdown dimensions' tasks, as there is substantial crossover with the work of the ICEDIG Collections Dashboards group. 27 | * General agreement that a GitHub-centric model for managing the project and outputs would be sensible, rather than breaking with established practice. There’s also potential for using some of GitHub’s newer project management functions. 28 | * The general consensus for working documents was not to be prescriptive about the platform (Google docs, Office 365 etc), but rather focus on good practice and discoverability. 29 | -------------------------------------------------------------------------------- /meetings/2019-09-10+11_london_physical_meeting/meeting_resources/9-11Sept2019_CDTGmtg_LondonNHM_dpaul.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/meetings/2019-09-10+11_london_physical_meeting/meeting_resources/9-11Sept2019_CDTGmtg_LondonNHM_dpaul.pptx -------------------------------------------------------------------------------- /meetings/2019-09-10+11_london_physical_meeting/meeting_resources/Introduction_wikibase.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/meetings/2019-09-10+11_london_physical_meeting/meeting_resources/Introduction_wikibase.pptx -------------------------------------------------------------------------------- /meetings/2019-09-10+11_london_physical_meeting/meeting_resources/cd_meeting_intro_2019-09-10.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/meetings/2019-09-10+11_london_physical_meeting/meeting_resources/cd_meeting_intro_2019-09-10.pptx -------------------------------------------------------------------------------- /meetings/2019-09-10+11_london_physical_meeting/meeting_resources/cds_summary_2019-09-10.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/meetings/2019-09-10+11_london_physical_meeting/meeting_resources/cds_summary_2019-09-10.pptx -------------------------------------------------------------------------------- /mids/README.md: -------------------------------------------------------------------------------- 1 | # MIDS Task Group (Minimum Information about a Digital Specimen) 2 | 3 | The MIDS Task Group has been chartered under the Collections Data Interest group, but because the anticipated MIDS standard is designed to be independent of the CD standard, with its own namespace, development of the MIDS standard has been moved to a separate repository. 4 | 5 | [https://github.com/tdwg/mids](https://github.com/tdwg/mids) 6 | 7 | This README last updated: 3 Nov 2020. 8 | 9 | -------------------------------------------------------------------------------- /reference/FAQ.md: -------------------------------------------------------------------------------- 1 | # Collection Descriptions FAQs [DRAFT] 2 | 3 | 4 | ## What does a Collection Description record represent? 5 | A Collection Description record can describe the temporal, geographic, taxonomic scope and other aspects of a group of items, in a quantifiable way. 6 | From this, it can make collections findable and measurable in terms of their scale and scope, even if the items they include are not yet digitized. 7 | 8 | 9 | ## What can a Collection Description record look like? 10 | Depending on the descriptive information available, consider the [examples folder](https://github.com/tdwg/cd/tree/master/examples). 11 | 12 | 13 | ## What defines a museum? 14 | Consider the definition from the [International Council of Museums (ICOM)](https://icom.museum/en/resources/standards-guidelines/museum-definition/): 15 | "A museum is a non-profit, permanent institution in the service of society and its development, open to the public, which acquires, conserves, researches, communicates and exhibits the tangible and intangible heritage of humanity and its environment for the purposes of education, study and enjoyment." 16 | Or others from [IMLS](https://www.imls.gov/grants/apply-grant/eligibility-criteria) and [AAM](https://www.aam-us.org/programs/accreditation-excellence-programs/eligibility-to-participate-in-the-accreditation-program/). 17 | 18 | 19 | ## What is a 'collection'? 20 | We are still figuring this out, but related discussions can be found here: 21 | - [issue #255](https://github.com/tdwg/cd/issues/255) for "Type of Collection" 22 | - [issue #242](https://github.com/tdwg/cd/issues/242) for "Basis of Scheme" 23 | -------------------------------------------------------------------------------- /reference/REFERENCE_LINKS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/REFERENCE_LINKS.md -------------------------------------------------------------------------------- /reference/crosswalks/BiodiversityRegistryDatafieldCrosswalk_21Sep2015.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/crosswalks/BiodiversityRegistryDatafieldCrosswalk_21Sep2015.xlsx -------------------------------------------------------------------------------- /reference/crosswalks/Copy of NCD_ABCD_Elements.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/crosswalks/Copy of NCD_ABCD_Elements.xlsx -------------------------------------------------------------------------------- /reference/crosswalks/IPT-Metadata-Profile-Additions_v3_GBIFDocumentForNCD.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/crosswalks/IPT-Metadata-Profile-Additions_v3_GBIFDocumentForNCD.doc -------------------------------------------------------------------------------- /reference/crosswalks/NCD-crosswalk-to-DublinCore__based-on-NCD-v0.34_DC-v1.1.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/crosswalks/NCD-crosswalk-to-DublinCore__based-on-NCD-v0.34_DC-v1.1.xlsx -------------------------------------------------------------------------------- /reference/crosswalks/NCD_EAD.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/crosswalks/NCD_EAD.xls -------------------------------------------------------------------------------- /reference/crosswalks/README.md: -------------------------------------------------------------------------------- 1 | ## Crosswalks and Mappings 2 | Since realizing the need for standards to more effectively share collections-levels metadata, several groups have invested time and effort to develop crosswalks between existing standards, and existing software schemas (like at [GRBio](http://scicoll.org/grbio_error.html) now to be at GBIF). We provide links to these resources here and ask that you add more if you have them. 3 | 4 | Initially, we are using a Google Spreadsheet as the collaboration platform for crosswalks. We will try to keep a snapshot of those documents deposited here, but the snapshots are not the master documents. 5 | 6 | #### Biodiversity Registry Datafield Crosswalk 21-Sep-2015 7 | * [Google Sheet](https://drive.google.com/open?id=1eBSnVQ1YHZxkERpdCEezw9BtfwyNbouJvCmOzzreKLk) -- Anyone may edit and add comments 8 | * As [Excel file](https://github.com/tdwg/cd/blob/master/reference/crosswalks/BiodiversityRegistryDatafieldCrosswalk_21Sep2015.xlsx) -- click the link, then press the download button 9 | 10 | #### NCD to ABCD 11 | * As [Google Sheet](https://docs.google.com/spreadsheets/d/1Rh-FBc30vU1DUySqe8sIRnIk7IES9Wxls-5vt8AKCP0/edit?usp=sharing) - Anyone may edit and add comments 12 | * As [Excel file](https://github.com/tdwg/cd/blob/master/reference/crosswalks/Copy%20of%20NCD_ABCD_Elements.xlsx) -- click the link, then press the download button 13 | 14 | #### NCD to Dublin Core 15 | * As [Google Sheet](https://docs.google.com/spreadsheets/d/1uUY1JlSV6QifdnZbkITrVJNf27bEZPJT_fSfYsAcvIY/edit?usp=sharing) - Anyone may edit and add comments 16 | * As [Excel file](https://github.com/tdwg/cd/blob/master/reference/crosswalks/NCD-crosswalk-to-DublinCore__based-on-NCD-v0.34_DC-v1.1.xlsx) -- click the link, then press the download button 17 | 18 | #### NCD to Encoded Archival Descriptions (EAD) 19 | * As [Google Sheet](https://docs.google.com/spreadsheets/d/1CHBy-cGByO7uPYf6onMhuXSg1vPNvVyW2uPe6I6Mo0k/edit?usp=sharing) -- Anyone may edit and add comments 20 | * As [Excel file](https://github.com/tdwg/cd/blob/master/reference/crosswalks/NCD_EAD.xls) -- click the link, then press the download button 21 | 22 | #### Field Museum (FM) Insights 23 | Open this [google doc: Field Museum Take on NCD](https://docs.google.com/document/d/1upx7URInghFCBhx5LnHJMAhOLA2Q6xuJAYIJI2uLXBA/edit?usp=sharing) to look at the FM's evaluation of NCD and current insights about the needs for a standard to share collections-level metadata. Also note their related presentation at TDWG 2017: [What's Missing from All the Portals](https://biss.pensoft.net/article/20236/) on the same topic. 24 | 25 | *** 26 | 27 | ## Use Cases for CD 28 | IG members gathered [use cases for CD](https://github.com/tdwg/cd/wiki/Use-Cases). This set is copied over from the work of the NCD group. If you have more, please add them to this [use cases wiki page](https://github.com/tdwg/cd/wiki/Use-Cases). -------------------------------------------------------------------------------- /reference/crosswalks/Required NCD elements.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/crosswalks/Required NCD elements.doc -------------------------------------------------------------------------------- /reference/ncd/ncd_normative_standard.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/ncd/ncd_normative_standard.xlsx -------------------------------------------------------------------------------- /reference/papers/AnAnalyticalModelOfCollectionsAndTheirCatalogues_Jan2000.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/papers/AnAnalyticalModelOfCollectionsAndTheirCatalogues_Jan2000.pdf -------------------------------------------------------------------------------- /reference/papers/Collection Level Description - the Museum Perspective.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/papers/Collection Level Description - the Museum Perspective.pdf -------------------------------------------------------------------------------- /reference/papers/CollectionDescriptionFocus_BriefingPaper_2002.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/papers/CollectionDescriptionFocus_BriefingPaper_2002.pdf -------------------------------------------------------------------------------- /reference/papers/oclcresearch-archives-special-collections-linked-data.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/reference/papers/oclcresearch-archives-special-collections-linked-data.pdf -------------------------------------------------------------------------------- /reference/papers/readme.md: -------------------------------------------------------------------------------- 1 | In this folder, find papers relevant to the development of this standard. 2 | For example, papers published by other communities like the library community and their attempt to build a similar standard. 3 | -------------------------------------------------------------------------------- /standard/data_model/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/standard/data_model/.gitkeep -------------------------------------------------------------------------------- /standard/data_model/Definitions/BiologicalTaxonomy.md: -------------------------------------------------------------------------------- 1 | # BiologicalTaxonomy 2 | 3 | | | | 4 | | ---- | ---- | 5 | | **Type** | Class | 6 | | **Hierarchy** | yes | 7 | | **Range** | no | 8 | | **Potential standards/vocabularies/ontologies to adopt** | | 9 | | **Notes** | | 10 | 11 | ## BiologicalTaxonomy (class) 12 | 13 | | | | 14 | | ---- | ---- | 15 | | **Parent** | | 16 | | **Definition** | The taxonomic group(s) contained within the collection | 17 | | **Repeatable** | | 18 | | **Relationships** | | 19 | | **Potential standards/vocabularies/ontologies to adopt** | | 20 | | **Notes** | | 21 | 22 | ### (property) 23 | 24 | | | | 25 | | ---- | ---- | 26 | | **Definition** | | 27 | | **Dimension** | | 28 | | **Existing property** | | 29 | | **Existing class** | | 30 | | **Existing property identifier** | | 31 | | **Format** | | 32 | | **Required** | | 33 | | **Repeatable** | | 34 | | **Constraints** | | 35 | | **Examples** | | 36 | | **Notes** | | -------------------------------------------------------------------------------- /standard/data_model/Definitions/CollectionContact.md: -------------------------------------------------------------------------------- 1 | # CollectionContact 2 | 3 | | | | 4 | | ---- | ---- | 5 | | **Type** | Class | 6 | | **Hierarchy** | no | 7 | | **Range** | no | 8 | | **Potential standards/vocabularies/ontologies to adopt** | | 9 | | **Notes** | Could be consolidated with other person-related classes (e.g. CollectionContact) into an AssociatedPerson class? | 10 | 11 | ## CollectionContact (class) 12 | 13 | | | | 14 | | ---- | ---- | 15 | | **Parent** | | 16 | | **Definition** | Contact person for enquiries about the specimens within the CollectionDescription | 17 | | **Repeatable** | | 18 | | **Relationships** | | 19 | | **Potential standards/vocabularies/ontologies to adopt** | | 20 | | **Notes** | | 21 | 22 | ### (property) 23 | 24 | | | | 25 | | ---- | ---- | 26 | | **Definition** | | 27 | | **Dimension** | | 28 | | **Existing property** | | 29 | | **Existing class** | | 30 | | **Existing property identifier** | | 31 | | **Format** | | 32 | | **Required** | | 33 | | **Repeatable** | | 34 | | **Constraints** | | 35 | | **Examples** | | 36 | | **Notes** | | 37 | -------------------------------------------------------------------------------- /standard/data_model/Definitions/CollectionHistory.md: -------------------------------------------------------------------------------- 1 | # CollectionHistory 2 | 3 | | | | 4 | | ---- | ---- | 5 | | **Type** | Class | 6 | | **Hierarchy** | no | 7 | | **Range** | no | 8 | | **Potential standards/vocabularies/ontologies to adopt** | | 9 | | **Notes** | Some modelling work required to represent provenance for both the physical collection and the digital CollectionDescription required before this class is defined. | 10 | 11 | ## CollectionHistory (class) 12 | 13 | | | | 14 | | ---- | ---- | 15 | | **Parent** | | 16 | | **Definition** | | 17 | | **Repeatable** | | 18 | | **Relationships** | | 19 | | **Potential standards/vocabularies/ontologies to adopt** | | 20 | | **Notes** | | 21 | 22 | ### status (property) 23 | 24 | | | | 25 | | ---- | ---- | 26 | | **Definition** | | 27 | | **Dimension** | | 28 | | **Existing property** | | 29 | | **Existing class** | | 30 | | **Existing property identifier** | | 31 | | **Format** | | 32 | | **Required** | | 33 | | **Repeatable** | | 34 | | **Constraints** | | 35 | | **Examples** | | 36 | | **Notes** | | 37 | 38 | ### statusStartDate (property) 39 | 40 | | | | 41 | | ---- | ---- | 42 | | **Definition** | | 43 | | **Dimension** | | 44 | | **Existing property** | | 45 | | **Existing class** | | 46 | | **Existing property identifier** | | 47 | | **Format** | | 48 | | **Required** | | 49 | | **Repeatable** | | 50 | | **Constraints** | | 51 | | **Examples** | | 52 | | **Notes** | | 53 | 54 | ### statusEndDate (property) 55 | 56 | | | | 57 | | ---- | ---- | 58 | | **Definition** | | 59 | | **Dimension** | | 60 | | **Existing property** | | 61 | | **Existing class** | | 62 | | **Existing property identifier** | | 63 | | **Format** | | 64 | | **Required** | | 65 | | **Repeatable** | | 66 | | **Constraints** | | 67 | | **Examples** | | 68 | | **Notes** | | 69 | 70 | ### statusChangeReason (property) 71 | 72 | | | | 73 | | ---- | ---- | 74 | | **Definition** | | 75 | | **Dimension** | | 76 | | **Existing property** | | 77 | | **Existing class** | | 78 | | **Existing property identifier** | | 79 | | **Format** | | 80 | | **Required** | | 81 | | **Repeatable** | | 82 | | **Constraints** | | 83 | | **Examples** | | 84 | | **Notes** | | 85 | 86 | ### currentStatusFlag (property) 87 | 88 | | | | 89 | | ---- | ---- | 90 | | **Definition** | | 91 | | **Dimension** | | 92 | | **Existing property** | | 93 | | **Existing class** | | 94 | | **Existing property identifier** | | 95 | | **Format** | | 96 | | **Required** | | 97 | | **Repeatable** | | 98 | | **Constraints** | | 99 | | **Examples** | | 100 | | **Notes** | | 101 | -------------------------------------------------------------------------------- /standard/data_model/Definitions/CollectionIdentifier.md: -------------------------------------------------------------------------------- 1 | # CollectionIdentifier 2 | 3 | | | | 4 | | ---- | ---- | 5 | | **Type** | Class | 6 | | **Hierarchy** | no | 7 | | **Range** | no | 8 | | **Potential standards/vocabularies/ontologies to adopt** | | 9 | | **Notes** | | 10 | 11 | ## CollectionIdentifier (class) 12 | 13 | | | | 14 | | ---- | ---- | 15 | | **Parent** | CollectionDescription | 16 | | **Definition** | | 17 | | **Repeatable** | Yes | 18 | | **Relationships** | CollectionDescription (1) <-> CollectionIdentifier (0 to many) | 19 | | **Potential standards/vocabularies/ontologies to adopt** | | 20 | | **Notes** | | 21 | 22 | ### collectionIdentifierType (property) 23 | 24 | | | | 25 | | ---- | ---- | 26 | | **Definition** | | 27 | | **Dimension** | | 28 | | **Existing property** | | 29 | | **Existing class** | | 30 | | **Existing property identifier** | | 31 | | **Format** | | 32 | | **Required** | | 33 | | **Repeatable** | | 34 | | **Constraints** | | 35 | | **Examples** | | 36 | | **Notes** | Subproperty of rdf:type (http://www.w3.org/1999/02/22-rdf-syntax-ns#type). Another possibility is dcterms:type. However, the DCMI guidelines say that using rdf:type is prefereable. | 37 | 38 | ### collectionIdentifierSource (property) 39 | 40 | | | | 41 | | ---- | ---- | 42 | | **Definition** | | 43 | | **Dimension** | | 44 | | **Existing property** | | 45 | | **Existing class** | | 46 | | **Existing property identifier** | | 47 | | **Format** | | 48 | | **Required** | | 49 | | **Repeatable** | | 50 | | **Constraints** | | 51 | | **Examples** | | 52 | | **Notes** | Subproperty of dcterms:identifier (http://purl.org/dc/terms/source) | 53 | 54 | ### collectionIdentifier (property) 55 | 56 | | | | 57 | | ---- | ---- | 58 | | **Definition** | | 59 | | **Dimension** | | 60 | | **Existing property** | | 61 | | **Existing class** | | 62 | | **Existing property identifier** | | 63 | | **Format** | | 64 | | **Required** | | 65 | | **Repeatable** | | 66 | | **Constraints** | | 67 | | **Examples** | | 68 | | **Notes** | Subproperty of dcterms:identifier (http://purl.org/dc/terms/identifier) | 69 | -------------------------------------------------------------------------------- /standard/data_model/Definitions/Collector.md: -------------------------------------------------------------------------------- 1 | # Collector 2 | 3 | | | | 4 | | ---- | ---- | 5 | | **Type** | Class | 6 | | **Hierarchy** | no | 7 | | **Range** | no | 8 | | **Potential standards/vocabularies/ontologies to adopt** | | 9 | | **Notes** | Could be consolidated with other person-related classes (e.g. CollectionContact) into an AssociatedPerson class? | 10 | 11 | ## Collector (class) 12 | 13 | | | | 14 | | ---- | ---- | 15 | | **Parent** | | 16 | | **Definition** | Named person known to have collected objects associated with the CollectionDescription | 17 | | **Repeatable** | | 18 | | **Relationships** | | 19 | | **Potential standards/vocabularies/ontologies to adopt** | | 20 | | **Notes** | | 21 | 22 | ### (property) 23 | 24 | | | | 25 | | ---- | ---- | 26 | | **Definition** | | 27 | | **Dimension** | | 28 | | **Existing property** | | 29 | | **Existing class** | | 30 | | **Existing property identifier** | | 31 | | **Format** | | 32 | | **Required** | | 33 | | **Repeatable** | | 34 | | **Constraints** | | 35 | | **Examples** | | 36 | | **Notes** | | 37 | -------------------------------------------------------------------------------- /standard/data_model/Definitions/ObjectClassification.md: -------------------------------------------------------------------------------- 1 | # ObjectClassification 2 | 3 | | | | 4 | | ---- | ---- | 5 | | **Type** | Dimension | 6 | | **Hierarchy** | Yes | 7 | | **Range** | no | 8 | | **Potential standards/vocabularies/ontologies to adopt** | | 9 | | **Notes** | This concept may conflate with the objectType and preservationMethod properties. Explore whether the same structures can be constructed without having a separate hierarchy. | 10 | 11 | ## ObjectClassification (class) 12 | 13 | | | | 14 | | ---- | ---- | 15 | | **Parent** | CollectionDescription | 16 | | **Definition** | High level museum object type | 17 | | **Repeatable** | | 18 | | **Relationships** | CollectionDescription (1 to many) <-> ObjectClassification (0 to 1) | 19 | | **Potential standards/vocabularies/ontologies to adopt** | | 20 | | **Notes** | | 21 | 22 | ### (property) 23 | 24 | | | | 25 | | ---- | ---- | 26 | | **Definition** | | 27 | | **Dimension** | | 28 | | **Existing property** | | 29 | | **Existing class** | | 30 | | **Existing property identifier** | | 31 | | **Format** | | 32 | | **Required** | | 33 | | **Repeatable** | | 34 | | **Constraints** | | 35 | | **Examples** | | 36 | | **Notes** | | 37 | 38 | -------------------------------------------------------------------------------- /standard/data_model/Definitions/RelatedDatasetIdentifier.md: -------------------------------------------------------------------------------- 1 | # RelatedDatasetIdentifier 2 | 3 | | | | 4 | | ---- | ---- | 5 | | **Type** | Class | 6 | | **Hierarchy** | no | 7 | | **Range** | no | 8 | | **Potential standards/vocabularies/ontologies to adopt** | | 9 | | **Notes** | | 10 | 11 | ## RelatedDatasetIdentifier (class) 12 | 13 | | | | 14 | | ---- | ---- | 15 | | **Parent** | CollectionDescription | 16 | | **Definition** | A persistent identifier, in the form of a link or reference, which represents a dataset containing data that are relevant to the collection and the objects within it. | 17 | | **Repeatable** | yes | 18 | | **Relationships** | CollectionDescription (1 to many) <-> RelatedDatasetIdentifier (0 to many) | 19 | | **Potential standards/vocabularies/ontologies to adopt** | DataCite metadata schema (https://schema.datacite.org/meta/kernel-4.3/) | 20 | | **Notes** | | 21 | 22 | ### datasetIdentifier (property) 23 | 24 | | | | 25 | | ---- | ---- | 26 | | **Definition** | A persistent identifier that identifies a resource. | 27 | | **Existing property** | | 28 | | **Existing class** | | 29 | | **Existing property identifier** | | 30 | | **Format** | Text | 31 | | **Required** | yes | 32 | | **Repeatable** | no | 33 | | **Constraints** | | 34 | | **Examples** | 10.5072/example-full | 35 | | **Notes** | This can be aligned with the identifier term in the DataCite metadata schema (https://schema.datacite.org/meta/kernel-4.3/) | 36 | 37 | ### datasetIdentifierType (property) 38 | 39 | | | | 40 | | ---- | ---- | 41 | | **Definition** | The type of identifier or scheme to which the identifier belongs. | 42 | | **Existing property** | | 43 | | **Existing class** | | 44 | | **Existing property identifier** | | 45 | | **Format** | Text | 46 | | **Required** | yes | 47 | | **Repeatable** | no | 48 | | **Constraints** | | 49 | | **Examples** | DOI | 50 | | **Notes** | This can be aligned with the identifierType term in the DataCite metadata schema (https://schema.datacite.org/meta/kernel-4.3/) | -------------------------------------------------------------------------------- /standard/data_model/Definitions/StorageLocation.md: -------------------------------------------------------------------------------- 1 | # StorageLocation 2 | 3 | | | | 4 | | ---- | ---- | 5 | | **Type** | Class | 6 | | **Hierarchy** | Yes | 7 | | **Range** | no | 8 | | **Potential standards/vocabularies/ontologies to adopt** | | 9 | | **Notes** | Could be flattened for simplicity, with explicit fields for site, building, floor etc, if likely to be fairly standard across institutions | 10 | 11 | ## StorageLocation (class) 12 | 13 | | | | 14 | | ---- | ---- | 15 | | **Parent** | CollectionDescription | 16 | | **Definition** | The physical location of the collection within the holding institution | 17 | | **Repeatable** | | 18 | | **Relationships** | | 19 | | **Potential standards/vocabularies/ontologies to adopt** | | 20 | | **Notes** | | 21 | 22 | ### locationType (property) 23 | 24 | | | | 25 | | ---- | ---- | 26 | | **Definition** | A description of the type of storage area of the collection mentioned in locationName | 27 | | **Dimension** | | 28 | | **Existing property** | | 29 | | **Existing class** | | 30 | | **Existing property identifier** | | 31 | | **Format** | Text | 32 | | **Required** | Yes | 33 | | **Repeatable** | | 34 | | **Constraints** | Controlled vocabulary | 35 | | **Examples** | Site; Building; Floor; Room; Cabinet | 36 | | **Notes** | | 37 | 38 | ### locationName (property) 39 | 40 | | | | 41 | | ---- | ---- | 42 | | **Definition** | A short name for the physical location of the collection | 43 | | **Dimension** | | 44 | | **Existing property** | | 45 | | **Existing class** | | 46 | | **Existing property identifier** | | 47 | | **Format** | Text | 48 | | **Required** | Yes | 49 | | **Repeatable** | | 50 | | **Constraints** | | 51 | | **Examples** | | 52 | | **Notes** | | 53 | 54 | ### locationDescription (property) 55 | 56 | | | | 57 | | ---- | ---- | 58 | | **Definition** | A longer human readable description of the location named in locationName | 59 | | **Dimension** | | 60 | | **Existing property** | | 61 | | **Existing class** | | 62 | | **Existing property identifier** | | 63 | | **Format** | Text | 64 | | **Required** | no | 65 | | **Repeatable** | | 66 | | **Constraints** | | 67 | | **Examples** | | 68 | | **Notes** | | 69 | 70 | ### immediateParentID (property) 71 | 72 | | | | 73 | | ---- | ---- | 74 | | **Definition** | | 75 | | **Dimension** | | 76 | | **Existing property** | | 77 | | **Existing class** | | 78 | | **Existing property identifier** | | 79 | | **Format** | | 80 | | **Required** | Yes | 81 | | **Repeatable** | | 82 | | **Constraints** | | 83 | | **Examples** | | 84 | | **Notes** | | 85 | 86 | ### parentSiteID (property) 87 | 88 | | | | 89 | | ---- | ---- | 90 | | **Definition** | | 91 | | **Dimension** | | 92 | | **Existing property** | | 93 | | **Existing class** | | 94 | | **Existing property identifier** | | 95 | | **Format** | | 96 | | **Required** | Yes | 97 | | **Repeatable** | | 98 | | **Constraints** | | 99 | | **Examples** | | 100 | | **Notes** | | 101 | -------------------------------------------------------------------------------- /standard/data_model/README.md: -------------------------------------------------------------------------------- 1 | # Collection Description Standard 2 | 3 | ## Introduction 4 | This folder contains the definitions that are used in the data model. 5 | 6 | ## Data model 7 | To describe the data model.. 8 | 9 | ## Working on terms and definitions 10 | In order to facilitate the working on the Collection Description standard, issues will be created on the different classes. Ongoing discussions on these classes should be held within these issues. In case a lot of discussion is needed on a specific term, a new issue on that term can be created. Typically, the changes on the data model can be pushed to the repository when an issue is resolved. Please make advantage of this system by assigning the issue to the correct people. 11 | 12 | For each of the dimensions in the breakdown of the data model, a new project will be created (https://github.com/tdwg/cd/projects). We will use 'Data model - ' naming convention for each of the projects. Each issue will be added to the relevant project. 13 | 14 | In case there is a need for a more detailed discussion, that is not directly linked to a term, you can use the label [![label: question](https://github.com/tdwg/cd/labels/question) . 15 | -------------------------------------------------------------------------------- /standard/data_model/TDWG CD conceptual data model v0.1 2019-11-25.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/standard/data_model/TDWG CD conceptual data model v0.1 2019-11-25.pdf -------------------------------------------------------------------------------- /standard/json-schema/address.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/address.json", 4 | "title": "Address", 5 | "description": "A physical postal address for an organisational unit or person.", 6 | "type": "object", 7 | "properties": { 8 | "addressCountry": { 9 | "description": "The country. For example, USA. You can also provide the two-letter ISO 3166-1 alpha-2 country code.", 10 | "type": "string" 11 | }, 12 | "addressLocality": { 13 | "description": "The locality in which the street address is, and which is in the region. For example, Mountain View.", 14 | "type": "string" 15 | }, 16 | "addressRegion": { 17 | "description": "The region in which the locality is, and which is in the country. For example, California or another appropriate first-level Administrative division.", 18 | "type": "string" 19 | }, 20 | "addressType": { 21 | "description": "A person or organization can have different addresses, for different purposes. For example, a postal address, a loan address, an address for visits and so on. This property is used to specify the kind of address.", 22 | "type": "string" 23 | }, 24 | "hasIdentifier": { 25 | "description": "This property refers to one or more related instances of the Identifier class.", 26 | "type": "array", 27 | "items": { 28 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 29 | }, 30 | "minItems": 0, 31 | "uniqueItems": true 32 | }, 33 | "postOfficeBoxNumber": { 34 | "description": "The post office box number for PO box addresses.", 35 | "type": "string" 36 | }, 37 | "postalCode": { 38 | "description": "The postal code. For example, 94043.", 39 | "type": "string" 40 | }, 41 | "streetAddress": { 42 | "description": "The street address. For example, 1600 Amphitheatre Pkwy.", 43 | "type": "string" 44 | } 45 | }, 46 | "required": [ 47 | "addressCountry", 48 | "streetAddress" 49 | ] 50 | } -------------------------------------------------------------------------------- /standard/json-schema/chronometric-age.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/chronometric-age.json", 4 | "title": "Chronometric Age", 5 | "description": "The age of a specimen or related materials that is generated from a dating assay. This is a categorical term (class) to organize the other chronometric age properties and does not ever have values.", 6 | "type": "object", 7 | "properties": { 8 | "chronometricAgeProtocol": { 9 | "description": "A description of or reference to the methods used to determine the ChronometricAge.", 10 | "type": "string" 11 | }, 12 | "chronometricAgeRemarks": { 13 | "description": "Notes or comments about the ChronometricAge.", 14 | "type": "string" 15 | }, 16 | "chronometricAgeUncertaintyInYears": { 17 | "description": "The temporal uncertainty of the earliestChronometricAge and latestChronometicAge in years.", 18 | "type": "number" 19 | }, 20 | "earliestChronometricAge": { 21 | "description": "The maximum/earliest/oldest possible age of a specimen as determined by a dating method.", 22 | "type": "number" 23 | }, 24 | "earliestChronometricAgeReferenceSystem": { 25 | "description": "The reference system associated with the earliestChronometricAge.", 26 | "type": "string" 27 | }, 28 | "hasIdentifier": { 29 | "description": "This property refers to one or more related instances of the Identifier class.", 30 | "type": "array", 31 | "items": { 32 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 33 | }, 34 | "minItems": 0, 35 | "uniqueItems": true 36 | }, 37 | "hasMeasurementOrFact": { 38 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 39 | "type": "array", 40 | "items": { 41 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 42 | }, 43 | "minItems": 0, 44 | "uniqueItems": true 45 | }, 46 | "hasReference": { 47 | "description": "This property refers to one or more related instances of the Reference class.", 48 | "type": "array", 49 | "items": { 50 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 51 | }, 52 | "minItems": 0, 53 | "uniqueItems": true 54 | }, 55 | "latestChronometricAge": { 56 | "description": "The minimum/latest/youngest possible age of a specimen as determined by a dating method.", 57 | "type": "number" 58 | }, 59 | "latestChronometricAgeReferenceSystem": { 60 | "description": "The reference system associated with the latestChronometricAge.", 61 | "type": "string" 62 | }, 63 | "verbatimChronometricAge": { 64 | "description": "The verbatim age for a specimen, whether reported by a dating assay, associated references, or legacy information.", 65 | "type": "string" 66 | } 67 | } 68 | } -------------------------------------------------------------------------------- /standard/json-schema/collection-status-history.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/collection-status-history.json", 4 | "title": "Collection Status History", 5 | "description": "A record of current and past statuses of the object group and the reason for status changes. Use this class to record the history of and reason for changes in the status of the described collection. Types of status described by this class may, for example, include ownership, management, accessibility or accrual policy over time. Dates reflecting the start and end of the status described by this class should be recorded using an instance of TemporalCoverage. If temporalCoverageEndDate is empty, the status can be inferred to be the current status of the collection.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasMeasurementOrFact": { 18 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "hasReference": { 27 | "description": "This property refers to one or more related instances of the Reference class.", 28 | "type": "array", 29 | "items": { 30 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 31 | }, 32 | "minItems": 0, 33 | "uniqueItems": true 34 | }, 35 | "hasTemporalCoverage": { 36 | "description": "This property refers to one or more related instances of the TemporalCoverage class.", 37 | "type": "array", 38 | "items": { 39 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/temporal-coverage.json" 40 | }, 41 | "minItems": 0, 42 | "uniqueItems": true 43 | }, 44 | "status": { 45 | "description": "The development status of the collection during a specified period.", 46 | "type": "string" 47 | }, 48 | "statusChangeReason": { 49 | "description": "An explanation of why the collection transitioned to the value set in the status property.", 50 | "type": "string" 51 | }, 52 | "statusType": { 53 | "description": "A top-level classification of the different categories of status that can be applied to the collection.", 54 | "type": "string" 55 | } 56 | }, 57 | "required": [ 58 | "status", 59 | "statusType" 60 | ] 61 | } -------------------------------------------------------------------------------- /standard/json-schema/contact-detail.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/contact-detail.json", 4 | "title": "Contact Detail", 5 | "description": "Details of a method by which an entity such as a Person or OrganisationalUnit may be contacted. The Address class should be used to store physical or postal addresses. For all other types of contact details, this class should be used.", 6 | "type": "object", 7 | "properties": { 8 | "contactDetailCategory": { 9 | "description": "The method of contact to which the contact detail applies.", 10 | "type": "string" 11 | }, 12 | "contactDetailType": { 13 | "description": "The type of contact detail, which can be used to distinguish between multiple contact details of the same contactDetailCategory.", 14 | "type": "string" 15 | }, 16 | "contactDetailValue": { 17 | "description": "The value of the contact detail, such as the phone number or email address.", 18 | "type": "string" 19 | }, 20 | "hasIdentifier": { 21 | "description": "This property refers to one or more related instances of the Identifier class.", 22 | "type": "array", 23 | "items": { 24 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 25 | }, 26 | "minItems": 0, 27 | "uniqueItems": true 28 | } 29 | }, 30 | "required": [ 31 | "contactDetailCategory", 32 | "contactDetailValue" 33 | ] 34 | } -------------------------------------------------------------------------------- /standard/json-schema/event.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/event.json", 4 | "title": "Event", 5 | "description": "An action that occurs at some location during some time. Derived from dwc Class event (http://rs.tdwg.org/dwc/terms/version/Event-2018-09-06). This class has been defined under the ltc namespace because it only has a subset of the properties of DwC:Event. All ltc:Event properties are borrowed from and reference the dwc namespace. Examples of an Event include: A specimen collection process. A camera trap image capture. A marine trawl.", 6 | "type": "object", 7 | "properties": { 8 | "eventName": { 9 | "description": "The name commonly used to identify or refer to the event.", 10 | "type": "string" 11 | }, 12 | "habitat": { 13 | "description": "A category or description of the habitat in which the Event occurred.", 14 | "type": "string" 15 | }, 16 | "hasIdentifier": { 17 | "description": "This property refers to one or more related instances of the Identifier class.", 18 | "type": "array", 19 | "items": { 20 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 21 | }, 22 | "minItems": 0, 23 | "uniqueItems": true 24 | }, 25 | "hasMeasurementOrFact": { 26 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 27 | "type": "array", 28 | "items": { 29 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 30 | }, 31 | "minItems": 0, 32 | "uniqueItems": true 33 | }, 34 | "hasPersonRole": { 35 | "description": "This property refers to one or more related instances of the PersonRole class.", 36 | "type": "array", 37 | "items": { 38 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/person-role.json" 39 | }, 40 | "minItems": 0, 41 | "uniqueItems": true 42 | }, 43 | "hasReference": { 44 | "description": "This property refers to one or more related instances of the Reference class.", 45 | "type": "array", 46 | "items": { 47 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 48 | }, 49 | "minItems": 0, 50 | "uniqueItems": true 51 | }, 52 | "hasTemporalCoverage": { 53 | "description": "This property refers to one or more related instances of the TemporalCoverage class.", 54 | "type": "array", 55 | "items": { 56 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/temporal-coverage.json" 57 | }, 58 | "minItems": 0, 59 | "uniqueItems": true 60 | }, 61 | "samplingProtocol": { 62 | "description": "The name of, reference to, or description of the method or protocol used during an Event", 63 | "type": "string" 64 | }, 65 | "verbatimEventDate": { 66 | "description": "The verbatim original representation of the date and time information for an Event.", 67 | "type": "string" 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /standard/json-schema/identifier.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json", 4 | "title": "Identifier", 5 | "description": "A numeric, textual value, or reference such as an IRI, that can be used to uniquely identify the object to which it is attached. Use this class to document stable identifiers that describe the collections and associated entities being represented in the collection description. For example, person identifiers, taxon identifiers, institution identifiers, organisational unit identifiers, gazetteer identifiers. Identifiers represented by this class may be globally unique, or unique within a given context.", 6 | "type": "object", 7 | "properties": { 8 | "hasReference": { 9 | "description": "This property refers to one or more related instances of the Reference class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "identifierSource": { 18 | "description": "The source or creator of the identifier.", 19 | "type": "string" 20 | }, 21 | "identifierType": { 22 | "description": "The type and format of the value in the identifier field.", 23 | "type": "string" 24 | }, 25 | "identifierValue": { 26 | "description": "An unambiguous reference to the resource within a given context.", 27 | "type": "string" 28 | } 29 | }, 30 | "required": [ 31 | "identifierType", 32 | "identifierValue" 33 | ] 34 | } -------------------------------------------------------------------------------- /standard/json-schema/measurement-or-fact.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema#", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/master/standard/json-schema/measurement-or-fact.json", 4 | "title": "Measurement or Fact", 5 | "description": "A measurement of or fact about a class within the standard, or a relationship between the ObjectGroup and an associated class.", 6 | "type": "object", 7 | "properties": { 8 | "measurementType": { 9 | "description": "The nature of the measurement, fact, characteristic, or assertion.", 10 | "type": "string" 11 | }, 12 | "measurementValue": { 13 | "description": "The numeric value of the quantitative measurement being made about the collection.", 14 | "type": "number" 15 | }, 16 | "measurementAccuracy": { 17 | "description": "The description of the potential error associated with the measurementValue applied to the collection.", 18 | "type": "string" 19 | }, 20 | "measurementUnit": { 21 | "description": "The units associated with the measurementValue.", 22 | "type": "string" 23 | }, 24 | "measurementMethod": { 25 | "description": "A description of or reference to (publication, URI) the method or protocol used to determine the measurement, fact, characteristic, or assertion.", 26 | "type": "string" 27 | }, 28 | "measurementRemarks": { 29 | "description": "Comments or notes accompanying the MeasurementOrFact.", 30 | "type": "string" 31 | }, 32 | "measurementDerivation": { 33 | "description": "An indicator as to whether the measurement, fact, characteristic, or assertion being applied to the collection was derived from reported figures or aggregated/calculated from underlying data.", 34 | "type": "string" 35 | }, 36 | "measurementFactText": { 37 | "description": "The value of the qualitative fact, characteristic, or assertion being made about the collection.", 38 | "type": "string" 39 | }, 40 | "hasIdentifier": { 41 | "description": "This property refers to one or more related instances of the Identifier class.", 42 | "type": "array", 43 | "items": { 44 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/master/standard/json-schema/identifier.json" 45 | }, 46 | "minItems": 1, 47 | "uniqueItems": true 48 | }, 49 | "hasReference": { 50 | "description": "This property refers to one or more related instances of the Reference class.", 51 | "type": "array", 52 | "items": { 53 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/master/standard/json-schema/reference.json" 54 | }, 55 | "minItems": 1, 56 | "uniqueItems": true 57 | } 58 | }, 59 | "anyOf": [ 60 | {"required" : ["measurementFactText"]}, 61 | {"required" : ["measurementValue"]} 62 | 63 | ] 64 | } -------------------------------------------------------------------------------- /standard/json-schema/measurementor-fact.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurementor-fact.json", 4 | "title": "Measurement or Fact", 5 | "description": "A measurement of or fact about the ObjectGroup representing the objects in the collection description, or the relationship between the ObjectGroup and an associated class. This class can be used to apply measurements, facts or narratives to the ObjectGroup as a whole, or used to qualify the relationship between the ObjectGroup and an associated attribute. For example, an ObjectGroup may contain 100 objects, of which 40 are from Europe and 60 from Africa. In this example, one MeasurementOrFact (count of 100) would be attached to the ObjectGroup, and one to each of the two relationships between the ObjectGroup and GeographicOrigin (Europe: count of 40, Africa: count of 60).", 6 | "type": "object", 7 | "properties": {} 8 | } -------------------------------------------------------------------------------- /standard/json-schema/object-classification.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/object-classification.json", 4 | "title": "Object Classification", 5 | "description": "An informal classification of the type of objects within the ObjectGroup, using a hierarchical structure. This class is used to categorise the ObjectGroup according to an informal, self-referential hierarchy. For example, this can be used to create a hierarchy encompassing biological, geological and anthropological collections, where a single formal taxonomy isn't appropriate.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasMeasurementOrFact": { 18 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "hasObjectClassification": { 27 | "description": "This property refers to one or more related instances of the ObjectClassification class.", 28 | "type": "array", 29 | "items": { 30 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/object-classification.json" 31 | }, 32 | "minItems": 0, 33 | "uniqueItems": true 34 | }, 35 | "hasReference": { 36 | "description": "This property refers to one or more related instances of the Reference class.", 37 | "type": "array", 38 | "items": { 39 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 40 | }, 41 | "minItems": 0, 42 | "uniqueItems": true 43 | }, 44 | "objectClassificationLevel": { 45 | "description": "The level of the ObjectClassification in the hierarchy.", 46 | "type": "string" 47 | }, 48 | "objectClassificationName": { 49 | "description": "A short title describing this ObjectClassification as a class, unit or grouping.", 50 | "type": "string" 51 | } 52 | }, 53 | "required": [ 54 | "objectClassificationName" 55 | ] 56 | } -------------------------------------------------------------------------------- /standard/json-schema/person.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/person.json", 4 | "title": "Person", 5 | "description": "A person (alive or dead). This concept should map to the Schema.org Person class (https://schema.org/Person), and the prov:Person class (http://www.w3.org/ns/prov#Person) in the PROV ontology. In the latter, it is a subclass of prov:Agent, which through which it can map to the RDA recommendations on attribution (http://dx.doi.org/10.15497/RDA00029). The definition is appropriated from the Schema.org class.", 6 | "type": "object", 7 | "properties": { 8 | "additionalName": { 9 | "description": "An additional name for a Person, can be used for a middle name.", 10 | "type": "string" 11 | }, 12 | "familyName": { 13 | "description": "Family name. In the U.S., the last name of a Person.", 14 | "type": "string" 15 | }, 16 | "fullName": { 17 | "description": "Preferred form of personal name for display as a string.", 18 | "type": "string" 19 | }, 20 | "givenName": { 21 | "description": "Given name. In the U.S., the first name of a Person.", 22 | "type": "string" 23 | }, 24 | "hasAddress": { 25 | "description": "This property refers to one or more related instances of the Address class.", 26 | "type": "array", 27 | "items": { 28 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/address.json" 29 | }, 30 | "minItems": 0, 31 | "uniqueItems": true 32 | }, 33 | "hasContactDetail": { 34 | "description": "This property refers to one or more related instances of the ContactDetail class.", 35 | "type": "array", 36 | "items": { 37 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/contact-detail.json" 38 | }, 39 | "minItems": 0, 40 | "uniqueItems": true 41 | }, 42 | "hasIdentifier": { 43 | "description": "This property refers to one or more related instances of the Identifier class.", 44 | "type": "array", 45 | "items": { 46 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 47 | }, 48 | "minItems": 0, 49 | "uniqueItems": true 50 | }, 51 | "hasMeasurementOrFact": { 52 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 53 | "type": "array", 54 | "items": { 55 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 56 | }, 57 | "minItems": 0, 58 | "uniqueItems": true 59 | }, 60 | "hasReference": { 61 | "description": "This property refers to one or more related instances of the Reference class.", 62 | "type": "array", 63 | "items": { 64 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 65 | }, 66 | "minItems": 0, 67 | "uniqueItems": true 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /standard/json-schema/reference.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json", 4 | "title": "Reference", 5 | "description": "A reference to external resources and information related to the collection description. In the Collection Description standard, this class can be used to store references to publications, policies, datasets and other online resources such as websites, related to classes within the standard.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "referenceDetails": { 18 | "description": "Detailed information about the resource being referenced.", 19 | "type": "string" 20 | }, 21 | "referenceText": { 22 | "description": "A short title for the reference.", 23 | "type": "string" 24 | }, 25 | "referenceType": { 26 | "description": "The type of resource being referenced.", 27 | "type": "string" 28 | }, 29 | "resourceURI": { 30 | "description": "A preferably resolvable URI to uniquely identify a concept.", 31 | "type": "string" 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /standard/json-schema/scheme-measurement-or-fact.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/scheme-measurement-or-fact.json", 4 | "title": "Scheme Measurement Or Fact", 5 | "description": "A type of measurement or fact used by the CollectionDescriptionScheme, and the rules relating to its application. This class can be used to specify the qualitative and quantitative metrics that will be included in the CollectionDescriptionScheme using the MeasurementOrFact class, and dictate whether each will be mandatory and/or repeatable. This information can be used by software and queries to constrain and validate the Latimer Core dataset, and determine how and whether metrics can be aggregated and reported. The schemeMeasurementType property should correspond to the measurementType property of the MeasurementOrFact class in order to make the relevant association between the scheme definition and the stored data.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasReference": { 18 | "description": "This property refers to one or more related instances of the Reference class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "isMandatoryMetric": { 27 | "description": "A flag to designate whether it is mandatory or optional for every collection description within the CollectionDescriptionScheme to include the measurement or fact defined by the schemeMeasurementType property.", 28 | "type": "boolean" 29 | }, 30 | "isRepeatableMetric": { 31 | "description": "A flag to designate whether multiple instances of the same schemeMeasurementType may be attached to a single entity.", 32 | "type": "boolean" 33 | }, 34 | "schemeMeasurementType": { 35 | "description": "A category of quantitative metric or qualitative fact that can be included in the CollectionDescriptionScheme.", 36 | "type": "string" 37 | } 38 | }, 39 | "required": [ 40 | "isMandatoryMetric", 41 | "isRepeatableMetric", 42 | "schemeMeasurementType" 43 | ] 44 | } -------------------------------------------------------------------------------- /standard/json-schema/scheme-term.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/scheme-term.json", 4 | "title": "Scheme Term", 5 | "description": "A Latimer Core term used by the CollectionDescriptionScheme and the rules relating to its application. This class can be used to define which of the terms (classes and/or properties) within the standard (e.g. GeographicOrigin, Taxon, preservationMethod) are expected to be used within the scheme, and specify whether they're mandatory and/or repeatable. This information can be used by software and queries to validate the data and understand the rules by which metrics can be reported against the specified term.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasReference": { 18 | "description": "This property refers to one or more related instances of the Reference class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "isMandatoryTerm": { 27 | "description": "A flag to designate whether it is mandatory or optional for all ObjectGroups in the CollectionDescriptionScheme to include or be linked to valid data for the class or property defined in the termName property.", 28 | "type": "boolean" 29 | }, 30 | "isRepeatableTerm": { 31 | "description": "A flag to designate whether multiple instances of the Latimer Core class or property defined in the termName property may be attached to a single ObjectGroup.", 32 | "type": "boolean" 33 | }, 34 | "termName": { 35 | "description": "The name of a class or property within the Latimer Core standard that is included in the CollectionDescriptionScheme.", 36 | "type": "string" 37 | } 38 | }, 39 | "required": [ 40 | "isMandatoryTerm", 41 | "isRepeatableTerm", 42 | "termName" 43 | ] 44 | } -------------------------------------------------------------------------------- /standard/json-schema/storage-location.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/storage-location.json", 4 | "title": "Storage Location", 5 | "description": "A physical location (such as a building, room, cabinet or drawer) within the holding institution where objects associated with the collection description are stored or exhibited.", 6 | "type": "object", 7 | "properties": { 8 | "hasAddress": { 9 | "description": "This property refers to one or more related instances of the Address class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/address.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasIdentifier": { 18 | "description": "This property refers to one or more related instances of the Identifier class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "hasMeasurementOrFact": { 27 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 28 | "type": "array", 29 | "items": { 30 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 31 | }, 32 | "minItems": 0, 33 | "uniqueItems": true 34 | }, 35 | "hasReference": { 36 | "description": "This property refers to one or more related instances of the Reference class.", 37 | "type": "array", 38 | "items": { 39 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 40 | }, 41 | "minItems": 0, 42 | "uniqueItems": true 43 | }, 44 | "locationDescription": { 45 | "description": "Short textual description of the storage location of the group of items", 46 | "type": "string" 47 | }, 48 | "locationName": { 49 | "description": "A label used to identify a place where the collection is stored.", 50 | "type": "string" 51 | }, 52 | "locationType": { 53 | "description": "The nature of the location where the collection is stored.", 54 | "type": "string" 55 | } 56 | }, 57 | "required": [ 58 | "locationName" 59 | ] 60 | } -------------------------------------------------------------------------------- /standard/json-schema/taxon.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/taxon.json", 4 | "title": "Taxon", 5 | "description": "A group of organisms (sensu http://purl.obolibrary.org/obo/OBI_0100026) considered by taxonomists to form a homogeneous unit.", 6 | "type": "object", 7 | "properties": { 8 | "genus": { 9 | "description": "The full scientific name of the genus in which the taxon is classified.", 10 | "type": "string" 11 | }, 12 | "hasIdentifier": { 13 | "description": "This property refers to one or more related instances of the Identifier class.", 14 | "type": "array", 15 | "items": { 16 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 17 | }, 18 | "minItems": 0, 19 | "uniqueItems": true 20 | }, 21 | "hasMeasurementOrFact": { 22 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 23 | "type": "array", 24 | "items": { 25 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 26 | }, 27 | "minItems": 0, 28 | "uniqueItems": true 29 | }, 30 | "hasReference": { 31 | "description": "This property refers to one or more related instances of the Reference class.", 32 | "type": "array", 33 | "items": { 34 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 35 | }, 36 | "minItems": 0, 37 | "uniqueItems": true 38 | }, 39 | "kingdom": { 40 | "description": "The full scientific name of the kingdom in which the taxon is classified.", 41 | "type": "string" 42 | }, 43 | "scientificName": { 44 | "description": "The full scientific name, with authorship and date information if known. When forming part of an Identification, this should be the name in lowest level taxonomic rank that can be determined. This term should not contain identification qualifications, which should instead be supplied in the IdentificationQualifier term.", 45 | "type": "string" 46 | }, 47 | "taxonRank": { 48 | "description": "The taxonomic rank of the most specific name in the scientificName.", 49 | "type": "string" 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /standard/json-schema/temporal-coverage.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/temporal-coverage.json", 4 | "title": "Temporal Coverage", 5 | "description": "A record of a time range represented by the collection's establishment or change over time. This term is separate from the living or geologic periods represented by the objects in the collection. This class can be used to reflect temporal coverage of the collection within various contexts (defined by the temporalCoverageType property). Examples might include the time range in which objects within the collection were collected or the time period over which the collection was assembled. It should not be used to document the time range within which the objects in the collection were alive, and if the time period you are trying to describe is better described by the `CollectionHistory`, `GeologicalContext` or `ChronometricAge` classes, or period property of the `ObjectGroup` class, then those classes or properties should be used instead. For example, the period property of the `ObjectGroup` class and/or `GeologicalContext` class should be used to record named time periods. `TemporalCoverage` is a repeatable class, but when present as a property of `Event` or `CollectionStatusHistory`, multiple occurences should be avoided and repeated occurences of the parent class should be used instead.", 6 | "type": "object", 7 | "properties": { 8 | "hasMeasurementOrFact": { 9 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasReference": { 18 | "description": "This property refers to one or more related instances of the Reference class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "temporalCoverageEndDate": { 27 | "description": "End date of the time range of the collection.", 28 | "type": "string" 29 | }, 30 | "temporalCoverageStartDate": { 31 | "description": "Start date of the time range of the collection.", 32 | "type": "string" 33 | }, 34 | "temporalCoverageType": { 35 | "description": "The type or context of the time range associated with the collection's establishment. Separate from the living or geologic periods represented by the objects in the collection.", 36 | "type": "string" 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /standard/skos_mapping/LtC SKOS decision tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/standard/skos_mapping/LtC SKOS decision tree.png -------------------------------------------------------------------------------- /standard/terms/by_namespace/abcd.csv: -------------------------------------------------------------------------------- 1 | term_localName,label,definition,usage,notes,examples,rdf_type,tdwgutility_organizedInClass,tdwgutility_required,tdwgutility_repeatable 2 | fullName,Full Name,Preferred form of personal name for display as a string.,,,"`James Ewert Bradshaw`, `T. van Hooijdonk`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/Person,No,No 3 | resourceURI,Resource URI,A preferably resolvable URI to uniquely identify a concept.,A preferably resolvable URI providing access to the resource defined in the reference.,,"`10.5072/example-full`, `https://examplemuseum.org/policies/loans-policy.pdf`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/Reference,No,No 4 | -------------------------------------------------------------------------------- /standard/terms/by_namespace/dc.csv: -------------------------------------------------------------------------------- 1 | term_localName,label,definition,usage,notes,examples,rdf_type,tdwgutility_organizedInClass,tdwgutility_required,tdwgutility_repeatable 2 | license,License,A legal document giving official permission to do something with the resource.,A legal document giving official permission to do something with the collection description record.,"Recommended practice is to identify the license document with a URI. If this is not possible or feasible, a literal value that identifies the license may be provided.","`https://creativecommons.org/licenses/by/4.0/`, `https://creativecommons.org/publicdomain/zero/1.0/`, `https://creativecommons.org/licenses/by/4.0/legalcode`, `https://opendatacommons.org/licenses/by/1.0/`, `http://unlicense.org/`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/RecordLevel,Yes,No 3 | recordRights,Record Rights,Information about rights held in and over the resource.,A statement of any rights held in/over the collection description record.,"Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights. Recommended practice is to refer to a rights statement with a URI. If this is not possible or feasible, a literal value (name, label, or short text) may be provided.","`http://scratchpads.eu/about/policies/termsandconditions`, `All rights reserved by DataOwner Ltd.`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/RecordLevel,No,No 4 | rightsHolder,Rights Holder,A person or organization owning or managing rights over the resource.,A person or organization owning or managing rights held in/over the collection description record.,"Recommended practice is to refer to the rights holder with a URI. If this is not possible or feasible, a literal value that identifies the rights holder may be provided.","`Smith, Clare`, `Natural History Museum, London`, `https://orcid.org/XXXX-XXXX-XXXX-XXXX`, `https://ror.org/XXaaaXXXX`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/RecordLevel,No,No 5 | -------------------------------------------------------------------------------- /standard/terms/by_namespace/schema.csv: -------------------------------------------------------------------------------- 1 | term_localName,label,definition,usage,notes,examples,rdf_type,tdwgutility_organizedInClass,tdwgutility_required,tdwgutility_repeatable 2 | addressCountry,Address Country,"The country. For example, USA. You can also provide the two-letter ISO 3166-1 alpha-2 country code.",,Recommended best practice is to use a controlled vocabulary -- e.g. current ISO 3166 Country Codes.,"`Denmark`, `DK`, `Colombia`, `CO`, `España`, `ES`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/Address,Yes,No 3 | addressLocality,Address Locality,"The locality in which the street address is, and which is in the region. For example, Mountain View.",The locality in which the address is located. AddressLocality is a more specific geographic area than addressRegion.,,"`Holzminden`, `Araçatuba`, `Ga-Segonyana`, `Mountain View`, `Coventry`, `Tokyo`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/Address,No,No 4 | addressRegion,Address Region,"The region in which the locality is, and which is in the country. For example, California or another appropriate first-level Administrative division.",,,"`Missoula`, `Los Lagos`, `Mataró`, `Guangdong`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/Address,No,No 5 | postalCode,Postal Code,"The postal code. For example, 94043.",,,"`32308`, `SW7 5HD`, `10115`, `3080`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/Address,No,No 6 | postOfficeBoxNumber,Post Office Box Number,The post office box number for PO box addresses.,,,`PO Box 7169`,http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/Address,No,No 7 | streetAddress,Street Address,"The street address. For example, 1600 Amphitheatre Pkwy.",,,"`Invalidenstraße 43`, `1400 S. Du Sable Lake Shore Dr`, `960 Carling Avenue`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/Address,Yes,No 8 | additionalName,Additional Name,"An additional name for a Person, can be used for a middle name.",,,"`Stewart`, `Grace`, `Manthey`, `Kwame`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/Person,No,No 9 | familyName,Family Name,"Family name. In the U.S., the last name of a Person.",,,"`Jones`, `Keita`, `O'Rourke`, `Carreño Quiñones`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/Person,No,No 10 | givenName,Given Name,"Given name. In the U.S., the first name of a Person.",,,"`Beth`, `John`, `María José`, `Björn`",http://www.w3.org/1999/02/22-rdf-syntax-ns#Property,http://rs.tdwg.org/dwc/terms/attributes/Person,No,No 11 | -------------------------------------------------------------------------------- /standard/vocabularies/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/standard/vocabularies/.gitkeep -------------------------------------------------------------------------------- /standard/wiki_archive/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/standard/wiki_archive/.gitkeep -------------------------------------------------------------------------------- /standard/wiki_archive/version_1/Ltc_wiki_v1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/standard/wiki_archive/version_1/Ltc_wiki_v1.pdf -------------------------------------------------------------------------------- /standard/wiki_archive/version_1/markdown/1.1-LtC-Glossary.md: -------------------------------------------------------------------------------- 1 | For the purposes of documenting the use of Latimer Core the following definitions will be used: 2 | 3 | - **Attributes** are the values that a property can take. Attributes can be prescribed/controlled for a particular property and can be thought of as lookup lists, or they may be uncontrolled and thought of as free-form strings. For example ‘George’, ‘Rattus’, ‘under the tree by the rock’. 4 | 5 | - **Class** is the word that we use for the grouping of properties. It defines the thing we are talking about. For example: a Person, a group of objects, etc. 6 | 7 | - **Controlled Vocabulary** is a prescribed set of attributes that a property can have. Controlled vocabularies improve retrieval and reuse, as well as form the basis for machine-readability and -actionability. 8 | 9 | - **Property** is a concept within a Class. These are what we can say about the thing described by the class. For example: givenName, genus, etc. 10 | 11 | - **Range** may differ from the Resource Description Framework’s (RDF) definition of ‘range’, which applies to RDF properties and their usage within RDF triples (https://www.w3.org/TR/rdf-schema/#ch_properties). In Latimer Core, range is meant to guide usage of properties from one LtC class in combination with properties of another LtC class. 12 | 13 | - **Repeatability**: certain classes and/or properties can be repeated. For example, a Person can have several Identifiers of different identifierTypes. A collection (i.e. an ObjectGroup) can have several instances of the CollectionStatusHistory class to describe its different states through time. 14 | 15 | - **Reusability**: several classes can be reused, that is, they can be simultaneously attached to different classes to expand the sets of properties of those classes. For example, the Identifier or TemporalCoverage classes can be used in conjunction with many other classes to describe in more detail and with enhanced functionality the identity and temporal scope of different aspects (represented by classes) of a single collection. 16 | 17 | - **Schema** is the word we use for the defined structure of the record. The schema should describe shape, structure and rules of composition. Here, we pluralize ‘schema’ as ‘schemes’ or ‘schemas’. 18 | 19 | - **Term** is a general word for either a class, a property, or an attribute, specifically for predefined attributes in the lists of controlled vocabularies. 20 | 21 | - **Vocabulary** is a general word for a set of classes, properties and/or attributes. 22 | -------------------------------------------------------------------------------- /standard/wiki_archive/version_1/markdown/2.1-Audiences.md: -------------------------------------------------------------------------------- 1 | There are three main audiences for this documentation: 2 | 3 | 1. **Data-aggregators** - users or groups who have a need to receive standardised collection descriptions. 4 | 2. **Data-providers** - users or groups who have collections information that they would like to share. 5 | 3. **Data-users** - users or groups who want to understand in more detail the information provided by LtC collection records and collection catalogues implementing the LtC standard. 6 | 7 | Taking into account the variety of use-cases (documented in a [github document](https://github.com/tdwg/cd/tree/master/reference/use_cases) and a [google sheet](https://docs.google.com/spreadsheets/d/1SsfwogZ88TgouDJ7EoDqXJFol-eVs7aYdFx504qJNzc/htmlview?pru=AAABfyxGPeI*Y85ToB8bLmUyzDSk3_wuuA#)) for the standard, it is intended that data-aggregators should define a minimal set of classes, properties and relationships between them that best suit their needs. The `CollectionDescriptionScheme` class is important in this context as a method for communicating to data providers the shape and types of information that they need to provide. -------------------------------------------------------------------------------- /standard/wiki_archive/version_1/markdown/3.-Relationships-with-other-standards.md: -------------------------------------------------------------------------------- 1 | Many of the data concepts relevant to collection descriptions are similar to those reflected in specimen-level data standards - such as the type of object, geographic origins and taxonomy - or else are generic concepts like people, addresses and identifiers. Consequently, a concerted effort was made to borrow appropriate terms from existing standards rather than defining them anew, which brings the benefit of closer alignment with related standards. 2 | 3 | To improve interoperability and reduce redundancy, some LtC properties reference and re-use properties from existing standards. Where the LtC version of a property’s definition or permitted usage differs from the original, it will be narrower in scope. The provenance of any borrowed properties is referenced in the [LtC normative documentation](https://github.com/tdwg/rs.tdwg.org/blob/latimer/process/page_build_scripts/index.md). Any definitions which have been modified will note the LtC definition in the ‘Usage’ field and the original in the ‘Definition’ field, for example: 4 |

5 | 6 | Label | Genus 7 | -- | -- 8 | Definition | The full scientific name of the genus in which the taxon is classified. 9 | Usage | The full scientific name of the genus in which the collection's taxa are classified. 10 | Existing property | dwc:genus 11 | Existing class | dwc:Taxon 12 | 13 | **Table 1:** Example of a property used in LtC that has been borrowed from the dwc:Taxon class 14 | 15 | Any terms which aren’t borrowed directly from elsewhere, but are conceptually aligned with terms found in other standards reference this in the LtC term-level 'notes' field. 16 | 17 | The full list and provenance of borrowed terms can be found in the [LtC normative documentation](https://github.com/tdwg/rs.tdwg.org/blob/latimer/process/page_build_scripts/index.md). A summary is provided in **Table 2**. 18 |

19 | 20 | Standard name | Namespace | Documentation 21 | -- | -- | -- 22 | Darwin Core (including extensions) | dwc | https://dwc.tdwg.org/terms/ 23 | ABCD(EFG) | abcd | https://abcd.tdwg.org/ 24 | AIISO | aiiso | https://vocab.org/aiiso/ 25 | Dublin Core | dc | https://www.dublincore.org/specifications/dublin-core/dcmi-terms/ 26 | PROV (Provenance) | prov | https://www.w3.org/TR/prov-overview 27 | The Organization Ontology | org | http://www.w3.org/TR/vocab-org/ 28 | FOAF | foaf | http://xmlns.com/foaf/spec/ 29 | Schema.org | schema | https://schema.org/ 30 | 31 | **Table 2:** List of standards from which terms in LtC have been borrowed or derived. -------------------------------------------------------------------------------- /standard/wiki_archive/version_1/markdown/4.-Extending-the-standard.md: -------------------------------------------------------------------------------- 1 | Latimer Core is intended to be a standard that can be expanded to include any genre of collection, physical or digital. As such an attempt has been made to ensure that the classes and properties contained within it do not preclude such extensions. 2 | 3 | ## Flexibility 4 | 5 | - The modular design of the standard allows a high degree of flexibility in terms of schema definition: composition and architecture can be designed around the requirements of the designers system/environment, but class and term definitions, data types and vocabularies are controlled in order to support and encourage schema and LtC re-use. (flexibility is in configuration, not customisation) 6 | - Mandatory fields are rarely specified in the LtC standard. They are intended to be defined at the schema level, according to the requirements of the specific use-case or implementation. 7 | - Generic classes are used where possible to provide the opportunity to add non-standard or unqualified metrics and identifiers to a LtC record, but class properties should hold enough information to enable definition of logical rules to support automated parsing, ingestion and data quality measures. 8 | 9 | ## Extensibility 10 | - Extensibility was a priority during design: requirements change, most of the collections that we are seeking to describe using the standard haven’t been digitised before, so novel use cases are likely to emerge. 11 | - Generic classes support extensibility: if new concrete classes are required, they can be added without affecting the standard definition or breaking functionality of existing implementations/schema (state/behaviour will not diverge significantly from the parent class/other implementations of the same parent class). 12 | - Smaller, single-responsibility classes favoured: easier to understand + communicate to users, fewer dependencies, can be extended without impacting other classes. 13 | 14 | 15 | ## Version 1 16 | 17 | The classes and properties in the first draft/version of the Latimer Core standard were primarily intended to allow for the description of natural history collections, as such they reflect the categories of specimens, objects and items most usually associated with them. 18 | 19 | ## Future components/discussions 20 | 21 | - ### Activity and PersonActivity 22 | 23 | Class Name | Range (i.e., other classes to which this class can be attached) 24 | -- | -- 25 | Activity | Event, ObjectGroup 26 | PersonActivity | Activity, Event, MeasurementOrFact, ObjectGroup, OrganisationalUnit, RecordLevel 27 | 28 | 29 | Class Name | Class-level Properties 30 | -- | -- 31 | Activity | Identifier, PersonActivity 32 | PersonActivity | Address, ContactDetail, Identifier, Person, Reference, TemporalCoverage 33 | 34 | 35 | - ### Connection between Latimer Core and Audubon Core 36 | 37 | [See issue 369](https://github.com/tdwg/cd/issues/369) -------------------------------------------------------------------------------- /standard/wiki_archive/version_1/markdown/5.-Reference-examples-and-implementations.md: -------------------------------------------------------------------------------- 1 | ## Wikibase as a modelling tool 2 | 3 | Usability of a standard is not easily tested during the development phase. In order to test usability, one needs to make a conceptual model using the terms inside the standard and fit the data against it. This is potentially a very technical and time consuming task, for which it is not easy to integrate the wider community into it. To serve this purpose, we’ve set up a Wikibase instance that contains all terms from the Latimer Core standard: https://latimer-core.wiki.opencura.com/. 4 | 5 | Wikibase is the underlying software package that drives Wikidata. Wikidata has proven to be an ideal tool to allow non-technical users to add information into a database. The approach also allows to model different ways of representing the information on collections. Having an easily accessible graphical user interface allows fast data entry for testing (see Figure 1). 6 |

7 | 8 | 9 | 10 | **Figure 1**: Screenshot of a [record](http://latimer-core.wiki.opencura.com/entity/Q62) in the Latimer Core Wikibase instance 11 | 12 | Adding records inside the Wikibase is a way of testing the different use-cases and models of the standard. It also provides a way to prepare the standard for linked open data approaches. During the life cycle of the standard, the tool can still be used to point out weaknesses of the current version of it and provide useful insight in potential improvements. 13 | 14 | In a later stage, it is planned to implement [Shape Expressions](https://www.wikidata.org/wiki/Wikidata:WikiProject_Schemas) in the Wikibase instance of the standard. These are expressions of the way the standard can be implemented and how a record should look like. This would allow us to provide tools to people to validate their records against a certain schema. -------------------------------------------------------------------------------- /standard/wiki_archive/version_1/markdown/7.-Release-Notes.md: -------------------------------------------------------------------------------- 1 | # Expert Review 2022 2 | 3 | ## Changes and Updates 4 | * Created label "UpdateReview1stPhase" (JuB) 5 | * Changed Identifier.identifier to Identifier.identifierValue: updated in [issues/129](https://github.com/tdwg/cd/issues/129)) and [Collection Description Class Index spreadsheet ](https://docs.google.com/spreadsheets/d/1w8DMgUwl7tf-9AXQOpT6IRQeMuUbxUZlJwQinrtUvAs/edit#gid=478678659) - tabs "1st draft properties worksheet", "CD classes and properties", "Final R&R review" "Institution registry mapping", "GBIF Collection registry mapping", "GBIF Tables" and "Sheet25". Updated title of [issue #129](https://github.com/tdwg/cd/issues/129) to "Property:identifierValue". (JuB) 6 | * 20220811 JuB: Updated Identifier.identifier to Identifier.identifierValue on Wiki page 2.2 "Collection description schemes", code block Step 2. -------------------------------------------------------------------------------- /standard/wiki_archive/version_1/markdown/Home.md: -------------------------------------------------------------------------------- 1 | # Latimer Core Guidance Documentation 2 | 3 | ## Current Wiki Version 1.x 4 | 5 | ## 1. Introduction to Latimer Core documentation 6 | 7 | This wiki is intended to support the [normative definitions](https://github.com/tdwg/rs.tdwg.org/blob/latimer/process/page_build_scripts/index.md) by providing further information on the terms and concepts represented in the Latimer Core (LtC) standard, and guidance on how the standard may be used in practice. The wiki content is non-normative and may be modified, improved and extended over time. 8 | 9 | **Summary of the standard** 10 | 11 | The Latimer Core (LtC) schema is a standard designed to support the representation, discovery and communication of natural science collections, by representing metadata for the **[groups of objects](https://github.com/tdwg/cd/wiki/2.4-Core-elements-of-the-standard#the-objectgroup-concept)** that those collections and their subcomponents encompass. Individual objects within those groups can be represented through other emerging or current standards (e.g., [Darwin Core](https://dwc.tdwg.org/), [ABCD](https://www.tdwg.org/standards/abcd/) and [Dublin Core](https://www.dublincore.org/specifications/dublin-core/dcmi-terms/)). The classes and properties (collectively terms) aim to represent information that describes these groupings in enough detail to inform deeper discovery of the resources contained within them. Many LtC terms are borrowed or derived from those standards which are used to describe individual items. As far as possible the terms included in the standard should not preclude their use across domains. 12 | 13 | - ### [1.1 Latimer Core Glossary](https://github.com/tdwg/cd/wiki/1.1-LtC-Glossary) 14 | 15 | ## 2. Latimer Core standard and model concepts 16 | 17 | - ### [2.1 Audiences](https://github.com/tdwg/cd/wiki/2.1-Audiences) 18 | 19 | - ### [2.2 Collection description schemes](https://github.com/tdwg/cd/wiki/2.2-Collection-description-schemes) 20 | 21 | - ### [2.3 Summary of LtC classes](https://github.com/tdwg/cd/wiki/2.3-summary-of-ltc-classes) 22 | 23 | - ### [2.4 Core elements of the standard](https://github.com/tdwg/cd/wiki/2.4-Core-elements-of-the-standard) 24 | 25 | - ### [2.5 Ranges and class-level properties](https://github.com/tdwg/cd/wiki/2.5-Ranges-and-class-level-properties) 26 | 27 | - ### [2.6 Repeatable properties and classes](https://github.com/tdwg/cd/wiki/2.6-Repeatable-properties-and-classes) 28 | 29 | - ### [2.7 Linking ObjectGroups](https://github.com/tdwg/cd/wiki/2.7-Linking-ObjectGroups) 30 | 31 | - ### [2.8 Modelling approaches](https://github.com/tdwg/cd/wiki/2.8-Modelling-approaches) 32 | 33 | 34 | ## [3. Relationships with other standards](https://github.com/tdwg/cd/wiki/3.-Relationships-with-other-standards) 35 | 36 | 37 | ## [4. Extending the standard](https://github.com/tdwg/cd/wiki/4.-Extending-the-standard) 38 | 39 | 40 | ## [5. Reference examples and implementations](https://github.com/tdwg/cd/wiki/5.-Reference-examples-and-implementations) 41 | 42 | 43 | ## [6. Use Cases](https://github.com/tdwg/cd/wiki/6.-Use-Cases) 44 | 45 | 46 | ## [7. Release Notes](https://github.com/tdwg/cd/wiki/7.-Release-Notes) -------------------------------------------------------------------------------- /standard/wiki_archive/version_1/markdown/Home_Footer.md: -------------------------------------------------------------------------------- 1 | Version | Date | Contributors | Status 2 | |---|---|---|---| 3 | | 1.x | TBD | Matt Woodburn, Jutta Buschbom, Sarah Vincent, Kate Webbink, Maarten Trekels, Janeen Jones, Sharon Grant | Expert Review - In progress | 4 | | 1.0 | 2022-06-10 | Matt Woodburn, Jutta Buschbom, Sarah Vincent, Kate Webbink, Maarten Trekels, Janeen Jones, Sharon Grant | [v1 - Archived](https://github.com/tdwg/cd/blob/master/Ltc_wiki_v1.pdf) | 5 | | 0.1 | 2022-02-10 | Matt Woodburn, Jutta Buschbom, Sarah Vincent, Kate Webbink, Maarten Trekels, Janeen Jones, Sharon Grant | Draft | -------------------------------------------------------------------------------- /tools/Latimer Core browser.pbix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/tools/Latimer Core browser.pbix -------------------------------------------------------------------------------- /tools/README.MD: -------------------------------------------------------------------------------- 1 | # CD development tools 2 | 3 | This folder contains some ad hoc tools used to aid in the development of the standard. 4 | 5 | ## Tools list 6 | 7 | **TDWG CD definitions report.xlsx** - A spreadsheet attached via the Github API to the draft data model definitions in this repo's issue queue. This parses the markdown table at the top of each issue and transforms the definitions into columns. To refresh the definitions from Github, use the Data -> Refresh all function in Excel. 8 | 9 | **TDWG CD definition conversion.xlsx** - This spreadsheet uses a similar mechanism to the above, but converts the definitions into a format matching the template provided by Steve Baskauf for converting the definitions into the TDWG web view. 10 | 11 | **TDWG CD standard browser.pbix** - A Microsoft Power BI file, which pulls the definitions from the Github issues to create a summary dashboard. This requires Power BI Desktop (free download from https://powerbi.microsoft.com/en-us/downloads/) to open. 12 | 13 | **csv_to_json Python script** - A python script to convert CSVs formatted like the [LtC standard terms CSVs](../standard/terms) to [JSON Schema](https://json-schema.org/) files, as shown [here](../standard/json-schema). -------------------------------------------------------------------------------- /tools/TDWG CD standard browser.pbix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/tools/TDWG CD standard browser.pbix -------------------------------------------------------------------------------- /tools/TDWG CD standard report.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/tools/TDWG CD standard report.xlsx -------------------------------------------------------------------------------- /tools/TDWG definition conversion.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdwg/cd/2aeb678e919dc4269e290f706278cbebd1dcbe72/tools/TDWG definition conversion.xlsx -------------------------------------------------------------------------------- /tools/csv_to_json/.env.example: -------------------------------------------------------------------------------- 1 | # NOTE: 2 | # When updating directory-paths, do NOT include a trailing "/" 3 | # The script will combine these variables to form the path-prefix for the CSVs 4 | # e.g.: URI_PREFIX + "/" + REPO_BRANCH + "/" + REPO_PATH_TO_CSV 5 | # --> https://raw.githubusercontent.com/tdwg/cd/review/standard/terms/ 6 | 7 | URI_RAW_PREFIX="https://raw.githubusercontent.com/tdwg/cd" 8 | REPO_BRANCH="review" # "master" 9 | REPO_PATH_TO_CSV="standard/terms" 10 | REPO_PATH_TO_JSON="standard/json-schema" 11 | 12 | CLASS_CSV="ltc_categories.csv" 13 | TERM_CSV="ltc_standard_terms_draft.csv" # "ltc_standard_terms.csv" 14 | DATATYPES_CSV="ltc_datatypes.csv" 15 | SKOS_CSV="ltc_skos_mapping.csv" 16 | 17 | SPEC_CSV="https://raw.githubusercontent.com/tdwg/cd/review/tools/csv_to_json/test_spec_input/test_spec_terms_draft.csv" 18 | 19 | 20 | # To select your preferred JSON output path, uncomment one "JSON_OUTPUT_PATH" value below. 21 | # Paths are relative to the "tools/csv_to_json/" path in this repo: 22 | 23 | # # - OPTION 1: Use this to overwrite the live JSON Schema files in this repo 24 | # JSON_OUTPUT_PATH="../../standard/json-schema" 25 | 26 | # - OPTION 2: Use this to output a set of test-JSON Schema files to a sub-dir of tools/csv_to_json/" 27 | JSON_OUTPUT_PATH="test_json_schema_output" 28 | SPEC_JSON_OUTPUT_PATH="test_spec_json_output" 29 | -------------------------------------------------------------------------------- /tools/csv_to_json/requirements.txt: -------------------------------------------------------------------------------- 1 | attrs==22.1.0 2 | certifi==2022.12.7 3 | charset-normalizer==2.1.1 4 | genson==1.2.2 5 | idna==3.4 6 | jsonschema==4.17.3 7 | pyrsistent==0.19.2 8 | python-dotenv==0.21.0 9 | requests==2.28.1 10 | urllib3==1.26.13 11 | -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/address.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/address.json", 4 | "title": "Address", 5 | "description": "A physical postal address for an organisational unit or person.", 6 | "type": "object", 7 | "properties": { 8 | "addressCountry": { 9 | "description": "The country. For example, USA. You can also provide the two-letter ISO 3166-1 alpha-2 country code.", 10 | "type": "string" 11 | }, 12 | "addressLocality": { 13 | "description": "The locality in which the street address is, and which is in the region. For example, Mountain View.", 14 | "type": "string" 15 | }, 16 | "addressRegion": { 17 | "description": "The region in which the locality is, and which is in the country. For example, California or another appropriate first-level Administrative division.", 18 | "type": "string" 19 | }, 20 | "addressType": { 21 | "description": "A person or organization can have different addresses, for different purposes. For example, a postal address, a loan address, an address for visits and so on. This property is used to specify the kind of address.", 22 | "type": "string" 23 | }, 24 | "hasIdentifier": { 25 | "description": "This property refers to one or more related instances of the Identifier class.", 26 | "type": "array", 27 | "items": { 28 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 29 | }, 30 | "minItems": 0, 31 | "uniqueItems": true 32 | }, 33 | "postOfficeBoxNumber": { 34 | "description": "The post office box number for PO box addresses.", 35 | "type": "string" 36 | }, 37 | "postalCode": { 38 | "description": "The postal code. For example, 94043.", 39 | "type": "string" 40 | }, 41 | "streetAddress": { 42 | "description": "The street address. For example, 1600 Amphitheatre Pkwy.", 43 | "type": "string" 44 | } 45 | }, 46 | "required": [ 47 | "addressCountry", 48 | "streetAddress" 49 | ] 50 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/chronometric-age.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/chronometric-age.json", 4 | "title": "Chronometric Age", 5 | "description": "The age of a specimen or related materials that is generated from a dating assay. This is a categorical term (class) to organize the other chronometric age properties and does not ever have values.", 6 | "type": "object", 7 | "properties": { 8 | "chronometricAgeProtocol": { 9 | "description": "A description of or reference to the methods used to determine the ChronometricAge.", 10 | "type": "string" 11 | }, 12 | "chronometricAgeRemarks": { 13 | "description": "Notes or comments about the ChronometricAge.", 14 | "type": "string" 15 | }, 16 | "chronometricAgeUncertaintyInYears": { 17 | "description": "The temporal uncertainty of the earliestChronometricAge and latestChronometicAge in years.", 18 | "type": "number" 19 | }, 20 | "earliestChronometricAge": { 21 | "description": "The maximum/earliest/oldest possible age of a specimen as determined by a dating method.", 22 | "type": "number" 23 | }, 24 | "earliestChronometricAgeReferenceSystem": { 25 | "description": "The reference system associated with the earliestChronometricAge.", 26 | "type": "string" 27 | }, 28 | "hasIdentifier": { 29 | "description": "This property refers to one or more related instances of the Identifier class.", 30 | "type": "array", 31 | "items": { 32 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 33 | }, 34 | "minItems": 0, 35 | "uniqueItems": true 36 | }, 37 | "hasMeasurementOrFact": { 38 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 39 | "type": "array", 40 | "items": { 41 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 42 | }, 43 | "minItems": 0, 44 | "uniqueItems": true 45 | }, 46 | "hasReference": { 47 | "description": "This property refers to one or more related instances of the Reference class.", 48 | "type": "array", 49 | "items": { 50 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 51 | }, 52 | "minItems": 0, 53 | "uniqueItems": true 54 | }, 55 | "latestChronometricAge": { 56 | "description": "The minimum/latest/youngest possible age of a specimen as determined by a dating method.", 57 | "type": "number" 58 | }, 59 | "latestChronometricAgeReferenceSystem": { 60 | "description": "The reference system associated with the latestChronometricAge.", 61 | "type": "string" 62 | }, 63 | "verbatimChronometricAge": { 64 | "description": "The verbatim age for a specimen, whether reported by a dating assay, associated references, or legacy information.", 65 | "type": "string" 66 | } 67 | } 68 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/collection-status-history.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/collection-status-history.json", 4 | "title": "Collection Status History", 5 | "description": "A record of current and past statuses of the object group and the reason for status changes. Use this class to record the history of and reason for changes in the status of the described collection. Types of status described by this class may, for example, include ownership, management, accessibility or accrual policy over time. Dates reflecting the start and end of the status described by this class should be recorded using an instance of TemporalCoverage. If temporalCoverageEndDate is empty, the status can be inferred to be the current status of the collection.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasMeasurementOrFact": { 18 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "hasReference": { 27 | "description": "This property refers to one or more related instances of the Reference class.", 28 | "type": "array", 29 | "items": { 30 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 31 | }, 32 | "minItems": 0, 33 | "uniqueItems": true 34 | }, 35 | "hasTemporalCoverage": { 36 | "description": "This property refers to one or more related instances of the TemporalCoverage class.", 37 | "type": "array", 38 | "items": { 39 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/temporal-coverage.json" 40 | }, 41 | "minItems": 0, 42 | "uniqueItems": true 43 | }, 44 | "status": { 45 | "description": "The development status of the collection during a specified period.", 46 | "type": "string" 47 | }, 48 | "statusChangeReason": { 49 | "description": "An explanation of why the collection transitioned to the value set in the status property.", 50 | "type": "string" 51 | }, 52 | "statusType": { 53 | "description": "A top-level classification of the different categories of status that can be applied to the collection.", 54 | "type": "string" 55 | } 56 | }, 57 | "required": [ 58 | "status", 59 | "statusType" 60 | ] 61 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/contact-detail.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/contact-detail.json", 4 | "title": "Contact Detail", 5 | "description": "Details of a method by which an entity such as a Person or OrganisationalUnit may be contacted. The Address class should be used to store physical or postal addresses. For all other types of contact details, this class should be used.", 6 | "type": "object", 7 | "properties": { 8 | "contactDetailCategory": { 9 | "description": "The method of contact to which the contact detail applies.", 10 | "type": "string" 11 | }, 12 | "contactDetailType": { 13 | "description": "The type of contact detail, which can be used to distinguish between multiple contact details of the same contactDetailCategory.", 14 | "type": "string" 15 | }, 16 | "contactDetailValue": { 17 | "description": "The value of the contact detail, such as the phone number or email address.", 18 | "type": "string" 19 | }, 20 | "hasIdentifier": { 21 | "description": "This property refers to one or more related instances of the Identifier class.", 22 | "type": "array", 23 | "items": { 24 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 25 | }, 26 | "minItems": 0, 27 | "uniqueItems": true 28 | } 29 | }, 30 | "required": [ 31 | "contactDetailCategory", 32 | "contactDetailValue" 33 | ] 34 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/identifier.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json", 4 | "title": "Identifier", 5 | "description": "A numeric, textual value, or reference such as an IRI, that can be used to uniquely identify the object to which it is attached. Use this class to document stable identifiers that describe the collections and associated entities being represented in the collection description. For example, person identifiers, taxon identifiers, institution identifiers, organisational unit identifiers, gazetteer identifiers. Identifiers represented by this class may be globally unique, or unique within a given context.", 6 | "type": "object", 7 | "properties": { 8 | "hasReference": { 9 | "description": "This property refers to one or more related instances of the Reference class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "identifierSource": { 18 | "description": "The source or creator of the identifier.", 19 | "type": "string" 20 | }, 21 | "identifierType": { 22 | "description": "The type and format of the value in the identifier field.", 23 | "type": "string" 24 | }, 25 | "identifierValue": { 26 | "description": "An unambiguous reference to the resource within a given context.", 27 | "type": "string" 28 | } 29 | }, 30 | "required": [ 31 | "identifierType", 32 | "identifierValue" 33 | ] 34 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/measurementor-fact.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurementor-fact.json", 4 | "title": "Measurement or Fact", 5 | "description": "A measurement of or fact about the ObjectGroup representing the objects in the collection description, or the relationship between the ObjectGroup and an associated class. This class can be used to apply measurements, facts or narratives to the ObjectGroup as a whole, or used to qualify the relationship between the ObjectGroup and an associated attribute. For example, an ObjectGroup may contain 100 objects, of which 40 are from Europe and 60 from Africa. In this example, one MeasurementOrFact (count of 100) would be attached to the ObjectGroup, and one to each of the two relationships between the ObjectGroup and GeographicOrigin (Europe: count of 40, Africa: count of 60).", 6 | "type": "object", 7 | "properties": {} 8 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/object-classification.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/object-classification.json", 4 | "title": "Object Classification", 5 | "description": "An informal classification of the type of objects within the ObjectGroup, using a hierarchical structure. This class is used to categorise the ObjectGroup according to an informal, self-referential hierarchy. For example, this can be used to create a hierarchy encompassing biological, geological and anthropological collections, where a single formal taxonomy isn't appropriate.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasMeasurementOrFact": { 18 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "hasObjectClassification": { 27 | "description": "This property refers to one or more related instances of the ObjectClassification class.", 28 | "type": "array", 29 | "items": { 30 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/object-classification.json" 31 | }, 32 | "minItems": 0, 33 | "uniqueItems": true 34 | }, 35 | "hasReference": { 36 | "description": "This property refers to one or more related instances of the Reference class.", 37 | "type": "array", 38 | "items": { 39 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 40 | }, 41 | "minItems": 0, 42 | "uniqueItems": true 43 | }, 44 | "objectClassificationLevel": { 45 | "description": "The level of the ObjectClassification in the hierarchy.", 46 | "type": "string" 47 | }, 48 | "objectClassificationName": { 49 | "description": "A short title describing this ObjectClassification as a class, unit or grouping.", 50 | "type": "string" 51 | } 52 | }, 53 | "required": [ 54 | "objectClassificationName" 55 | ] 56 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/person.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/person.json", 4 | "title": "Person", 5 | "description": "A person (alive or dead). This concept should map to the Schema.org Person class (https://schema.org/Person), and the prov:Person class (http://www.w3.org/ns/prov#Person) in the PROV ontology. In the latter, it is a subclass of prov:Agent, which through which it can map to the RDA recommendations on attribution (http://dx.doi.org/10.15497/RDA00029). The definition is appropriated from the Schema.org class.", 6 | "type": "object", 7 | "properties": { 8 | "additionalName": { 9 | "description": "An additional name for a Person, can be used for a middle name.", 10 | "type": "string" 11 | }, 12 | "familyName": { 13 | "description": "Family name. In the U.S., the last name of a Person.", 14 | "type": "string" 15 | }, 16 | "fullName": { 17 | "description": "Preferred form of personal name for display as a string.", 18 | "type": "string" 19 | }, 20 | "givenName": { 21 | "description": "Given name. In the U.S., the first name of a Person.", 22 | "type": "string" 23 | }, 24 | "hasAddress": { 25 | "description": "This property refers to one or more related instances of the Address class.", 26 | "type": "array", 27 | "items": { 28 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/address.json" 29 | }, 30 | "minItems": 0, 31 | "uniqueItems": true 32 | }, 33 | "hasContactDetail": { 34 | "description": "This property refers to one or more related instances of the ContactDetail class.", 35 | "type": "array", 36 | "items": { 37 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/contact-detail.json" 38 | }, 39 | "minItems": 0, 40 | "uniqueItems": true 41 | }, 42 | "hasIdentifier": { 43 | "description": "This property refers to one or more related instances of the Identifier class.", 44 | "type": "array", 45 | "items": { 46 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 47 | }, 48 | "minItems": 0, 49 | "uniqueItems": true 50 | }, 51 | "hasMeasurementOrFact": { 52 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 53 | "type": "array", 54 | "items": { 55 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 56 | }, 57 | "minItems": 0, 58 | "uniqueItems": true 59 | }, 60 | "hasReference": { 61 | "description": "This property refers to one or more related instances of the Reference class.", 62 | "type": "array", 63 | "items": { 64 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 65 | }, 66 | "minItems": 0, 67 | "uniqueItems": true 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/reference.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json", 4 | "title": "Reference", 5 | "description": "A reference to external resources and information related to the collection description. In the Collection Description standard, this class can be used to store references to publications, policies, datasets and other online resources such as websites, related to classes within the standard.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "referenceDetails": { 18 | "description": "Detailed information about the resource being referenced.", 19 | "type": "string" 20 | }, 21 | "referenceText": { 22 | "description": "A short title for the reference.", 23 | "type": "string" 24 | }, 25 | "referenceType": { 26 | "description": "The type of resource being referenced.", 27 | "type": "string" 28 | }, 29 | "resourceURI": { 30 | "description": "A preferably resolvable URI to uniquely identify a concept.", 31 | "type": "string" 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/scheme-measurement-or-fact.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/scheme-measurement-or-fact.json", 4 | "title": "Scheme Measurement Or Fact", 5 | "description": "A type of measurement or fact used by the CollectionDescriptionScheme, and the rules relating to its application. This class can be used to specify the qualitative and quantitative metrics that will be included in the CollectionDescriptionScheme using the MeasurementOrFact class, and dictate whether each will be mandatory and/or repeatable. This information can be used by software and queries to constrain and validate the Latimer Core dataset, and determine how and whether metrics can be aggregated and reported. The schemeMeasurementType property should correspond to the measurementType property of the MeasurementOrFact class in order to make the relevant association between the scheme definition and the stored data.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasReference": { 18 | "description": "This property refers to one or more related instances of the Reference class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "isMandatoryMetric": { 27 | "description": "A flag to designate whether it is mandatory or optional for every collection description within the CollectionDescriptionScheme to include the measurement or fact defined by the schemeMeasurementType property.", 28 | "type": "boolean" 29 | }, 30 | "isRepeatableMetric": { 31 | "description": "A flag to designate whether multiple instances of the same schemeMeasurementType may be attached to a single entity.", 32 | "type": "boolean" 33 | }, 34 | "schemeMeasurementType": { 35 | "description": "A category of quantitative metric or qualitative fact that can be included in the CollectionDescriptionScheme.", 36 | "type": "string" 37 | } 38 | }, 39 | "required": [ 40 | "isMandatoryMetric", 41 | "isRepeatableMetric", 42 | "schemeMeasurementType" 43 | ] 44 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/scheme-term.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/scheme-term.json", 4 | "title": "Scheme Term", 5 | "description": "A Latimer Core term used by the CollectionDescriptionScheme and the rules relating to its application. This class can be used to define which of the terms (classes and/or properties) within the standard (e.g. GeographicOrigin, Taxon, preservationMethod) are expected to be used within the scheme, and specify whether they're mandatory and/or repeatable. This information can be used by software and queries to validate the data and understand the rules by which metrics can be reported against the specified term.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasReference": { 18 | "description": "This property refers to one or more related instances of the Reference class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "isMandatoryTerm": { 27 | "description": "A flag to designate whether it is mandatory or optional for all ObjectGroups in the CollectionDescriptionScheme to include or be linked to valid data for the class or property defined in the termName property.", 28 | "type": "boolean" 29 | }, 30 | "isRepeatableTerm": { 31 | "description": "A flag to designate whether multiple instances of the Latimer Core class or property defined in the termName property may be attached to a single ObjectGroup.", 32 | "type": "boolean" 33 | }, 34 | "termName": { 35 | "description": "The name of a class or property within the Latimer Core standard that is included in the CollectionDescriptionScheme.", 36 | "type": "string" 37 | } 38 | }, 39 | "required": [ 40 | "isMandatoryTerm", 41 | "isRepeatableTerm", 42 | "termName" 43 | ] 44 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/storage-location.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/storage-location.json", 4 | "title": "Storage Location", 5 | "description": "A physical location (such as a building, room, cabinet or drawer) within the holding institution where objects associated with the collection description are stored or exhibited.", 6 | "type": "object", 7 | "properties": { 8 | "hasAddress": { 9 | "description": "This property refers to one or more related instances of the Address class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/address.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasIdentifier": { 18 | "description": "This property refers to one or more related instances of the Identifier class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "hasMeasurementOrFact": { 27 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 28 | "type": "array", 29 | "items": { 30 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 31 | }, 32 | "minItems": 0, 33 | "uniqueItems": true 34 | }, 35 | "hasReference": { 36 | "description": "This property refers to one or more related instances of the Reference class.", 37 | "type": "array", 38 | "items": { 39 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 40 | }, 41 | "minItems": 0, 42 | "uniqueItems": true 43 | }, 44 | "locationDescription": { 45 | "description": "Short textual description of the storage location of the group of items", 46 | "type": "string" 47 | }, 48 | "locationName": { 49 | "description": "A label used to identify a place where the collection is stored.", 50 | "type": "string" 51 | }, 52 | "locationType": { 53 | "description": "The nature of the location where the collection is stored.", 54 | "type": "string" 55 | } 56 | }, 57 | "required": [ 58 | "locationName" 59 | ] 60 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/taxon.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/taxon.json", 4 | "title": "Taxon", 5 | "description": "A group of organisms (sensu http://purl.obolibrary.org/obo/OBI_0100026) considered by taxonomists to form a homogeneous unit.", 6 | "type": "object", 7 | "properties": { 8 | "genus": { 9 | "description": "The full scientific name of the genus in which the taxon is classified.", 10 | "type": "string" 11 | }, 12 | "hasIdentifier": { 13 | "description": "This property refers to one or more related instances of the Identifier class.", 14 | "type": "array", 15 | "items": { 16 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 17 | }, 18 | "minItems": 0, 19 | "uniqueItems": true 20 | }, 21 | "hasMeasurementOrFact": { 22 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 23 | "type": "array", 24 | "items": { 25 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 26 | }, 27 | "minItems": 0, 28 | "uniqueItems": true 29 | }, 30 | "hasReference": { 31 | "description": "This property refers to one or more related instances of the Reference class.", 32 | "type": "array", 33 | "items": { 34 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 35 | }, 36 | "minItems": 0, 37 | "uniqueItems": true 38 | }, 39 | "kingdom": { 40 | "description": "The full scientific name of the kingdom in which the taxon is classified.", 41 | "type": "string" 42 | }, 43 | "scientificName": { 44 | "description": "The full scientific name, with authorship and date information if known. When forming part of an Identification, this should be the name in lowest level taxonomic rank that can be determined. This term should not contain identification qualifications, which should instead be supplied in the IdentificationQualifier term.", 45 | "type": "string" 46 | }, 47 | "taxonRank": { 48 | "description": "The taxonomic rank of the most specific name in the scientificName.", 49 | "type": "string" 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_json_schema_output/temporal-coverage.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/temporal-coverage.json", 4 | "title": "Temporal Coverage", 5 | "description": "A record of a time range represented by the collection's establishment or change over time. This term is separate from the living or geologic periods represented by the objects in the collection. This class can be used to reflect temporal coverage of the collection within various contexts (defined by the temporalCoverageType property). Examples might include the time range in which objects within the collection were collected or the time period over which the collection was assembled. It should not be used to document the time range within which the objects in the collection were alive, and if the time period you are trying to describe is better described by the `CollectionHistory`, `GeologicalContext` or `ChronometricAge` classes, or period property of the `ObjectGroup` class, then those classes or properties should be used instead. For example, the period property of the `ObjectGroup` class and/or `GeologicalContext` class should be used to record named time periods. `TemporalCoverage` is a repeatable class, but when present as a property of `Event` or `CollectionStatusHistory`, multiple occurences should be avoided and repeated occurences of the parent class should be used instead.", 6 | "type": "object", 7 | "properties": { 8 | "hasMeasurementOrFact": { 9 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasReference": { 18 | "description": "This property refers to one or more related instances of the Reference class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "temporalCoverageEndDate": { 27 | "description": "End date of the time range of the collection.", 28 | "type": "string" 29 | }, 30 | "temporalCoverageStartDate": { 31 | "description": "Start date of the time range of the collection.", 32 | "type": "string" 33 | }, 34 | "temporalCoverageType": { 35 | "description": "The type or context of the time range associated with the collection's establishment. Separate from the living or geologic periods represented by the objects in the collection.", 36 | "type": "string" 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/address.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/address.json", 4 | "title": "Address", 5 | "description": "A physical postal address for an organisational unit or person.", 6 | "type": "object", 7 | "properties": { 8 | "addressCountry": { 9 | "description": "The country. For example, USA. You can also provide the two-letter ISO 3166-1 alpha-2 country code.", 10 | "type": "string" 11 | }, 12 | "addressLocality": { 13 | "description": "The locality in which the street address is, and which is in the region. For example, Mountain View.", 14 | "type": "string" 15 | }, 16 | "addressRegion": { 17 | "description": "The region in which the locality is, and which is in the country. For example, California or another appropriate first-level Administrative division.", 18 | "type": "string" 19 | }, 20 | "addressType": { 21 | "description": "A person or organization can have different addresses, for different purposes. For example, a postal address, a loan address, an address for visits and so on. This property is used to specify the kind of address.", 22 | "type": "string" 23 | }, 24 | "hasIdentifier": { 25 | "description": "This property refers to one or more related instances of the Identifier class.", 26 | "type": "array", 27 | "items": { 28 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 29 | }, 30 | "minItems": 1, 31 | "uniqueItems": true 32 | }, 33 | "postOfficeBoxNumber": { 34 | "description": "The post office box number for PO box addresses.", 35 | "type": "string" 36 | }, 37 | "postalCode": { 38 | "description": "The postal code. For example, 94043.", 39 | "type": "string" 40 | }, 41 | "streetAddress": { 42 | "description": "The street address. For example, 1600 Amphitheatre Pkwy.", 43 | "type": "string" 44 | } 45 | }, 46 | "required": [ 47 | "addressCountry", 48 | "addressLocality", 49 | "addressRegion", 50 | "hasIdentifier", 51 | "postalCode", 52 | "streetAddress" 53 | ] 54 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/chronometric-age.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/chronometric-age.json", 4 | "title": "Chronometric Age", 5 | "description": "The age of a specimen or related materials that is generated from a dating assay. This is a categorical term (class) to organize the other chronometric age properties and does not ever have values.", 6 | "type": "object", 7 | "properties": { 8 | "chronometricAgeProtocol": { 9 | "description": "A description of or reference to the methods used to determine the ChronometricAge.", 10 | "type": "string" 11 | }, 12 | "chronometricAgeRemarks": { 13 | "description": "Notes or comments about the ChronometricAge.", 14 | "type": "string" 15 | }, 16 | "chronometricAgeUncertaintyInYears": { 17 | "description": "The temporal uncertainty of the earliestChronometricAge and latestChronometicAge in years.", 18 | "type": "number" 19 | }, 20 | "earliestChronometricAge": { 21 | "description": "The maximum/earliest/oldest possible age of a specimen as determined by a dating method.", 22 | "type": "number" 23 | }, 24 | "earliestChronometricAgeReferenceSystem": { 25 | "description": "The reference system associated with the earliestChronometricAge.", 26 | "type": "string" 27 | }, 28 | "hasIdentifier": { 29 | "description": "This property refers to one or more related instances of the Identifier class.", 30 | "type": "array", 31 | "items": { 32 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 33 | }, 34 | "minItems": 0, 35 | "uniqueItems": true 36 | }, 37 | "hasMeasurementOrFact": { 38 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 39 | "type": "array", 40 | "items": { 41 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 42 | }, 43 | "minItems": 0, 44 | "uniqueItems": true 45 | }, 46 | "hasReference": { 47 | "description": "This property refers to one or more related instances of the Reference class.", 48 | "type": "array", 49 | "items": { 50 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 51 | }, 52 | "minItems": 0, 53 | "uniqueItems": true 54 | }, 55 | "latestChronometricAge": { 56 | "description": "The minimum/latest/youngest possible age of a specimen as determined by a dating method.", 57 | "type": "number" 58 | }, 59 | "latestChronometricAgeReferenceSystem": { 60 | "description": "The reference system associated with the latestChronometricAge.", 61 | "type": "string" 62 | }, 63 | "verbatimChronometricAge": { 64 | "description": "The verbatim age for a specimen, whether reported by a dating assay, associated references, or legacy information.", 65 | "type": "string" 66 | } 67 | } 68 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/collection-status-history.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/collection-status-history.json", 4 | "title": "Collection Status History", 5 | "description": "A record of current and past statuses of the object group and the reason for status changes. Use this class to record the history of and reason for changes in the status of the described collection. Types of status described by this class may, for example, include ownership, management, accessibility or accrual policy over time. Dates reflecting the start and end of the status described by this class should be recorded using an instance of TemporalCoverage. If temporalCoverageEndDate is empty, the status can be inferred to be the current status of the collection.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasMeasurementOrFact": { 18 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 22 | }, 23 | "minItems": 1, 24 | "uniqueItems": true 25 | }, 26 | "hasReference": { 27 | "description": "This property refers to one or more related instances of the Reference class.", 28 | "type": "array", 29 | "items": { 30 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 31 | }, 32 | "minItems": 0, 33 | "uniqueItems": true 34 | }, 35 | "hasTemporalCoverage": { 36 | "description": "This property refers to one or more related instances of the TemporalCoverage class.", 37 | "type": "array", 38 | "items": { 39 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/temporal-coverage.json" 40 | }, 41 | "minItems": 0, 42 | "uniqueItems": true 43 | }, 44 | "status": { 45 | "description": "The development status of the collection during a specified period.", 46 | "type": "string" 47 | }, 48 | "statusChangeReason": { 49 | "description": "An explanation of why the collection transitioned to the value set in the status property.", 50 | "type": "string" 51 | }, 52 | "statusType": { 53 | "description": "A top-level classification of the different categories of status that can be applied to the collection.", 54 | "type": "string" 55 | } 56 | }, 57 | "required": [ 58 | "hasMeasurementOrFact", 59 | "status", 60 | "statusType" 61 | ] 62 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/contact-detail.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/contact-detail.json", 4 | "title": "Contact Detail", 5 | "description": "Details of a method by which an entity such as a Person or OrganisationalUnit may be contacted. The Address class should be used to store physical or postal addresses. For all other types of contact details, this class should be used.", 6 | "type": "object", 7 | "properties": { 8 | "contactDetailCategory": { 9 | "description": "The method of contact to which the contact detail applies.", 10 | "type": "string" 11 | }, 12 | "contactDetailType": { 13 | "description": "The type of contact detail, which can be used to distinguish between multiple contact details of the same contactDetailCategory.", 14 | "type": "string" 15 | }, 16 | "contactDetailValue": { 17 | "description": "The value of the contact detail, such as the phone number or email address.", 18 | "type": "string" 19 | }, 20 | "hasIdentifier": { 21 | "description": "This property refers to one or more related instances of the Identifier class.", 22 | "type": "array", 23 | "items": { 24 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 25 | }, 26 | "minItems": 0, 27 | "uniqueItems": true 28 | } 29 | }, 30 | "required": [ 31 | "contactDetailCategory", 32 | "contactDetailValue" 33 | ] 34 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/event.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/event.json", 4 | "title": "Event", 5 | "description": "An action that occurs at some location during some time. Derived from dwc Class event (http://rs.tdwg.org/dwc/terms/version/Event-2018-09-06). This class has been defined under the ltc namespace because it only has a subset of the properties of DwC:Event. All ltc:Event properties are borrowed from and reference the dwc namespace. Examples of an Event include: A specimen collection process. A camera trap image capture. A marine trawl.", 6 | "type": "object", 7 | "properties": { 8 | "eventName": { 9 | "description": "The name commonly used to identify or refer to the event.", 10 | "type": "string" 11 | }, 12 | "habitat": { 13 | "description": "A category or description of the habitat in which the Event occurred.", 14 | "type": "string" 15 | }, 16 | "hasIdentifier": { 17 | "description": "This property refers to one or more related instances of the Identifier class.", 18 | "type": "array", 19 | "items": { 20 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 21 | }, 22 | "minItems": 0, 23 | "uniqueItems": true 24 | }, 25 | "hasMeasurementOrFact": { 26 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 27 | "type": "array", 28 | "items": { 29 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 30 | }, 31 | "minItems": 0, 32 | "uniqueItems": true 33 | }, 34 | "hasPersonRole": { 35 | "description": "This property refers to one or more related instances of the PersonRole class.", 36 | "type": "array", 37 | "items": { 38 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/person-role.json" 39 | }, 40 | "minItems": 0, 41 | "uniqueItems": true 42 | }, 43 | "hasReference": { 44 | "description": "This property refers to one or more related instances of the Reference class.", 45 | "type": "array", 46 | "items": { 47 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 48 | }, 49 | "minItems": 0, 50 | "uniqueItems": true 51 | }, 52 | "hasTemporalCoverage": { 53 | "description": "This property refers to one or more related instances of the TemporalCoverage class.", 54 | "type": "array", 55 | "items": { 56 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/temporal-coverage.json" 57 | }, 58 | "minItems": 0, 59 | "uniqueItems": true 60 | }, 61 | "samplingProtocol": { 62 | "description": "The name of, reference to, or description of the method or protocol used during an Event", 63 | "type": "string" 64 | }, 65 | "verbatimEventDate": { 66 | "description": "The verbatim original representation of the date and time information for an Event.", 67 | "type": "string" 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/identifier.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json", 4 | "title": "Identifier", 5 | "description": "A numeric, textual value, or reference such as an IRI, that can be used to uniquely identify the object to which it is attached. Use this class to document stable identifiers that describe the collections and associated entities being represented in the collection description. For example, person identifiers, taxon identifiers, institution identifiers, organisational unit identifiers, gazetteer identifiers. Identifiers represented by this class may be globally unique, or unique within a given context.", 6 | "type": "object", 7 | "properties": { 8 | "hasReference": { 9 | "description": "This property refers to one or more related instances of the Reference class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "identifierSource": { 18 | "description": "The source or creator of the identifier.", 19 | "type": "string" 20 | }, 21 | "identifierType": { 22 | "description": "The type and format of the value in the identifier field.", 23 | "type": "string" 24 | }, 25 | "identifierValue": { 26 | "description": "An unambiguous reference to the resource within a given context.", 27 | "type": "string" 28 | } 29 | }, 30 | "required": [ 31 | "identifierType", 32 | "identifierValue" 33 | ] 34 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/measurement-or-fact.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json", 4 | "title": "Measurement or Fact", 5 | "description": "A measurement of or fact about the ObjectGroup representing the objects in the collection description, or the relationship between the ObjectGroup and an associated class. This class can be used to apply measurements, facts or narratives to the ObjectGroup as a whole, or used to qualify the relationship between the ObjectGroup and an associated attribute. For example, an ObjectGroup may contain 100 objects, of which 40 are from Europe and 60 from Africa. In this example, one MeasurementOrFact (count of 100) would be attached to the ObjectGroup, and one to each of the two relationships between the ObjectGroup and GeographicOrigin (Europe: count of 40, Africa: count of 60).", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasReference": { 18 | "description": "This property refers to one or more related instances of the Reference class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "measurementAccuracy": { 27 | "description": "The description of the potential error associated with the measurementValue.", 28 | "type": "string" 29 | }, 30 | "measurementDerivation": { 31 | "description": "An indicator as to whether the measurement, fact, characteristic, or assertion being applied to the collection was derived from reported figures or aggregated/calculated from underlying data.", 32 | "type": "string" 33 | }, 34 | "measurementFactText": { 35 | "description": "The value of the qualitative fact, characteristic, or assertion being made about the collection.", 36 | "type": "string" 37 | }, 38 | "measurementMethod": { 39 | "description": "A description of or reference to (publication, URI) the method or protocol used to determine the measurement, fact, characteristic, or assertion.", 40 | "type": "string" 41 | }, 42 | "measurementRemarks": { 43 | "description": "Comments or notes accompanying the MeasurementOrFact.", 44 | "type": "string" 45 | }, 46 | "measurementType": { 47 | "description": "The nature of the measurement, fact, characteristic, or assertion.", 48 | "type": "string" 49 | }, 50 | "measurementUnit": { 51 | "description": "The units associated with the measurementValue.", 52 | "type": "string" 53 | }, 54 | "measurementValue": { 55 | "description": "The value of the measurement, fact, characteristic, or assertion.", 56 | "type": "number" 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/object-classification.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/object-classification.json", 4 | "title": "Object Classification", 5 | "description": "An informal classification of the type of objects within the ObjectGroup, using a hierarchical structure. This class is used to categorise the ObjectGroup according to an informal, self-referential hierarchy. For example, this can be used to create a hierarchy encompassing biological, geological and anthropological collections, where a single formal taxonomy isn't appropriate.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasMeasurementOrFact": { 18 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "hasObjectClassification": { 27 | "description": "This property refers to one or more related instances of the ObjectClassification class.", 28 | "type": "array", 29 | "items": { 30 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/object-classification.json" 31 | }, 32 | "minItems": 0, 33 | "uniqueItems": true 34 | }, 35 | "hasReference": { 36 | "description": "This property refers to one or more related instances of the Reference class.", 37 | "type": "array", 38 | "items": { 39 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 40 | }, 41 | "minItems": 0, 42 | "uniqueItems": true 43 | }, 44 | "objectClassificationLevel": { 45 | "description": "The level of the ObjectClassification in the hierarchy.", 46 | "type": "string" 47 | }, 48 | "objectClassificationName": { 49 | "description": "A short title describing this ObjectClassification as a class, unit or grouping.", 50 | "type": "string" 51 | } 52 | }, 53 | "required": [ 54 | "objectClassificationName" 55 | ] 56 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/person.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/person.json", 4 | "title": "Person", 5 | "description": "A person (alive or dead). This concept should map to the Schema.org Person class (https://schema.org/Person), and the prov:Person class (http://www.w3.org/ns/prov#Person) in the PROV ontology. In the latter, it is a subclass of prov:Agent, which through which it can map to the RDA recommendations on attribution (http://dx.doi.org/10.15497/RDA00029). The definition is appropriated from the Schema.org class.", 6 | "type": "object", 7 | "properties": { 8 | "additionalName": { 9 | "description": "An additional name for a Person, can be used for a middle name.", 10 | "type": "string" 11 | }, 12 | "familyName": { 13 | "description": "Family name. In the U.S., the last name of a Person.", 14 | "type": "string" 15 | }, 16 | "fullName": { 17 | "description": "Preferred form of personal name for display as a string.", 18 | "type": "string" 19 | }, 20 | "givenName": { 21 | "description": "Given name. In the U.S., the first name of a Person.", 22 | "type": "string" 23 | }, 24 | "hasAddress": { 25 | "description": "This property refers to one or more related instances of the Address class.", 26 | "type": "array", 27 | "items": { 28 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/address.json" 29 | }, 30 | "minItems": 0, 31 | "uniqueItems": true 32 | }, 33 | "hasContactDetail": { 34 | "description": "This property refers to one or more related instances of the ContactDetail class.", 35 | "type": "array", 36 | "items": { 37 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/contact-detail.json" 38 | }, 39 | "minItems": 0, 40 | "uniqueItems": true 41 | }, 42 | "hasIdentifier": { 43 | "description": "This property refers to one or more related instances of the Identifier class.", 44 | "type": "array", 45 | "items": { 46 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 47 | }, 48 | "minItems": 0, 49 | "uniqueItems": true 50 | }, 51 | "hasMeasurementOrFact": { 52 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 53 | "type": "array", 54 | "items": { 55 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 56 | }, 57 | "minItems": 0, 58 | "uniqueItems": true 59 | }, 60 | "hasReference": { 61 | "description": "This property refers to one or more related instances of the Reference class.", 62 | "type": "array", 63 | "items": { 64 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 65 | }, 66 | "minItems": 0, 67 | "uniqueItems": true 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/reference.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json", 4 | "title": "Reference", 5 | "description": "A reference to external resources and information related to the collection description. In the Collection Description standard, this class can be used to store references to publications, policies, datasets and other online resources such as websites, related to classes within the standard.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "referenceDetails": { 18 | "description": "Detailed information about the resource being referenced.", 19 | "type": "string" 20 | }, 21 | "referenceText": { 22 | "description": "A short title for the reference.", 23 | "type": "string" 24 | }, 25 | "referenceType": { 26 | "description": "The type of resource being referenced.", 27 | "type": "string" 28 | }, 29 | "resourceURI": { 30 | "description": "A preferably resolvable URI to uniquely identify a concept.", 31 | "type": "string" 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/resource-relationship.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/resource-relationship.json", 4 | "title": "Resource Relationship", 5 | "description": "A relationship between an instance of a class in the collection description standard to another instance of the same class, or an instance of a different class in the standard. In the context of this standard, the resources are the collections of objects represented by the ObjectGroup. This class can be used to define different semantic and hierarchical relationships between ObjectGroups.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasReference": { 18 | "description": "This property refers to one or more related instances of the Reference class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "relatedResourceID": { 27 | "description": "An identifier for a related resource (the object, rather than the subject of the relationship).", 28 | "type": "string" 29 | }, 30 | "relatedResourceName": { 31 | "description": "A short textual name for the related resource.", 32 | "type": "string" 33 | }, 34 | "relationshipAccordingTo": { 35 | "description": "The source (person, organization, publication, reference) establishing the relationship between the two resources.", 36 | "type": "array", 37 | "items": { 38 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/relationship-according-to.json" 39 | }, 40 | "minItems": 0, 41 | "uniqueItems": true 42 | }, 43 | "relationshipEstablishedDate": { 44 | "description": "The date-time on which the relationship between the two resources was established.", 45 | "type": "string" 46 | }, 47 | "relationshipOfResource": { 48 | "description": "The relationship of the subject (identified by resourceID) to the object (identified by relatedResourceID).", 49 | "type": "string" 50 | }, 51 | "relationshipRemarks": { 52 | "description": "Comments or notes about the relationship between the two resources.", 53 | "type": "string" 54 | }, 55 | "resourceID": { 56 | "description": "An identifier for the resource that is the subject of the relationship.", 57 | "type": "string" 58 | }, 59 | "resourceRelationshipID": { 60 | "description": "An identifier for an instance of relationship between one resource (the subject) and another (relatedResource, the object).", 61 | "type": "string" 62 | } 63 | }, 64 | "required": [ 65 | "relationshipOfResource", 66 | "resourceID" 67 | ] 68 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/scheme-measurement-or-fact.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/scheme-measurement-or-fact.json", 4 | "title": "Scheme Measurement Or Fact", 5 | "description": "A type of measurement or fact used by the CollectionDescriptionScheme, and the rules relating to its application. This class can be used to specify the qualitative and quantitative metrics that will be included in the CollectionDescriptionScheme using the MeasurementOrFact class, and dictate whether each will be mandatory and/or repeatable. This information can be used by software and queries to constrain and validate the Latimer Core dataset, and determine how and whether metrics can be aggregated and reported. The schemeMeasurementType property should correspond to the measurementType property of the MeasurementOrFact class in order to make the relevant association between the scheme definition and the stored data.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasReference": { 18 | "description": "This property refers to one or more related instances of the Reference class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "isMandatoryMetric": { 27 | "description": "A flag to designate whether it is mandatory or optional for every collection description within the CollectionDescriptionScheme to include the measurement or fact defined by the schemeMeasurementType property.", 28 | "type": "boolean" 29 | }, 30 | "isRepeatableMetric": { 31 | "description": "A flag to designate whether multiple instances of the same schemeMeasurementType may be attached to a single entity.", 32 | "type": "boolean" 33 | }, 34 | "schemeMeasurementType": { 35 | "description": "A category of quantitative metric or qualitative fact that can be included in the CollectionDescriptionScheme.", 36 | "type": "string" 37 | } 38 | }, 39 | "required": [ 40 | "isMandatoryMetric", 41 | "isRepeatableMetric", 42 | "schemeMeasurementType" 43 | ] 44 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/scheme-term.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/scheme-term.json", 4 | "title": "Scheme Term", 5 | "description": "A Latimer Core term used by the CollectionDescriptionScheme and the rules relating to its application. This class can be used to define which of the terms (classes and/or properties) within the standard (e.g. GeographicOrigin, Taxon, preservationMethod) are expected to be used within the scheme, and specify whether they're mandatory and/or repeatable. This information can be used by software and queries to validate the data and understand the rules by which metrics can be reported against the specified term.", 6 | "type": "object", 7 | "properties": { 8 | "hasIdentifier": { 9 | "description": "This property refers to one or more related instances of the Identifier class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasReference": { 18 | "description": "This property refers to one or more related instances of the Reference class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "isMandatoryTerm": { 27 | "description": "A flag to designate whether it is mandatory or optional for all ObjectGroups in the CollectionDescriptionScheme to include or be linked to valid data for the class or property defined in the termName property.", 28 | "type": "boolean" 29 | }, 30 | "isRepeatableTerm": { 31 | "description": "A flag to designate whether multiple instances of the Latimer Core class or property defined in the termName property may be attached to a single ObjectGroup.", 32 | "type": "boolean" 33 | }, 34 | "termName": { 35 | "description": "The name of a class or property within the Latimer Core standard that is included in the CollectionDescriptionScheme.", 36 | "type": "string" 37 | } 38 | }, 39 | "required": [ 40 | "isMandatoryTerm", 41 | "isRepeatableTerm", 42 | "termName" 43 | ] 44 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/storage-location.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/storage-location.json", 4 | "title": "Storage Location", 5 | "description": "A physical location (such as a building, room, cabinet or drawer) within the holding institution where objects associated with the collection description are stored or exhibited.", 6 | "type": "object", 7 | "properties": { 8 | "hasAddress": { 9 | "description": "This property refers to one or more related instances of the Address class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/address.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasIdentifier": { 18 | "description": "This property refers to one or more related instances of the Identifier class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "hasMeasurementOrFact": { 27 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 28 | "type": "array", 29 | "items": { 30 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 31 | }, 32 | "minItems": 0, 33 | "uniqueItems": true 34 | }, 35 | "hasReference": { 36 | "description": "This property refers to one or more related instances of the Reference class.", 37 | "type": "array", 38 | "items": { 39 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 40 | }, 41 | "minItems": 0, 42 | "uniqueItems": true 43 | }, 44 | "locationDescription": { 45 | "description": "Short textual description of the storage location of the group of items", 46 | "type": "string" 47 | }, 48 | "locationName": { 49 | "description": "A label used to identify a place where the collection is stored.", 50 | "type": "string" 51 | }, 52 | "locationType": { 53 | "description": "The nature of the location where the collection is stored.", 54 | "type": "string" 55 | } 56 | }, 57 | "required": [ 58 | "locationName" 59 | ] 60 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/taxon.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/taxon.json", 4 | "title": "Taxon", 5 | "description": "A group of organisms (sensu http://purl.obolibrary.org/obo/OBI_0100026) considered by taxonomists to form a homogeneous unit.", 6 | "type": "object", 7 | "properties": { 8 | "genus": { 9 | "description": "The full scientific name of the genus in which the taxon is classified.", 10 | "type": "string" 11 | }, 12 | "hasIdentifier": { 13 | "description": "This property refers to one or more related instances of the Identifier class.", 14 | "type": "array", 15 | "items": { 16 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/identifier.json" 17 | }, 18 | "minItems": 0, 19 | "uniqueItems": true 20 | }, 21 | "hasMeasurementOrFact": { 22 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 23 | "type": "array", 24 | "items": { 25 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 26 | }, 27 | "minItems": 0, 28 | "uniqueItems": true 29 | }, 30 | "hasReference": { 31 | "description": "This property refers to one or more related instances of the Reference class.", 32 | "type": "array", 33 | "items": { 34 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 35 | }, 36 | "minItems": 0, 37 | "uniqueItems": true 38 | }, 39 | "kingdom": { 40 | "description": "The full scientific name of the kingdom in which the taxon is classified.", 41 | "type": "string" 42 | }, 43 | "scientificName": { 44 | "description": "The full scientific name, with authorship and date information if known. When forming part of an Identification, this should be the name in lowest level taxonomic rank that can be determined. This term should not contain identification qualifications, which should instead be supplied in the IdentificationQualifier term.", 45 | "type": "string" 46 | }, 47 | "taxonRank": { 48 | "description": "The taxonomic rank of the most specific name in the scientificName.", 49 | "type": "string" 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /tools/csv_to_json/test_spec_json_output/temporal-coverage.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft-04/schema", 3 | "$id": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/temporal-coverage.json", 4 | "title": "Temporal Coverage", 5 | "description": "A record of a time range represented by the collection's establishment or change over time. This term is separate from the living or geologic periods represented by the objects in the collection. This class can be used to reflect temporal coverage of the collection within various contexts (defined by the temporalCoverageType property). Examples might include the time range in which objects within the collection were collected or the time period over which the collection was assembled. It should not be used to document the time range within which the objects in the collection were alive, and if the time period you are trying to describe is better described by the `CollectionHistory`, `GeologicalContext` or `ChronometricAge` classes, or period property of the `ObjectGroup` class, then those classes or properties should be used instead. For example, the period property of the `ObjectGroup` class and/or `GeologicalContext` class should be used to record named time periods. `TemporalCoverage` is a repeatable class, but when present as a property of `Event` or `CollectionStatusHistory`, multiple occurences should be avoided and repeated occurences of the parent class should be used instead.", 6 | "type": "object", 7 | "properties": { 8 | "hasMeasurementOrFact": { 9 | "description": "This property refers to one or more related instances of the MeasurementOrFact class.", 10 | "type": "array", 11 | "items": { 12 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/measurement-or-fact.json" 13 | }, 14 | "minItems": 0, 15 | "uniqueItems": true 16 | }, 17 | "hasReference": { 18 | "description": "This property refers to one or more related instances of the Reference class.", 19 | "type": "array", 20 | "items": { 21 | "$ref": "https://raw.githubusercontent.com/tdwg/cd/review/standard/json-schema/reference.json" 22 | }, 23 | "minItems": 0, 24 | "uniqueItems": true 25 | }, 26 | "temporalCoverageEndDate": { 27 | "description": "End date of the time range of the collection.", 28 | "type": "string" 29 | }, 30 | "temporalCoverageStartDate": { 31 | "description": "Start date of the time range of the collection.", 32 | "type": "string" 33 | }, 34 | "temporalCoverageType": { 35 | "description": "The type or context of the time range associated with the collection's establishment. Separate from the living or geologic periods represented by the objects in the collection.", 36 | "type": "string" 37 | } 38 | } 39 | } --------------------------------------------------------------------------------