Project

General

Profile

1
SALVIAS-CSV,"VegBIEN:/_setDefault:[col=source_id,value/source/shortname/_env:[name=source]]/path/_simplifyPath:[next=parent_id]/path",Comments
2
subplot,"/location/_if[@name=""if subplot""]/cond/_exists",
3
plot_code,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/1",
4
PLOT_ID,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/2/_if[@name=""if locationID""]/cond/_exists",
5
coll_number,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_alt/2/_if[@name=""if catalogNumber""]/cond/_exists/_alt/1",Brad: Map instead as for voucher_string
6
voucher_string,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_alt/2/_if[@name=""if catalogNumber""]/cond/_exists/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
7
coll_number,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_alt/2/_if[@name=""if catalogNumber""]/then/_join/1/_if[@name=""if specimen""]/cond/_exists/_alt/1",Brad: Map instead as for voucher_string
8
voucher_string,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_alt/2/_if[@name=""if catalogNumber""]/then/_join/1/_if[@name=""if specimen""]/cond/_exists/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
9
det_type,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_alt/2/_if[@name=""if catalogNumber""]/then/_join/3/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left","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."
10
coll_number,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_alt/2/_if[@name=""if catalogNumber""]/then/_join/3/_if[@name=""if indirect voucher""]/else/_alt/1",Brad: Map instead as for voucher_string
11
voucher_string,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_alt/2/_if[@name=""if catalogNumber""]/then/_join/3/_if[@name=""if indirect voucher""]/else/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
12
PLOT_ID,"/location/_if[@name=""if subplot""]/else/sourceaccessioncode/_if[@name=""if geovalidation""]/else",
13
plot_code,"/location/_if[@name=""if subplot""]/then/parent_id/location/authorlocationcode",
14
PLOT_ID,"/location/_if[@name=""if subplot""]/then/parent_id/location/sourceaccessioncode",
15
subplot,/location/authorlocationcode,
16
OBSERVATION_ID,"/location/iscultivated/_if[@name=""if TaxonOccurrence""]/cond/_exists","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."
17
individual_code,"/location/iscultivated/_if[@name=""if TaxonOccurrence""]/cond/_exists","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."
18
subplot,"/location/locationevent/_if[@name=""if subplot""]/cond/_exists",
19
census_date,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/cond/_exists","This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
20
-----
21
SELECT ""PLOT_ID"", subplot, count(DISTINCT census_date) AS census_date_count
22
FROM ""SALVIAS-CSV"".organisms
23
WHERE subplot IS NOT NULL AND census_date IS NOT NULL
24
GROUP BY ""PLOT_ID"", subplot
25
HAVING count(DISTINCT census_date) > 1
26
-----"
27
subplot,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/then/parent_id/locationevent/*_id/location/authorlocationcode/_if[@name=""if subplot""]/cond/_first/2",
28
plot_code,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/then/parent_id/locationevent/*_id/location/authorlocationcode/_if[@name=""if subplot""]/then",
29
subplot,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/then/parent_id/locationevent/*_id/location/sourceaccessioncode/_if[@name=""if subplot""]/cond/_first/2",
30
PLOT_ID,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/then/parent_id/locationevent/*_id/location/sourceaccessioncode/_if[@name=""if subplot""]/then",
31
census_date,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/then/parent_id/locationevent/obsenddate/_alt/2/_dateRangeEnd/value","This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
32
-----
33
SELECT ""PLOT_ID"", subplot, count(DISTINCT census_date) AS census_date_count
34
FROM ""SALVIAS-CSV"".organisms
35
WHERE subplot IS NOT NULL AND census_date IS NOT NULL
36
GROUP BY ""PLOT_ID"", subplot
37
HAVING count(DISTINCT census_date) > 1
38
-----"
39
census_date,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/then/parent_id/locationevent/obsstartdate/_alt/2/_dateRangeStart/value","This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
40
-----
41
SELECT ""PLOT_ID"", subplot, count(DISTINCT census_date) AS census_date_count
42
FROM ""SALVIAS-CSV"".organisms
43
WHERE subplot IS NOT NULL AND census_date IS NOT NULL
44
GROUP BY ""PLOT_ID"", subplot
45
HAVING count(DISTINCT census_date) > 1
46
-----"
47
census_date,/location/locationevent/obsenddate/_alt/2/_dateRangeEnd/value,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
48
-----
49
SELECT ""PLOT_ID"", subplot, count(DISTINCT census_date) AS census_date_count
50
FROM ""SALVIAS-CSV"".organisms
51
WHERE subplot IS NOT NULL AND census_date IS NOT NULL
52
GROUP BY ""PLOT_ID"", subplot
53
HAVING count(DISTINCT census_date) > 1
54
-----"
55
census_date,/location/locationevent/obsstartdate/_alt/2/_dateRangeStart/value,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
56
-----
57
SELECT ""PLOT_ID"", subplot, count(DISTINCT census_date) AS census_date_count
58
FROM ""SALVIAS-CSV"".organisms
59
WHERE subplot IS NOT NULL AND census_date IS NOT NULL
60
GROUP BY ""PLOT_ID"", subplot
61
HAVING count(DISTINCT census_date) > 1
62
-----"
63
no_of_individuals,/location/locationevent/taxonoccurrence/aggregateoccurrence/count,"Brad: 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."
64
cover_percent,/location/locationevent/taxonoccurrence/aggregateoccurrence/cover_fraction/_percent_to_fraction/value,
65
census_no,"/location/locationevent/taxonoccurrence/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]:[@fkey=tablerecord_id]/definedvalue","Brad: Assigned by SALVIAS. 1 for first plot, then 2, 3, etc. I can't recall if we even have repeat censuses in SALVIAS. Probably not."
66
intercept_cm,/location/locationevent/taxonoccurrence/aggregateoccurrence/linecover_m/_cm_to_m/value,"Brad: 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."
67
individual_code,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/collectionnumber,"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."
68
OBSERVATION_ID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,"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."
69
det_type,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left","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."
70
coll_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/1",Brad: Map instead as for voucher_string
71
voucher_string,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
72
coll_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists/_alt/1",Brad: Map instead as for voucher_string
73
voucher_string,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
74
basal_diam,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/basaldiameter_m,
75
stem_canopy_form,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",
76
stem_canopy_position,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]:[@fkey=tablerecord_id]/definedvalue",
77
stem_liana_infestation,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=lianaInfestation]]:[@fkey=tablerecord_id]/definedvalue",
78
notes,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=notes]]:[@fkey=tablerecord_id]/definedvalue",
79
stem_dbh,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/diameterbreastheight_m/_cm_to_m/value,"Assuming units based on the units for intercept_cm, which measures the same dimension"
80
stem_height_m,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/height_m/_alt/1,"""Total height of this stem only, in meters"" (stem_height_m definition at < http://salvias.net/Documents/salvias_data_dictionary.html#Plot+data>). Brad: Same as for height, but applies to individuals stems, not trees. Rare."
81
height_m,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/height_m/_alt/2,"""Total height of individual, in meters"" (height_m definition at <http://salvias.net/Documents/salvias_data_dictionary.html#Plot+data>)"
82
ht_first_branch_m,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/heightfirstbranch_m,
83
stem_height_first_branch_m,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/heightfirstbranch_m,"Brad: Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
84
stem_tag2,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/tag/_alt/1/_alt/1,The second tag supercedes the first. The stem tag supercedes the tree tag. Brad: see above
85
stem_tag1,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/tag/_alt/1/_alt/2,"The second tag supercedes the first. The stem tag supercedes the tree tag. 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."
86
tag2,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/tag/_alt/2/_alt/1,"The second tag supercedes the first. The stem tag supercedes the tree tag. Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
87
tag1,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/tag/_alt/2/_alt/2,"The second tag supercedes the first. The stem tag supercedes the tree tag. 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."
88
x_position,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/xposition_m,"""x coordinate in meters"" (x_position definition at <http://salvias.net/Documents/salvias_data_dictionary.html#Plot+data>). Brad: These are important, fundamental values of many tree plots"
89
y_position,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/yposition_m,"""y coordinate in meters"" (y_position definition at <http://salvias.net/Documents/salvias_data_dictionary.html#Plot+data>). Brad: See comment above for x_position"
90
PLOT_ID,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
91
plot_code,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
92
individual_code,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1","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."
93
stem_tag2,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/2/_alt/1/_alt/1",The second tag supercedes the first. The stem tag supercedes the tree tag. Brad: see above
94
stem_tag1,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/2/_alt/1/_alt/2","The second tag supercedes the first. The stem tag supercedes the tree tag. 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."
95
tag2,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/2/_alt/2/_alt/1","The second tag supercedes the first. The stem tag supercedes the tree tag. Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
96
tag1,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/2/_alt/2/_alt/2","The second tag supercedes the first. The stem tag supercedes the tree tag. 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."
97
coll_firstname,/location/locationevent/taxonoccurrence/collector_id/party/fullname/_join_words/1,Brad: See comment above
98
coll_lastname,/location/locationevent/taxonoccurrence/collector_id/party/fullname/_join_words/2,"Brad: 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."
99
habit,"/location/locationevent/taxonoccurrence/growthform/_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: This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
100
OBSERVATION_ID,"/location/locationevent/taxonoccurrence/iscultivated/_alt/1/_if[@name=""if TaxonOccurrence""]/cond/_exists","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."
101
individual_code,"/location/locationevent/taxonoccurrence/iscultivated/_alt/1/_if[@name=""if TaxonOccurrence""]/cond/_exists","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."
102
OBSERVATION_ID,"/location/locationevent/taxonoccurrence/sourceaccessioncode/_first/2/_if[@name=""if organism in AggregateOccurrence""]/else","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."
103
family,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/_if[@name=""if has verbatim name""]/else/matched_label_id/taxonlabel:[source_id/source/shortname=TNRS]/taxonomicname/_join_words/1/_taxon_family_require_std/family/_nullIf/value",
104
genus,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/_if[@name=""if has verbatim name""]/else/matched_label_id/taxonlabel:[source_id/source/shortname=TNRS]/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/2",
105
specific_epithet,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/_if[@name=""if has verbatim name""]/else/matched_label_id/taxonlabel:[source_id/source/shortname=TNRS]/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/3/_join_words/1",
106
infra_ep_1,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/_if[@name=""if has verbatim name""]/else/matched_label_id/taxonlabel:[source_id/source/shortname=TNRS]/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/5/_join_words/1/_if[@name=""if has infraspecificEpithet""]/cond",
107
infra_rank_1,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/_if[@name=""if has verbatim name""]/else/matched_label_id/taxonlabel:[source_id/source/shortname=TNRS]/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/5/_join_words/1/_if[@name=""if has infraspecificEpithet""]/then",
108
infra_ep_1,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/_if[@name=""if has verbatim name""]/else/matched_label_id/taxonlabel:[source_id/source/shortname=TNRS]/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/5/_join_words/2",
109
specific_authority,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/_if[@name=""if has verbatim name""]/else/matched_label_id/taxonlabel:[source_id/source/shortname=TNRS]/taxonomicname/_join_words/2/_alt/2/_join_words/2",Brad: This is the author of the scientificName.
110
infra_rank_1,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/parent_id/taxonlabel/_if[@name=""if has explicit parent""]/else/rank",
111
infra_rank_1,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/parent_id/taxonlabel/_if[@name=""if has explicit parent""]/else/taxonverbatim/verbatimrank",
112
specific_epithet,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/parent_id/taxonlabel/parent_id/_forEach:[in:[cultivar,forma,variety,subspecies,],do=""taxonlabel[rank=_val]/parent_id""]/taxonlabel[rank=species]/taxonepithet",
113
genus,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/parent_id/taxonlabel/parent_id/_forEach:[in:[cultivar,forma,variety,subspecies,species,],do=""taxonlabel[rank=_val]/parent_id""]/taxonlabel[rank=genus]/_if[@name=""if is canonical name""]/then/matched_label_id/taxonlabel:[source_id/source/shortname=NCBI]/taxonomicname",
114
genus,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/parent_id/taxonlabel/parent_id/_forEach:[in:[cultivar,forma,variety,subspecies,species,],do=""taxonlabel[rank=_val]/parent_id""]/taxonlabel[rank=genus]/taxonepithet",
115
family,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/parent_id/taxonlabel/parent_id/_forEach:[in:[cultivar,forma,variety,subspecies,species,genus,],do=""taxonlabel[rank=_val]/parent_id""]/taxonlabel[rank=family]/_if[@name=""if is canonical name""]/then/matched_label_id/taxonlabel:[source_id/source/shortname=NCBI]/taxonomicname",
116
family,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/parent_id/taxonlabel/parent_id/_forEach:[in:[cultivar,forma,variety,subspecies,species,genus,],do=""taxonlabel[rank=_val]/parent_id""]/taxonlabel[rank=family]/taxonepithet",
117
infra_ep_1,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/parent_id/taxonlabel/taxonepithet,
118
infra_rank_1,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/rank,
119
infra_rank_1,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/taxonepithet/_if[@name=""if taxonomic name is epithet""]/cond/_alt:[2=true]/1/_taxonomic_name_is_epithet/rank",
120
family,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/taxonomicname/_join_words/1/_taxon_family_require_std/family/_nullIf/value,
121
genus,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/2,
122
specific_epithet,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/3/_join_words/1,
123
infra_ep_1,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/5/_join_words/1/_if[@name=""if has infraspecificEpithet""]/cond",
124
infra_rank_1,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/5/_join_words/1/_if[@name=""if has infraspecificEpithet""]/then",
125
infra_ep_1,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/5/_join_words/2,
126
specific_authority,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/taxonomicname/_join_words/2/_alt/2/_join_words/2,Brad: This is the author of the scientificName.
127
specific_authority,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/author,Brad: This is the author of the scientificName.
128
family,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/family,
129
genus,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/genus,
130
specific_epithet,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/specific_epithet,
131
infra_rank_1,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/verbatimrank,
132
cf_aff,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/taxonfit,"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."
133
orig_family,/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/taxonverbatim/*_id/taxonlabel/matched_label_id/taxonlabel:[source_id/source/shortname=TNRS]/taxonomicname/_join_words/1/_taxon_family_require_std/family/_nullIf/value,Brad: OMIT
134
orig_species,/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/taxonverbatim/*_id/taxonlabel/matched_label_id/taxonlabel:[source_id/source/shortname=TNRS]/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/3,Brad: OMIT
135
orig_species,"/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/taxonverbatim/*_id/taxonlabel/parent_id/taxonlabel/parent_id/_forEach:[in:[cultivar,forma,variety,subspecies,],do=""taxonlabel[rank=_val]/parent_id""]/taxonlabel[rank=species]/taxonepithet",Brad: OMIT
136
orig_family,"/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/taxonverbatim/*_id/taxonlabel/parent_id/taxonlabel/parent_id/_forEach:[in:[cultivar,forma,variety,subspecies,species,genus,],do=""taxonlabel[rank=_val]/parent_id""]/taxonlabel[rank=family]/taxonepithet",Brad: OMIT
137
orig_family,/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/taxonverbatim/*_id/taxonlabel/taxonomicname/_join_words/1/_taxon_family_require_std/family/_nullIf/value,Brad: OMIT
138
orig_species,/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/taxonverbatim/*_id/taxonlabel/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/3,Brad: OMIT
139
orig_family,/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/taxonverbatim/family,Brad: OMIT
140
orig_species,/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/taxonverbatim/specific_epithet,Brad: OMIT
141
det_type,"/location/locationevent/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left","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."
142
coll_number,"/location/locationevent/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/then/_alt/1",Brad: Map instead as for voucher_string
143
voucher_string,"/location/locationevent/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/then/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
144
subplot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
145
PLOT_ID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
146
plot_code,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
147
subplot,/location/sourceaccessioncode/_join/2,
148
coll_number,"/source/shortname/_if[@name=""if specimen""]/cond/_exists/_alt/1",Brad: Map instead as for voucher_string
149
voucher_string,"/source/shortname/_if[@name=""if specimen""]/cond/_exists/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
150
collector_code,,** No join mapping for *collector_code ** Brad: OMIT
151
comments,,** No join mapping for *comments ** Brad: OMIT
152
fam_status,,** No join mapping for *fam_status ** Brad: OMIT. This will be determined later by using TNRS.
153
gen_status,,** No join mapping for *gen_status ** Brad: OMIT. This will be determined later by using TNRS.
154
ind_id,,** No join mapping for *ind_id ** Brad: OMIT
155
species_status,,"** No join mapping for *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."
(2-2/6)