Project

General

Profile

« Previous | Next » 

Revision 3790

mappings/VegX-VegBIEN.stems.csv: Reversed input XPaths so that they start with plot instead of individualOrganismObservation as stem

View differences:

mappings/for_review/VegX-VegBIEN.stems.csv
1
VegX:/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID],VegBIEN:/stemobservation,Comments
1
VegX:,VegBIEN:/stemobservation,Comments
2 2
//plot/area,//location/area,
3 3
//geospatial/verbatimElevation,//location/elevation/_alt/1,
4 4
//geospatial/maximumElevationInMeters,//location/elevation/_alt/2/_avg/max/_units/value/_rangeEnd/value,
......
22 22
//plot/plotName,//location/sourceaccessioncode/_merge/1/_alt/2,
23 23
//plot/plotUniqueIdentifier,//location/sourceaccessioncode/_merge/2/_alt/1,
24 24
//plot/plotName,//location/sourceaccessioncode/_merge/2/_alt/2,
25
//plotObservation/simpleUserdefined[name=method]/*ID/method/name,//method/name,
25
//*s/plotObservation/simpleUserdefined[name=method]/*ID/method/name,//method/name,
26 26
//project/title[@id=name],//project/projectname,
27 27
//project/title[@id=sourceAccessionCode],//project/sourceaccessioncode,
28 28
//plot/plotName,//locationevent/authorlocationcode,
29 29
//*s/communityDetermination/*s/communityConcept/commonName,//*/commname,
30 30
//*s/communityDetermination/*s/communityConcept/name,//commconcept/commdescription,
31
//plotObservation/obsEndDate,//locationevent/obsenddate,
32
//plotObservation/obsStartDate,//locationevent/obsstartdate,
31
//*s/plotObservation/obsEndDate,//locationevent/obsenddate,
32
//*s/plotObservation/obsStartDate,//locationevent/obsstartdate,
33 33
//plot/plotUniqueIdentifier,//location/sourceaccessioncode/_alt/1,
34 34
//plot/plotName,//location/sourceaccessioncode/_alt/2,
35 35
//plot/plotName,//locationevent/authorlocationcode,
36 36
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
37
//plotObservation/simpleUserdefined[name=precipitation]/value,//locationevent/precipitation,
37
//*s/plotObservation/simpleUserdefined[name=precipitation]/value,//locationevent/precipitation,
38 38
//*s/abioticObservation/simpleUserdefined[name=acidity]/value,//soilobs/acidity,
39 39
//*s/abioticObservation/simpleUserdefined[name=base]/value,//soilobs/basesaturation,
40 40
//*s/abioticObservation/simpleUserdefined[name=calcium]/value,//soilobs/calcium,
......
53 53
//*s/abioticObservation/simpleUserdefined[name=sodium]/value,//soilobs/sodium,
54 54
//*s/abioticObservation/simpleUserdefined[name=texture]/value,//soilobs/texture,
55 55
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
56
//plotObservation/temperature,//locationevent/temperature,
56
//*s/plotObservation/temperature,//locationevent/temperature,
57 57
//geospatial/maximumDepthInMeters,//locationevent/waterdepth/_avg/max/_units/value,
58 58
//geospatial/minimumDepthInMeters,//locationevent/waterdepth/_avg/min/_units/value,
59
//individualOrganismObservation/simpleUserdefined[name=growthForm]/value,//taxonoccurrence/growthform,
59
//*s/individualOrganismObservation/simpleUserdefined[name=growthForm]/value,//taxonoccurrence/growthform,
60 60
//*s/taxonConcept[tcs:@code=binom]/tcs:Name,//taxonoccurrence/sourceaccessioncode/_alt/3,
61 61
//*s/taxonConcept[tcs:@code=TaxonomicRankBelowSubspeciesEnum]/tcs:Rank,"//taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/first",
62 62
//*s/taxonConcept[tcs:@code=auth]/tcs:Name,"//taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
......
80 80
//individualName/surName,//taxonoccurrence/verbatimcollectorname/_name/last,
81 81
//*s/aggregateOrganismObservation/*/aggregateValue/value,//aggregateoccurrence/count,
82 82
//ordinal/coverPercent,//aggregateoccurrence/cover,
83
//individualOrganismObservation/simpleUserdefined[name=censusNo]/value,"//aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]/definedvalue",
84
//volumeCanopy/value,//aggregateoccurrence/linecover,
85
//individualOrganismObservation/simpleUserdefined[name=sourceAccessionCode]/value,//taxonoccurrence/sourceaccessioncode/_alt/1,"""{"" sorts it with other _ifs"
86
//individualOrganismObservation/simpleUserdefined[name=authorPlantCode]/value,//taxonoccurrence/sourceaccessioncode/_alt/2,"""{"" sorts it with other _ifs"
87
//individualOrganismObservation/simpleUserdefined[name=authorPlantCode]/value,//plantobservation/authorplantcode,"""{"" sorts it with other _ifs"
88
//individualOrganismObservation/height,//plantobservation/overallheight,
89
//individualOrganismObservation/simpleUserdefined[name=height]/value,//plantobservation/overallheight,
90
//individualOrganismObservation/simpleUserdefined[name=sourceAccessionCode]/value,//plantobservation/sourceaccessioncode,"""{"" sorts it with other _ifs"
83
//*s/individualOrganismObservation/simpleUserdefined[name=censusNo]/value,"//aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]/definedvalue",
84
//*s/individualOrganismObservation/volumeCanopy/value,//aggregateoccurrence/linecover,
85
//*s/individualOrganismObservation/simpleUserdefined[name=sourceAccessionCode]/value,//taxonoccurrence/sourceaccessioncode/_alt/1,"""{"" sorts it with other _ifs"
86
//*s/individualOrganismObservation/simpleUserdefined[name=authorPlantCode]/value,//taxonoccurrence/sourceaccessioncode/_alt/2,"""{"" sorts it with other _ifs"
87
//*s/individualOrganismObservation/simpleUserdefined[name=authorPlantCode]/value,//plantobservation/authorplantcode,"""{"" sorts it with other _ifs"
88
//*s/individualOrganismObservation/height,//plantobservation/overallheight,
89
//*s/individualOrganismObservation/simpleUserdefined[name=height]/value,//plantobservation/overallheight,
90
//*s/individualOrganismObservation/simpleUserdefined[name=sourceAccessionCode]/value,//plantobservation/sourceaccessioncode,"""{"" sorts it with other _ifs"
91 91
//*s/aggregateOrganismObservation/*/aggregateValue/value,//plantobservation/stemcount,
92 92
//individualOrganism/identificationLabel[@id=1],"//stemobservation/stemtag[""""/2=true]/tag",Quotes sort it before tag2
93 93
//individualOrganism/identificationLabel[@id=2],//stemobservation/stemtag[iscurrent=true]:[../stemtag?[2=true]/1=false]/tag,
94
//relativePlotPosition/relativeX,//stemobservation/xposition,
95
//relativePlotPosition/relativeY,//stemobservation/yposition,
94
//*s/individualOrganismObservation/relativePlotPosition/relativeX,//stemobservation/xposition,
95
//*s/individualOrganismObservation/relativePlotPosition/relativeY,//stemobservation/yposition,
96 96
//taxonNameUsageConcept/voucher,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id/aggregateoccurrence/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
97
//individualOrganismObservation/simpleUserdefined[name=collectionDate]/value,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id/aggregateoccurrence/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
97
//*s/individualOrganismObservation/simpleUserdefined[name=collectionDate]/value,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id/aggregateoccurrence/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
98 98
//taxonNameUsageConcept/voucher,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
99
//individualOrganismObservation/simpleUserdefined[name=collectionDate]/value,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
99
//*s/individualOrganismObservation/simpleUserdefined[name=collectionDate]/value,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
100 100
//*s/taxonDetermination[role=collector]/groupType,/*_id/plantobservation/{.}/_ignore/voucherType,"""{"" sorts it after what uses it, so the _ignore is executed after the _refs"
101
/diameterBaseDistance[value=0]/diameter,/basaldiameter,
102
/simpleUserdefined[name=canopyForm]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]/definedvalue",
103
/simpleUserdefined[name=canopyPosition]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]/definedvalue",
104
/diameterBaseDistance[baseDistance[*ID/*s/attribute/quantitative/*ID/*s/method(/name=Gentry)]/value=1.37]/diameter,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=gentryDiameter]]/definedvalue",
105
/simpleUserdefined[name=lianaInfestation]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=lianaInfestation]]/definedvalue",
101
//*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/diameterBaseDistance[value=0]/diameter,/basaldiameter,
102
//*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=canopyForm]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]/definedvalue",
103
//*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=canopyPosition]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]/definedvalue",
104
//*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/diameterBaseDistance[baseDistance[*ID/*s/attribute/quantitative/*ID/*s/method(/name=Gentry)]/value=1.37]/diameter,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=gentryDiameter]]/definedvalue",
105
//*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=lianaInfestation]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=lianaInfestation]]/definedvalue",
106 106
//note/text,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=notes]]/definedvalue",
107
/diameterBaseDistance[baseDistance[]/value=1.37]/diameter,/diameterbreastheight,
108
/simpleUserdefined[name=height]/value,/height,
109
/simpleUserdefined[name=heightFirstBranch]/value,/heightfirstbranch,
107
//*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/diameterBaseDistance[baseDistance[]/value=1.37]/diameter,/diameterbreastheight,
108
//*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=height]/value,/height,
109
//*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=heightFirstBranch]/value,/heightfirstbranch,
110 110
//individualOrganism/identificationLabel[@id=1],"/stemtag[""""/2=true]/tag",Quotes sort it before tag2
111 111
//individualOrganism/identificationLabel[@id=2],/stemtag[iscurrent=true]:[../stemtag?[2=true]/1=false]/tag,
112
//relativePlotPosition/relativeX,/xposition,
113
//relativePlotPosition/relativeY,/yposition,
112
//*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/relativePlotPosition/relativeX,/xposition,
113
//*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/relativePlotPosition/relativeY,/yposition,
mappings/Makefile
105 105

  
106 106
VegX-VegBIEN.organisms.csv: VegX-VegBIEN.stems.csv
107 107
	env \
108
left_in_root='$(rootAttrs)/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation' \
109
left_out_root='$(rootAttrs)/*s/individualOrganismObservation' \
108
left_in_root= left_out_root= \
110 109
right_in_root='/stemobservation/*_id/plantobservation' \
111 110
right_out_root='/plantobservation' \
112 111
$(chRoot)
......
114 113

  
115 114
VegX-VegBIEN.plots.csv: VegX-VegBIEN.organisms.csv
116 115
	env \
117
left_in_root='$(rootAttrs)/*s/individualOrganismObservation/*ID->/*s/plotObservation' \
118
left_out_root='/*s/plotObservation' \
116
left_in_root= left_out_root= \
119 117
right_in_root='/plantobservation/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent' \
120 118
right_out_root='/locationevent' \
121 119
$(chRoot)
inputs/Madidi/maps/VegX.plots.csv
1
Madidi,VegX:/*s/plotObservation,Comments
1
Madidi,VegX:,Comments
2 2
Inventory number,,Not globally unique
3
Expedition number,/*ID->/*s/project/title[@id=sourceAccessionCode],Consistent (globally unique) between PPM and PT data
4
Expedition name,/*ID->/*s/project/title[@id=name],Consistent (globally unique) between PPM and PT data
3
Expedition number,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/*ID->/*s/project/title[@id=sourceAccessionCode],Consistent (globally unique) between PPM and PT data
4
Expedition name,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/*ID->/*s/project/title[@id=name],Consistent (globally unique) between PPM and PT data
5 5
Number of inventory (expedition),,The number of the event within the project
6
Inventory name,/*UniqueIdentifierID->/*s/plot/plotName,
7
Inventory code,/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,
8
First evaluation,/obsStartDate,
6
Inventory name,/*s/plot/plotName,
7
Inventory code,/*s/plot/plotUniqueIdentifier,
8
First evaluation,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsStartDate,
9 9
Installed and evaluated by,,"Need a way to store a verbatim list of people, or a function to parse it and insert it iteratively into party"
10 10
Collaborators,,"Need a way to store a verbatim list of people, or a function to parse it and insert it iteratively into party"
11 11
Related Epilocs,,"It appears to be a list of people, some with #s after them. It doesn't seem like the definition of Epiloc at <http://rithm.wikispaces.com/Tropicos.Epiloc>, which relates to individual specimens, not whole plots."
12
Area,/*UniqueIdentifierID->/*s/plot/area,
12
Area,/*s/plot/area,
13 13
Number of stems,,Do we want to store this data?
14 14
Number of trees,,Do we want to store this data?
15 15
Coordinates,,Concatenation of Latitude (DMS) and Longitude (DMS)
16
Latitude,/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude/_alt/1,
17
Longitude,/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude/_alt/1,
18
Latitude (DMS),/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude/_alt/2,
19
Longitude (DMS),/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude/_alt/2,
20
Altitude,/*UniqueIdentifierID->/*s/plot/geospatial/verbatimElevation,
21
Minimum altitude,/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,
22
Locality,/*UniqueIdentifierID->/*s/plot/locationNarrative,
23
Locality description,->/*s/communityDetermination[*ID]/*s/communityConcept/name,Often begins with the text in Vegetation type
24
Direction,/*UniqueIdentifierID->/*s/plot/slopeAspect/_alt/1,Part files provide either this field or Direction
25
Vegetation type,->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,
26
Topographical situation,/*UniqueIdentifierID->/*s/plot/landform,
27
Slope,/*UniqueIdentifierID->/*s/plot/slopeGradient,
16
Latitude,/*s/plot/geospatial/DecimalLatitude/_alt/1,
17
Longitude,/*s/plot/geospatial/DecimalLongitude/_alt/1,
18
Latitude (DMS),/*s/plot/geospatial/DecimalLatitude/_alt/2,
19
Longitude (DMS),/*s/plot/geospatial/DecimalLongitude/_alt/2,
20
Altitude,/*s/plot/geospatial/verbatimElevation,
21
Minimum altitude,/*s/plot/geospatial/minimumElevationInMeters,
22
Locality,/*s/plot/locationNarrative,
23
Locality description,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/name,Often begins with the text in Vegetation type
24
Direction,/*s/plot/slopeAspect/_alt/1,Part files provide either this field or Direction
25
Vegetation type,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,
26
Topographical situation,/*s/plot/landform,
27
Slope,/*s/plot/slopeGradient,
28 28
Soil sample,,Always empty
29
pH acuoso (ISRIC 4–– 1 - 14),->/*s/abioticObservation[*ID]/ph,
30
Conductividad electrica (ASPT 6–µS/cm– 1 - 10000),->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,
31
Nitrógeno total (ISRIC 6–%–0.0014),->/*s/abioticObservation[*ID]/nitrogen,
32
"Carbón Orgánico (WSP S-9,10–%–0.06)",->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value,
33
"Materia Orgánica (WSP S-9,10–%–0.1)",->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value,
34
Fósforo disponible (ISRIC 14-2–mg/Kg–1.5),->/*s/abioticObservation[*ID]/phosphorus,
35
"Sodio intercambiable (WSP S-5,10–cmolc/Kg–0.00083)",->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value,
36
"Potasio intercambiable (WSP S-5,10–cmolc/Kg–0.0053)",->/*s/abioticObservation[*ID]/potassium,
37
"Calcio intercambiable (WSP S-5,10–cmolc/Kg–0.016)",->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value,
38
"Magnesio intercambiable (WSP S-5,10–cmolc/Kg–0.00083)",->/*s/abioticObservation[*ID]/magnesium,
39
Acidez intercambiable (ISRIC 11–cmolc/Kg–0.05),->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value,
40
CIC (ISRIC 11–cmolc/Kg–0.05),->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,
41
Arena (DIN 18 123–%–2.5),->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value,
42
Limo (DIN 18 123–%–1),->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value,
43
Arcilla (DIN 18 123–%–1),->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value,
44
Textural class,->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,
45
Observaciones,/*UniqueIdentifierID->/*s/plot/note,
46
Orientación/exposicion,/*UniqueIdentifierID->/*s/plot/slopeAspect/_alt/2,Part files provide either this field or Orientación
29
pH acuoso (ISRIC 4–– 1 - 14),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/ph,
30
Conductividad electrica (ASPT 6–µS/cm– 1 - 10000),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,
31
Nitrógeno total (ISRIC 6–%–0.0014),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/nitrogen,
32
"Carbón Orgánico (WSP S-9,10–%–0.06)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value,
33
"Materia Orgánica (WSP S-9,10–%–0.1)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value,
34
Fósforo disponible (ISRIC 14-2–mg/Kg–1.5),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/phosphorus,
35
"Sodio intercambiable (WSP S-5,10–cmolc/Kg–0.00083)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value,
36
"Potasio intercambiable (WSP S-5,10–cmolc/Kg–0.0053)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/potassium,
37
"Calcio intercambiable (WSP S-5,10–cmolc/Kg–0.016)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value,
38
"Magnesio intercambiable (WSP S-5,10–cmolc/Kg–0.00083)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/magnesium,
39
Acidez intercambiable (ISRIC 11–cmolc/Kg–0.05),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value,
40
CIC (ISRIC 11–cmolc/Kg–0.05),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,
41
Arena (DIN 18 123–%–2.5),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value,
42
Limo (DIN 18 123–%–1),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value,
43
Arcilla (DIN 18 123–%–1),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value,
44
Textural class,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,
45
Observaciones,/*s/plot/note,
46
Orientación/exposicion,/*s/plot/slopeAspect/_alt/2,Part files provide either this field or Orientación
inputs/Madidi/maps/VegX.organisms.csv
1
Madidi,VegX:/*s/individualOrganismObservation,Comments
1
Madidi,VegX:,Comments
2 2
Expedition,,
3 3
Inventory name,,
4 4
Number of inventory (general),,
inputs/Madidi/maps/VegX.plots.full.csv
1
Madidi,VegX:/*s/plotObservation,Comments
2
"Magnesio intercambiable (WSP S-5,10–cmolc/Kg–0.00083)",->/*s/abioticObservation[*ID]/magnesium,
3
Nitrógeno total (ISRIC 6–%–0.0014),->/*s/abioticObservation[*ID]/nitrogen,
4
pH acuoso (ISRIC 4–– 1 - 14),->/*s/abioticObservation[*ID]/ph,
5
Fósforo disponible (ISRIC 14-2–mg/Kg–1.5),->/*s/abioticObservation[*ID]/phosphorus,
6
"Potasio intercambiable (WSP S-5,10–cmolc/Kg–0.0053)",->/*s/abioticObservation[*ID]/potassium,
7
Acidez intercambiable (ISRIC 11–cmolc/Kg–0.05),->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value,
8
"Calcio intercambiable (WSP S-5,10–cmolc/Kg–0.016)",->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value,
9
"Carbón Orgánico (WSP S-9,10–%–0.06)",->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value,
10
CIC (ISRIC 11–cmolc/Kg–0.05),->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,
11
Arcilla (DIN 18 123–%–1),->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value,
12
Conductividad electrica (ASPT 6–µS/cm– 1 - 10000),->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,
13
"Materia Orgánica (WSP S-9,10–%–0.1)",->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value,
14
Arena (DIN 18 123–%–2.5),->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value,
15
Limo (DIN 18 123–%–1),->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value,
16
"Sodio intercambiable (WSP S-5,10–cmolc/Kg–0.00083)",->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value,
17
Textural class,->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,
18
Vegetation type,->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,
19
Locality description,->/*s/communityDetermination[*ID]/*s/communityConcept/name,Often begins with the text in Vegetation type
20
Expedition name,/*ID->/*s/project/title[@id=name],Consistent (globally unique) between PPM and PT data
21
Expedition number,/*ID->/*s/project/title[@id=sourceAccessionCode],Consistent (globally unique) between PPM and PT data
22
Area,/*UniqueIdentifierID->/*s/plot/area,
23
Latitude,/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude/_alt/1,
24
Latitude (DMS),/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude/_alt/2,
25
Longitude,/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude/_alt/1,
26
Longitude (DMS),/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude/_alt/2,
27
Minimum altitude,/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,
28
Altitude,/*UniqueIdentifierID->/*s/plot/geospatial/verbatimElevation,
29
Topographical situation,/*UniqueIdentifierID->/*s/plot/landform,
30
Locality,/*UniqueIdentifierID->/*s/plot/locationNarrative,
31
Observaciones,/*UniqueIdentifierID->/*s/plot/note,
32
Inventory name,/*UniqueIdentifierID->/*s/plot/plotName,
33
Inventory code,/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,
34
Direction,/*UniqueIdentifierID->/*s/plot/slopeAspect/_alt/1,Part files provide either this field or Direction
35
Orientación/exposicion,/*UniqueIdentifierID->/*s/plot/slopeAspect/_alt/2,Part files provide either this field or Orientación
36
Slope,/*UniqueIdentifierID->/*s/plot/slopeGradient,
37
First evaluation,/obsStartDate,
1
Madidi,VegX:,Comments
2
"Magnesio intercambiable (WSP S-5,10–cmolc/Kg–0.00083)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/magnesium,
3
Nitrógeno total (ISRIC 6–%–0.0014),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/nitrogen,
4
pH acuoso (ISRIC 4–– 1 - 14),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/ph,
5
Fósforo disponible (ISRIC 14-2–mg/Kg–1.5),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/phosphorus,
6
"Potasio intercambiable (WSP S-5,10–cmolc/Kg–0.0053)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/potassium,
7
Acidez intercambiable (ISRIC 11–cmolc/Kg–0.05),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value,
8
"Calcio intercambiable (WSP S-5,10–cmolc/Kg–0.016)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value,
9
"Carbón Orgánico (WSP S-9,10–%–0.06)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value,
10
CIC (ISRIC 11–cmolc/Kg–0.05),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,
11
Arcilla (DIN 18 123–%–1),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value,
12
Conductividad electrica (ASPT 6–µS/cm– 1 - 10000),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,
13
"Materia Orgánica (WSP S-9,10–%–0.1)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value,
14
Arena (DIN 18 123–%–2.5),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value,
15
Limo (DIN 18 123–%–1),/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value,
16
"Sodio intercambiable (WSP S-5,10–cmolc/Kg–0.00083)",/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value,
17
Textural class,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,
18
Vegetation type,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,
19
Locality description,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/name,Often begins with the text in Vegetation type
20
Expedition name,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/*ID->/*s/project/title[@id=name],Consistent (globally unique) between PPM and PT data
21
Expedition number,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/*ID->/*s/project/title[@id=sourceAccessionCode],Consistent (globally unique) between PPM and PT data
22
First evaluation,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsStartDate,
23
Area,/*s/plot/area,
24
Latitude,/*s/plot/geospatial/DecimalLatitude/_alt/1,
25
Latitude (DMS),/*s/plot/geospatial/DecimalLatitude/_alt/2,
26
Longitude,/*s/plot/geospatial/DecimalLongitude/_alt/1,
27
Longitude (DMS),/*s/plot/geospatial/DecimalLongitude/_alt/2,
28
Minimum altitude,/*s/plot/geospatial/minimumElevationInMeters,
29
Altitude,/*s/plot/geospatial/verbatimElevation,
30
Topographical situation,/*s/plot/landform,
31
Locality,/*s/plot/locationNarrative,
32
Observaciones,/*s/plot/note,
33
Inventory name,/*s/plot/plotName,
34
Inventory code,/*s/plot/plotUniqueIdentifier,
35
Direction,/*s/plot/slopeAspect/_alt/1,Part files provide either this field or Direction
36
Orientación/exposicion,/*s/plot/slopeAspect/_alt/2,Part files provide either this field or Orientación
37
Slope,/*s/plot/slopeGradient,
38 38
Collaborators,,"Need a way to store a verbatim list of people, or a function to parse it and insert it iteratively into party"
39 39
Coordinates,,Concatenation of Latitude (DMS) and Longitude (DMS)
40 40
Installed and evaluated by,,"Need a way to store a verbatim list of people, or a function to parse it and insert it iteratively into party"
inputs/Madidi/maps/VegX.organisms.full.csv
1
Madidi,VegX:/*s/individualOrganismObservation,Comments
1
Madidi,VegX:,Comments
2 2
Autor (revised),,
3 3
Basal area,,
4 4
Bole height,,
inputs/CVS/maps/VegX.organisms.csv
1
CVS,VegX:/*s/individualOrganismObservation,Comments
2
authorObsCode,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,
3
obsStartDate,/*ID->/*s/plotObservation/obsStartDate/_*/date,
4
realLatitude,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude/_alt/1,
5
realLongitude,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude/_alt/1,
6
locationAccuracy-m,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/CoordinateUncertaintyInMeters,
7
publicLatitude,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude/_alt/2,
8
publicLongitude,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude/_alt/2,
1
CVS,VegX:,Comments
2
authorObsCode,/*s/plot/plotName,
3
obsStartDate,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsStartDate/_*/date,
4
realLatitude,/*s/plot/geospatial/DecimalLatitude/_alt/1,
5
realLongitude,/*s/plot/geospatial/DecimalLongitude/_alt/1,
6
locationAccuracy-m,/*s/plot/geospatial/CoordinateUncertaintyInMeters,
7
publicLatitude,/*s/plot/geospatial/DecimalLatitude/_alt/2,
8
publicLongitude,/*s/plot/geospatial/DecimalLongitude/_alt/2,
9 9
confidentialityStatus,,
10
state,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/location[placeType=state]/placeName,
11
county,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/location[placeType=county]/placeName,
12
currentTaxonName sec Weakley 2006,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name",
13
%cover,/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
10
state,/*s/plot/location[placeType=state]/placeName,
11
county,/*s/plot/location[placeType=county]/placeName,
12
currentTaxonName sec Weakley 2006,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name",
13
%cover,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
inputs/CVS/maps/VegX.organisms.full.csv
1
CVS,VegX:/*s/individualOrganismObservation,Comments
2
currentTaxonName sec Weakley 2006,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name",
3
locationAccuracy-m,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/CoordinateUncertaintyInMeters,
4
realLatitude,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude/_alt/1,
5
publicLatitude,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude/_alt/2,
6
realLongitude,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude/_alt/1,
7
publicLongitude,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude/_alt/2,
8
county,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/location[placeType=county]/placeName,
9
state,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/location[placeType=state]/placeName,
10
authorObsCode,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,
11
obsStartDate,/*ID->/*s/plotObservation/obsStartDate/_*/date,
12
%cover,/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
1
CVS,VegX:,Comments
2
currentTaxonName sec Weakley 2006,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name",
3
%cover,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
4
obsStartDate,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsStartDate/_*/date,
5
locationAccuracy-m,/*s/plot/geospatial/CoordinateUncertaintyInMeters,
6
realLatitude,/*s/plot/geospatial/DecimalLatitude/_alt/1,
7
publicLatitude,/*s/plot/geospatial/DecimalLatitude/_alt/2,
8
realLongitude,/*s/plot/geospatial/DecimalLongitude/_alt/1,
9
publicLongitude,/*s/plot/geospatial/DecimalLongitude/_alt/2,
10
county,/*s/plot/location[placeType=county]/placeName,
11
state,/*s/plot/location[placeType=state]/placeName,
12
authorObsCode,/*s/plot/plotName,
13 13
confidentialityStatus,,
inputs/SALVIAS-CSV/maps/VegX.plots.csv
1
SALVIAS-CSV,VegX:/*s/plotObservation,Comments
2
project,/*ID->/*s/project/title[@id=name],
3
PLOT_ID,/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"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/plotName,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
5
major_geo,/*UniqueIdentifierID->/*s/plot/location[placeType=continent]/placeName,
6
country,/*UniqueIdentifierID->/*s/plot/location[placeType=country]/placeName,
7
pol1,/*UniqueIdentifierID->/*s/plot/location[placeType=state]/placeName,Brad: No; pol1=stateProvince
8
pol2,/*UniqueIdentifierID->/*s/plot/location[placeType=county]/placeName,Brad: No pol2=countyParish
9
locality_description,/*UniqueIdentifierID->/*s/plot/locationNarrative,"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=precipitation]/value,
17
slope_aspect,/*UniqueIdentifierID->/*s/plot/slopeAspect,
18
slope_gradient,/*UniqueIdentifierID->/*s/plot/slopeGradient,
19
clay_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value/_units:[default=""%"",to=]/value",
20
silt_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value/_units:[default=""%"",to=]/value",
21
sand_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value/_units:[default=""%"",to=]/value",
22
organic_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value/_units:[default=""%"",to=]/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/_units:[default=""%"",to=]/value",
25
soil_P,"->/*s/abioticObservation[*ID]/phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
26
soil_C,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value/_units:[default=""%"",to=]/value",
27
soil_K,"->/*s/abioticObservation[*ID]/potassium/_units:[default=""%"",to=]/value",
28
soil_Mg,"->/*s/abioticObservation[*ID]/magnesium/_units:[default=""%"",to=]/value",
29
soil_Ca,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value/_units:[default=""%"",to=]/value",
30
soil_Na,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value/_units:[default=""%"",to=]/value",
31
soil_acidity,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
32
soil_base,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value/_units:[default=""%"",to=]/value",
33
soil_cation_cap,->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/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]/*s/communityConcept/commonName,
37
life_zone_code,->/*s/communityDetermination[*ID]/*s/communityConcept/name,
1
SALVIAS-CSV,VegX:,Comments
2
project,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/*ID->/*s/project/title[@id=name],
3
PLOT_ID,/*s/plot/plotUniqueIdentifier,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
4
plot_code,/*s/plot/plotName,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
5
major_geo,/*s/plot/location[placeType=continent]/placeName,
6
country,/*s/plot/location[placeType=country]/placeName,
7
pol1,/*s/plot/location[placeType=state]/placeName,Brad: No; pol1=stateProvince
8
pol2,/*s/plot/location[placeType=county]/placeName,Brad: No pol2=countyParish
9
locality_description,/*s/plot/locationNarrative,"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,/*s/plot/geospatial/DecimalLatitude,
11
long_decimal,/*s/plot/geospatial/DecimalLongitude,
12
elev_m,/*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,/*s/plot/geospatial/maximumElevationInMeters,
14
elev_min_m,/*s/plot/geospatial/minimumElevationInMeters,
15
temp_c,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/temperature,
16
precip_mm,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=precipitation]/value,
17
slope_aspect,/*s/plot/slopeAspect,
18
slope_gradient,/*s/plot/slopeGradient,
19
clay_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value/_units:[default=""%"",to=]/value",
20
silt_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value/_units:[default=""%"",to=]/value",
21
sand_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value/_units:[default=""%"",to=]/value",
22
organic_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value/_units:[default=""%"",to=]/value",
23
pH,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*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/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/nitrogen/_units:[default=""%"",to=]/value",
25
soil_P,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
26
soil_C,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value/_units:[default=""%"",to=]/value",
27
soil_K,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/potassium/_units:[default=""%"",to=]/value",
28
soil_Mg,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/magnesium/_units:[default=""%"",to=]/value",
29
soil_Ca,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value/_units:[default=""%"",to=]/value",
30
soil_Na,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value/_units:[default=""%"",to=]/value",
31
soil_acidity,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
32
soil_base,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value/_units:[default=""%"",to=]/value",
33
soil_cation_cap,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,
34
soil_conductivity,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,
35
soil_texture,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,
36
holdridge_life_zone,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,
37
life_zone_code,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/name,
38 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=method]/*ID/method/name,
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"
39
plot_methodology,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=method]/*ID/method/name,
40
plot_area_ha,/*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 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,
43
date_finish,/obsEndDate/_*/date,
42
date_start,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsStartDate/_*/date,
43
date_finish,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsEndDate/_*/date,
inputs/SALVIAS-CSV/maps/VegX.organisms.csv
1
SALVIAS-CSV,VegX:/*s/individualOrganismObservation,Comments
2
OBSERVATION_ID,/simpleUserdefined[name=sourceAccessionCode]/value,"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,/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
4
plot_code,/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"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/plotName,
8
individual_code,/simpleUserdefined[name=authorPlantCode]/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."
1
SALVIAS-CSV,VegX:,Comments
2
OBSERVATION_ID,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=sourceAccessionCode]/value,"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,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
4
plot_code,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"Brad: Same as plotCode, above"
5
census_no,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/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,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsStartDate/_date/year,
7
subplot,/*s/plot/plotName,
8
individual_code,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=authorPlantCode]/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 9
ind_id,,Brad: OMIT
10
tag1,/*ID->/*s/individualOrganism/identificationLabel[@id=1]/_alt/1,"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[@id=2]/_alt/1,"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,/relativePlotPosition/relativeX,"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,/relativePlotPosition/relativeY,Brad: See comment above for x_position
14
voucher_string,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/2,"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/*ID->/*s/taxonNameUsageConcept/voucher/_alt/1,Brad: Incorrect. Map instead as for voucher_string
10
tag1,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=1]/_alt/1,"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,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=2]/_alt/1,"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,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/relativePlotPosition/relativeX,"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,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/relativePlotPosition/relativeY,Brad: See comment above for x_position
14
voucher_string,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/2,"Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
15
coll_number,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/1,Brad: Incorrect. Map instead as for voucher_string
16 16
collector_code,,Brad: OMIT
17
coll_lastname,"/*ID->/*s/individualOrganism/*ID->/*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/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",Brad: See comment above
19
det_type,"/*ID->/*s/individualOrganism/*ID->/*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."
17
coll_lastname,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*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,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",Brad: See comment above
19
det_type,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*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 20
fam_status,,Brad: OMIT. This will be determined later by using TNRS.
21 21
gen_status,,Brad: OMIT. This will be determined later by using TNRS.
22 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/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",
24
genus,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name",
25
specific_epithet,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name",
26
specific_authority,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name",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/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Rank",
28
infra_ep_1,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Name",
29
cf_aff,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit","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
family,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",
24
genus,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name",
25
specific_epithet,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name",
26
specific_authority,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name",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,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Rank",
28
infra_ep_1,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Name",
29
cf_aff,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit","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 30
comments,,Brad: OMIT
31
habit,"/simpleUserdefined[name=growthForm]/value/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=]/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,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/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,/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
34
intercept_cm,/volumeCanopy/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=heightFirstBranch]/value,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
37
stem_tag1,/*ID->/*s/individualOrganism/identificationLabel[@id=1]/_alt/2,"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[@id=2]/_alt/2,Brad: see above
39
stem_dbh,/diameterBaseDistance[baseDistance/value=1.37]/diameter,
40
basal_diam,/diameterBaseDistance[baseDistance/value=0]/diameter,
41
stem_height_m,/simpleUserdefined[name=height]/value,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
42
stem_height_first_branch_m,/simpleUserdefined[name=heightFirstBranch]/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=canopyForm]/value,Brad: Should also be userDefined for VegBank. 
44
stem_canopy_position,/simpleUserdefined[name=canopyPosition]/value,Brad: Should also be userDefined for VegBank. 
45
stem_liana_infestation,/simpleUserdefined[name=lianaInfestation]/value,Brad: Should also be userDefined for VegBank. 
46
notes,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
47
orig_family,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",Brad: OMIT
48
orig_species,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/last",Brad: OMIT
31
habit,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=growthForm]/value/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=]/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,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/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,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
34
intercept_cm,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/volumeCanopy/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,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
36
ht_first_branch_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=heightFirstBranch]/value,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
37
stem_tag1,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=1]/_alt/2,"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,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=2]/_alt/2,Brad: see above
39
stem_dbh,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/diameterBaseDistance[baseDistance/value=1.37]/diameter,
40
basal_diam,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/diameterBaseDistance[baseDistance/value=0]/diameter,
41
stem_height_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=height]/value,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
42
stem_height_first_branch_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=heightFirstBranch]/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,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyForm]/value,Brad: Should also be userDefined for VegBank. 
44
stem_canopy_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyPosition]/value,Brad: Should also be userDefined for VegBank. 
45
stem_liana_infestation,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=lianaInfestation]/value,Brad: Should also be userDefined for VegBank. 
46
notes,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
47
orig_family,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",Brad: OMIT
48
orig_species,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/last",Brad: OMIT
inputs/SALVIAS-CSV/maps/VegX.plots.full.csv
1
SALVIAS-CSV,VegX:/*s/plotObservation,Comments
2
soil_Mg,"->/*s/abioticObservation[*ID]/magnesium/_units:[default=""%"",to=]/value",
3
soil_N,"->/*s/abioticObservation[*ID]/nitrogen/_units:[default=""%"",to=]/value",
4
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."
5
soil_P,"->/*s/abioticObservation[*ID]/phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
6
soil_K,"->/*s/abioticObservation[*ID]/potassium/_units:[default=""%"",to=]/value",
7
soil_acidity,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
8
soil_base,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value/_units:[default=""%"",to=]/value",
9
soil_Ca,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value/_units:[default=""%"",to=]/value",
10
soil_C,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value/_units:[default=""%"",to=]/value",
11
soil_cation_cap,->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,
12
clay_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value/_units:[default=""%"",to=]/value",
13
soil_conductivity,->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,
14
organic_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value/_units:[default=""%"",to=]/value",
15
sand_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value/_units:[default=""%"",to=]/value",
16
silt_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value/_units:[default=""%"",to=]/value",
17
soil_Na,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value/_units:[default=""%"",to=]/value",
18
soil_texture,->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,
19
holdridge_life_zone,->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,
20
life_zone_code,->/*s/communityDetermination[*ID]/*s/communityConcept/name,
21
project,/*ID->/*s/project/title[@id=name],
22
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"
23
lat_decimal,/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude,
24
long_decimal,/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude,
25
elev_max_m,/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,
26
elev_min_m,/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,
27
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.
28
locality_description,/*UniqueIdentifierID->/*s/plot/locationNarrative,"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"
29
major_geo,/*UniqueIdentifierID->/*s/plot/location[placeType=continent]/placeName,
30
country,/*UniqueIdentifierID->/*s/plot/location[placeType=country]/placeName,
31
pol2,/*UniqueIdentifierID->/*s/plot/location[placeType=county]/placeName,Brad: No pol2=countyParish
32
pol1,/*UniqueIdentifierID->/*s/plot/location[placeType=state]/placeName,Brad: No; pol1=stateProvince
33
plot_code,/*UniqueIdentifierID->/*s/plot/plotName,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
34
PLOT_ID,/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
35
slope_aspect,/*UniqueIdentifierID->/*s/plot/slopeAspect,
36
slope_gradient,/*UniqueIdentifierID->/*s/plot/slopeGradient,
37
date_finish,/obsEndDate/_*/date,
38
date_start,/obsStartDate/_*/date,
39
plot_methodology,/simpleUserdefined[name=method]/*ID/method/name,
40
precip_mm,/simpleUserdefined[name=precipitation]/value,
41
temp_c,/temperature,
1
SALVIAS-CSV,VegX:,Comments
2
soil_Mg,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/magnesium/_units:[default=""%"",to=]/value",
3
soil_N,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/nitrogen/_units:[default=""%"",to=]/value",
4
pH,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*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."
5
soil_P,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
6
soil_K,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/potassium/_units:[default=""%"",to=]/value",
7
soil_acidity,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
8
soil_base,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value/_units:[default=""%"",to=]/value",
9
soil_Ca,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value/_units:[default=""%"",to=]/value",
10
soil_C,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value/_units:[default=""%"",to=]/value",
11
soil_cation_cap,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,
12
clay_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value/_units:[default=""%"",to=]/value",
13
soil_conductivity,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,
14
organic_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value/_units:[default=""%"",to=]/value",
15
sand_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value/_units:[default=""%"",to=]/value",
16
silt_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value/_units:[default=""%"",to=]/value",
17
soil_Na,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value/_units:[default=""%"",to=]/value",
18
soil_texture,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,
19
holdridge_life_zone,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,
20
life_zone_code,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/name,
21
project,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/*ID->/*s/project/title[@id=name],
22
date_finish,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsEndDate/_*/date,
23
date_start,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsStartDate/_*/date,
24
plot_methodology,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=method]/*ID/method/name,
25
precip_mm,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=precipitation]/value,
26
temp_c,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/temperature,
27
plot_area_ha,/*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"
28
lat_decimal,/*s/plot/geospatial/DecimalLatitude,
29
long_decimal,/*s/plot/geospatial/DecimalLongitude,
30
elev_max_m,/*s/plot/geospatial/maximumElevationInMeters,
31
elev_min_m,/*s/plot/geospatial/minimumElevationInMeters,
32
elev_m,/*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.
33
locality_description,/*s/plot/locationNarrative,"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"
34
major_geo,/*s/plot/location[placeType=continent]/placeName,
35
country,/*s/plot/location[placeType=country]/placeName,
36
pol2,/*s/plot/location[placeType=county]/placeName,Brad: No pol2=countyParish
37
pol1,/*s/plot/location[placeType=state]/placeName,Brad: No; pol1=stateProvince
38
plot_code,/*s/plot/plotName,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
39
PLOT_ID,/*s/plot/plotUniqueIdentifier,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
40
slope_aspect,/*s/plot/slopeAspect,
41
slope_gradient,/*s/plot/slopeGradient,
42 42
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"
43 43
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"
inputs/SALVIAS-CSV/maps/VegX.organisms.full.csv
1
SALVIAS-CSV,VegX:/*s/individualOrganismObservation,Comments
2
no_of_individuals,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/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."
3
cf_aff,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit","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."
4
orig_species,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/last",Brad: OMIT
5
orig_family,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",Brad: OMIT
6
det_type,"/*ID->/*s/individualOrganism/*ID->/*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."
7
coll_firstname,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",Brad: See comment above
8
coll_lastname,"/*ID->/*s/individualOrganism/*ID->/*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."
9
infra_ep_1,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Name",
10
infra_rank_1,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Rank",
11
specific_authority,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name",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.
12
family,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",
13
genus,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name",
14
specific_epithet,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name",
15
notes,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
16
coll_number,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/1,Brad: Incorrect. Map instead as for voucher_string
17
voucher_string,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/2,"Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
18
tag1,/*ID->/*s/individualOrganism/identificationLabel[@id=1]/_alt/1,"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."
19
stem_tag1,/*ID->/*s/individualOrganism/identificationLabel[@id=1]/_alt/2,"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."
20
tag2,/*ID->/*s/individualOrganism/identificationLabel[@id=2]/_alt/1,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
21
stem_tag2,/*ID->/*s/individualOrganism/identificationLabel[@id=2]/_alt/2,Brad: see above
22
subplot,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,
23
census_date,/*ID->/*s/plotObservation/obsStartDate/_date/year,
24
plot_code,/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"Brad: Same as plotCode, above"
25
PLOT_ID,/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
26
basal_diam,/diameterBaseDistance[baseDistance/value=0]/diameter,
27
stem_dbh,/diameterBaseDistance[baseDistance/value=1.37]/diameter,
28
height_m,/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
29
x_position,/relativePlotPosition/relativeX,"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."
30
y_position,/relativePlotPosition/relativeY,Brad: See comment above for x_position
31
individual_code,/simpleUserdefined[name=authorPlantCode]/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."
32
stem_canopy_form,/simpleUserdefined[name=canopyForm]/value,Brad: Should also be userDefined for VegBank. 
33
stem_canopy_position,/simpleUserdefined[name=canopyPosition]/value,Brad: Should also be userDefined for VegBank. 
34
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."
35
habit,"/simpleUserdefined[name=growthForm]/value/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=]/value","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
36
ht_first_branch_m,/simpleUserdefined[name=heightFirstBranch]/value,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
37
stem_height_first_branch_m,/simpleUserdefined[name=heightFirstBranch]/value,"Brad: Should also be userDefined for VegBank. Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
38
stem_height_m,/simpleUserdefined[name=height]/value,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
39
stem_liana_infestation,/simpleUserdefined[name=lianaInfestation]/value,Brad: Should also be userDefined for VegBank. 
40
OBSERVATION_ID,/simpleUserdefined[name=sourceAccessionCode]/value,"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."
41
cover_percent,/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
42
intercept_cm,/volumeCanopy/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."
1
SALVIAS-CSV,VegX:,Comments
2
no_of_individuals,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/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."
3
cf_aff,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit","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."
4
orig_species,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/last",Brad: OMIT
5
orig_family,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",Brad: OMIT
6
det_type,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*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."
7
coll_firstname,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",Brad: See comment above
8
coll_lastname,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*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."
9
infra_ep_1,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Name",
10
infra_rank_1,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Rank",
11
specific_authority,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name",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.
12
family,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",
13
genus,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name",
14
specific_epithet,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name",
15
notes,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
16
coll_number,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/1,Brad: Incorrect. Map instead as for voucher_string
17
voucher_string,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/2,"Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
18
tag1,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=1]/_alt/1,"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."
19
stem_tag1,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=1]/_alt/2,"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."
20
tag2,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=2]/_alt/1,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
21
stem_tag2,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=2]/_alt/2,Brad: see above
22
basal_diam,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/diameterBaseDistance[baseDistance/value=0]/diameter,
23
stem_dbh,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/diameterBaseDistance[baseDistance/value=1.37]/diameter,
24
height_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
25
x_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/relativePlotPosition/relativeX,"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."
26
y_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/relativePlotPosition/relativeY,Brad: See comment above for x_position
27
individual_code,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=authorPlantCode]/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."
28
stem_canopy_form,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyForm]/value,Brad: Should also be userDefined for VegBank. 
29
stem_canopy_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyPosition]/value,Brad: Should also be userDefined for VegBank. 
30
census_no,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/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."
31
habit,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=growthForm]/value/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=]/value","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
32
ht_first_branch_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=heightFirstBranch]/value,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
33
stem_height_first_branch_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=heightFirstBranch]/value,"Brad: Should also be userDefined for VegBank. Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
34
stem_height_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=height]/value,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
35
stem_liana_infestation,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=lianaInfestation]/value,Brad: Should also be userDefined for VegBank. 
36
OBSERVATION_ID,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=sourceAccessionCode]/value,"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."
37
cover_percent,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
38
intercept_cm,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/volumeCanopy/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."
39
census_date,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsStartDate/_date/year,
40
plot_code,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"Brad: Same as plotCode, above"
41
PLOT_ID,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
42
subplot,/*s/plot/plotName,
43 43
collector_code,,Brad: OMIT
44 44
comments,,Brad: OMIT
45 45
fam_status,,Brad: OMIT. This will be determined later by using TNRS.
inputs/SALVIAS-CSV/maps/VegBIEN.organisms.csv
43 43
coll_number,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc/_alt/1","Brad: Incorrect. Map instead as for voucher_string; ""{.}"" sorts it with other _ifs"
44 44
voucher_string,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below.; ""{.}"" sorts it with other _ifs"
45 45
det_type,/{.}/_ignore/voucherType,"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.; ""{"" sorts it after what uses it, so the _ignore is executed after the _refs"
46
basal_diam,,** No join mapping for /diameterBaseDistance[baseDistance/value=0]/diameter ** 
46
basal_diam,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/diameterBaseDistance[baseDistance/value=0]/diameter ** 
47 47
collector_code,,Brad: OMIT
48 48
comments,,Brad: OMIT
49 49
fam_status,,Brad: OMIT. This will be determined later by using TNRS.
50 50
gen_status,,Brad: OMIT. This will be determined later by using TNRS.
51
ht_first_branch_m,,** No join mapping for /simpleUserdefined[name=heightFirstBranch]/value ** Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
51
ht_first_branch_m,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=heightFirstBranch]/value ** Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
52 52
ind_id,,Brad: OMIT
53
notes,,** No join mapping for /*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text ** 
53
notes,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text ** 
54 54
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."
55
stem_canopy_form,,** No join mapping for /simpleUserdefined[name=canopyForm]/value ** Brad: Should also be userDefined for VegBank. 
56
stem_canopy_position,,** No join mapping for /simpleUserdefined[name=canopyPosition]/value ** Brad: Should also be userDefined for VegBank. 
57
stem_dbh,,** No join mapping for /diameterBaseDistance[baseDistance/value=1.37]/diameter ** 
58
stem_height_first_branch_m,,"** No join mapping for /simpleUserdefined[name=heightFirstBranch]/value ** Brad: Should also be userDefined for VegBank. Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
59
stem_liana_infestation,,** No join mapping for /simpleUserdefined[name=lianaInfestation]/value ** Brad: Should also be userDefined for VegBank. 
55
stem_canopy_form,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyForm]/value ** Brad: Should also be userDefined for VegBank. 
56
stem_canopy_position,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyPosition]/value ** Brad: Should also be userDefined for VegBank. 
57
stem_dbh,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/diameterBaseDistance[baseDistance/value=1.37]/diameter ** 
58
stem_height_first_branch_m,,"** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=heightFirstBranch]/value ** Brad: Should also be userDefined for VegBank. Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
59
stem_liana_infestation,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=lianaInfestation]/value ** Brad: Should also be userDefined for VegBank. 
inputs/SALVIAS/maps/VegX.stems.csv
1
SALVIAS,VegX:/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID],Comments
1
SALVIAS,VegX:,Comments
2 2
stem_id,,
3 3
origrecord_id_stems,,
4
PlotObsID,/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/simpleUserdefined[name=sourceAccessionCode]/value,
5
NoInd,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/value,
6
basal_diam,/diameterBaseDistance[baseDistance/value=0]/diameter,
7
stem_dbh,/diameterBaseDistance[baseDistance[!attributeID]/value=1.37]/diameter,
8
gentry_dbh,/diameterBaseDistance[baseDistance[*ID/*s/attribute/quantitative/*ID/*s/method(/name=Gentry)]/value=1.37]/diameter,
9
stem_notes,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
10
stem_tag1,/*ID->/*s/individualOrganism/identificationLabel[@id=1],
11
stem_tag2,/*ID->/*s/individualOrganism/identificationLabel[@id=2],
12
stem_height_m,/simpleUserdefined[name=height]/value,
13
stem_height_first_branch_m,/simpleUserdefined[name=heightFirstBranch]/value,
14
stem_canopy_form,/simpleUserdefined[name=canopyForm]/value,
15
stem_canopy_position,/simpleUserdefined[name=canopyPosition]/value,
16
stem_liana_infestation,/simpleUserdefined[name=lianaInfestation]/value,
4
PlotObsID,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=sourceAccessionCode]/value,
5
NoInd,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/value,
6
basal_diam,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/diameterBaseDistance[baseDistance/value=0]/diameter,
7
stem_dbh,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/diameterBaseDistance[baseDistance[!attributeID]/value=1.37]/diameter,
8
gentry_dbh,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/diameterBaseDistance[baseDistance[*ID/*s/attribute/quantitative/*ID/*s/method(/name=Gentry)]/value=1.37]/diameter,
9
stem_notes,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
10
stem_tag1,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/*ID->/*s/individualOrganism/identificationLabel[@id=1],
11
stem_tag2,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/*ID->/*s/individualOrganism/identificationLabel[@id=2],
12
stem_height_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=height]/value,
13
stem_height_first_branch_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=heightFirstBranch]/value,
14
stem_canopy_form,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=canopyForm]/value,
15
stem_canopy_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=canopyPosition]/value,
16
stem_liana_infestation,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=lianaInfestation]/value,
17 17
tmp_del,,
inputs/SALVIAS/maps/VegX.stems.full.csv
1
SALVIAS,VegX:/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID],Comments
2
NoInd,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/value,
3
stem_notes,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
4
stem_tag1,/*ID->/*s/individualOrganism/identificationLabel[@id=1],
5
stem_tag2,/*ID->/*s/individualOrganism/identificationLabel[@id=2],
6
basal_diam,/diameterBaseDistance[baseDistance/value=0]/diameter,
7
stem_dbh,/diameterBaseDistance[baseDistance[!attributeID]/value=1.37]/diameter,
8
gentry_dbh,/diameterBaseDistance[baseDistance[*ID/*s/attribute/quantitative/*ID/*s/method(/name=Gentry)]/value=1.37]/diameter,
9
PlotObsID,/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/simpleUserdefined[name=sourceAccessionCode]/value,
10
stem_canopy_form,/simpleUserdefined[name=canopyForm]/value,
11
stem_canopy_position,/simpleUserdefined[name=canopyPosition]/value,
12
stem_height_first_branch_m,/simpleUserdefined[name=heightFirstBranch]/value,
13
stem_height_m,/simpleUserdefined[name=height]/value,
14
stem_liana_infestation,/simpleUserdefined[name=lianaInfestation]/value,
1
SALVIAS,VegX:,Comments
2
NoInd,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/value,
3
stem_notes,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
4
stem_tag1,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/*ID->/*s/individualOrganism/identificationLabel[@id=1],
5
stem_tag2,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/*ID->/*s/individualOrganism/identificationLabel[@id=2],
6
basal_diam,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/diameterBaseDistance[baseDistance/value=0]/diameter,
7
stem_dbh,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/diameterBaseDistance[baseDistance[!attributeID]/value=1.37]/diameter,
8
gentry_dbh,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/diameterBaseDistance[baseDistance[*ID/*s/attribute/quantitative/*ID/*s/method(/name=Gentry)]/value=1.37]/diameter,
9
stem_canopy_form,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=canopyForm]/value,
10
stem_canopy_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=canopyPosition]/value,
11
stem_height_first_branch_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=heightFirstBranch]/value,
12
stem_height_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=height]/value,
13
stem_liana_infestation,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]->/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]/simpleUserdefined[name=lianaInfestation]/value,
14
PlotObsID,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=sourceAccessionCode]/value,
15 15
origrecord_id_stems,,
16 16
stem_id,,
17 17
tmp_del,,
inputs/SALVIAS/maps/VegX.plots.csv
1
SALVIAS,VegX:/*s/plotObservation,Comments
2
PlotID,/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
1
SALVIAS,VegX:,Comments
2
PlotID,/*s/plot/plotUniqueIdentifier,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
3 3
orig_filename,,
4 4
AccessCode,,
5
project_id,/*ID->/*s/project/title[@id=name],
5
project_id,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/*ID->/*s/project/title[@id=name],
6 6
PrimOwnerID,,
7
SiteCode,/*UniqueIdentifierID->/*s/plot/plotName,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
7
SiteCode,/*s/plot/plotName,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
8 8
SiteName,,
9 9
new_world,,
10
MajorGeo,/*UniqueIdentifierID->/*s/plot/location[placeType=continent]/placeName,
11
Country,/*UniqueIdentifierID->/*s/plot/location[placeType=country]/placeName,
12
PolDiv1,/*UniqueIdentifierID->/*s/plot/location[placeType=state]/placeName,Brad: No; pol1=stateProvince
10
MajorGeo,/*s/plot/location[placeType=continent]/placeName,
11
Country,/*s/plot/location[placeType=country]/placeName,
12
PolDiv1,/*s/plot/location[placeType=state]/placeName,Brad: No; pol1=stateProvince
13 13
pol1_type,,
14
pol2,/*UniqueIdentifierID->/*s/plot/location[placeType=county]/placeName,Brad: No pol2=countyParish
14
pol2,/*s/plot/location[placeType=county]/placeName,Brad: No pol2=countyParish
15 15
pol2_type,,
16 16
lat_string,,
17 17
long_string,,
18
LatDec,/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude,
19
LongDec,/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude,
18
LatDec,/*s/plot/geospatial/DecimalLatitude,
19
LongDec,/*s/plot/geospatial/DecimalLongitude,
20 20
lat_long_accuracy,,
21
Elev,/*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.
22
elev_max_m,/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,
23
elev_min_m,/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,
24
Precip,/simpleUserdefined[name=precipitation]/value,
21
Elev,/*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.
22
elev_max_m,/*s/plot/geospatial/maximumElevationInMeters,
23
elev_min_m,/*s/plot/geospatial/minimumElevationInMeters,
24
Precip,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=precipitation]/value,
25 25
ElevSource,,
26
Temp,/temperature,
26
Temp,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/temperature,
27 27
PrecipSource,,
28 28
TempSource,,
29 29
bearing,,
30
slope_aspect,/*UniqueIdentifierID->/*s/plot/slopeAspect,
31
slope_gradient,/*UniqueIdentifierID->/*s/plot/slopeGradient,
32
clay_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value/_units:[default=""%"",to=]/value",
33
silt_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value/_units:[default=""%"",to=]/value",
34
sand_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value/_units:[default=""%"",to=]/value",
35
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."
36
soil_N,"->/*s/abioticObservation[*ID]/nitrogen/_units:[default=""%"",to=]/value",
37
soil_P,"->/*s/abioticObservation[*ID]/phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
38
soil_C,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value/_units:[default=""%"",to=]/value",
39
soil_K,"->/*s/abioticObservation[*ID]/potassium/_units:[default=""%"",to=]/value",
40
soil_Mg,"->/*s/abioticObservation[*ID]/magnesium/_units:[default=""%"",to=]/value",
41
soil_Ca,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value/_units:[default=""%"",to=]/value",
42
soil_Na,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value/_units:[default=""%"",to=]/value",
43
soil_acidity,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
44
soil_base,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value/_units:[default=""%"",to=]/value",
45
soil_cation_cap,->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,
46
soil_conductivity,->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,
47
organic_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value/_units:[default=""%"",to=]/value",
48
soil_texture,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value/_units:[default=""%"",to=]/value",
30
slope_aspect,/*s/plot/slopeAspect,
31
slope_gradient,/*s/plot/slopeGradient,
32
clay_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value/_units:[default=""%"",to=]/value",
33
silt_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value/_units:[default=""%"",to=]/value",
34
sand_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value/_units:[default=""%"",to=]/value",
35
pH,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*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."
36
soil_N,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/nitrogen/_units:[default=""%"",to=]/value",
37
soil_P,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
38
soil_C,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value/_units:[default=""%"",to=]/value",
39
soil_K,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/potassium/_units:[default=""%"",to=]/value",
40
soil_Mg,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/magnesium/_units:[default=""%"",to=]/value",
41
soil_Ca,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value/_units:[default=""%"",to=]/value",
42
soil_Na,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value/_units:[default=""%"",to=]/value",
43
soil_acidity,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
44
soil_base,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value/_units:[default=""%"",to=]/value",
45
soil_cation_cap,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,
46
soil_conductivity,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,
47
organic_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value/_units:[default=""%"",to=]/value",
48
soil_texture,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value/_units:[default=""%"",to=]/value",
49 49
RevisionComments,,
50
Locality_Description,/*UniqueIdentifierID->/*s/plot/locationNarrative,"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"
50
Locality_Description,/*s/plot/locationNarrative,"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"
51 51
topography_desc,,
52 52
vegetation_1,,
53 53
vegetation_2,,
54 54
Habitat,,
55
life_zone_code,->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,
56
life_zone,->/*s/communityDetermination[*ID]/*s/communityConcept/name,
57
PlotMethod,/simpleUserdefined[name=method]/*ID/method/name,
55
life_zone_code,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,
56
life_zone,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/name,
57
PlotMethod,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=method]/*ID/method/name,
58 58
MethodCode,,
59
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"
59
plot_area_ha,/*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"
60 60
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"
61
date_start,/obsStartDate/_*/date,
62
date_finish,/obsEndDate/_*/date,
61
date_start,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsStartDate/_*/date,
62
date_finish,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsEndDate/_*/date,
63 63
plot_administrator,,
64 64
plot_notes,,
65 65
tmp_del,,
inputs/SALVIAS/maps/VegX.organisms.csv
1
SALVIAS,VegX:/*s/individualOrganismObservation,Comments
2
PlotObsID,/simpleUserdefined[name=sourceAccessionCode]/value,"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
PlotID,/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
4
PlotCode,/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"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,/simpleUserdefined[name=collectionDate]/value/_*/date,
1
SALVIAS,VegX:,Comments
2
PlotObsID,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=sourceAccessionCode]/value,"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
PlotID,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
4
PlotCode,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"Brad: Same as plotCode, above"
5
census_no,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/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,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=collectionDate]/value/_*/date,
7 7
OrigRecordID,,
8
Line,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,
9
Ind,/simpleUserdefined[name=authorPlantCode]/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."
8
Line,/*s/plot/plotName,
9
Ind,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=authorPlantCode]/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."
10 10
ind_id,,Brad: OMIT
11
tag1,/*ID->/*s/individualOrganism/identificationLabel[@id=1],"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."
12
tag2,/*ID->/*s/individualOrganism/identificationLabel[@id=2],"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
13
x_position,/relativePlotPosition/relativeX,"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."
14
y_position,/relativePlotPosition/relativeY,Brad: See comment above for x_position
11
tag1,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=1],"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."
12
tag2,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=2],"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
13
x_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/relativePlotPosition/relativeX,"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."
14
y_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/relativePlotPosition/relativeY,Brad: See comment above for x_position
15 15
dist,,
16 16
perp_dist,,
17
SourceVoucher,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/2,"Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
18
coll_number,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/1,Brad: Incorrect. Map instead as for voucher_string
17
SourceVoucher,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/2,"Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
18
coll_number,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/1,Brad: Incorrect. Map instead as for voucher_string
19 19
collector_code,,Brad: OMIT
20 20
coll_inits,,
21
coll_lastname,"/*ID->/*s/individualOrganism/*ID->/*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."
22
coll_firstname,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",Brad: See comment above
23
DetType,"/*ID->/*s/individualOrganism/*ID->/*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."
21
coll_lastname,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*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."
22
coll_firstname,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",Brad: See comment above
23
DetType,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*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."
24 24
det_by,,
25 25
fam_status,,Brad: OMIT. This will be determined later by using TNRS.
26 26
gen_status,,Brad: OMIT. This will be determined later by using TNRS.
27 27
name_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."
28 28
SpAuthStatus,,
29
Family,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",
30
Genus,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name",
29
Family,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",
30
Genus,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name",
31 31
GenAuth,,
32
Species,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name",
33
auth,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name",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.
34
infra_rank_1,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Rank",
35
infra_ep_1,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Name",
32
Species,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name",
33
auth,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name",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.
34
infra_rank_1,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Rank",
35
infra_ep_1,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Name",
36 36
infra_auth_1,,
37 37
common_name,,
38 38
morphoname,,
39 39
species_code,,
40
Habit,"/simpleUserdefined[name=growthForm]/value/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=]/value","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
40
Habit,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=growthForm]/value/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=]/value","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
41 41
height_class,,
42
height_m,/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
42
height_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
43 43
height_m_commercial,,
44
ht_first_branch_m,/simpleUserdefined[name=heightFirstBranch]/value,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
45
NoInd,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/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."
46
cover_percent,/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
47
intercept_cm,/volumeCanopy/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."
48
cfaff,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit","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."
44
ht_first_branch_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=heightFirstBranch]/value,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
45
NoInd,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/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."
46
cover_percent,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
47
intercept_cm,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/volumeCanopy/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."
48
cfaff,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit","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."
49 49
other_annotations,,
50 50
morphocf,,
51 51
IsMorpho,,
52
OrigFamily,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",Brad: OMIT
53
OrigGenus,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/first",
54
OrigSpecies,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/last",Brad: OMIT
52
OrigFamily,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",Brad: OMIT
53
OrigGenus,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/first",
54
OrigSpecies,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/last",Brad: OMIT
55 55
OrigAuth,,
56 56
phenology,,
57
canopy_position,/simpleUserdefined[name=canopyPosition]/value,Brad: Should also be userDefined for VegBank. 
58
canopy_form,/simpleUserdefined[name=canopyForm]/value,Brad: Should also be userDefined for VegBank. 
59
liana_infestation,/simpleUserdefined[name=lianaInfestation]/value,Brad: Should also be userDefined for VegBank. 
60
Notes,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
61
temp_dbh,/diameterBaseDistance[baseDistance/value=1.37]/diameter,
57
canopy_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyPosition]/value,Brad: Should also be userDefined for VegBank. 
58
canopy_form,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyForm]/value,Brad: Should also be userDefined for VegBank. 
59
liana_infestation,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=lianaInfestation]/value,Brad: Should also be userDefined for VegBank. 
60
Notes,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
61
temp_dbh,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/diameterBaseDistance[baseDistance/value=1.37]/diameter,
62 62
temp_liandbh,,
63 63
tmp_del,,
inputs/SALVIAS/maps/VegX.plots.full.csv
1
SALVIAS,VegX:/*s/plotObservation,Comments
2
soil_Mg,"->/*s/abioticObservation[*ID]/magnesium/_units:[default=""%"",to=]/value",
3
soil_N,"->/*s/abioticObservation[*ID]/nitrogen/_units:[default=""%"",to=]/value",
4
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."
5
soil_P,"->/*s/abioticObservation[*ID]/phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
6
soil_K,"->/*s/abioticObservation[*ID]/potassium/_units:[default=""%"",to=]/value",
7
soil_acidity,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
8
soil_base,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value/_units:[default=""%"",to=]/value",
9
soil_Ca,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value/_units:[default=""%"",to=]/value",
10
soil_C,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value/_units:[default=""%"",to=]/value",
11
soil_cation_cap,->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,
12
clay_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value/_units:[default=""%"",to=]/value",
13
soil_conductivity,->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,
14
organic_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value/_units:[default=""%"",to=]/value",
15
sand_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value/_units:[default=""%"",to=]/value",
16
silt_percent,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value/_units:[default=""%"",to=]/value",
17
soil_Na,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value/_units:[default=""%"",to=]/value",
18
soil_texture,"->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value/_units:[default=""%"",to=]/value",
19
life_zone_code,->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,
20
life_zone,->/*s/communityDetermination[*ID]/*s/communityConcept/name,
21
project_id,/*ID->/*s/project/title[@id=name],
22
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"
23
LatDec,/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude,
24
LongDec,/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude,
25
elev_max_m,/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,
26
elev_min_m,/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,
27
Elev,/*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.
28
Locality_Description,/*UniqueIdentifierID->/*s/plot/locationNarrative,"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"
29
MajorGeo,/*UniqueIdentifierID->/*s/plot/location[placeType=continent]/placeName,
30
Country,/*UniqueIdentifierID->/*s/plot/location[placeType=country]/placeName,
31
pol2,/*UniqueIdentifierID->/*s/plot/location[placeType=county]/placeName,Brad: No pol2=countyParish
32
PolDiv1,/*UniqueIdentifierID->/*s/plot/location[placeType=state]/placeName,Brad: No; pol1=stateProvince
33
SiteCode,/*UniqueIdentifierID->/*s/plot/plotName,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
34
PlotID,/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
35
slope_aspect,/*UniqueIdentifierID->/*s/plot/slopeAspect,
36
slope_gradient,/*UniqueIdentifierID->/*s/plot/slopeGradient,
37
date_finish,/obsEndDate/_*/date,
38
date_start,/obsStartDate/_*/date,
39
PlotMethod,/simpleUserdefined[name=method]/*ID/method/name,
40
Precip,/simpleUserdefined[name=precipitation]/value,
41
Temp,/temperature,
1
SALVIAS,VegX:,Comments
2
soil_Mg,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/magnesium/_units:[default=""%"",to=]/value",
3
soil_N,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/nitrogen/_units:[default=""%"",to=]/value",
4
pH,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*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."
5
soil_P,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
6
soil_K,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/potassium/_units:[default=""%"",to=]/value",
7
soil_acidity,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
8
soil_base,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value/_units:[default=""%"",to=]/value",
9
soil_Ca,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value/_units:[default=""%"",to=]/value",
10
soil_C,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value/_units:[default=""%"",to=]/value",
11
soil_cation_cap,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,
12
clay_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value/_units:[default=""%"",to=]/value",
13
soil_conductivity,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,
14
organic_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value/_units:[default=""%"",to=]/value",
15
sand_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value/_units:[default=""%"",to=]/value",
16
silt_percent,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value/_units:[default=""%"",to=]/value",
17
soil_Na,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value/_units:[default=""%"",to=]/value",
18
soil_texture,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value/_units:[default=""%"",to=]/value",
19
life_zone_code,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,
20
life_zone,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/name,
21
project_id,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/*ID->/*s/project/title[@id=name],
22
date_finish,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsEndDate/_*/date,
23
date_start,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsStartDate/_*/date,
24
PlotMethod,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=method]/*ID/method/name,
25
Precip,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=precipitation]/value,
26
Temp,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/temperature,
27
plot_area_ha,/*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"
28
LatDec,/*s/plot/geospatial/DecimalLatitude,
29
LongDec,/*s/plot/geospatial/DecimalLongitude,
30
elev_max_m,/*s/plot/geospatial/maximumElevationInMeters,
31
elev_min_m,/*s/plot/geospatial/minimumElevationInMeters,
32
Elev,/*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.
33
Locality_Description,/*s/plot/locationNarrative,"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"
34
MajorGeo,/*s/plot/location[placeType=continent]/placeName,
35
Country,/*s/plot/location[placeType=country]/placeName,
36
pol2,/*s/plot/location[placeType=county]/placeName,Brad: No pol2=countyParish
37
PolDiv1,/*s/plot/location[placeType=state]/placeName,Brad: No; pol1=stateProvince
38
SiteCode,/*s/plot/plotName,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
39
PlotID,/*s/plot/plotUniqueIdentifier,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
40
slope_aspect,/*s/plot/slopeAspect,
41
slope_gradient,/*s/plot/slopeGradient,
42 42
AccessCode,,
43 43
ElevSource,,
44 44
Habitat,,
inputs/SALVIAS/maps/VegX.organisms.full.csv
1
SALVIAS,VegX:/*s/individualOrganismObservation,Comments
2
NoInd,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/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."
3
cfaff,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit","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."
4
OrigGenus,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/first",
5
OrigSpecies,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/last",Brad: OMIT
6
OrigFamily,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",Brad: OMIT
7
DetType,"/*ID->/*s/individualOrganism/*ID->/*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."
8
coll_firstname,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",Brad: See comment above
9
coll_lastname,"/*ID->/*s/individualOrganism/*ID->/*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."
10
infra_ep_1,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Name",
11
infra_rank_1,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Rank",
12
auth,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name",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.
13
Family,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",
14
Genus,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name",
15
Species,"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name",
16
Notes,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
17
coll_number,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/1,Brad: Incorrect. Map instead as for voucher_string
18
SourceVoucher,/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/2,"Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
19
tag1,/*ID->/*s/individualOrganism/identificationLabel[@id=1],"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."
20
tag2,/*ID->/*s/individualOrganism/identificationLabel[@id=2],"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
21
Line,/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,
22
PlotCode,/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"Brad: Same as plotCode, above"
23
PlotID,/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
24
temp_dbh,/diameterBaseDistance[baseDistance/value=1.37]/diameter,
25
height_m,/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
26
x_position,/relativePlotPosition/relativeX,"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."
27
y_position,/relativePlotPosition/relativeY,Brad: See comment above for x_position
28
Ind,/simpleUserdefined[name=authorPlantCode]/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."
29
canopy_form,/simpleUserdefined[name=canopyForm]/value,Brad: Should also be userDefined for VegBank. 
30
canopy_position,/simpleUserdefined[name=canopyPosition]/value,Brad: Should also be userDefined for VegBank. 
31
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."
32
census_date,/simpleUserdefined[name=collectionDate]/value/_*/date,
33
Habit,"/simpleUserdefined[name=growthForm]/value/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=]/value","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
34
ht_first_branch_m,/simpleUserdefined[name=heightFirstBranch]/value,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
35
liana_infestation,/simpleUserdefined[name=lianaInfestation]/value,Brad: Should also be userDefined for VegBank. 
36
PlotObsID,/simpleUserdefined[name=sourceAccessionCode]/value,"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."
37
cover_percent,/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
38
intercept_cm,/volumeCanopy/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."
1
SALVIAS,VegX:,Comments
2
NoInd,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/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."
3
cfaff,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit","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."
4
OrigGenus,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/first",
5
OrigSpecies,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name/_name/last",Brad: OMIT
6
OrigFamily,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",Brad: OMIT
7
DetType,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*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."
8
coll_firstname,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",Brad: See comment above
9
coll_lastname,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*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."
10
infra_ep_1,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Name",
11
infra_rank_1,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Rank",
12
auth,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name",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.
13
Family,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",
14
Genus,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name",
15
Species,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name",
16
Notes,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text,
17
coll_number,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/1,Brad: Incorrect. Map instead as for voucher_string
18
SourceVoucher,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher/_alt/2,"Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
19
tag1,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=1],"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."
20
tag2,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/identificationLabel[@id=2],"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
21
temp_dbh,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/diameterBaseDistance[baseDistance/value=1.37]/diameter,
22
height_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
23
x_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/relativePlotPosition/relativeX,"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."
24
y_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/relativePlotPosition/relativeY,Brad: See comment above for x_position
25
Ind,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=authorPlantCode]/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."
26
canopy_form,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyForm]/value,Brad: Should also be userDefined for VegBank. 
27
canopy_position,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyPosition]/value,Brad: Should also be userDefined for VegBank. 
28
census_no,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/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."
29
census_date,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=collectionDate]/value/_*/date,
30
Habit,"/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=growthForm]/value/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=]/value","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
31
ht_first_branch_m,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=heightFirstBranch]/value,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
32
liana_infestation,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=lianaInfestation]/value,Brad: Should also be userDefined for VegBank. 
33
PlotObsID,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=sourceAccessionCode]/value,"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."
34
cover_percent,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,
35
intercept_cm,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/volumeCanopy/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."
36
PlotCode,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"Brad: Same as plotCode, above"
37
PlotID,/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
38
Line,/*s/plot/plotName,
39 39
GenAuth,,
40 40
IsMorpho,,
41 41
OrigAuth,,
inputs/SALVIAS/maps/VegBIEN.organisms.csv
45 45
DetType,/{.}/_ignore/voucherType,"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.; ""{"" sorts it after what uses it, so the _ignore is executed after the _refs"
46 46
GenAuth,,** No input mapping for GenAuth ** 
47 47
IsMorpho,,** No input mapping for IsMorpho ** 
48
Notes,,** No join mapping for /*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text ** 
48
Notes,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text ** 
49 49
OrigAuth,,** No input mapping for OrigAuth ** 
50 50
OrigRecordID,,** No input mapping for OrigRecordID ** 
51 51
SpAuthStatus,,** No input mapping for SpAuthStatus ** 
52
canopy_form,,** No join mapping for /simpleUserdefined[name=canopyForm]/value ** Brad: Should also be userDefined for VegBank. 
53
canopy_position,,** No join mapping for /simpleUserdefined[name=canopyPosition]/value ** Brad: Should also be userDefined for VegBank. 
52
canopy_form,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyForm]/value ** Brad: Should also be userDefined for VegBank. 
53
canopy_position,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=canopyPosition]/value ** Brad: Should also be userDefined for VegBank. 
54 54
coll_inits,,** No input mapping for coll_inits ** 
55 55
collector_code,,Brad: OMIT
56 56
common_name,,** No input mapping for common_name ** 
......
60 60
gen_status,,Brad: OMIT. This will be determined later by using TNRS.
61 61
height_class,,** No input mapping for height_class ** 
62 62
height_m_commercial,,** No input mapping for height_m_commercial ** 
63
ht_first_branch_m,,** No join mapping for /simpleUserdefined[name=heightFirstBranch]/value ** Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
63
ht_first_branch_m,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=heightFirstBranch]/value ** Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
64 64
ind_id,,Brad: OMIT
65 65
infra_auth_1,,** No input mapping for infra_auth_1 ** 
66
liana_infestation,,** No join mapping for /simpleUserdefined[name=lianaInfestation]/value ** Brad: Should also be userDefined for VegBank. 
66
liana_infestation,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/simpleUserdefined[name=lianaInfestation]/value ** Brad: Should also be userDefined for VegBank. 
67 67
morphocf,,** No input mapping for morphocf ** 
68 68
morphoname,,** No input mapping for morphoname ** 
69 69
name_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."
......
71 71
perp_dist,,** No input mapping for perp_dist ** 
72 72
phenology,,** No input mapping for phenology ** 
73 73
species_code,,** No input mapping for species_code ** 
74
temp_dbh,,** No join mapping for /diameterBaseDistance[baseDistance/value=1.37]/diameter ** 
74
temp_dbh,,** No join mapping for /*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/individualOrganismObservation[*ID]/diameterBaseDistance[baseDistance/value=1.37]/diameter ** 
75 75
temp_liandbh,,** No input mapping for temp_liandbh ** 
76 76
tmp_del,,** No input mapping for tmp_del ** 
mappings/VegX-VegBIEN.plots.csv
1
VegX:/*s/plotObservation,VegBIEN:/locationevent,Comments
2
/*UniqueIdentifierID->/*s/plot/area,/*_id/location/area,
3
/*UniqueIdentifierID->/*s/plot/geospatial/verbatimElevation,/*_id/location/elevation/_alt/1,
4
/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
5
/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value",
6
/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value",
7
/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
8
/*UniqueIdentifierID->/*s/plot/landform,/*_id/location/landform,
9
/*UniqueIdentifierID->/*s/plot/geospatial/CoordinateUncertaintyInMeters,/*_id/location/locationdetermination/coordsaccuracy,
10
/*UniqueIdentifierID->/*s/plot/geospatial/FootprintWKT,/*_id/location/locationdetermination/footprintgeometry_dwc,
11
/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude,/*_id/location/locationdetermination/latitude,
12
/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude,/*_id/location/locationdetermination/longitude,
13
/*UniqueIdentifierID->/*s/plot/location[placeType=county]/placeName,"/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=county]/placename",
14
/*UniqueIdentifierID->/*s/plot/location[placeType=state]/placeName,"/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=stateProvince]/placename",
15
/*UniqueIdentifierID->/*s/plot/location[placeType=country]/placeName,"/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=country]/placename",
16
/*UniqueIdentifierID->/*s/plot/location[placeType=continent]/placeName,"/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",
17
/*UniqueIdentifierID->/*s/plot/locationNarrative,/*_id/location/locationnarrative,
18
/*UniqueIdentifierID->/*s/plot/note,/*_id/location/notespublic,
19
/*UniqueIdentifierID->/*s/plot/slopeAspect,/*_id/location/slopeaspect/_compass/value,
20
/*UniqueIdentifierID->/*s/plot/slopeGradient,/*_id/location/slopegradient,
21
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/location/sourceaccessioncode/_merge/1/_alt/1,
22
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/location/sourceaccessioncode/_merge/1/_alt/2,
23
/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/location/sourceaccessioncode/_merge/2/_alt/1,
24
/*UniqueIdentifierID->/*s/plot/plotName,/*_id/location/sourceaccessioncode/_merge/2/_alt/2,
25
/simpleUserdefined[name=method]/*ID/method/name,/*_id/method/name,
26
/*ID->/*s/project/title[@id=name],/*_id/project/projectname,
27
/*ID->/*s/project/title[@id=sourceAccessionCode],/*_id/project/sourceaccessioncode,
28
/*UniqueIdentifierID->/*s/plot/plotName,/authorlocationcode,
29
->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,/commclass/commdetermination/*_id/commconcept/*_id/*/commname,
30
->/*s/communityDetermination[*ID]/*s/communityConcept/name,/commclass/commdetermination/*_id/commconcept/commdescription,
31
/obsEndDate,/obsenddate,
32
/obsStartDate,/obsstartdate,
33
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,
34
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/2,
35
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/parent_id/locationevent/authorlocationcode,
36
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/parent_id/locationevent/sourceaccessioncode,
37
/simpleUserdefined[name=precipitation]/value,/precipitation,
38
->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value,/soilobs/acidity,
39
->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value,/soilobs/basesaturation,
40
->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value,/soilobs/calcium,
41
->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value,/soilobs/carbon,
42
->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,/soilobs/cationexchangecapacity,
43
->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value,/soilobs/clay,
44
->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,/soilobs/conductivity,
45
->/*s/abioticObservation[*ID]/magnesium,/soilobs/magnesium,
46
->/*s/abioticObservation[*ID]/nitrogen,/soilobs/nitrogen,
47
->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value,/soilobs/organic,
48
->/*s/abioticObservation[*ID]/ph,/soilobs/ph,
49
->/*s/abioticObservation[*ID]/phosphorus,/soilobs/phosphorus,
50
->/*s/abioticObservation[*ID]/potassium,/soilobs/potassium,
51
->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value,/soilobs/sand,
52
->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value,/soilobs/silt,
53
->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value,/soilobs/sodium,
54
->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,/soilobs/texture,
55
/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/sourceaccessioncode,
56
/temperature,/temperature,
57
/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,"/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
58
/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,"/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
1
VegX:,VegBIEN:/locationevent,Comments
2
/*s/plot/area,/*_id/location/area,
3
/*s/plot/geospatial/verbatimElevation,/*_id/location/elevation/_alt/1,
4
/*s/plot/geospatial/maximumElevationInMeters,"/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
5
/*s/plot/geospatial/minimumElevationInMeters,"/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value",
6
/*s/plot/geospatial/minimumElevationInMeters,"/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value",
7
/*s/plot/geospatial/maximumElevationInMeters,"/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
8
/*s/plot/landform,/*_id/location/landform,
9
/*s/plot/geospatial/CoordinateUncertaintyInMeters,/*_id/location/locationdetermination/coordsaccuracy,
10
/*s/plot/geospatial/FootprintWKT,/*_id/location/locationdetermination/footprintgeometry_dwc,
11
/*s/plot/geospatial/DecimalLatitude,/*_id/location/locationdetermination/latitude,
12
/*s/plot/geospatial/DecimalLongitude,/*_id/location/locationdetermination/longitude,
13
/*s/plot/location[placeType=county]/placeName,"/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=county]/placename",
14
/*s/plot/location[placeType=state]/placeName,"/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=stateProvince]/placename",
15
/*s/plot/location[placeType=country]/placeName,"/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=country]/placename",
16
/*s/plot/location[placeType=continent]/placeName,"/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",
17
/*s/plot/locationNarrative,/*_id/location/locationnarrative,
18
/*s/plot/note,/*_id/location/notespublic,
19
/*s/plot/slopeAspect,/*_id/location/slopeaspect/_compass/value,
20
/*s/plot/slopeGradient,/*_id/location/slopegradient,
21
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/location/sourceaccessioncode/_merge/1/_alt/1,
22
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/location/sourceaccessioncode/_merge/1/_alt/2,
23
/*s/plot/plotUniqueIdentifier,/*_id/location/sourceaccessioncode/_merge/2/_alt/1,
24
/*s/plot/plotName,/*_id/location/sourceaccessioncode/_merge/2/_alt/2,
25
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=method]/*ID/method/name,/*_id/method/name,
26
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/*ID->/*s/project/title[@id=name],/*_id/project/projectname,
27
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/*ID->/*s/project/title[@id=sourceAccessionCode],/*_id/project/sourceaccessioncode,
28
/*s/plot/plotName,/authorlocationcode,
29
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,/commclass/commdetermination/*_id/commconcept/*_id/*/commname,
30
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/communityDetermination[*ID]/*s/communityConcept/name,/commclass/commdetermination/*_id/commconcept/commdescription,
31
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsEndDate,/obsenddate,
32
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/obsStartDate,/obsstartdate,
33
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,
34
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/2,
35
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/parent_id/locationevent/authorlocationcode,
36
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/parent_id/locationevent/sourceaccessioncode,
37
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/simpleUserdefined[name=precipitation]/value,/precipitation,
38
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value,/soilobs/acidity,
39
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value,/soilobs/basesaturation,
40
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value,/soilobs/calcium,
41
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value,/soilobs/carbon,
42
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,/soilobs/cationexchangecapacity,
43
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value,/soilobs/clay,
44
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,/soilobs/conductivity,
45
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/magnesium,/soilobs/magnesium,
46
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/nitrogen,/soilobs/nitrogen,
47
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value,/soilobs/organic,
48
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/ph,/soilobs/ph,
49
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/phosphorus,/soilobs/phosphorus,
50
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/potassium,/soilobs/potassium,
51
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value,/soilobs/sand,
52
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value,/soilobs/silt,
53
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value,/soilobs/sodium,
54
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,/soilobs/texture,
55
/*s/plot/plotUniqueIdentifier,/sourceaccessioncode,
56
/*s/plot->/*s/plotObservation[*UniqueIdentifierID]/temperature,/temperature,
57
/*s/plot/geospatial/maximumDepthInMeters,"/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
58
/*s/plot/geospatial/minimumDepthInMeters,"/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
mappings/VegX-VegBIEN.organisms.csv
1
VegX:/*s/individualOrganismObservation,VegBIEN:/plantobservation,Comments
2
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/area,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/area,
3
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/verbatimElevation,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevation/_alt/1,
4
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
5
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value",
6
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value",
7
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
8
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/landform,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/landform,
9
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/CoordinateUncertaintyInMeters,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy,
10
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/FootprintWKT,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/footprintgeometry_dwc,
11
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLatitude,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/latitude,
12
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/DecimalLongitude,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/longitude,
13
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/location[placeType=county]/placeName,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=county]/placename",
14
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/location[placeType=state]/placeName,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=stateProvince]/placename",
15
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/location[placeType=country]/placeName,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=country]/placename",
16
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/location[placeType=continent]/placeName,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",
17
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/locationNarrative,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationnarrative,
18
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/note,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/notespublic,
19
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/slopeAspect,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/slopeaspect/_compass/value,
20
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/slopeGradient,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/slopegradient,
21
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/1/_alt/1,
22
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/1/_alt/2,
23
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/2/_alt/1,
24
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/2/_alt/2,
25
/*ID->/*s/plotObservation/simpleUserdefined[name=method]/*ID/method/name,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/method/name,
26
/*ID->/*s/plotObservation/*ID->/*s/project/title[@id=name],/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/project/projectname,
27
/*ID->/*s/plotObservation/*ID->/*s/project/title[@id=sourceAccessionCode],/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/project/sourceaccessioncode,
28
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/authorlocationcode,
29
/*ID->/*s/plotObservation->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/commclass/commdetermination/*_id/commconcept/*_id/*/commname,
30
/*ID->/*s/plotObservation->/*s/communityDetermination[*ID]/*s/communityConcept/name,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/commclass/commdetermination/*_id/commconcept/commdescription,
31
/*ID->/*s/plotObservation/obsEndDate,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsenddate,
32
/*ID->/*s/plotObservation/obsStartDate,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsstartdate,
33
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,
34
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/2,
35
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/authorlocationcode,
36
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/sourceaccessioncode,
37
/*ID->/*s/plotObservation/simpleUserdefined[name=precipitation]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/precipitation,
38
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/acidity,
39
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/basesaturation,
40
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=calcium]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/calcium,
41
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=carbon]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/carbon,
42
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=cationExchangeCapacity]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/cationexchangecapacity,
43
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=clay]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/clay,
44
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=conductivity]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/conductivity,
45
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/magnesium,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/magnesium,
46
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/nitrogen,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/nitrogen,
47
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=organic]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/organic,
48
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/ph,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/ph,
49
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/phosphorus,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/phosphorus,
50
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/potassium,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/potassium,
51
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=sand]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/sand,
52
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/silt,
53
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/sodium,
54
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/texture,
55
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/sourceaccessioncode,
56
/*ID->/*s/plotObservation/temperature,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/temperature,
57
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
58
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
59
/simpleUserdefined[name=growthForm]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/growthform,
60
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name",/*_id/aggregateoccurrence/*_id/taxonoccurrence/sourceaccessioncode/_alt/3,
61
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Rank","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/first",
62
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
63
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/last",
64
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",
65
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",
66
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",
67
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/last",
68
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=ssp])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",
69
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit",/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/taxonfit,
70
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first",
71
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
72
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",
73
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",
74
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",
75
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=ord])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=order]/plantname",
76
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=cl])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=class]/plantname",
77
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=phyl_div])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subkingdom]/plantname",
78
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=reg])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,subkingdom,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",
79
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",/*_id/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/first,
80
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/surName",/*_id/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/last,
81
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/value,/*_id/aggregateoccurrence/count,
82
/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,/*_id/aggregateoccurrence/cover,
83
/simpleUserdefined[name=censusNo]/value,"/*_id/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]:[@fkey=tablerecord_id]/definedvalue",
84
/volumeCanopy/value,/*_id/aggregateoccurrence/linecover,
85
/simpleUserdefined[name=sourceAccessionCode]/value,/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/1,"""{"" sorts it with other _ifs"
86
/simpleUserdefined[name=authorPlantCode]/value,/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/2,"""{"" sorts it with other _ifs"
87
/simpleUserdefined[name=authorPlantCode]/value,/authorplantcode,"""{"" sorts it with other _ifs"
88
/height,/overallheight,
89
/simpleUserdefined[name=height]/value,/overallheight,
90
/simpleUserdefined[name=sourceAccessionCode]/value,/sourceaccessioncode,"""{"" sorts it with other _ifs"
91
/*ID->/*s/individualOrganism/identificationLabel[@id=1],"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag",Quotes sort it before tag2
92
/*ID->/*s/individualOrganism/identificationLabel[@id=2],/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,
93
/relativePlotPosition/relativeX,/stemobservation/xposition,
94
/relativePlotPosition/relativeY,/stemobservation/yposition,
95
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
96
/simpleUserdefined[name=collectionDate]/value,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
97
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
98
/simpleUserdefined[name=collectionDate]/value,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff