VegCore data dictionary¶
VegCore is a vegetation exchange schema which combines 380+ terms and 38 tables from existing exchange schemas
Examples¶
Example specimen data¶
See ACAD.Specimen.csv1, which contains well-formed Darwin Core data.
1 This public domain dataset is from ACAD, a Canadensys herbarium
Data dictionary notes¶
- A leading
?
indicates an ambiguous term - Copying a term name gives you a permalink to that term, which can be pasted into an HTML-formatted e-mail
- For a term's preferred name, the sources are only those which inspired that name for the term.
The term's concept, on the other hand, comes from all sources for the term, including those of synonyms. - Some links contain a URL fragment (the part after the
#
) which indicates a section within the linked resource. Mouse over the link to view this fragment.
See also: Special terms | Editing guide | Sources
VegCore format notes¶
- In the data dictionary, terms are placed in the table they are most applicable to.
In a VegCore export, they can also be placed in any other table they apply to, according to how the data is normalized.
Downloads¶
normalized VegCore schema¶
The schema makes extensive use of inheritance, which can be implemented in several ways. The tables are shown in the ERD using class table inheritance (option 3 in the link), which is considered the best practice for most database engines. However, if and only if PostgreSQL-style inheritance ever supports foreign keys3, it may then be better to use concrete table inheritance (option 2), which avoids both the need to insert into each superclass table separately, and the need to join to superclass tables when selecting2. Until this is available, you can also get these benefits via single table inheritance (option 1, which is the denormalized, full_occurrence format) at the expense of being messier (not having separate tables for the separate subclasses).
2 at the cost of slightly slower index scans when there is a large number of subclasses and rows are evenly distributed between them (because each subclass index needs to be scanned separately).
also, when inserting into a subclass, you need to explicitly check that the pkey doesn't exist in any superclass (or sibling subclass), because unique indexes don't include superclass rows.
3 "A serious limitation of the inheritance feature is that indexes (including unique constraints) and foreign key constraints only apply to single tables, not to their inheritance children. This is true on both the referencing and referenced sides of a foreign key constraint." (PostgreSQL: Inheritance > Caveats)
however, you can simulate a foreign key using a domain type with a CHECK constraint that SELECTs on the referenced table. this SELECT statement will also query subclass tables, making this a suitable way of implementing foreign keys to superclass tables.
denormalized VegCore entities¶
Source
Dataset
Record
Occurrence
Method
Stratum
Project
Event
EventParticipant
Coordinates
Placename
Geovalidation
Location
LocationObservation
Subplot
SubplotObservation
SoilObservation
GeologicalContext
Community
TaxonName
TaxonConcept
QualifiedTaxonName
MatchedTaxon
AcceptedTaxon
TaxonOccurrence
TaxonDetermination
OriginalTaxonDetermination
AggregateObservation
Individual
IndividualObservation
Stem
StemObservation
Collection
Specimen
Voucher
Measurement
ResourceRelationship
Source ¶
a "reference[...] cited within the database" (VegBank)
Datasource ¶
DataProvider ¶
Reference ¶
sourceType ¶
Values: herbarium, primary database, aggregator, ...
referenceType ¶
aggregatorOrPrimary ¶
Components:
isHerbarium ¶
source ¶
Where this database got the data
"the proximate data provider" (Brad Boyle)
"Can an aggregator (such as GBIF or SALVIAS) or an original source (a herbarium such as ARIZ or a person such as Bob Peet)" (Brad Boyle)
proximateDataProvider ¶
dataProvider ¶
dataSource ¶
dataSourceName ¶
firstPublisher ¶
Who initially published the data. This is usually an institution.
"The dataprovider that first provides electronic access to a dataset. The dataprovider must not have obtained the data from another dataprovider; they either digitized the dataset themselves, or are making available a digital copy of the dataset prepared by someone else but not previously made available." (Brad Boyle)
primaryDataProvider ¶
dataPublisher ¶
distributors¶
The data distributors through which the record passed, starting with the source and ending with the firstPublisher
The entities that "provide electronic access to a dataset" (Brad Boyle)
dataProviders ¶
references ¶
dcterms_references ¶
data_authors ¶
Who made the observation the data record is based on. This is usually a person. For a specimen or measurement, this is the collector.
"The persons or institutions who created the data on which a dataset is based. Note that digitization of data (for example, digitization of a specimen by a herbarium) does not by itself constitute authorship. A herbarium that digitizes a specimen is the datapublisher, not a dataauthor, of that specimen. The dataauthor of a specimen is the collector." (Brad Boyle)
data_author ¶
dataOwners ¶
"A dataauthor who retains at least minimum ownership rights. A test of minimum ownership rights is acknowledgement: if you are obliged to cite a dataauthor, they they are also a dataowner. Collectors of individuals specimens are not considered data owners as they are not typically acknowledged. Dataowner may have more extensive ownership rights, including the right to restrict access to their data and the right to be offer coauthorship in publications which use their data." (Brad Boyle)
dataOwner ¶
rightsHolder ¶
dcterms_rightsHolder ¶
datasetOwner ¶
source__version ¶
edition ¶
source__modified_date ¶
This applies to the source rather than the data record
pubDate ¶
Compare to: modified
Dataset ¶
DataResource ¶
dataset ¶
"One or more data records managed together as a unit, and limited in scope in one or more ways, for example, to a particular region ("Madidi National Park forest plots"), a particular author ("Alwyn Gentry Transect Dataset"), a particular taxon ("University of Arizona Mycological Collection"), a particular research project ("La Selva secondary forest plots") or a particular data publisher (typically, a herbarium, such as New York Botanical Garden)" (Brad Boyle)
"a dataset belonging to a designated primary data owner, either a person or an institution. For a specimen record provided to BIEN by an aggregator, datasource<>(dataset=institutionCode). For a specimen record provided to BIEN by the herbarium which holds that specimen, datasource= dataset =institutionCode. For a plot provided by the data owner, datasource= dataset <>(institutionCode=NULL). For a plot provided by an aggregator, datasource<> dataset <>(institutionCode=NULL)." (Brad Boyle)
"a set of records that can be traced to a single party or group of parties who are the owners of the data. For specimens, all records from a single herbarium (as identified by the herbarium acronym) would constitute a dataset. For plot, a set of plot provided at one time by a particular owner typically constitute a dataset. Note that the dataset is not the same as the datasetOwnerID; while one dataset traces only to a single datasetauthor (which can be a group of authors), a single datasetauthor my own multiple datasets." (Brad Boyle)
dataResource ¶
datasetName ¶
datasetURL ¶
datasetID ¶
Record ¶
recordID ¶
dataProviderRecordID ¶
ID within dataProvider
"Unique ID (primary key) within datasource database. Will be same as datasetRecordID if dataset and datasource are the same." (Brad Boyle)
Scope: dataProvider
datasourceRecordID ¶
ID_Canadensys ¶
globalUniqueIdentifier_SpeciesLink ¶
?ID ¶
Alternative: ID_Canadensys¶
Alternative: ID_TEAM¶
datasetRecordID ¶
"Unique ID (database primary key) for the specimen or observation in the dataset, if provided." (Brad Boyle)
Scope: dataset
type¶
dcterms_type ¶
modified¶
"an internal timestamp indicat[ing] when record last modified, not necessarily when determination (taxon name) last modified" (Brad Boyle)
dcterms_modified ¶
dateLastModified ¶
language¶
dcterms_language ¶
rights¶
dcterms_rights ¶
accessRights¶
dcterms_accessRights ¶
bibliographicCitation¶
dcterms_bibliographicCitation ¶
informationWithheld ¶
dataGeneralizations ¶
dynamicProperties ¶
Occurrence ¶
An observation of any entity, biological or otherwise
Observation_VegCore ¶
occurrenceID ¶
"A globally unique identifier for the specimen or observation, formed by combining the [...] unique identifier of the collection with the locally unique identifier of the specimen. For specimens, construct as follows: "urn:catalog:[institutionCode]:[collectionCode]:[catalogNumber]". If a properly formed occurrenceID is provided by the data provider, use it. For plots, construct as follows: "urn:observation:[datasource]:[dataset]:[catalogNumber]. Replace any spaces in dataset name with hyphens." (Brad Boyle)
globalUniqueIdentifier_DwC ¶
?globalUniqueIdentifier ¶
Alternative: globalUniqueIdentifier_DwC¶
Alternative: globalUniqueIdentifier_SpeciesLink¶
basisOfRecord ¶
occurrenceRemarks ¶
organismNotes ¶
fieldNotes_DwC_curatorial ¶
remarks ¶
notes_SALVIAS ¶
?fieldNotes ¶
Alternative: fieldNotes_DwC_curatorial¶
Alternative: fieldNotes_DwC_terms¶
?notes ¶
Alternative: notes_SALVIAS¶
Alternative: notes_Madidi¶
recordedBy ¶
"A list (concatenated and separated) of names of people, groups, or organizations responsible for recording the original Occurrence. The primary collector or observer, especially one who applies a personal identifier (recordNumber), should be listed first." (DwC)
collector ¶
Components:
recordedBy_givenName ¶
"The given name" (VegX)
recordedBy_middleName ¶
The "middle name or initial" (VegBank)
recordedBy_surName ¶
"The last name" (VegX)
associatedMedia ¶
associatedReferences ¶
associatedOccurrences ¶
associatedSequences ¶
?Observation ¶
Alternative: Observation_VegCore¶
Alternative: Observation_VegBank¶
Method ¶
"A specific method definition followed in the creation of the dataset. Each method links to a protocol and literature citation reference. A protocol may have many method or steps." (VegX)
SamplingProtocol ¶
Related: VegBank:stratumMethod, VegBank:coverMethod
samplingProtocolID ¶
samplingProtocol ¶
method¶
Named like: Method
methodology¶
plotMethodology ¶
samplingEffort ¶
?observationType ¶
Alternative: observationType_SALVIAS¶
Alternative: observationType_BIEN2¶
observationGranularity¶
Values: plot, specimen
observationType_BIEN2 ¶
observationMeasure ¶
Values: count, cover, presence, points-intercepted, distance-intercepted
observationType_SALVIAS ¶
Stratum ¶
a non-horizontal way of subdividing a plot
stratum__name ¶
Project ¶
A "project established to collect vegetation plot data. Each plot originates as part of a project." (VegBank)
projectID ¶
"A reference to a specific 'project'" (VegX)
projectName¶
"Title of the project" (VegX)
projectTitle ¶
Named like: plotName
projectStartDate ¶
"Project start date" (VegBank)
Named like: startDate
projectEndDate ¶
"Project stop date" (VegBank)
Named like: endDate
Event ¶
"an action that occurs at a place and during a period of time" (DwC)
eventID ¶
censusID ¶
eventDate ¶
"The date-time or interval during which an Event occurred" (DwC)
startDate¶
"The start date" (VegX) of the "interval during which an Event occurred" (DwC)
obsStartDate ¶
Related: eventDate
endDate¶
"The end date" (VegX) of the "interval during which an Event occurred" (DwC)
obsEndDate ¶
Related: eventDate
eventTime ¶
timeOfDay ¶
dayOfYear ¶
the day of the month
julianDay ¶
startDayOfYear ¶
endDayOfYear ¶
year ¶
month ¶
day ¶
verbatimEventDate ¶
authorEventCode¶
"the code or name that the author uses to identify [the] event" (VegBank)
authorObsCode ¶
plotCensusNumber ¶
fieldNumber_DwC_terms ¶
eventRemarks ¶
"the text of notes taken in the field about the Event" (DwC)
fieldNotes_DwC_terms ¶
EventParticipant¶
A participant in an Event
ObservationContributor ¶
event__participant ¶
project_participant ¶
Coordinates ¶
A numerically-defined point
?latitude ¶
decimalLatitude ¶
verbatimLatitude ¶
latitude_DMS¶
Components:
latitude_deg ¶
latitude_min ¶
latitude_sec ¶
?longitude ¶
decimalLongitude ¶
verbatimLongitude ¶
longitude_DMS¶
Components:
longitude_deg ¶
longitude_min ¶
longitude_sec ¶
acceptedDecimalLatitude ¶
acceptedDecimalLongitude ¶
realLatitude ¶
Replace with: PRIVATE¶
realLongitude ¶
Replace with: PRIVATE¶
verbatimCoordinates ¶
coordinateUnits ¶
?verbatimCoordinateSystem DwC¶
?verbatimCoordinateSystem ¶
Alternative: coordinateUnits¶
Alternative: geodeticDatum¶
verbatimSRS ¶
geodeticDatum ¶
?verbatimCoordinateSystem conference call on 2013-2-28¶
?coordinateUncertainty ¶
?coordinatePrecision ¶
coordinateUncertaintyInMeters ¶
coordinatePrecision_deg ¶
pointRadiusSpatialFit ¶
footprintWKT ¶
boundingBox ¶
shapeOfSite ¶
footprintSRS ¶
footprintSpatialFit ¶
georeferencedBy ¶
georeferencedDate ¶
georeferenceProtocol ¶
georeferenceProtocol_bien ¶
georeferenceSources ¶
Where the coordinates came from
Values: source data, GPS, georeferencing, ...
coordinateSource ¶
coordinateSource_bien ¶
georeferenceVerificationStatus ¶
georeferenceRemarks ¶
Placename¶
A named region
NamedPlace ¶
higherGeographyID ¶
higherGeography ¶
continent ¶
continentOcean ¶
waterBody ¶
islandGroup ¶
island ¶
country ¶
countryName ¶
acceptedCountry¶
Related: country, acceptedNameUsage
countryCode ¶
stateProvince ¶
state ¶
acceptedStateProvince¶
Related: stateProvince, acceptedNameUsage
county ¶
acceptedCounty¶
Related: county, acceptedNameUsage
municipality ¶
locality ¶
verbatimLocality ¶
locationNarrative ¶
descriptionOfSite ¶
Geovalidation¶
The accuracy of the Coordinates, taking into account the Placename
Geoscrub ¶
Named like: geovalid
geovalid¶
isGeovalid ¶
latLongDomainValid¶
Whether the coordinates are in the range of valid decimal values
isValidLatLong ¶
latLongDomainInvalid¶
Whether the coordinates are not in the range of valid decimal values
isBadLatLong ¶
Named like: isValidLatLong
latLongInCountry¶
isInCountry ¶
Named like: isValidLatLong, country
?distanceToCountry ¶
?distErrCountry ¶
Named like: country
distanceToCountry_m¶
distanceToCountry_km¶
latLongInStateProvince¶
isInStateProvince ¶
Named like: isValidLatLong, stateProvince
?distanceToStateProvince ¶
?distErrStateProvince ¶
Named like: stateProvince
distanceToStateProvince_m¶
distanceToStateProvince_km¶
latLongInCounty¶
isInCountyParish ¶
Named like: isValidLatLong, county
isNewWorld ¶
isNewWorld_bien ¶
Location ¶
"A spatial region" (DwC) or point
Plot ¶
PlotLocation ¶
locationID ¶
plotID ¶
plotUniqueIdentifierID ¶
locationName¶
"Name or label for a plot" (VegX)
plotName ¶
authorPlotCode ¶
locationNumber¶
Named like: recordNumber
parentLocationID ¶
Related: locationID, VegBank:PARENT_ID
parentPlotName¶
"Name or label" (VegX) for "the parent plot when plot is nested within another plot" (VegBank)
Related: VegX:plotName, VegBank:PARENT_ID
locationAccordingTo ¶
LocationObservation¶
A sampling of a Location
PlotObservation_VegX ¶
Observation_VegBank ¶
PlotInventory ¶
Related: Location, VegBank:plot
locationRemarks ¶
plotNotes¶
plotNote ¶
notes_Madidi ¶
?elevation ¶
elevationInMeters¶
elevation_ft¶
verbatimElevation ¶
Value must include units
verbatimElevation_m¶
Components:
?minimumElevation ¶
minimumElevationInMeters ¶
minimumElevation_verbatim¶
Value must include units
?maximumElevation ¶
maximumElevationInMeters ¶
maximumElevation_verbatim¶
Value must include units
?depth ¶
verbatimDepth ¶
Components:
?minimumDepth ¶
minimumDepthInMeters ¶
minimumDepth_verbatim¶
Value must include units
?maximumDepth ¶
maximumDepthInMeters ¶
maximumDepth_verbatim¶
Value must include units
distanceAboveSurfaceInMeters¶
Components:
minimumDistanceAboveSurfaceInMeters ¶
maximumDistanceAboveSurfaceInMeters ¶
?plotArea ¶
"Total area of the plot" (VegX)
?area ¶
plotArea_m2¶
plotArea_ha ¶
slopeAspect ¶
"Representative azimuth of slope gradient (0-360 degrees) or as a cardinal direction (e.g. N, S, NE)" (VegX)
minSlopeAspect ¶
maxSlopeAspect ¶
slopeGradient ¶
"Representative inclination of slope in degrees" (VegX)
minSlopeGradient ¶
maxSlopeGradient ¶
landform ¶
"A recognizable physical feature on the surface of the earth, often including consideration of the natural cause of its formation" (VegX)
?temperature ¶
"Temperature during observation" (VegX)
"Mean annual temperature" (SALVIAS)
temperature_C¶
temp_C ¶
temperature_F¶
?precipitation ¶
precipitation_m¶
precipitation_mm¶
precip_mm ¶
habitat ¶
?PlotObservation ¶
Alternative: PlotObservation_VegX¶
Alternative: PlotObservation_SALVIAS¶
Subplot¶
"subplot, line, or any other subsample or subdivision of plot" (SALVIAS)
Related: SALVIAS:subplot
subplotID ¶
quadratID ¶
Related: locationID, SALVIAS:subplot
subplot ¶
Scope: locationID
quadratName ¶
subplotX¶
"The X-coordinate of the related items position in meters. The user will enter the relative position of related item with respect to the plot origin (in meters) with the x-axis defined by the plot azimuth." (VegX)
plotRelativeX ¶
startX ¶
subplotY¶
"The Y-coordinate of the related items position in metres. The user will enter the relative position of related item with respect to the plot origin (in meters) with the y-axis defined by the plot azimuth." (VegX)
plotRelativeY ¶
startY ¶
SubplotObservation¶
A sampling of a Subplot
Related: Subplot, LocationObservation
SoilObservation¶
A sampling of a Location's soil
AbioticObservation ¶
SoilObs ¶
?phosphorus ¶
"Phosphorus of soil" (VegX)
phosphorus_fraction¶
phosphorus_percent¶
?potassium ¶
"Pottasium of soil" (VegX)
?pottasium ¶
potassium_fraction¶
potassium_percent¶
?magnesium ¶
"Magnesium of soil" (VegX)
magnesium_fraction¶
magnesium_percent¶
?nitrogen ¶
"Nitrogen of soil" (VegX)
nitrogen_fraction¶
nitrogen_percent¶
?carbon ¶
?soilC ¶
carbon_fraction¶
carbon_percent¶
?calcium ¶
?soilCa ¶
calcium_fraction¶
calcium_percent¶
?sodium ¶
?soilNa ¶
sodium_fraction¶
sodium_percent¶
?acidity ¶
?soilAcidity ¶
acidity_fraction¶
acidity_percent¶
?organic ¶
?soilOrganic ¶
organic_fraction¶
organic_percent¶
texture¶
soilTexture ¶
?sand ¶
?soilSand ¶
sand_fraction¶
sand_percent¶
?silt ¶
?soilSilt ¶
silt_fraction¶
silt_percent¶
?clay ¶
?soilClay ¶
clay_fraction¶
clay_percent¶
ph ¶
"The pH of the soil" (VegX)
?cationExchangeCapacity ¶
?exchangeCapacity ¶
?soilCationCap ¶
cationExchangeCapacity_cmol_kg ¶
cationExchangeCapacity_meq_100g ¶
?baseSaturation ¶
baseSaturation_fraction¶
baseSaturation_percent¶
conductivity¶
soilConductivity ¶
GeologicalContext ¶
"information pertaining to a location within a geological context, such as stratigraphy" (DwC)
geologicalContextID ¶
earliestEonOrLowestEonothem ¶
latestEonOrHighestEonothem ¶
earliestEraOrLowestErathem ¶
latestEraOrHighestErathem ¶
earliestPeriodOrLowestSystem ¶
latestPeriodOrHighestSystem ¶
earliestEpochOrLowestSeries ¶
latestEpochOrHighestSeries ¶
earliestAgeOrLowestStage ¶
latestAgeOrHighestStage ¶
lowestBiostratigraphicZone ¶
highestBiostratigraphicZone ¶
lithostratigraphicTerms ¶
group ¶
formation ¶
member ¶
bed ¶
Community ¶
communityID ¶
"A community type is an abstract grouping of organisms that tend to co-occur on the landscape due to shared ecological requirements or preferences. May be designated by syntaxon or physiognomic types." (VegX)
Related: VegX:communityConcept, occurrenceID
communityName¶
"A textual label for a community type" (VegX)
communityConceptName ¶
?Taxon ¶
Alternative: TaxonName¶
Alternative: TaxonPath¶
Alternative: TaxonConcept¶
TaxonName ¶
"a group of one (or more) populations of organism(s), which a taxonomist adjudges to be a unit" (Wikipedia)
TaxonName ¶
PlantName ¶
taxonID ¶
parentTaxonID ¶
Related: taxonID, VegBank:plantParent_ID
scientificNameID ¶
parentScientificNameID ¶
Related: scientificNameID, VegBank:plantParent_ID
parentNameUsageID ¶
namePublishedInID ¶
scientificName ¶
Taxonomic name with author
Compare to: taxonName
taxonName¶
Taxonomic name without author
Compare to: scientificName
Named like: Taxon
taxonNameOrEpithet¶
Related: higherClassification, taxonName
Named like: specificEpithet
taxonNameWithMorphospecies ¶
It doesn't make sense to include infraspecific ranks when using morphospecies.
Use speciesBinomialWithMorphospecies instead.
Related: taxonName, morphospecies
speciesBinomial ¶
species_VegBank ¶
taxonMorphospecies ¶
"To be safe, we always combine the `taxon` plus `morphospecies` to produce a unique string, `taxonMorphospecies`" (Brad Boyle)
# Reconstruct morphospecies using accepted names
UPDATE observations
SET morphospecies=
TRIM(
IF(acceptedSpecies IS NOT NULL,acceptedSpecies,
IF(acceptedGenus IS NOT NULL,CONCAT(acceptedGenus," ",unmatchedTerms),
IF(acceptedFamily IS NOT NULL,CONCAT(acceptedFamily," ",unmatchedTerms),
IF(unmatchedTerms IS NOT NULL,unmatchedTerms,nameSubmitted)
)
)
)
);
speciesBinomialWithMorphospecies ¶
morphospecies_Brad_2 ¶
Related: speciesBinomial, morphospeciesSuffix
parentNameUsage ¶
namePublishedIn ¶
namePublishedInYear ¶
higherClassification ¶
higherPlantGroup ¶
higherPlantGroup_bien ¶
Related: higherClassification
kingdom ¶
phylum ¶
class ¶
order ¶
family ¶
genus ¶
subgenus ¶
specificEpithet ¶
species_DwC ¶
speciesName ¶
?species ¶
Alternative: species_DwC¶
Alternative: species_VegBank¶
morphospeciesSuffix ¶
"the non-standard part of the name. The morphospecies string enables accurate counting of species within a plot, even if standard species names are not known. `morphospecies` strings in theory are of two types: "dependent" morphospecies must be combined with `taxon` to be unique. Most names in the above example are of this type. "standalone" morphospecies string are unique on their own. [...] "Boyle 6155" (a citation of a voucher specimen) is standalone. "Fuzzy Miconia" and Monsterleaf are also probably standalone names as well." (Brad Boyle)
morphospecies_Brad_1 ¶
Compare to: morphoname
?morphospecies ¶
Alternative: morphospecies_Brad_1¶
Alternative: morphospecies_Brad_2¶
infraspecificRank ¶
infraspecificEpithet ¶
subspecies ¶
ssp ¶
subspeciesName ¶
variety ¶
var ¶
forma ¶
fm ¶
cultivar ¶
cv ¶
Notes: "The epithet is usually output in single quotes and may contain multiple words, see ICBN §28" (TCS)
taxonRank ¶
verbatimTaxonRank ¶
scientificNameAuthorship ¶
scientificNameAuthor ¶
vernacularName ¶
commonName ¶
nomenclaturalCode ¶
taxonRemarks ¶
threatened ¶
concatenatedScientificName ¶
Name input to taxonomic scrubbing, which is derived from other Taxon fields
TaxonConcept ¶
A Taxon described by a specific Reference
PlantConcept ¶
Related: taxonConceptID
taxonConceptID ¶
parentTaxonConceptID ¶
Related: taxonConceptID, VegBank:plantParent_ID
nameAccordingTo ¶
"Information about the authorship of this concept which uses the Name in their sense (i.e. secundum, sensu)" (TCS)
accordingTo ¶
nameAccordingToID ¶
QualifiedTaxonName ¶
identificationQualifier ¶
cf_aff ¶
annotations ¶
MatchedTaxon ¶
matchedScientificNameID ¶
Name_matched_url ¶
matchedTaxonName ¶
Name_matched ¶
matchedScientificName ¶
matchedKingdom ¶
matchedPhylum ¶
matchedClass ¶
matchedOrder ¶
matchedFamily ¶
Family_matched ¶
matchedGenus ¶
Genus_matched ¶
matchedSpecificEpithet ¶
Specific_epithet_matched ¶
matchedMorphospecies ¶
Unmatched_terms ¶
matchedInfraspecificEpithet ¶
Infraspecific_epithet_matched ¶
matchedSubspecies ¶
matchedVariety ¶
matchedForma ¶
matchedCultivar ¶
matchedTaxonRank ¶
Name_matched_rank ¶
matchedScientificNameAuthorship ¶
Name_matched_author ¶
Author_matched ¶
taxonomicStatus ¶
matchedTaxonomicStatus ¶
taxonIsCanonical¶
taxonIsAccepted ¶
Named like: Taxon
nomenclaturalStatus ¶
matchedIdentificationQualifier ¶
matchedTaxonConfidence_fraction¶
overallScore ¶
Related: taxonConfidence, TNRS:Name_matched
matchedFamilyConfidence_fraction¶
familyScore ¶
Related: taxonConfidence, TNRS:Family_matched
matchedGenusConfidence_fraction¶
genusScore ¶
Related: taxonConfidence, TNRS:Genus_matched
matchedSpeciesConfidence_fraction¶
specificEpithetScore ¶
Related: taxonConfidence, TNRS:Specific_epithet_matched
Named like: species
AcceptedTaxon ¶
acceptedNameUsageID ¶
acceptedNameUsage ¶
acceptedScientificNameID ¶
acceptedTaxonName ¶
acceptedScientificName ¶
acceptedKingdom ¶
acceptedPhylum ¶
acceptedClass ¶
acceptedOrder ¶
acceptedFamily ¶
acceptedGenus ¶
acceptedSpecificEpithet ¶
acceptedInfraspecificEpithet ¶
acceptedSubspecies ¶
acceptedVariety ¶
acceptedForma ¶
acceptedCultivar ¶
acceptedTaxonRank ¶
acceptedScientificNameAuthorship ¶
acceptedIdentificationQualifier ¶
TaxonOccurrence¶
Any entity on which TaxonDeterminations can be made
"A taxon name string occurring within the dataset. This is a usage concept defined by the dataset author which may follow, or be according to, an additional third party. It may be further related to a published name (taxon name, tcs:TaxonName) and or taxonomic name (taxon concept, tcs:TaxonConcept) in taxonDetermination." (VegX)
Requirements: Should be at the finest level of granularity possible, i.e. each specimen, plant, size class, etc. gets its own TaxonOccurrence
TaxonNameUsageConcept ¶
SpeciesInventory ¶
Named like: Occurrence
authorTaxonCode¶
authorPlantName ¶
Related: recordNumber, VegBank:authorPlotCode, VegBank:stemCode, Taxon
taxonOccurrencePkey ¶
Related: taxonOccurrenceID
taxonOccurrenceID ¶
taxonNameUsageConceptID ¶
taxonObservationID ¶
speciesInvID ¶
Related: VegBank:taxonObservation
dateCollected¶
Related: DwC:EarliestDateCollected-2007-04-17
collectedDate ¶
yearCollected ¶
monthCollected ¶
dayCollected ¶
occurrenceStatus ¶
growthForm¶
habit ¶
Related: VegBank:growthform1Type, habitClassIncluded
oldGrowth ¶
TaxonDetermination ¶
An assertion that a TaxonOccurrence is a particular Taxon
Identification ¶
TaxonInterpretation ¶
identificationID ¶
identificationType ¶
interpretationType ¶
Named like: Identification
taxon_determination__is_current ¶
currentInterpretation ¶
taxon_determination__is_original ¶
originalInterpretation ¶
identifiedBy ¶
dateIdentified ¶
identifiedDate ¶
yearIdentified ¶
monthIdentified ¶
dayIdentified ¶
fit ¶
taxonFit ¶
confidence ¶
taxonConfidence ¶
identificationVerificationStatus ¶
identificationReferences ¶
identificationRemarks ¶
typeStatus ¶
"Indicates whether this specimen served as type for taxon name" (Brad Boyle)
previousIdentifications ¶
associatedTaxa ¶
OriginalTaxonDetermination ¶
originalNameUsageID ¶
originalNameUsage ¶
originalTaxonName ¶
originalScientificName ¶
morphoname ¶
The name assigned in the field, which is unique within the plot
originalKingdom ¶
originalPhylum ¶
originalClass ¶
originalOrder ¶
originalFamily ¶
originalGenus ¶
originalSpecificEpithet ¶
originalInfraspecificEpithet ¶
originalSubspecies ¶
originalVariety ¶
originalForma ¶
originalCultivar ¶
originalTaxonRank ¶
originalScientificNameAuthorship ¶
originalIdentificationQualifier ¶
TaxonObservation ¶
denormalized VegCore doesn't distinguish between taxon occurrences and taxon observations of them.
use TaxonOccurrence instead.
AggregateObservation¶
"An observation applying to all occurrences of an organism based on an aggregation factor" (VegX)
"the importance (i.e. cover, basal area, biomass) of [a] taxon observed on a plot" (VegBank)
AggregateOrganismObservation ¶
AggregateOccurrence ¶
TaxonImportance ¶
Related: VegBank:stemCount, IndividualObservation
aggregateOrganismObservationID ¶
aggregateOccurrenceID¶
individualCount ¶
coverPercent ¶
"Average cover of the index in percent" (VegX)
?intercept ¶
intercept_m¶
intercept_cm ¶
individualCount_1cm_or_more¶
abund1cm ¶
Related: individualCount
individualCount_2_5cm_or_more¶
abund2_5cm ¶
Related: individualCount
individualCount_10cm_or_more¶
abund10cm ¶
Related: individualCount
Individual¶
A distinct biological organism
IndividualOrganism ¶
Organism¶
Tree ¶
Related: IndividualObservation
individualID ¶
tag¶
identificationLabel ¶
tag2 ¶
IndividualObservation¶
An observation of an Individual
IndividualOrganismObservation ¶
OrganismObservation¶
PlotObservation_SALVIAS ¶
Related: Individual
individualObservationID ¶
The unique identifier for the observation of an individual
Requirements: Must be unique within the datasource
individualOrganismObservationID ¶
ID_TEAM ¶
Related: individualID
Suggestions: Usually set to a database primary key
individualCode ¶
authorPlantCode¶
Named like: authorPlotCode, PlantConcept
organismX_m¶
"The X-coordinate of the related item position in m. The user will enter the relative position of related item with respect to the plot origin (in meters) with the x-axis defined by the plot azimuth." (VegX)
individualOrganismObservationRelativeX ¶
organismY_m¶
"The Y-coordinate of the relatedSpatialItem position in m. The user will enter the relative position of relatedSpatialItems with respect to the plot origin (in meters) with the y-axis defined by the plot azimuth." (VegX)
individualOrganismObservationRelativeY ¶
censusNumber¶
censusNo ¶
stemCount ¶
sex ¶
lifeStage ¶
reproductiveCondition ¶
phenology ¶
Components:
flower ¶
fruit ¶
behavior ¶
establishmentMeans ¶
cultivated ¶
cultivated_bien ¶
cultivatedBasis¶
Related: cultivated
cultivatedBasis_bien ¶
canopyForm¶
stemCanopyForm ¶
canopyPosition¶
stemCanopyPosition ¶
lianaInfestation¶
stemLianaInfestation ¶
Stem ¶
An "individual tree stem" (VegBank)
StemLocation ¶
Related: StemObservation, Individual
stemID ¶
stemTag¶
stemTag2 ¶
StemObservation¶
An observation of a Stem
Related: Stem, IndividualObservation
This is an immovable type of TaxonOccurrence
authorStemCode¶
"Name or code applied to a specific stem in the plot. This is generally a numeric label to associate a field data entry with a stem in the database." (VegBank)
stemCode ¶
Named like: authorPlotCode
?height ¶
"The measured height of the stem" (VegBank)
?stemHeight ¶
height_m¶
height_ft¶
?heightFirstBranch ¶
heightFirstBranch_m¶
htFirstBranch_m ¶
heightFirstBranch_ft¶
?diameterBreastHeight ¶
?stemDbh ¶
?DBH ¶
diameterBreastHeight_m¶
diameterBreastHeight_cm¶
diameterBreastHeight_in¶
?diameterBreastHeightGentry ¶
?gentryDbh ¶
diameterBreastHeightGentry_m¶
diameterBreastHeightGentry_cm¶
diameterBreastHeightGentry_in¶
?basalDiameter ¶
?basalDiam ¶
basalDiameter_m¶
basalDiameter_cm¶
basalDiameter_in¶
stemNotes ¶
Collection ¶
"the collection within the institution where a specimen is held" (Brad Boyle)
A type of dataset that applies only to specimens
collection ¶
"the collection within the institution where a specimen is held. This is not an important field for herbaria because the herbarium acronym (institutionCode) is already globally unique. Herbaria typically use a word describing the type of collection, such as "herbarium", although I have also seen the acronym repeated here. Needed for animal collections where institutionCode is the name of a university and collectionCode distinguishes one of several collections (e.g., institutionCode="University of Colorado", collectionCode="Mammals"). In general, use whatever the data provider provides, unless badly formed." (Brad Boyle)
collectionCode ¶
collectionURL ¶
collectionID ¶
Specimen ¶
A "part of a plant" (Wikipedia) which was collected from it
This is a movable type of TaxonOccurrence
Related: Occurrence
specimen_duplicate_institutions ¶
The institution(s) holding a copy of the specimen
"Identifies the institution where a specimen is held. For herbaria, this will be the acronym of the herbarium. In general, use the verbatim value provided by the data provider, unless this is incorrect. For an aggregator such as GBIF, this column will contain many values corresponding to different data providers. For a primary source (e.g., New York Botanical Garden), all values should be the same (e.g., "NY"). Some herbaria incorrectly list the acronym that sent them the specimen if it was an exchange or trade. This is incorrect. Only the acronym of the herbarium providing the data should be listed here, regardless of whether they collected the specimen themselves or received it as a duplicate from another herbarium." (Brad Boyle)
specimenHolderInstitutions ¶
specimenHolderInstitution ¶
institutionCode_DwC ¶
Compare to: specimenDonorInstitution
specimenHolderURL ¶
institutionID ¶
?institutionCode ¶
Alternative: institutionCode_DwC¶
Alternative: institutionCode_UNCC¶
specimenDonorInstitution ¶
"The name or acronym in use by the institution that donated the collection" (Bob Peet)
"the acronym [of the donor institution] that sent [...] the specimen if it was an exchange or trade" (Brad Boyle)
institutionCode_UNCC ¶
specimenOwner ¶
The institution which owns the specimen. This is specimenHolderInstitution if the specimen was donated or specimenDonorInstitution if it was lent.
ownerInstitutionCode ¶
specimenStampingInstitution ¶
The institution that stamped an accession number or barcode on the specimen
barcode ¶
"a bar code, machine-generated and glued or stamped to the specimen and recorded in the database" (Brad Boyle)
"IF a herbarium provides a field labelled "barCode" (or similar) that value goes here, otherwise NULL. Should be locally unique within the dataset (it may also be unique within the datasource if datasource=dataset)." (Brad Boyle)
Scope: specimenIndexer (not custodialInstitution) + collection
If the specimenIndexer is not provided, the custodialInstitution may be substituted instead. If multiple custodialInstitutions are specified, this assumes that they all share the same barcode.
accessionNumber ¶
"an accession number stamped physically on the specimen [...] The accession number is the most widely used, but is not guaranteed to be unique because of the physical stamping process, human error, etc." (Brad Boyle)
"Whatever the data provider provides, as long as catalogNumber is unique within the dataset. If no catalogNumber provided, use accessionNumber, but only if it is unique within the dataset. If no accession number, use datasetRecordID, else use barCode, else use datasourceRecordID. This usage differs from DwC in that catalogNumber is constrained to be unique within the dataset. It is populated for plot data as well as specimens." (Brad Boyle)
Scope: specimenIndexer (not custodialInstitution) + collection
If the specimenIndexer is not provided, the specimenHolder may be substituted instead. If multiple specimenHolders are specified, this assumes that they all share the same catalogNumber.
accession ¶
museumAccessionNumber ¶
catalogNumber ¶
collectorNumber ¶
Scope: none
collectionNumber ¶
recordNumber ¶
fieldNumber_DwC_classic ¶
?fieldNumber ¶
Alternative: fieldNumber_DwC_classic¶
Alternative: fieldNumber_DwC_terms¶
preparations ¶
preparationType ¶
preparation ¶
specimenDescription ¶
disposition ¶
otherCatalogNumbers ¶
previousCatalogNumber ¶
Voucher¶
voucherType¶
Values: direct, indirect
detType ¶
Measurement¶
An attribute of any type of Occurrence
MeasurementOrFact ¶
TraitObservation ¶
Trait¶
measurementID ¶
measurementName¶
measurementType ¶
traitName ¶
measurementValue ¶
traitValue ¶
measurementAccuracy ¶
measurementUnit ¶
unit ¶
measurementDeterminedDate ¶
measurementDeterminedBy ¶
measurementMethod ¶
measurementRemarks ¶
ResourceRelationship ¶
"information pertaining to relationships between resources (instances of data records, such as Occurrences, Taxa, Locations, Events)" (DwC)
resourceRelationshipID ¶
resourceID ¶
relatedResourceID ¶
relatedCatalogItem ¶
relationshipOfResource ¶
relationshipType ¶
relationshipAccordingTo ¶
relationshipEstablishedDate ¶
relationshipRemarks ¶
Special terms¶
A distinguishing suffix must be appended to each special term in the format special_term#suffix
to make the resulting column name unique within the staging table. This suffix is usually the original column name.
OMIT¶
The field contains data but should be omitted
The reason for omission should be described in the mapping's comments
Use the format OMIT#this_field
When possible, use one of the more specific terms below:
UNUSED¶
The field does not contain any data
The following query should return no rows:
SELECT * FROM table WHERE field IS NOT NULL
DUPLICATE¶
The field contains the same data as another field (so that both do not need to be mapped)
The following query should return no rows: (requires *?>=*)
(The values do not need to be exactly the same if the other field is more complete than this field)
SELECT * FROM table WHERE NOT dup_field ?>= this_field
The field is also an exact duplicate if the following query returns no rows:
SELECT * FROM table WHERE NOT dup_field IS NOT DISTINCT FROM this_field
Use the format DUPLICATE#of:dup_field#this_field
(with original column names)
EQUIV¶
The field contains data that is equivalent to another field (so that both do not need to be mapped)
The following query should return no rows: (requires *?*>=*)
SELECT * FROM table WHERE NOT equiv_field ?*>= this_field
Use the format EQUIV#to:equiv_field#this_field
(with original column names)
PRIVATE¶
The field contains private data which should be omitted from a public database
Sources¶
Mouse over a source's acronym to see its full name
Exchange schemas¶
DwC¶
VegCore includes all Darwin Core terms (some have been renamed, eg. to clarify what kind of entity a term is referring to, since this might not be a specimen)
DwC-terms¶
DwC-history¶
DwC-MaNIS¶
DwC-classic¶
DwC-dwcore¶
TCS¶
VegX¶
Aggregators¶
TNRS¶
VegBank¶
SALVIAS¶
VegBIEN¶
BIEN2¶
BIEN2-web¶
BIEN2-core¶
BIEN2-DB¶
Primary databases¶
CTFS¶
CTFS-DB¶
CTFS-v5¶
People¶
Brad Boyle¶
Brad Boyle-data provenance¶
Brad Boyle-DwC IDs-2013-2-7¶
Brad Boyle-DwC IDs-2013-1-31¶
Editing¶
Note: This section must stay on the same page as the data dictionary so that its templates are refactored along with it
- To get the Redmine syntax for linking to a term, copy the portion of that term's header with the form
[[VegCore#term_anchor|term_name]]
- After adding or renaming a term, be sure to regenerate the VegCore downloads, using the steps in README.TXT > Maintenance > VegCore data dictionary
Naming¶
- A term name should always be a u-name (unambiguous and with a standard format) to allow seamlessly combining data from arbitrary datasets
- It should ideally be the c-name (as short as possible)
Tables¶
- Table names are capitalized (this is required by scripts that parse the data dictionary page)
- Table names should always be singular, not plural
Table template:¶
All sections are optional
h1. [[VegCore#Table|Table]] !{padding-left: 1em; font-size: small; font-weight: normal;}_(from)! !{font-size: small;}_(Source)!:URL#TableAsSpelledBySource p(((. definition h3((. !{padding: 0 0.3em 3pt 0.75em; font-weight: normal;}_(Synonym:)! [[VegCore#Table|Table]] !{padding-left: 1em; font-size: small; font-weight: normal;}_(from)! !{font-size: small;}_(Source)!:URL#SynonymAsSpelledBySource [fields...]
Fields¶
- Field names start with a lowercase letter (this is required by scripts that parse the data dictionary page)
Field template:¶
All sections are optional
h2((. [[VegCore#field|field]] !{padding-left: 1em; font-size: small; font-weight: normal;}_(from)! !{font-size: small;}_(Source)!:URL#fieldAsSpelledBySource p(((((. definition p(((((. Scope: [[VegCore#uniqueWithinTerm1|uniqueWithinTerm1]] + [[VegCore#uniqueWithinTerm2|uniqueWithinTerm2]] h3((((. !{padding: 0 0.3em 3pt 0.65em; font-weight: normal;}_(Synonym:)! [[VegCore#synonym|synonym]] !{padding-left: 1em; font-size: small; font-weight: normal;}_(from)! !{font-size: small;}_(Source)!:URL#synonymAsSpelledBySource p(((((. Related: [[VegCore#relatedTerm|relatedTerm]] p(((((. Named like: [[VegCore#similarlyNamedTerm|similarlyNamedTerm]]
ID template:¶
- See also Forming IDs
h2((. [[VegCore#ID|ID]] !{padding-left: 1em; font-size: small; font-weight: normal; font-style: italic;}_(text ID)!:https://projects.nceas.ucsb.edu/nceas/projects/bien/wiki/Text_IDs !{padding-left: 1em; font-size: small; font-weight: normal;}_(from)! !{font-size: small;}_(Source)!:URL#fieldAsSpelledBySource [...]
Ambiguous terms¶
- Ambiguous term names must start with
?
(this is required by scripts that parse the data dictionary page) - Except for fields requiring units, each alternative should also be listed as a synonym of an unambiguous term.
These synonyms must not have the same HTML anchor as the ambiguous term itself, to ensure that the ambiguous term's anchor links to it rather than to its first alternative. The templates below, which differ from ordinary synonyms, will ensure this. - Term and synonym headers have the form
[[VegCore#term|?term]]
. The leading ? will be displayed in the data dictionary but won't be part of the HTML anchor, which allows the term to be permalinked using just its name.
In the templates below, note that there are two forms of synonym definitions, depending on whether the synonym has a from clause or not. These are needed to form the HTML anchor properly.
Ambiguous table template:¶
h1. [[VegCore#AmbiguousTable|?AmbiguousTable]] !{padding-left: 1em; font-size: small; font-weight: normal; font-style: italic;}_(AMBIGUOUS)! h3(((. Alternative: [[VegCore#Alternative1_withFrom|Alternative1_withFrom]] h3(((. Alternative: [[VegCore#Alternative2_withoutFrom|Alternative2_withoutFrom]] [...] h1. [[VegCore#Alternative1_withFrom|Alternative1_withFrom]] [...] h3((((. !{padding: 0 0.3em 3pt 0.65em; font-weight: normal;}_(Synonym:)! [[VegCore#AmbiguousTable|?AmbiguousTable]] !{padding: 0 0 3pt 1em; font-size: small; font-weight: normal;}_(from)! "Source":URL#AmbiguousTableAsSpelledBySource [...] h1. [[VegCore#Alternative2_withoutFrom|Alternative2_withoutFrom]] [...] h3((((. !{padding: 0 0 3pt 0.65em; font-weight: normal;}_(Synonym)!: [[VegCore#AmbiguousTable|?AmbiguousTable]]
Ambiguous field template:¶
h2((. [[VegCore#ambiguousTerm|?ambiguousTerm]] !{padding-left: 1em; font-size: small; font-weight: normal; font-style: italic;}_(AMBIGUOUS)! h3(((((. Alternative: [[VegCore#alternative1_withFrom|alternative1_withFrom]] h3(((((. Alternative: [[VegCore#alternative2_withoutFrom|alternative2_withoutFrom]] [...] h2((. [[VegCore#alternative1_withFrom|alternative1_withFrom]] [...] h3((((. !{padding: 0 0.3em 3pt 0.65em; font-weight: normal;}_(Synonym:)! [[VegCore#ambiguousTerm|?ambiguousTerm]] !{padding: 0 0 3pt 1em; font-size: small; font-weight: normal;}_(from)! "Source":URL#ambiguousTermAsSpelledBySource [...] h2((. [[VegCore#alternative2_withoutFrom|alternative2_withoutFrom]] [...] h3((((. !{padding: 0 0 3pt 0.65em; font-weight: normal;}_(Synonym)!: [[VegCore#ambiguousTerm|?ambiguousTerm]]
Field requiring units template:¶
This also includes enums (picklists). In this case, the units are the name of a vocabulary (which is often the name of the source which defines it).
Synonyms sections are optional
h2((. [[VegCore#fieldRequiringUnits|?fieldRequiringUnits]] !{padding-left: 1em; font-size: small; font-weight: normal; font-style: italic;}_(requires units)! h3((((. !{padding: 0 0.3em 3pt 0.65em; font-weight: normal;}_(Synonym:)! [[VegCore#synonym|?synonym]] !{padding-left: 1em; font-size: small; font-weight: normal; font-style: italic;}_(requires units)! !{padding-left: 1em; font-size: small; font-weight: normal;}_(from)! !{font-size: small;}_(Source)!:URL#synonymAsSpelledBySource h3((((. !{padding: 0 0.3em 3pt 0.65em; font-weight: normal;}_(Unit alternative:)! [[VegCore#fieldRequiringUnits_units1|fieldRequiringUnits_units1]] h3((((((. !{padding: 0 0.3em 3pt 0.65em; font-weight: normal;}_(Synonym:)! [[VegCore#synonym_units1|synonym_units1]] !{padding-left: 1em; font-size: small; font-weight: normal;}_(from)! !{font-size: small;}_(Source)!:URL#synonymAsSpelledBySource h3((((. !{padding: 0 0.3em 3pt 0.65em; font-weight: normal;}_(Unit alternative:)! [[VegCore#fieldRequiringUnits_units2|fieldRequiringUnits_units2]]
Related pages¶