Skip to content

API Design ‐ Resources

regetz edited this page Feb 22, 2025 · 7 revisions

Note: Most VegBank 1.0 examples below trace back to this plot observation.

Strong entities

Plot observations

{
  "accession_code": "...",
  "plot": {
    "accession_code": "...",
    "author_plot_code": "027-02-0403",
    "latitude": "32.576586567",
    "longitude": "-81.328065036",
    "location_accuracy": "200 m",
    "confidentiality_status": "exact location",
    "author_location": "Webb Wildlife Center",
    "state_or_province": "South Carolina",
    "country": "United States",
    "named_places": [
      {`named_place`},
      {`named_place`}
    ],
    "azimuth": 292,
    "shape": "Rectangular",
    "area": "1000 m²",
    "permanence": "permanent plot",
    "elevation": "10 m",
    "elevation_accuracy": "10 m",
    "slope_aspect": "(n/a, flat)",
    "slope_gradient": "0",
    "topographic_position": "Low level",
    "landform": "river flat"
  },
  "author_obs_code": "027-02-0403",
  "hydrologic_regime": "Temporarily flooded",
  "observation_start_date": "15-May-1997",
  "observation_end_date": "15-May-1997",
  "date_accuracy": "exact",
  "project": {`project`},
  "cover_method": {`coverMethod`},
  "stratum_method": {`stratumMethod`},
  "stem_size_limit": "0 cm",
  "method_narrative": "Carolina Vegetation Survey Standard...",
  "taxon_observation_area": "1000 m²",
  "cover_dispersion": "subplot-contiguous",
  "auto_taxon_cover": "yes",
  "stem_observation_area": "1000 m²",
  "stem_sample_method": "Full census",
  "plot_validation_level": "(2) classification plot: ...",
  "soil_taxon": {
    "accession_code": "...",
    "soil_name": "...",
    "soil_level": "..."
  },
  "soil_obs": [
    {
      "soil_horizon": "...",
      "soil_texture": "...",
      "soil_description": "..."
    },
  ],
  "disturbance_obs": [
    {
      "disturbance_type": "...",
      "disturbance_intensity": "...",
      "disturbance_comment": "..."
    },
  ]
}

VegBank 1.0 example

Named Place

{
  "accession_code": "VB.NP.411.SOUTHCAROLINA",
  "place_system": "region|state|province",
  "place_name": "South Carolina",
  "place_code": "n-us-sc",
  "reference": {`reference`}
}

VegBank 1.0 example


Plant name

Note: Database table does not have accessionCode?

{
  `tbd`,
}

Community name

Note: Database table does not have accessionCode?

{
  `tbd`,
}

Reference Party

{
  `tbd`,
  "accession_code": "..."
}

VegBank 1.0 example


Plant Concept

{
  "accession_code": "urn:lsid:cvs.bio.unc.edu:reference:36538-{7AC65A89-7222-4B0A-A501-F25E17C1BD6F}",
  "plant_name": "Carya glabra",
  "reference": {`reference`}
}

VegBank 1.0 example

Additional examples with non-standard characters:


Community concept

{
  "accession_code": "urn:lsid:vegbank.org:commConcept:33565-{6565F58F-E088-4C65-866B-E6C512E078EA}",
  "name": "Quercus hemisphaerica - Magnolia grandiflora - Carya pallida / Vaccinium arboreum / Chasmanthium sessiliflorum Forest",
  "reference": {`reference`},
  "description": "This association represents upland forests with diverse overstory composition found in..."
}

VegBank 1.0 example

  • Main table: commConcept
  • Join table: commName

Party

{
  "accession_code": "...",
  `tbd`
}

VegBank 1.0 example, example2


Reference

{
  "accession_code": "urn:lsid:vegbank.org:reference:36553-{79672A9E-3159-4713-B8C2-16F22FD013F4",
  "short_name": "NatureServe Biotics 2019",
  "title": "Biotics Database",
  "pub_date": "01-May-2019",
  "publisher": "NatureServe",
  "url": "http://www.natureserve.org/conservation-tools/biotics-5"
}

VegBank 1.0 example


Stratum Method

{
  "accessionCode": "VB.SM.1.CAROLINAVEGETAT",
  "stratum_method_name": "Carolina Vegetation Survey",
  "stratum_method_description": "Stratum heights are constructed to reflect the vegetation of the plot. Foliage is then...",
  "reference": {`reference`},
  "stratum_types": [
    {
      "stratum_index": "E",
      "stratum_name": "Emergent",
      "stratum_description": "Foliage generally greater than 35m high"
    },
    {
      "stratum_index": "H",
      "stratum_name": "Herb",
      "stratum_description": "Foliage generally less than 0.5m high"
    },
  ]
}

VegBank 1.0 example


Cover Method

{
  "accession_code": "VB.CM.1.CAROLINAVEGETAT",
  "cover_type": "Carolina Vegetation Survey",
  "reference": {`reference`},
  "cover_types": [
    {
      "cover_code": 1,
      "lower_limit": 0,
      "upper_limit": 0.1,
      "cover_percent": 0.05,
      "index_description": "trace"
    },
    {
      "cover_code": 2,
      "lower_limit": 0.1,
      "upper_limit": 1,
      "cover_percent": 0.505,
      "index_description": "0-1 percent"
    },
  ]
}

VegBank 1.0 example


Project

{
  "accession_code": "urn:lsid:cvs.bio.unc.edu:project:CVS.Pj.CVS-27",
  "project_name": "High Calcium coastal plain",
  "project_description": "Peet & Wentworth",
  "project_contributors": [
    `projectContributor`,
    `projectContributor`
  ]
}

VegBank 1.0 example


Weak independent entities

Taxon Observation

Bound to a Plot Observation

{
  "accession_code": "urn:lsid:cvs.bio.unc.edu:taxonObservation:40468-{62AA9F79-503C-4C11-89EF-74CB35BCACAC}",
  "plot_observation": `plotObservation`,
  "author_plant_name": "Carya glabra (P. Mill.) Sweet",
  "reference": `reference`,
  "taxon_inferenceArea": "1000 m²"
}

VegBank 1.0 example


Community Classification

Bound to a Plot Observation

{
  "accession_code": "",
  "plot_observation": `plotObservation`,
  "class_start_date": "10-Jun-2015",
  "inspection": "no",
  "table_analysis": "no",
  "multivariate_analysis": "no",
  "community_interpretations": [
    `CommunityInterpretation`,
    `CommunityInterpretation`
  ],
  "classification_contributors": [
    `party`,
    `party`
  ]
}

VegBank 1.0 example


Associative entities

Taxon Interpretation

Bound to both a Plant Concept and a Taxon Observation (and possibly a Stem Location), along with an associated Party and Role (and possibly Reference)

Note: Database table has accessionCode, but it's missing from the ER diagram?

{
  "accession_code": "urn:lsid:cvs.bio.unc.edu:taxonInterpretation:40468-{6AA6BBAD-06D2-4494-9733-E4CAFDA299B0}",
  "plot_observation": `plotObservation`,
  "taxon_observation": `taxonObservation`,
  "plant_concept": `plantConcept`,
  "interpretation_date": "01-Oct-2008",
  "party": `party`,
  "role": `role`,
  "interpretation_type": "Taxonomic revision",
  "original_interpretation": "no",
  "current_interpretation": "no",
  "taxon_fit": "Good answer",
  "taxon_confidence": "High",
  "notes_public": "f",
  "notes_mgt": "f",
  "revisions": "f"
}

VegBank 1.0 example


Community Interpretation

Bound to both a Community Concept and a Community Classification (and possibly a Reference)

Note: Database table does not have accessionCode?

{
  "community_classification": `communityClassification`,
  "community_concept": `communityConcept`,
  "class_fit": 4,
  "class_confidence": "",
  "community_authority_reference": `reference`,
  "typal": "no"  ## where does this come from??
}

VegBank 1.0: Embedded in Community Classification view?


Classification Contributor

Bound to both a Community Classification and a Party (and possibly a Role)

Note: Database table does not have accessionCode?

{
  `tbd`
}

VegBank 1.0: Embedded in Community Classification view?