Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated model for taxonomic units #20

Closed
gaurav opened this issue May 22, 2019 · 0 comments · Fixed by #18
Closed

Updated model for taxonomic units #20

gaurav opened this issue May 22, 2019 · 0 comments · Fixed by #18

Comments

@gaurav
Copy link
Member

gaurav commented May 22, 2019

Previously, taxonomic units (TU) were identified based on the properties they had: a TU with a scientific name referred to a taxon, one with an occurrence ID referred to a specimen, and so on. A single TU was also allowed to have multiple scientific names or multiple occurrence IDs. This meant that you could represent a huge variety of taxonomic units, but it also meant that figuring out what a particular TU actually meant could be really complicated. Designing a user interface that could handle all this complexity was also a challenge.

Instead, I propose that we simplify taxonomic units so that each taxonomic unit must have a single type (stored in the JSON-LD @type property), indicating whether they are taxon concepts (with or without a citation) or specimens. This will also make it easier to add taxonomic units for apomorphies and phylorefs later on.

In the Phyx and the OWL/JSON-LD file, this will look like this:

{
  "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept",
  "nameString": "Diplocynodon ratelii",
  "nomenclaturalCode": "http://purl.obolibrary.org/obo/NOMEN_0000107"
}

One nice this about this approach is that this is pretty readable both as annotations and in the class expression in Protege.

New taxonomic unit model in Protege

(This example doesn't have the nomenclatural code, since I need to figure out how to add that on the phylogeny!)

You can also provide a more detailed description if you need to using the TDWG Taxon Concept ontology, such as including original descriptions or circumscription information (i.e. the accordingTo, sensu or sec):

{
  "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept",
  "hasName": {
    "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName",
    "label": "Diplocynodon ratelii Pomel, 1847",
    "nameComplete": "Diplocynodon ratelii",
    "genusPart": "Diplocynodon",
    "specificEpithet": "ratelii",
    "nomenclaturalCode": "http://purl.obolibrary.org/obo/NOMEN_0000036"
   },
   "label": "Diplocynodon ratelii Pomel, 1847 sec Díaz Aráez et al, 2017",
   "describedBy": { Citation to Pomel, 1847 },
   "accordingTo": { Citation to Díaz Aráez et al, 2017 }
}

What do you think?

gaurav added a commit that referenced this issue Jul 11, 2019
This PR cleans up taxonomic units in several ways:
- Taxonomic units have clear types (stored in the `@type` property), indicating whether they are taxon concepts (with or without a citation) or specimens, allowing us to more easily add taxonomic units for apomorphies and phylorefs later on. (closes #20).
- RDF properties used by taxon concepts and names have been rewritten to bring them more into line with the TDWG ontologies TaxonConcept and TaxonName, including the use of `TaxonName:nameComplete` instead of `dwc:scientificName` (closes #8).
- External references are stored in the `@id` element rather than in a separate property.
- Added support for nomenclatural codes in scientific names (as per phyloref/klados#143). Note that this PR includes an earlier version of the nomenclature code system; this is updated and improved in #26.

This PR also introduces a new `TaxonConceptWrapper` as an analogue to `SpecimenWrapper` and renames the `ScientificNameWrapper` to the shorter `TaxonNameWrapper`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant