Comments (1)
First of all, there is no ready to use SQL structure that corresponds to the ABCD format. Historically ABCD was designed to be an exchange format for data coming from different already existing databases. This why it is possible to express the same information in different ways, usually with one element for the combined information and one with detailed atomized values, see for instance ScientificName or PersonNames. Also since ABCD covers different types of models (see RecordBasis and KindOfUnit), some parts of the overall standard were modelled after previous existing standards, e.g. HISPID for details about herbarium specimens. So the different parts of ABCD serve different use-cases.
But there are still some recommendations that we can give you. Select the different parts of ABCD that you need and for each element decide, whether it makes sense in your context. Elements that are in repeatable containers should be modelled as separate tables in the database.
The columns for the individual elements should match the type of schema for that element, e.g. String, Integer, Double (However coordinates should be capped to 5 or 6 digits after the decimal, see XKCD 2170: Coordinate Precision).
Wherever possible use external identifiers to connect to external resources, e.g. ORCID and/or Wikidata for persons.
In general try to use elements atomized as possible, as they can be combined during ABCD generation if needed, but when only stored combined, it is hard to separate them, when needed.
Controlled vocabularies can be modelled by importing the terms defined by ABCD as entries in a table and refer to them. This however requires that the input interface and mechanisms need to be designed accordingly. This ensures that fields with controlled vocabularies only contain the values allowed by the standard.
In general it might also be useful to think about the next step in how the data can later be exported back to ABCD. Our recommendation is the BioCASe Provider Software (BPS) for this. I would recommend that you already read the documentation for it and see how your design decisions might influence the later mapping steps.
Two particular things to look out for when modelling for ABCD are the elements for higher taxonomy (element HigherTaxon) and NamedAreas (for geographic locations like counties, districts and states). HigherTaxon has the elements HigherTaxonRank and HigherTaxonName for information like the family or order of the species and not individual elements for them, like for instance DarwinCore does. The named areas are designed similarly with AreaClass and AreaName.
I think those are the important recommendations for now.
Let me know, if you have any further question.
Kind regards
David
from abcd.
Related Issues (16)
- Are any ABCD relevant redirects from any of the TDWG domains needed? HOT 9
- XML schema missing
- Links to rs.tdwg.org/abcd return 404 HOT 3
- ABCD homepage links to dead wiki HOT 2
- mime-type for ABCD-A HOT 1
- Version 3.0 is missing HOT 2
- use of spaces in local names results in invalid URIs
- In the ontology, using SKOS matching properties for classes precludes OWL DL
- Add element for agent who issued an aquisition
- What is the current position of ABCD with regard to person identifiers? HOT 1
- Record Basis enumeration does not match ABCDEFG implementation HOT 2
- Which officially released versions of ABCD exist?
- add element degreeOfEstablishment and pathway (with their controlled vocabularies)
- add controlled vocabulary for establishmentMeans
- next ABCD Interest Group Meeting on 2024-02-20 during the TDWG Workshop Week HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from abcd.