Project

General

Profile

« Previous | Next » 

Revision 120

Added Comments column with Brad's and Aaron's comments to mapping spreadsheets

View differences:

scripts/util/join_maps
20 20
    
21 21
    # Join map 1 to map 0
22 22
    reader = csv.reader(sys.stdin)
23
    map_0_in, map_0_out = reader.next()[:2]
24
    if not map_0_out == map_1_in: raise SystemExit( 'Map error: '
23
    writer = csv.writer(sys.stdout)
24
    cols = reader.next()
25
    if not cols[1] == map_1_in: raise SystemExit( 'Map error: '
25 26
        'Map 0 output column name doesn\'t match map 1 input column name')
26
    writer = csv.writer(sys.stdout)
27
    writer.writerow([map_0_in, map_1_out])
27
    cols[1] = map_1_out
28
    writer.writerow(cols)
28 29
    for row in reader:
29
        if row[1] in map_1: writer.writerow([row[0], map_1[row[1]]])
30
        try: row[1] = map_1[row[1]]
31
        except KeyError: continue # skip row
32
        writer.writerow(row)
30 33

  
31 34
main()
mappings/NYBG-VegX.organisms.csv
1
"NYBG","VegX:/*s/individualOrganismObservation"
2
":1","/simpleUserdefined[name=count]/value"
3
"key",
4
"DateLastModified",
5
"InstitutionCode","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/first"
6
"CollectionCode","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/last"
7
"CatalogNumber",
8
"ScientificName","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonName)/Simple"
9
"BasisOfRecord",
10
"Kingdom","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=reg])/Name"
11
"Phylum","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=phyl_div])/Name"
12
"Class","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=cl])/Name"
13
"Order","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=ord])/Name"
14
"Family","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=fam])/Name"
15
"Genus","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=gen])/Name"
16
"Species","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/Name"
17
"Subspecies","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=ssp])/Name"
18
"ScientificNameAuthor","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/AccordingTo/Simple"
19
"IdentifiedBy","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/partyWithRole/*ID->/parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}"
20
"YearIdentified","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/date/_date/year"
21
"MonthIdentified","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/date/_date/month"
22
"DayIdentified","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/date/_date/day"
23
"TypeStatus",
24
"CollectorNumber",
25
"FieldNumber","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/authorCode"
26
"Collector","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}"
27
"YearCollected","/*ID->/*s/plotObservation/obsStartDate/_date/year"
28
"MonthCollected","/*ID->/*s/plotObservation/obsStartDate/_date/month"
29
"DayCollected","/*ID->/*s/plotObservation/obsStartDate/_date/day"
30
"JulianDay",
31
"TimeOfDay",
32
"ContinentOcean",
33
"Country","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/country"
34
"StateProvince","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/state"
35
"County","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/county"
36
"Locality","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/simpleUserdefined[name=locality]/value"
37
"Longitude","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude"
38
"Latitude","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude"
39
"CoordinatePrecision","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/CoordinateUncertaintyInMeters"
40
"BoundingBox","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/FootprintWKT"
41
"MinimumElevation","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters"
42
"MaximumElevation","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters"
43
"MinimumDepth","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters"
44
"MaximumDepth","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters"
45
"Sex","/*ID->/*s/individualOrganism/simpleUserdefined[name=sex]/value"
46
"PreparationType",
47
"IndividualCount",
48
"PreviousCatalogNumber",
49
"RelationshipType",
50
"RelatedCatalogItem",
51
"Notes","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/note/text"
52
"Habitat","/simpleUserdefined[name=habitat]/value"
53
"PlantFungusDescription","/simpleUserdefined[name=plantFungusDescription]/value"
54
"Substrate","/simpleUserdefined[name=substrate]/value"
55
"Vegetation","/simpleUserdefined[name=vegetation]/value"
56
"UniqueNYInternalRecordNumber","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/voucher"
1
"NYBG","VegX:/*s/individualOrganismObservation","Comments"
2
":1","/simpleUserdefined[name=count]/value",
3
"key",,"Brad: OMIT; I'm pretty sure this is a temporary artificial ID generated at time of export."
4
"DateLastModified",,"Brad: Mapping to VegX is incorrect. I think is this merely an internal timestamp indicated when record last modified, not necessarily when determination (taxon name) last modified. Probably we should omit this field, although might be useful for updating changed records from this source."
5
"InstitutionCode","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/first",
6
"CollectionCode","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/last","Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name"
7
"CatalogNumber",,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it"
8
"ScientificName","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonName)/Simple","Brad: Bob, Nick, please is this mapping OK?"
9
"BasisOfRecord",,"Brad: OMIT? See http://rs.tdwg.org/dwc/terms/index.htm#basisOfRecord for definition of this term."
10
"Kingdom","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=reg])/Name",
11
"Phylum","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=phyl_div])/Name",
12
"Class","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=cl])/Name",
13
"Order","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=ord])/Name",
14
"Family","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=fam])/Name",
15
"Genus","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=gen])/Name",
16
"Species","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/Name",
17
"Subspecies","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=ssp])/Name",
18
"ScientificNameAuthor","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/AccordingTo/Simple","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author"
19
"IdentifiedBy","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/partyWithRole/*ID->/parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}","Brad: Bob: does this look correct for VegBank?"
20
"YearIdentified","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/date/_date/year",
21
"MonthIdentified","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/date/_date/month",
22
"DayIdentified","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/date/_date/day",
23
"TypeStatus",,"Brad: OMIT (?). Indicates whether this specimen served as type for taxon name. Probably not relevant for BIEN"
24
"CollectorNumber",,"Brad: OMIT; db-specific element, not relevant to VB/VX"
25
"FieldNumber","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/authorCode","Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?"
26
"Collector","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}","Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen?"
27
"YearCollected","/*ID->/*s/plotObservation/obsStartDate/_date/year",
28
"MonthCollected","/*ID->/*s/plotObservation/obsStartDate/_date/month",
29
"DayCollected","/*ID->/*s/plotObservation/obsStartDate/_date/day",
30
"JulianDay",,"Brad: OMIT"
31
"TimeOfDay",,"Brad: OMIT"
32
"ContinentOcean",,"Brad: OMIT"
33
"Country","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/country","Brad: Required; reject record if this field NULL"
34
"StateProvince","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/state",
35
"County","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/county",
36
"Locality","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/simpleUserdefined[name=locality]/value","Brad: Correct for VB; Nick, is there no specific element for locality description in VegX? Definitely need one."
37
"Longitude","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude",
38
"Latitude","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude",
39
"CoordinatePrecision","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/CoordinateUncertaintyInMeters",
40
"BoundingBox","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/FootprintWKT",
41
"MinimumElevation","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters",
42
"MaximumElevation","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters",
43
"MinimumDepth","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters",
44
"MaximumDepth","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters",
45
"Sex","/*ID->/*s/individualOrganism/simpleUserdefined[name=sex]/value","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
46
"PreparationType",,"Brad: OMIT"
47
"IndividualCount",,"Brad: OMIT; not relevant for DwC plant specimen data."
48
"PreviousCatalogNumber",,"Brad: OMIT"
49
"RelationshipType",,"Brad: OMIT"
50
"RelatedCatalogItem",,"Brad: OMIT"
51
"Notes","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/note/text","Brad: mapping OK; NY appears to be using this field for almost anything, but mostly internal collections notes"
52
"Habitat","/simpleUserdefined[name=habitat]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?"
53
"PlantFungusDescription","/simpleUserdefined[name=plantFungusDescription]/value","Brad: Incorrect mapping to VB, also possibly to VX;  this is the specimenDescription field, as used by this institution (NOT a standard DwC element). Very important! Bob, Nick, where would this go in VB and VX?"
54
"Substrate","/simpleUserdefined[name=substrate]/value","Brad: Incorrect mapping to VB and VX; refers to geological substrate or soils where specimen collected. Often concatenated with habitat, or included with specimen description. Bob, Nick, is there an element for this in VB/VX, or shall we just use userDefined?"
55
"Vegetation","/simpleUserdefined[name=vegetation]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Habitat'. Bob, Nick: keep as user defined or create special element?"
56
"UniqueNYInternalRecordNumber","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/voucher","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row"
mappings/SALVIAS-VegX.plots.csv
1
"SALVIAS","VegX:/*s/plotObservation"
2
"project","/*ID->/*s/project/title"
3
"PLOT_ID",
4
"plot_code","/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier"
5
"major_geo","/*UniqueIdentifierID->/*s/plot/simpleUserdefined[name=majorGeo]/value"
6
"country","/*UniqueIdentifierID->/*s/plot/country"
7
"pol1","/*UniqueIdentifierID->/*s/plot/state"
8
"pol2","/*UniqueIdentifierID->/*s/plot/county"
9
"locality_description","/*UniqueIdentifierID->/*s/plot/simpleUserdefined[name=localityDescription]/value"
10
"lat_decimal","/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude"
11
"long_decimal","/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude"
12
"elev_m","/*UniqueIdentifierID->/*s/plot/geospatial/verbatimElevation"
13
"elev_max_m","/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters"
14
"elev_min_m","/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters"
15
"temp_c","/temperature"
16
"precip_mm","/simpleUserdefined[name=precipMm]/value"
17
"slope_aspect","/*UniqueIdentifierID->/*s/plot/slopeAspect"
18
"slope_gradient","/*UniqueIdentifierID->/*s/plot/slopeGradient"
19
"clay_percent","->/*s/abioticObservation[*ID]/simpleUserdefined[name=clayPercent]/value"
20
"silt_percent","->/*s/abioticObservation[*ID]/simpleUserdefined[name=siltPercent]/value"
21
"sand_percent","->/*s/abioticObservation[*ID]/simpleUserdefined[name=sandPercent]/value"
22
"organic_percent","->/*s/abioticObservation[*ID]/simpleUserdefined[name=organicPercent]/value"
23
"pH","->/*s/abioticObservation[*ID]/ph"
24
"soil_N","->/*s/abioticObservation[*ID]/nitrogen"
25
"soil_P","->/*s/abioticObservation[*ID]/phosphorus"
26
"soil_C","->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value"
27
"soil_K","->/*s/abioticObservation[*ID]/pottasium"
28
"soil_Mg","->/*s/abioticObservation[*ID]/magnesium"
29
"soil_Ca","->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value"
30
"soil_Na","->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value"
31
"soil_acidity","->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value"
32
"soil_base","->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value"
33
"soil_cation_cap","->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationCap]/value"
34
"soil_conductivity","->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value"
35
"soil_texture","->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value"
36
"holdridge_life_zone","->/*s/communityDetermination[*ID]/communityConcepts/communityConcept/name"
37
"life_zone_code","->/*s/communityDetermination[*ID]/communityConcepts/communityConcept/commonName"
38
"observation_type",
39
"plot_methodology","/simpleUserdefined[name=plotMethodology]/value"
40
"plot_area_ha","/*UniqueIdentifierID->/*s/plot/area"
41
"recensused",
42
"date_start","/obsStartDate/_date/year"
43
"date_finish","/obsEndDate/_date/year"
1
"SALVIAS","VegX:/*s/plotObservation","Comments"
2
"project","/*ID->/*s/project/title",
3
"PLOT_ID",,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
4
"plot_code","/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier","Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)"
5
"major_geo","/*UniqueIdentifierID->/*s/plot/simpleUserdefined[name=majorGeo]/value",
6
"country","/*UniqueIdentifierID->/*s/plot/country",
7
"pol1","/*UniqueIdentifierID->/*s/plot/state","Brad: No; pol1=stateProvince"
8
"pol2","/*UniqueIdentifierID->/*s/plot/county","Brad: No pol2=countyParish"
9
"locality_description","/*UniqueIdentifierID->/*s/plot/simpleUserdefined[name=localityDescription]/value","Brad: No; this is free text description of locality where plot was situated, same as for DwC. Not a description of vegetation. Most likely='namedPlace.placeDescription' in VB; not sure about VX, again need to ask Nick where locality descriptions live in VX"
10
"lat_decimal","/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude",
11
"long_decimal","/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude",
12
"elev_m","/*UniqueIdentifierID->/*s/plot/geospatial/verbatimElevation","Brad: Mean elevation in meters. This is a constrained decimal value; is there no place for this in VegX other than verbatimElevation? Check with Nick."
13
"elev_max_m","/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters",
14
"elev_min_m","/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters",
15
"temp_c","/temperature",
16
"precip_mm","/simpleUserdefined[name=precipMm]/value",
17
"slope_aspect","/*UniqueIdentifierID->/*s/plot/slopeAspect",
18
"slope_gradient","/*UniqueIdentifierID->/*s/plot/slopeGradient",
19
"clay_percent","->/*s/abioticObservation[*ID]/simpleUserdefined[name=clayPercent]/value",
20
"silt_percent","->/*s/abioticObservation[*ID]/simpleUserdefined[name=siltPercent]/value",
21
"sand_percent","->/*s/abioticObservation[*ID]/simpleUserdefined[name=sandPercent]/value",
22
"organic_percent","->/*s/abioticObservation[*ID]/simpleUserdefined[name=organicPercent]/value",
23
"pH","->/*s/abioticObservation[*ID]/ph","Brad: For all these soil variables, how do we store information on method, units. Seems like an ontological structure would be more appropriate (measurementName, measurementValue, measurementUnits, measurementMethod). Same as BIEN traits table. Something to discuss."
24
"soil_N","->/*s/abioticObservation[*ID]/nitrogen",
25
"soil_P","->/*s/abioticObservation[*ID]/phosphorus",
26
"soil_C","->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value",
27
"soil_K","->/*s/abioticObservation[*ID]/pottasium",
28
"soil_Mg","->/*s/abioticObservation[*ID]/magnesium",
29
"soil_Ca","->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value",
30
"soil_Na","->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value",
31
"soil_acidity","->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value",
32
"soil_base","->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value",
33
"soil_cation_cap","->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationCap]/value",
34
"soil_conductivity","->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value",
35
"soil_texture","->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value",
36
"holdridge_life_zone","->/*s/communityDetermination[*ID]/communityConcepts/communityConcept/name",
37
"life_zone_code","->/*s/communityDetermination[*ID]/communityConcepts/communityConcept/commonName",
38
"observation_type",,"Brad: SALVIAS internal metadata indicating whether the record represents an individual or aggregate observation. Rather than storing, use to decide where to store in VegX.; Aaron: VegX aggregateOrganismObservation table is missing many fields available in individualOrganismObservation, so we're mapping to individualOrganismObservation regardless of observation type"
39
"plot_methodology","/simpleUserdefined[name=plotMethodology]/value",
40
"plot_area_ha","/*UniqueIdentifierID->/*s/plot/area","Brad: Area in hectares. Is there any way to store units?; Aaron: VegX plot area annotation says ""Total area of the plot in square meters."" so units are fixed"
41
"recensused",,"Brad: This is a 0/1 value, internal to SALVIAS. 1 indicates that a  plot has >1 set of values, from different census events.; Aaron: Different censuses are distinguished in organisms data by different census_no values"
42
"date_start","/obsStartDate/_date/year",
43
"date_finish","/obsEndDate/_date/year",
mappings/SALVIAS-VegX.organisms.csv
1
"SALVIAS","VegX:/*s/individualOrganismObservation"
2
"OBSERVATION_ID","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/voucher"
3
"PLOT_ID",
4
"plot_code","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/relatedSpatialItem/relatedItem[relationshipType=parentPlot]/relatedItemID->/*s/plot/plotUniqueIdentifier"
5
"census_no","/simpleUserdefined[name=censusNo]/value"
6
"census_date","/*ID->/*s/plotObservation/obsStartDate/_date/year"
7
"subplot","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier"
8
"individual_code","/simpleUserdefined[name=individualCode]/value"
9
"ind_id",
10
"tag1","/*ID->/*s/individualOrganism/identificationLabel"
11
"tag2","/*ID->/*s/individualOrganism/identificationLabel"
12
"x_position","/simpleUserdefined[name=xPosition]/value"
13
"y_position","/simpleUserdefined[name=yPosition]/value"
14
"voucher_string",
15
"coll_number","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/authorCode"
16
"collector_code",
17
"coll_lastname","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/surName"
18
"coll_firstname","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName"
19
"det_type","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/groupType"
20
"fam_status",
21
"gen_status",
22
"species_status",
23
"family","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=fam])/Name"
24
"genus","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=gen])/Name"
25
"specific_epithet","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/Name"
26
"specific_authority","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/AccordingTo/Simple"
27
"infra_rank_1","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=TaxonomicRankBelowSubspeciesEnum])/Rank"
28
"infra_ep_1","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=TaxonomicRankBelowSubspeciesEnum])/Name"
29
"cf_aff","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/note"
30
"comments",
31
"habit","/simpleUserdefined[name=habit]/value"
32
"no_of_individuals","/simpleUserdefined[name=count]/value"
33
"cover_percent","/simpleUserdefined[name=coverPercent]/value"
34
"intercept_cm","/simpleUserdefined[name=interceptCm]/value"
35
"height_m","/height"
36
"ht_first_branch_m","/simpleUserdefined[name=htFirstBranchM]/value"
37
"stem_tag1","/*ID->/*s/individualOrganism/identificationLabel"
38
"stem_tag2","/*ID->/*s/individualOrganism/identificationLabel"
39
"stem_dbh","/diameterBaseDistance[baseDistance=1.37]/diameter"
40
"basal_diam","/diameterBaseDistance[baseDistance=0]/diameter"
41
"stem_height_m","/simpleUserdefined[name=stemHeightM]/value"
42
"stem_height_first_branch_m","/simpleUserdefined[name=stemHeightFirstBranchM]/value"
43
"stem_canopy_form","/simpleUserdefined[name=stemCanopyForm]/value"
44
"stem_canopy_position","/simpleUserdefined[name=stemCanopyPosition]/value"
45
"stem_liana_infestation","/simpleUserdefined[name=stemLianaInfestation]/value"
46
"notes","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/note/text"
47
"orig_family","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=fam])/Name"
48
"orig_species","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/Name"
1
"SALVIAS","VegX:/*s/individualOrganismObservation","Comments"
2
"OBSERVATION_ID","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/voucher","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
3
"PLOT_ID",,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
4
"plot_code","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/relatedSpatialItem/relatedItem[relationshipType=parentPlot]/relatedItemID->/*s/plot/plotUniqueIdentifier","Brad: Same as plotCode, above"
5
"census_no","/simpleUserdefined[name=censusNo]/value","Brad: Assigned by SALVIAS. 1 for first plot, then 2, 3, etc. I can't recall if we even have repeat censuses in SALVIAS. Probably not."
6
"census_date","/*ID->/*s/plotObservation/obsStartDate/_date/year",
7
"subplot","/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier",
8
"individual_code","/simpleUserdefined[name=individualCode]/value","Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot."
9
"ind_id",,"Brad: OMIT"
10
"tag1","/*ID->/*s/individualOrganism/identificationLabel","Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once."
11
"tag2","/*ID->/*s/individualOrganism/identificationLabel","Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
12
"x_position","/simpleUserdefined[name=xPosition]/value","Brad: Correct for VegBank. I'm not so sure for VegX. Let's ask Nick about this. These are important, fundamental values of many tree plots, and should be accommodated within VegX."
13
"y_position","/simpleUserdefined[name=yPosition]/value","Brad: See comment above for x_position"
14
"voucher_string",,"Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
15
"coll_number","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/authorCode","Brad: Incorrect. Map instead as for voucher_string"
16
"collector_code",,"Brad: OMIT"
17
"coll_lastname","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/surName","Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
18
"coll_firstname","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName","Brad: See comment above"
19
"det_type","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/groupType","Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
20
"fam_status",,"Brad: OMIT. This will be determined later by using TNRS."
21
"gen_status",,"Brad: OMIT. This will be determined later by using TNRS."
22
"species_status",,"Brad: OMIT. Except, note that if species_status=3, this indicate that name is a morphospecies and not a standard latin name. Not exactly sure how to use this in BIEN, but could be useful during the name-scrubbing process with TNRS."
23
"family","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=fam])/Name",
24
"genus","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=gen])/Name",
25
"specific_epithet","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/Name",
26
"specific_authority","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/AccordingTo/Simple","Brad: Incorrect. This is the author of the scientificName. The should be a place for this in the taxonomic name elements of VegB and VegX. Let's discuss."
27
"infra_rank_1","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=TaxonomicRankBelowSubspeciesEnum])/Rank",
28
"infra_ep_1","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=TaxonomicRankBelowSubspeciesEnum])/Name",
29
"cf_aff","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/note","Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
30
"comments",,"Brad: OMIT"
31
"habit","/simpleUserdefined[name=habit]/value","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
32
"no_of_individuals","/simpleUserdefined[name=count]/value","Brad: Incorrect for VegX. This is a count of number of indiiduals for an *aggregate* observation. For VegBank, I'm not sure. Not exactly the same as stemCount. An individual tree could have 3 stems but would still only count as 1. We need to check with Bob on this."
33
"cover_percent","/simpleUserdefined[name=coverPercent]/value",
34
"intercept_cm","/simpleUserdefined[name=interceptCm]/value","Brad: Incorrect for VegBank This is an aggregate observation. Used in line-intercept methodology only, describes the point along centerline at which an individual intercepts the center line of the plot. Used to determin relative abundance."
35
"height_m","/height","Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob"
36
"ht_first_branch_m","/simpleUserdefined[name=htFirstBranchM]/value","Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob"
37
"stem_tag1","/*ID->/*s/individualOrganism/identificationLabel","Brad: Same as tag1 & tag2, but applied to individual stems. I'm still not clear how to distinguish between methods which tag only individuals trees, and those which tag individual stems."
38
"stem_tag2","/*ID->/*s/individualOrganism/identificationLabel","Brad: see above"
39
"stem_dbh","/diameterBaseDistance[baseDistance=1.37]/diameter",
40
"basal_diam","/diameterBaseDistance[baseDistance=0]/diameter",
41
"stem_height_m","/simpleUserdefined[name=stemHeightM]/value","Brad: Same as for height, but applies to individuals stems, not trees. Rare."
42
"stem_height_first_branch_m","/simpleUserdefined[name=stemHeightFirstBranchM]/value","Brad: Should also be userDefined for VegBank. Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
43
"stem_canopy_form","/simpleUserdefined[name=stemCanopyForm]/value","Brad: Should also be userDefined for VegBank. "
44
"stem_canopy_position","/simpleUserdefined[name=stemCanopyPosition]/value","Brad: Should also be userDefined for VegBank. "
45
"stem_liana_infestation","/simpleUserdefined[name=stemLianaInfestation]/value","Brad: Should also be userDefined for VegBank. "
46
"notes","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/note/text",
47
"orig_family","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=fam])/Name","Brad: OMIT"
48
"orig_species","/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/Name","Brad: OMIT"
mappings/NYBG-VegBank.organisms.csv
1
NYBG,VegBank:/taxonObservation
2
:1,/taxonImportance/*/stemCount
3
InstitutionCode,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/museum_ID/party/OrganizationName/_name/first
4
CollectionCode,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/museum_ID/party/OrganizationName/_name/last
5
ScientificName,"/taxonImportance/stemCount/stemLocation/{taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,!*_ID/plantConcept/plantStatus]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[*_ID/reference]/*_ID/*/plantName,taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/*_ID/plantConcept:[*_ID/reference]/*_ID/*/plantName/_alt/1}"
6
Kingdom,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Kingdom]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName"
7
Phylum,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Subkingdom]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName"
8
Class,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Class]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName"
9
Order,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Order]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName"
10
Family,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Family]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName"
11
Genus,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Genus]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName"
12
Species,"/taxonImportance/stemCount/stemLocation/{taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Species]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName,taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/*_ID/plantConcept/*_ID/*/plantName/_alt/2}"
13
Subspecies,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Subspecies]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName"
14
ScientificNameAuthor,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Species]/*_ID/plantConcept/*_ID/reference/referenceContributor/*_ID/referenceParty/{givenName,surname}"
15
IdentifiedBy,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,!*_ID/plantConcept/plantStatus]:[interpretationType=Author,originalInterpretation=false,currentInterpretation=true]/*_ID/party/{givenName/_namePart/first,middleName/_namePart/middle,surName/_namePart/last}"
16
YearIdentified,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,!*_ID/plantConcept/plantStatus]/interpretationDate/_date/year"
17
MonthIdentified,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,!*_ID/plantConcept/plantStatus]/interpretationDate/_date/month"
18
DayIdentified,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,!*_ID/plantConcept/plantStatus]/interpretationDate/_date/day"
19
FieldNumber,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/collectionNumber
20
Collector,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/collector_ID/party/{givenName/_namePart/first,middleName/_namePart/middle,surName/_namePart/last}"
21
YearCollected,/*_ID/observation/obsStartDate/_date/year
22
MonthCollected,/*_ID/observation/obsStartDate/_date/month
23
DayCollected,/*_ID/observation/obsStartDate/_date/day
24
Country,"/*_ID/observation/*_ID/plot/place(/*_ID/namedPlace[placeSystem=""area|country|territory""])/placeName"
25
StateProvince,"/*_ID/observation/*_ID/plot/place(/*_ID/namedPlace[placeSystem=""region|state|province""])/placeName"
26
County,/*_ID/observation/*_ID/plot/place(/*_ID/namedPlace[placeSystem=county])/placeName
27
Locality,/*_ID/observation/*_ID/plot/place/*_ID/namedPlace/placeDescription
28
Longitude,/*_ID/observation/*_ID/plot/realLongitude
29
Latitude,/*_ID/observation/*_ID/plot/realLatitude
30
CoordinatePrecision,/*_ID/observation/*_ID/plot/locationAccuracy
31
BoundingBox,/*_ID/observation/*_ID/plot/dsgpoly
32
MinimumElevation,"/*_ID/observation/*_ID/plot/{elevation/_avg/min,elevationRange/_range/from}"
33
MaximumElevation,"/*_ID/observation/*_ID/plot/{elevation/_avg/max,elevationRange/_range/to}"
34
MinimumDepth,/*_ID/observation/waterDepth/min
35
MaximumDepth,/*_ID/observation/waterDepth/max
36
Sex,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=sex]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
37
Notes,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/notes
38
Habitat,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=habitat]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
39
PlantFungusDescription,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=plantFungusDescription]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
40
Substrate,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=substrate]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
41
Vegetation,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=vegetation]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
42
UniqueNYInternalRecordNumber,"/{taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=false,interpretationDate=epoch,*_ID/plantConcept:[*_ID/reference],*_ID/party]/museumAccessionNumber,*_ID/observation/*_ID/plot:[confidentialityStatus=0]/authorPlotCode/_alt/3}"
1
NYBG,VegBank:/taxonObservation,Comments
2
:1,/taxonImportance/*/stemCount,
3
InstitutionCode,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/museum_ID/party/OrganizationName/_name/first,
4
CollectionCode,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/museum_ID/party/OrganizationName/_name/last,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
5
ScientificName,"/taxonImportance/stemCount/stemLocation/{taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,!*_ID/plantConcept/plantStatus]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[*_ID/reference]/*_ID/*/plantName,taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/*_ID/plantConcept:[*_ID/reference]/*_ID/*/plantName/_alt/1}","Brad: Bob, Nick, please is this mapping OK?"
6
Kingdom,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Kingdom]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName",
7
Phylum,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Subkingdom]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName",
8
Class,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Class]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName",
9
Order,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Order]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName",
10
Family,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Family]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName",
11
Genus,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Genus]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName",
12
Species,"/taxonImportance/stemCount/stemLocation/{taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Species]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName,taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/*_ID/plantConcept/*_ID/*/plantName/_alt/2}",
13
Subspecies,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Subspecies]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName",
14
ScientificNameAuthor,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Species]/*_ID/plantConcept/*_ID/reference/referenceContributor/*_ID/referenceParty/{givenName,surname}","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author"
15
IdentifiedBy,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,!*_ID/plantConcept/plantStatus]:[interpretationType=Author,originalInterpretation=false,currentInterpretation=true]/*_ID/party/{givenName/_namePart/first,middleName/_namePart/middle,surName/_namePart/last}",Brad: Bob: does this look correct for VegBank?
16
YearIdentified,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,!*_ID/plantConcept/plantStatus]/interpretationDate/_date/year",
17
MonthIdentified,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,!*_ID/plantConcept/plantStatus]/interpretationDate/_date/month",
18
DayIdentified,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,!*_ID/plantConcept/plantStatus]/interpretationDate/_date/day",
19
FieldNumber,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/collectionNumber,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?"
20
Collector,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/collector_ID/party/{givenName/_namePart/first,middleName/_namePart/middle,surName/_namePart/last}",Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen?
21
YearCollected,/*_ID/observation/obsStartDate/_date/year,
22
MonthCollected,/*_ID/observation/obsStartDate/_date/month,
23
DayCollected,/*_ID/observation/obsStartDate/_date/day,
24
Country,"/*_ID/observation/*_ID/plot/place(/*_ID/namedPlace[placeSystem=""area|country|territory""])/placeName",Brad: Required; reject record if this field NULL
25
StateProvince,"/*_ID/observation/*_ID/plot/place(/*_ID/namedPlace[placeSystem=""region|state|province""])/placeName",
26
County,/*_ID/observation/*_ID/plot/place(/*_ID/namedPlace[placeSystem=county])/placeName,
27
Locality,/*_ID/observation/*_ID/plot/place/*_ID/namedPlace/placeDescription,"Brad: Correct for VB; Nick, is there no specific element for locality description in VegX? Definitely need one."
28
Longitude,/*_ID/observation/*_ID/plot/realLongitude,
29
Latitude,/*_ID/observation/*_ID/plot/realLatitude,
30
CoordinatePrecision,/*_ID/observation/*_ID/plot/locationAccuracy,
31
BoundingBox,/*_ID/observation/*_ID/plot/dsgpoly,
32
MinimumElevation,"/*_ID/observation/*_ID/plot/{elevation/_avg/min,elevationRange/_range/from}",
33
MaximumElevation,"/*_ID/observation/*_ID/plot/{elevation/_avg/max,elevationRange/_range/to}",
34
MinimumDepth,/*_ID/observation/waterDepth/min,
35
MaximumDepth,/*_ID/observation/waterDepth/max,
36
Sex,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=sex]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
37
Notes,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/notes,"Brad: mapping OK; NY appears to be using this field for almost anything, but mostly internal collections notes"
38
Habitat,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=habitat]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?"
39
PlantFungusDescription,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=plantFungusDescription]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: Incorrect mapping to VB, also possibly to VX;  this is the specimenDescription field, as used by this institution (NOT a standard DwC element). Very important! Bob, Nick, where would this go in VB and VX?"
40
Substrate,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=substrate]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: Incorrect mapping to VB and VX; refers to geological substrate or soils where specimen collected. Often concatenated with habitat, or included with specimen description. Bob, Nick, is there an element for this in VB/VX, or shall we just use userDefined?"
41
Vegetation,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=vegetation]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Habitat'. Bob, Nick: keep as user defined or create special element?"
42
UniqueNYInternalRecordNumber,"/{taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=false,interpretationDate=epoch,*_ID/plantConcept:[*_ID/reference],*_ID/party]/museumAccessionNumber,*_ID/observation/*_ID/plot:[confidentialityStatus=0]/authorPlotCode/_alt/3}",Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row
mappings/SALVIAS-VegBank.plots.csv
1
SALVIAS,VegBank:/observation
2
project,/*_ID/project/projectName
3
plot_code,"/{*_ID/plot:[confidentialityStatus=0]/authorPlotCode/_alt/2,authorObsCode}"
4
major_geo,/*_ID/plot/place(/*_ID/namedPlace[placeSystem=continent])/placeName
5
country,"/*_ID/plot/place(/*_ID/namedPlace[placeSystem=""area|country|territory""])/placeName"
6
pol1,"/*_ID/plot/place(/*_ID/namedPlace[placeSystem=""region|state|province""])/placeName"
7
pol2,/*_ID/plot/place(/*_ID/namedPlace[placeSystem=county])/placeName
8
locality_description,/*_ID/plot/place/*_ID/namedPlace/placeDescription
9
lat_decimal,/*_ID/plot/realLatitude
10
long_decimal,/*_ID/plot/realLongitude
11
elev_m,/*_ID/plot/elevation
12
elev_max_m,"/*_ID/plot/{elevation/_avg/max,elevationRange/_range/to}"
13
elev_min_m,"/*_ID/plot/{elevation/_avg/min,elevationRange/_range/from}"
14
temp_c,"/definedValue[*_ID/userDefined[tableName=observation,userDefinedName=temperatureC]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
15
precip_mm,"/definedValue[*_ID/userDefined[tableName=observation,userDefinedName=precipitationMm]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
16
slope_aspect,/*_ID/plot/slopeAspect
17
slope_gradient,/*_ID/plot/slopeGradient
18
clay_percent,/soilObs/soilClay
19
silt_percent,/soilObs/soilSilt
20
sand_percent,/soilObs/soilSand
21
organic_percent,/soilObs/soilOrganic
22
pH,/soilObs/soilPH
23
soil_N,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilNitrogen]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
24
soil_P,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilPhosphorus]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
25
soil_C,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilCarbon]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
26
soil_K,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilPotassium]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
27
soil_Mg,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilMagnesium]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
28
soil_Ca,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilCalcium]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
29
soil_Na,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilSodium]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
30
soil_acidity,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilAcidity]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
31
soil_base,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilBase]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
32
soil_cation_cap,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilCationCap]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
33
soil_conductivity,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilConductivity]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
34
soil_texture,/soilObs/soilTexture
35
holdridge_life_zone,/commClass/commInterpretation/*_ID/commConcept/commDescription
36
life_zone_code,/commClass/commInterpretation/commconcept_ID/*_ID/observation/commClass/commInterpretation/*_ID/commConcept/*_ID/*/commName
37
plot_methodology,/methodNarrative
38
plot_area_ha,/*_ID/plot/area
39
date_start,/obsStartDate/_date/year
40
date_finish,/obsEndDate/_date/year
1
SALVIAS,VegBank:/observation,Comments
2
project,/*_ID/project/projectName,
3
plot_code,"/{*_ID/plot:[confidentialityStatus=0]/authorPlotCode/_alt/2,authorObsCode}",Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
4
major_geo,/*_ID/plot/place(/*_ID/namedPlace[placeSystem=continent])/placeName,
5
country,"/*_ID/plot/place(/*_ID/namedPlace[placeSystem=""area|country|territory""])/placeName",
6
pol1,"/*_ID/plot/place(/*_ID/namedPlace[placeSystem=""region|state|province""])/placeName",Brad: No; pol1=stateProvince
7
pol2,/*_ID/plot/place(/*_ID/namedPlace[placeSystem=county])/placeName,Brad: No pol2=countyParish
8
locality_description,/*_ID/plot/place/*_ID/namedPlace/placeDescription,"Brad: No; this is free text description of locality where plot was situated, same as for DwC. Not a description of vegetation. Most likely='namedPlace.placeDescription' in VB; not sure about VX, again need to ask Nick where locality descriptions live in VX"
9
lat_decimal,/*_ID/plot/realLatitude,
10
long_decimal,/*_ID/plot/realLongitude,
11
elev_m,/*_ID/plot/elevation,Brad: Mean elevation in meters. This is a constrained decimal value; is there no place for this in VegX other than verbatimElevation? Check with Nick.
12
elev_max_m,"/*_ID/plot/{elevation/_avg/max,elevationRange/_range/to}",
13
elev_min_m,"/*_ID/plot/{elevation/_avg/min,elevationRange/_range/from}",
14
temp_c,"/definedValue[*_ID/userDefined[tableName=observation,userDefinedName=temperatureC]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
15
precip_mm,"/definedValue[*_ID/userDefined[tableName=observation,userDefinedName=precipitationMm]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
16
slope_aspect,/*_ID/plot/slopeAspect,
17
slope_gradient,/*_ID/plot/slopeGradient,
18
clay_percent,/soilObs/soilClay,
19
silt_percent,/soilObs/soilSilt,
20
sand_percent,/soilObs/soilSand,
21
organic_percent,/soilObs/soilOrganic,
22
pH,/soilObs/soilPH,"Brad: For all these soil variables, how do we store information on method, units. Seems like an ontological structure would be more appropriate (measurementName, measurementValue, measurementUnits, measurementMethod). Same as BIEN traits table. Something to discuss."
23
soil_N,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilNitrogen]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
24
soil_P,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilPhosphorus]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
25
soil_C,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilCarbon]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
26
soil_K,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilPotassium]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
27
soil_Mg,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilMagnesium]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
28
soil_Ca,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilCalcium]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
29
soil_Na,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilSodium]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
30
soil_acidity,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilAcidity]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
31
soil_base,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilBase]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
32
soil_cation_cap,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilCationCap]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
33
soil_conductivity,"/soilObs/definedValue[*_ID/userDefined[tableName=soilObs,userDefinedName=soilConductivity]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
34
soil_texture,/soilObs/soilTexture,
35
holdridge_life_zone,/commClass/commInterpretation/*_ID/commConcept/commDescription,
36
life_zone_code,/commClass/commInterpretation/commconcept_ID/*_ID/observation/commClass/commInterpretation/*_ID/commConcept/*_ID/*/commName,
37
plot_methodology,/methodNarrative,
38
plot_area_ha,/*_ID/plot/area,"Brad: Area in hectares. Is there any way to store units?; Aaron: VegX plot area annotation says ""Total area of the plot in square meters."" so units are fixed"
39
date_start,/obsStartDate/_date/year,
40
date_finish,/obsEndDate/_date/year,
mappings/SALVIAS-VegBank.organisms.csv
1
SALVIAS,VegBank:/taxonObservation
2
OBSERVATION_ID,"/{taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=false,interpretationDate=epoch,*_ID/plantConcept:[*_ID/reference],*_ID/party]/museumAccessionNumber,*_ID/observation/*_ID/plot:[confidentialityStatus=0]/authorPlotCode/_alt/3}"
3
plot_code,/*_ID/observation/*_ID/plot/PARENT_ID/plot:[confidentialityStatus=0]/authorPlotCode/_alt/1
4
census_no,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=censusNo]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
5
census_date,/*_ID/observation/obsStartDate/_date/year
6
subplot,"/*_ID/observation/{*_ID/plot:[confidentialityStatus=0]/authorPlotCode/_alt/2,authorObsCode}"
7
individual_code,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=individualCode]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
8
tag1,/taxonImportance/stemCount/stemLocation/stemCode
9
tag2,/taxonImportance/stemCount/stemLocation/stemCode
10
x_position,/taxonImportance/stemCount/stemLocation/stemXPosition
11
y_position,/taxonImportance/stemCount/stemLocation/stemYPosition
12
coll_number,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/collectionNumber
13
coll_lastname,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/collector_ID/party/surName
14
coll_firstname,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/collector_ID/party/givenName
15
det_type,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=determinationType]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
16
family,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Family]:[interpretationType=""Computer (automated)"",originalInterpretation=false,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName"
17
genus,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Genus]:[interpretationType=""Computer (automated)"",originalInterpretation=false,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName"
18
specific_epithet,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Species]:[interpretationType=""Computer (automated)"",originalInterpretation=false,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName"
19
specific_authority,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Species]/*_ID/plantConcept/*_ID/plantName/reference_ID/reference/shortName"
20
infra_rank_1,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Subspecies]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName/_name/first"
21
infra_ep_1,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Subspecies]:[interpretationType=""Computer (automated)"",originalInterpretation=false,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName/_name/last"
22
cf_aff,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=cfAff]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
23
habit,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=habit]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
24
no_of_individuals,/taxonImportance/*/stemCount
25
cover_percent,/taxonImportance/cover
26
intercept_cm,"/taxonImportance/definedValue[*_ID/userDefined[tableName=taxonImportance,userDefinedName=interceptCm]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
27
height_m,/taxonImportance/stemCount/stemHeight
28
ht_first_branch_m,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=heightFirstBranchM]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
29
stem_tag1,/taxonImportance/stemCount/stemLocation/stemCode
30
stem_tag2,/taxonImportance/stemCount/stemLocation/stemCode
31
stem_dbh,/taxonImportance/stemCount/stemDiameter
32
basal_diam,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=stemBasalDiameter]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
33
stem_height_m,/taxonImportance/stemCount/stemHeight
34
stem_height_first_branch_m,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=stemHeightFirstBranchM]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
35
stem_canopy_form,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=stemCanopyForm]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
36
stem_canopy_position,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=stemCanopyPosition]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
37
stem_liana_infestation,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=stemLianaInfestation]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue"
38
notes,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/notes
39
orig_family,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Family]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName"
40
orig_species,"/taxonImportance/stemCount/stemLocation/{taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Species]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName,taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/*_ID/plantConcept/*_ID/*/plantName/_alt/2}"
1
SALVIAS,VegBank:/taxonObservation,Comments
2
OBSERVATION_ID,"/{taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=false,interpretationDate=epoch,*_ID/plantConcept:[*_ID/reference],*_ID/party]/museumAccessionNumber,*_ID/observation/*_ID/plot:[confidentialityStatus=0]/authorPlotCode/_alt/3}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
3
plot_code,/*_ID/observation/*_ID/plot/PARENT_ID/plot:[confidentialityStatus=0]/authorPlotCode/_alt/1,"Brad: Same as plotCode, above"
4
census_no,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=censusNo]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: Assigned by SALVIAS. 1 for first plot, then 2, 3, etc. I can't recall if we even have repeat censuses in SALVIAS. Probably not."
5
census_date,/*_ID/observation/obsStartDate/_date/year,
6
subplot,"/*_ID/observation/{*_ID/plot:[confidentialityStatus=0]/authorPlotCode/_alt/2,authorObsCode}",
7
individual_code,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=individualCode]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot."
8
tag1,/taxonImportance/stemCount/stemLocation/stemCode,"Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once."
9
tag2,/taxonImportance/stemCount/stemLocation/stemCode,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
10
x_position,/taxonImportance/stemCount/stemLocation/stemXPosition,"Brad: Correct for VegBank. I'm not so sure for VegX. Let's ask Nick about this. These are important, fundamental values of many tree plots, and should be accommodated within VegX."
11
y_position,/taxonImportance/stemCount/stemLocation/stemYPosition,Brad: See comment above for x_position
12
coll_number,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/collectionNumber,Brad: Incorrect. Map instead as for voucher_string
13
coll_lastname,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/collector_ID/party/surName,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
14
coll_firstname,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/collector_ID/party/givenName,Brad: See comment above
15
det_type,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=determinationType]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
16
family,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Family]:[interpretationType=""Computer (automated)"",originalInterpretation=false,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName",
17
genus,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Genus]:[interpretationType=""Computer (automated)"",originalInterpretation=false,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName",
18
specific_epithet,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Species]:[interpretationType=""Computer (automated)"",originalInterpretation=false,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName",
19
specific_authority,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Species]/*_ID/plantConcept/*_ID/plantName/reference_ID/reference/shortName",Brad: Incorrect. This is the author of the scientificName. The should be a place for this in the taxonomic name elements of VegB and VegX. Let's discuss.
20
infra_rank_1,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Subspecies]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName/_name/first",
21
infra_ep_1,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=computer,*_ID/plantConcept/plantStatus/plantLevel=Subspecies]:[interpretationType=""Computer (automated)"",originalInterpretation=false,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName/_name/last",
22
cf_aff,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=cfAff]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
23
habit,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/definedValue[*_ID/userDefined[tableName=taxonInterpretation,userDefinedName=habit]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
24
no_of_individuals,/taxonImportance/*/stemCount,"Brad: Incorrect for VegX. This is a count of number of indiiduals for an *aggregate* observation. For VegBank, I'm not sure. Not exactly the same as stemCount. An individual tree could have 3 stems but would still only count as 1. We need to check with Bob on this."
25
cover_percent,/taxonImportance/cover,
26
intercept_cm,"/taxonImportance/definedValue[*_ID/userDefined[tableName=taxonImportance,userDefinedName=interceptCm]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: Incorrect for VegBank This is an aggregate observation. Used in line-intercept methodology only, describes the point along centerline at which an individual intercepts the center line of the plot. Used to determin relative abundance."
27
height_m,/taxonImportance/stemCount/stemHeight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
28
ht_first_branch_m,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=heightFirstBranchM]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
29
stem_tag1,/taxonImportance/stemCount/stemLocation/stemCode,"Brad: Same as tag1 & tag2, but applied to individual stems. I'm still not clear how to distinguish between methods which tag only individuals trees, and those which tag individual stems."
30
stem_tag2,/taxonImportance/stemCount/stemLocation/stemCode,Brad: see above
31
stem_dbh,/taxonImportance/stemCount/stemDiameter,
32
basal_diam,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=stemBasalDiameter]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",
33
stem_height_m,/taxonImportance/stemCount/stemHeight,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
34
stem_height_first_branch_m,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=stemHeightFirstBranchM]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue","Brad: Should also be userDefined for VegBank. Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
35
stem_canopy_form,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=stemCanopyForm]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",Brad: Should also be userDefined for VegBank. 
36
stem_canopy_position,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=stemCanopyPosition]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",Brad: Should also be userDefined for VegBank. 
37
stem_liana_infestation,"/taxonImportance/stemCount/stemLocation/definedValue[*_ID/userDefined[tableName=stemLocation,userDefinedName=stemLianaInfestation]:[userDefinedType=varchar]]:[@fkey=tableRecord_ID]/definedValue",Brad: Should also be userDefined for VegBank. 
38
notes,/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/notes,
39
orig_family,"/taxonImportance/stemCount/stemLocation/taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Family]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName",Brad: OMIT
40
orig_species,"/taxonImportance/stemCount/stemLocation/{taxonInterpretation[ROLE_ID/aux_Role/roleCode=identifier,*_ID/plantConcept/plantStatus/plantLevel=Species]:[interpretationType=Author,originalInterpretation=true,currentInterpretation=true,interpretationDate=epoch,*_ID/party]/*_ID/plantConcept:[plantStatus:[plantConceptStatus=accepted,startDate=epoch,*_ID/party],*_ID/reference]/*_ID/*/plantName,taxonInterpretation[ROLE_ID/aux_Role/roleCode=collector]/*_ID/plantConcept/*_ID/*/plantName/_alt/2}",Brad: OMIT

Also available in: Unified diff