Skip to content

[DwC export]: Create and maintain schema terms JSON files #7714

@grantfitzsimmons

Description

@grantfitzsimmons

Goal

Create and maintain a static schema_terms.json file that serves as the single source of truth for all supported Darwin Core and extension terms.

Example:

{
    "dwc": {
        "desc": "Darwin Core",
        "abbreviation": "dwc",
        "vocabularyURI": "http://rs.tdwg.org/dwc/terms/",
        "lastUpdated": "2023-09-18",
        "terms": [
            {"http://rs.tdwg.org/dwc/terms/eventDate": {"name": "Event Date", "mappingPath": "table:collectionObject → field:startDateOrEndDate", "description": "The date-time or interval during which a dwc:Event occurred. For occurrences, this is the date-time when the dwc:Event was recorded. Not suitable for a time in a geological context.", "termName": "eventDate"}},
            {"http://rs.tdwg.org/dwc/terms/basisOfRecord": {"name": "Basis Of Record", "mappingPath": "table:collectionObject → field:basisOfRecord", "description": "The specific nature of the data record.", "termName": "basisOfRecord"}},
            {"http://rs.tdwg.org/dwc/terms/scientificName": {"name": "Scientific Name", "mappingPath": "table:collectionObject → field:fullName", "description": "The full scientific name, with authorship and date information if known. When forming part of a dwc: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 dwc:identificationQualifier term.", "termName": "scientificName"}},
            {"http://rs.tdwg.org/dwc/terms/occurrenceID": {"name": "Occurrence ID", "mappingPath": "table:collectionObject → field:guid", "description": "An identifier for the dwc:Occurrence (as opposed to a particular digital record of the dwc:Occurrence). In the absence of a persistent global unique identifier, construct one from a combination of identifiers in the record that will most closely make the dwc:occurrenceID globally unique.", "termName": "occurrenceId"}}
        ]
    }
}

See my working example, including dwc (Darwin Core) and ac (Audiovisual Core):
specify_dwc.json

Background

All term lists in the UI are driven by this file. System-provided terms must be read-only. The file must include all currently accepted Darwin Core terms mapped to Specify fields per the DwC Terms to Specify spreadsheet.

Acceptance Criteria

  • JSON file created following the documented structure (IRI key → name, mappingPath, description, termName).
  • File includes all current accepted Darwin Core terms with mappingPath entries from the DwC Terms to Specify spreadsheet.
  • Extension vocabularies (Audiovisual Core, etc.) are included as separate top-level keys.
  • System terms are read-only and cannot be modified via the UI.
  • Adding new terms to the JSON in a software update does not break existing schemamapping records (stored term IRIs remain valid).
  • A working example file (specify_dwc.json) is provided as reference.

Metadata

Metadata

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions