Project

General

Profile

« Previous | Next » 

Revision 7009

mappings/VegCore-VegBIEN.csv: locationID/locationName + subplot -> location.sourceaccessioncode mapping: Fixed bug where subplot was incorrectly being mapped to this field even when there was no location*. (This field can only be populated if both location* and subplot are specified.) Also only map locationID for this, to avoid inconsistencies where one table supplies locationID+subplot, while another table supplies locationName+subplot, but they both get mapped to the same field, preventing plots from being matched up with their observations when creating the analytical_stem.

View differences:

mappings/VegCore-VegBIEN.csv
401 401
maxSlopeGradient,/location/slopegradient_fraction/_alt/2/_avg/max,
402 402
minSlopeGradient,/location/slopegradient_fraction/_alt/2/_avg/min,
403 403
subplotID,/location/sourceaccessioncode,
404
subplot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
405
locationID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
406
locationName,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
407
subplot,/location/sourceaccessioncode/_join/2,
404
locationID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
405
subplot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",
406
locationID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
407
subplot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",
408 408
subplotX,/location/sublocationxposition_m,
409 409
subplotY,/location/sublocationyposition_m,
410 410
verbatimElevation,/location/verbatimelevation,
inputs/NVS/TaxonOccurrence.Understory/test.xml.ref
78 78
                                </taxondetermination>
79 79
                            </taxonoccurrence>
80 80
                        </locationevent>
81
                        <sourceaccessioncode>
82
                            <_join>
83
                                <1>$Plot</1>
84
                                <2>$Sub Plot</2>
85
                            </_join>
86
                        </sourceaccessioncode>
87 81
                    </location>
88 82
                </path>
89 83
            </_simplifyPath>
inputs/NVS/TaxonOccurrence/test.xml.ref
78 78
                                </taxondetermination>
79 79
                            </taxonoccurrence>
80 80
                        </locationevent>
81
                        <sourceaccessioncode>
82
                            <_join>
83
                                <1>$Plot</1>
84
                                <2>$Sub Plot</2>
85
                            </_join>
86
                        </sourceaccessioncode>
87 81
                    </location>
88 82
                </path>
89 83
            </_simplifyPath>
90 84
        </path>
91 85
    </_setDefault>
92 86
</VegBIEN>
93
Inserted 18 new rows into database
87
Inserted 17 new rows into database
inputs/NVS/StemObservation/test.xml.ref
83 83
                                </taxondetermination>
84 84
                            </taxonoccurrence>
85 85
                        </locationevent>
86
                        <sourceaccessioncode>
87
                            <_join>
88
                                <1>$Plot</1>
89
                                <2>$Sub Plot</2>
90
                            </_join>
91
                        </sourceaccessioncode>
92 86
                    </location>
93 87
                </path>
94 88
            </_simplifyPath>
inputs/NVS/Plot/VegBIEN.csv
17 17
Plot,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
18 18
Plot ID,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
19 19
Slope,/location/slopeaspect_deg/_alt/1/_compass/value,
20
Sub Plot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
21
Plot ID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
22
Plot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
23
Sub Plot,/location/sourceaccessioncode/_join/2,
20
Plot ID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
21
Sub Plot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",
22
Plot ID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
23
Sub Plot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",
24 24
Altitude Units,,** No join mapping for *Altitude Units ** 
25 25
Area Units,,** No join mapping for *Area Units ** 
26 26
Aspect,,** No join mapping for *Aspect ** 
inputs/VegBank/plot_/VegBIEN.csv
39 39
slopegradient,/location/slopegradient_fraction/_alt/1,
40 40
maxslopegradient,/location/slopegradient_fraction/_alt/2/_avg/max,
41 41
minslopegradient,/location/slopegradient_fraction/_alt/2/_avg/min,
42
plot_id,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
43
authorplotcode,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
42
plot_id,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
43
plot_id,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
44 44
Geographic Name,,** No join mapping for *Geographic Name ** 
45 45
accessioncode,,** No join mapping for *accessioncode ** 
46 46
authordatum,,** No join mapping for *authordatum ** 
inputs/TEAM/VL/VegBIEN.csv
46 46
Longitude,"/location/locationplace/*_id/place/*_id/coordinates/longitude_deg/_nullIf:[null=0,type=float]/value",
47 47
Latitude,"/location/locationplace/*_id/place/matched_place_id/place:[.,source_id/source/shortname=geoscrub]/*_id/coordinates:[source_id/source/shortname=geoscrub]/_first/2/latitude_deg/_nullIf:[null=0,type=float]/value",""".,"" sorts it with other coordinates mappings"
48 48
Longitude,"/location/locationplace/*_id/place/matched_place_id/place:[.,source_id/source/shortname=geoscrub]/*_id/coordinates:[source_id/source/shortname=geoscrub]/_first/2/longitude_deg/_nullIf:[null=0,type=float]/value",""".,"" sorts it with other coordinates mappings"
49
Subplot Number,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
50
1ha Plot Number,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
51
Subplot Number,/location/sourceaccessioncode/_join/2,
49
Subplot Number,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",
50
Subplot Number,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",
52 51
Comments,,** No join mapping for *Comments ** 
53 52
Condition Codes,,** No join mapping for *Condition Codes ** 
54 53
Data Level,,** No join mapping for *Data Level ** 
inputs/TEAM/VL/test.xml.ref
176 176
                                </place>
177 177
                            </place_id>
178 178
                        </locationplace>
179
                        <sourceaccessioncode>
180
                            <_join>
181
                                <1>$1ha Plot Number</1>
182
                                <2>$Subplot Number</2>
183
                            </_join>
184
                        </sourceaccessioncode>
185 179
                    </location>
186 180
                </path>
187 181
            </_simplifyPath>
inputs/TEAM/VT/VegBIEN.csv
46 46
Longitude,"/location/locationplace/*_id/place/*_id/coordinates/longitude_deg/_nullIf:[null=0,type=float]/value",
47 47
Latitude,"/location/locationplace/*_id/place/matched_place_id/place:[.,source_id/source/shortname=geoscrub]/*_id/coordinates:[source_id/source/shortname=geoscrub]/_first/2/latitude_deg/_nullIf:[null=0,type=float]/value",""".,"" sorts it with other coordinates mappings"
48 48
Longitude,"/location/locationplace/*_id/place/matched_place_id/place:[.,source_id/source/shortname=geoscrub]/*_id/coordinates:[source_id/source/shortname=geoscrub]/_first/2/longitude_deg/_nullIf:[null=0,type=float]/value",""".,"" sorts it with other coordinates mappings"
49
Subplot Number,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
50
1ha Plot Number,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
51
Subplot Number,/location/sourceaccessioncode/_join/2,
49
Subplot Number,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",
50
Subplot Number,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",
52 51
Comments,,** No join mapping for *Comments ** 
53 52
Condition Codes,,** No join mapping for *Condition Codes ** 
54 53
Data Level,,** No join mapping for *Data Level ** 
inputs/TEAM/VT/test.xml.ref
176 176
                                </place>
177 177
                            </place_id>
178 178
                        </locationplace>
179
                        <sourceaccessioncode>
180
                            <_join>
181
                                <1>$1ha Plot Number</1>
182
                                <2>$Subplot Number</2>
183
                            </_join>
184
                        </sourceaccessioncode>
185 179
                    </location>
186 180
                </path>
187 181
            </_simplifyPath>
inputs/TEAM/TEAM_Sites/VegBIEN.csv
13 13
Longitude,"/location/locationplace/*_id/place/*_id/coordinates/longitude_deg/_nullIf:[null=0,type=float]/value",
14 14
Latitude,"/location/locationplace/*_id/place/matched_place_id/place:[.,source_id/source/shortname=geoscrub]/*_id/coordinates:[source_id/source/shortname=geoscrub]/_first/2/latitude_deg/_nullIf:[null=0,type=float]/value",""".,"" sorts it with other coordinates mappings"
15 15
Longitude,"/location/locationplace/*_id/place/matched_place_id/place:[.,source_id/source/shortname=geoscrub]/*_id/coordinates:[source_id/source/shortname=geoscrub]/_first/2/longitude_deg/_nullIf:[null=0,type=float]/value",""".,"" sorts it with other coordinates mappings"
16
Name,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
17 16
1ha Plot Coordinate,,** No join mapping for *1ha Plot Coordinate ** 
inputs/CTFS/StemObservation/VegBIEN.csv
46 46
Family,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/family,
47 47
Genus,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/genus,
48 48
SpeciesName,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/specific_epithet,
49
QuadratID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",Not globally unique; unique only within Site
50
PlotID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
51
QuadratID,/location/sourceaccessioncode/_join/2,Not globally unique; unique only within Site
49
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
50
QuadratID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",Not globally unique; unique only within Site
51
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
52
QuadratID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",Not globally unique; unique only within Site
52 53
Description,,** No join mapping for *Description ** 
53 54
ExactDate,,** No join mapping for *ExactDate ** 
54 55
FamilyID,,** No join mapping for *FamilyID ** 
inputs/CTFS/Subplot/VegBIEN.csv
9 9
QuadratID,"/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",Not globally unique; unique only within Site
10 10
PlotID,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/then/parent_id/locationevent/*_id/location/sourceaccessioncode/_if[@name=""if subplot""]/then",
11 11
PlotID,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
12
QuadratID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",Not globally unique; unique only within Site
13
PlotID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
14
QuadratID,/location/sourceaccessioncode/_join/2,Not globally unique; unique only within Site
12
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
13
QuadratID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",Not globally unique; unique only within Site
14
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
15
QuadratID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",Not globally unique; unique only within Site
15 16
StartX,/location/sublocationxposition_m,
16 17
StartY,/location/sublocationyposition_m,
17 18
DimX,,** No join mapping for *DimX ** 
inputs/CTFS/PlotObservation/VegBIEN.csv
19 19
CensusID,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
20 20
PlotCensusNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
21 21
PlotID,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
22
PlotID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
22
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
23
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
23 24
Description,,** No join mapping for *Description ** 
inputs/CTFS/TaxonOccurrence/VegBIEN.csv
31 31
Family,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/family,
32 32
Genus,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/genus,
33 33
SpeciesName,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/specific_epithet,
34
PlotID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
34
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
35
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
35 36
Description,,** No join mapping for *Description ** 
36 37
FamilyID,,** No join mapping for *FamilyID ** 
37 38
FieldFamily,,** No join mapping for *FieldFamily ** 
inputs/CTFS/SubplotObservation/VegBIEN.csv
13 13
CensusID,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/then/parent_id/locationevent/sourceaccessioncode",
14 14
CensusID,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
15 15
PlotID,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
16
QuadratID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",Not globally unique; unique only within Site
17
PlotID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
18
QuadratID,/location/sourceaccessioncode/_join/2,Not globally unique; unique only within Site
16
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
17
QuadratID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",Not globally unique; unique only within Site
18
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
19
QuadratID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",Not globally unique; unique only within Site
inputs/CTFS/Plot/VegBIEN.csv
29 29
Latitude,"/location/locationplace/*_id/place/matched_place_id/place:[.,source_id/source/shortname=geoscrub]/*_id/coordinates:[source_id/source/shortname=geoscrub]/_first/2/latitude_deg/_nullIf:[null=0,type=float]/value",""".,"" sorts it with other coordinates mappings"
30 30
Longitude,"/location/locationplace/*_id/place/matched_place_id/place:[.,source_id/source/shortname=geoscrub]/*_id/coordinates:[source_id/source/shortname=geoscrub]/_first/2/longitude_deg/_nullIf:[null=0,type=float]/value",""".,"" sorts it with other coordinates mappings"
31 31
CountryName,/location/locationplace/*_id/place/matched_place_id/place:[source_id/source/shortname=geoscrub]/country/_first/2,
32
PlotID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
33
PlotName,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
32
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
33
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
34 34
CountryID,,** No join mapping for *CountryID ** 
35 35
ReferenceX,,** No join mapping for *ReferenceX ** Rarely used
36 36
ReferenceY,,** No join mapping for *ReferenceY ** Rarely used
inputs/SALVIAS/plotObservations/VegBIEN.csv
142 142
DetType,"/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."
143 143
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
144 144
SourceVoucher,"/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."
145
Line,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
146
PlotID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
147
PlotCode,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
148
Line,/location/sourceaccessioncode/_join/2,
145
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
146
Line,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",
147
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
148
Line,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",
149 149
GenAuth,,** No join mapping for *GenAuth ** 
150 150
IsMorpho,,** No join mapping for *IsMorpho ** 
151 151
OrigAuth,,** No join mapping for *OrigAuth ** 
inputs/SALVIAS/plotMetadata_/VegBIEN.csv
66 66
plot_notes,/location/notespublic,
67 67
slope_aspect,/location/slopeaspect_deg/_alt/1/_compass/value,
68 68
slope_gradient,/location/slopegradient_fraction/_alt/1,
69
PlotID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
70
SiteCode,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
69
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
70
PlotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
71 71
Country_index,,** No non-empty join mapping for OMIT ** Placeholder column created by MySQL to PostgreSQL translation
72 72
ElevSource,,** No join mapping for *ElevSource ** 
73 73
MethodCode,,** No non-empty join mapping for OMIT ** Not globally unique after lookup_MethodCode_Description is combined with PlotMethod
inputs/bien_web/observation/VegBIEN.csv
68 68
countyParish,/location/locationplace/*_id/place/matched_place_id/place:[source_id/source/shortname=geoscrub]/county/_first/2,
69 69
stateProvince,/location/locationplace/*_id/place/matched_place_id/place:[source_id/source/shortname=geoscrub]/stateprovince/_first/2,
70 70
stateProvince,/location/locationplace/*_id/place/stateprovince,
71
plotID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
72
plotCode,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
71
plotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
72
plotID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
73 73
abund,,** No join mapping for *abund ** 
74 74
abund1,,** No join mapping for *abund1 ** 
75 75
abund10,,** No join mapping for *abund10 ** 
inputs/Madidi/Organism/VegBIEN.csv
75 75
Field family,/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/taxonverbatim/family,
76 76
Field name,/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/taxonverbatim/genus,Often = Genera
77 77
Specimen,"/location/locationevent/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/then",
78
Number of subplot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
79
Inventory code,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
80
Inventory name,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
81
Number of subplot,/location/sourceaccessioncode/_join/2,
78
Inventory code,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
79
Number of subplot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",
80
Inventory code,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
81
Number of subplot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",
82 82
Basal area,,"** No join mapping for *Basal area ** Would be basalDiameter, but need formula to translate"
83 83
Bole height,,** No join mapping for *Bole height ** trunk height
84 84
Circumference,,** No join mapping for *Circumference ** 
inputs/Madidi/Plot/VegBIEN.csv
98 98
Direction,/location/slopeaspect_deg/_alt/1/_compass/value/_alt/1,Part files provide either this field or OrientaciĆ³n
99 99
OrientaciĆ³n/exposicion,/location/slopeaspect_deg/_alt/1/_compass/value/_alt/2,Part files provide either this field or Direction
100 100
Slope,/location/slopegradient_fraction/_alt/1,
101
Inventory code,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
102
Inventory name,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
101
Inventory code,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
102
Inventory code,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
103 103
Minimum altitude,/location/verbatimelevation,"This is a range [1], not a minimum. Assuming units are m based on the range of values [1] and the region the data is from (Madidi National Park) [2].
104 104

  
105 105
[1] Using the following query:
inputs/SALVIAS-CSV/Organism/VegBIEN.csv
144 144
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."
145 145
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
146 146
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."
147
subplot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
148
PLOT_ID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
149
plot_code,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
150
subplot,/location/sourceaccessioncode/_join/2,
147
PLOT_ID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
148
subplot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",
149
PLOT_ID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
150
subplot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",
151 151
collector_code,,** No join mapping for *collector_code ** Brad: OMIT
152 152
comments,,** No join mapping for *comments ** Brad: OMIT
153 153
fam_status,,** No join mapping for *fam_status ** Brad: OMIT. This will be determined later by using TNRS.
inputs/SALVIAS-CSV/Plot/VegBIEN.csv
57 57
pol1,/location/locationplace/*_id/place/stateprovince,Brad: No; pol1=stateProvince
58 58
slope_aspect,/location/slopeaspect_deg/_alt/1/_compass/value,
59 59
slope_gradient,/location/slopegradient_fraction/_alt/1,
60
PLOT_ID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
61
plot_code,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
60
PLOT_ID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
61
PLOT_ID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
62 62
recensused,,"** No join mapping for *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/CVS/observation_/VegBIEN.csv
28 28
OBSERVATION_ID,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
29 29
PLOT_ID,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
30 30
authorObsCode,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
31
PLOT_ID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
31
PLOT_ID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
32
PLOT_ID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
32 33
COVERMETHOD_ID,,** No join mapping for *COVERMETHOD_ID ** 
33 34
PREVIOUSOBS_ID,,** No join mapping for *PREVIOUSOBS_ID ** 
34 35
SOILOBS_ID,,** No join mapping for *SOILOBS_ID ** 
inputs/CVS/plot_/VegBIEN.csv
41 41
slopeGradient,/location/slopegradient_fraction/_alt/1,
42 42
maxSlopeGradient,/location/slopegradient_fraction/_alt/2/_avg/max,
43 43
minSlopeGradient,/location/slopegradient_fraction/_alt/2/_avg/min,
44
PLOT_ID,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
45
authorPlotCode,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
44
PLOT_ID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
45
PLOT_ID,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
46 46
Geographic Name,,** No join mapping for *Geographic Name ** 
47 47
REPLACEMENTPLOT_ID,,** No join mapping for *REPLACEMENTPLOT_ID ** 
48 48
River Basin,,** No join mapping for *River Basin ** 
inputs/FIA/Organism/VegBIEN.csv
31 31
County,/location/locationplace/*_id/place/matched_place_id/place:[source_id/source/shortname=geoscrub]/county/_first/2,
32 32
StateProvince,/location/locationplace/*_id/place/matched_place_id/place:[source_id/source/shortname=geoscrub]/stateprovince/_first/2,
33 33
StateProvince,/location/locationplace/*_id/place/stateprovince,
34
PlotCD,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
34
PlotCD,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
35
PlotCD,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
35 36
HOM,,** No join mapping for *HOM ** 
inputs/FIA/FIA_COND_unique/VegBIEN.csv
6 6
PLT_CN,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/then/parent_id/locationevent/*_id/location/sourceaccessioncode/_if[@name=""if subplot""]/then",
7 7
PLT_CN,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
8 8
oldgrowth,"/location/locationevent/taxonoccurrence/iscultivated/_alt/1/_if[@name=""if TaxonOccurrence""]/then/_alt/1/_not/value",
9
PLT_CN,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
9
PLT_CN,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
10
PLT_CN,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
10 11
ADFORCD,,** No join mapping for *ADFORCD ** 
11 12
ALSTK,,** No join mapping for *ALSTK ** 
12 13
ALSTKCD,,** No join mapping for *ALSTKCD ** 
inputs/NVS/AggregateOccurrence/VegBIEN.csv
17 17
Species Name,/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,
18 18
Species Name,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/specific_epithet,
19 19
Taxon Obs Note,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/notes,
20
Sub Plot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
21
Plot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
22
Sub Plot,/location/sourceaccessioncode/_join/2,
20
Sub Plot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",
21
Sub Plot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",
23 22
Category,,** No join mapping for *Category ** 
24 23
Category Description,,** No join mapping for *Category Description ** 
25 24
Method Name,,** No join mapping for *Method Name ** 
inputs/NVS/AggregateOccurrence/test.xml.ref
78 78
                                </taxondetermination>
79 79
                            </taxonoccurrence>
80 80
                        </locationevent>
81
                        <sourceaccessioncode>
82
                            <_join>
83
                                <1>$Plot</1>
84
                                <2>$Sub Plot</2>
85
                            </_join>
86
                        </sourceaccessioncode>
87 81
                    </location>
88 82
                </path>
89 83
            </_simplifyPath>
90 84
        </path>
91 85
    </_setDefault>
92 86
</VegBIEN>
93
Inserted 18 new rows into database
87
Inserted 17 new rows into database
inputs/NVS/TaxonOccurrence.Understory/VegBIEN.csv
17 17
Species Name,/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,
18 18
Species Name,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/specific_epithet,
19 19
Taxon Obs Note,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/notes,
20
Sub Plot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
21
Plot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
22
Sub Plot,/location/sourceaccessioncode/_join/2,
20
Sub Plot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",
21
Sub Plot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",
23 22
Method Name,,** No join mapping for *Method Name ** 
24 23
Parent Plot Obs ID,,** No join mapping for *Parent Plot Obs ID ** 
25 24
Sample Method ID,,** No join mapping for *Sample Method ID ** 
inputs/NVS/TaxonOccurrence/VegBIEN.csv
17 17
Species Name,/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,
18 18
Species Name,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/specific_epithet,
19 19
Taxon Obs Note,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/notes,
20
Sub Plot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
21
Plot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
22
Sub Plot,/location/sourceaccessioncode/_join/2,
20
Sub Plot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",
21
Sub Plot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",
23 22
Herbivore,,** No join mapping for *Herbivore ** 
24 23
Method Name,,** No join mapping for *Method Name ** 
25 24
Severity,,** No join mapping for *Severity ** 
inputs/NVS/StemObservation/VegBIEN.csv
30 30
Species Name,"/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",
31 31
Species Name,/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,
32 32
Species Name,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/specific_epithet,
33
Sub Plot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
34
Plot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
35
Sub Plot,/location/sourceaccessioncode/_join/2,
33
Sub Plot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/cond/_exists",
34
Sub Plot,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/2",
36 35
Alive State,,** No join mapping for *Alive State ** 
37 36
Association,,** No join mapping for *Association ** 
38 37
Association No,,** No join mapping for *Association No ** 
inputs/NVS/Coordinates/VegBIEN.csv
8 8
Datum,/location/locationplace/*_id/place/*_id/coordinates/verbatimcoordinates/_join/1,
9 9
XEast Long,"/location/locationplace/*_id/place/*_id/coordinates/verbatimcoordinates/_join/2/_label[label=""x""]/value",
10 10
YNorth Lat,"/location/locationplace/*_id/place/*_id/coordinates/verbatimcoordinates/_join/3/_label[label=""y""]/value",
11
Plot,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/2",
12 11
GPS,,** No join mapping for *GPS ** 
13 12
GPSFix,,** No join mapping for *GPSFix ** 
14 13
GPSPosition,,** No join mapping for *GPSPosition ** 
inputs/VegBank/observation_/VegBIEN.csv
29 29
authorobscode,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
30 30
observation_id,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
31 31
plot_id,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
32
plot_id,"/location/sourceaccessioncode/_join/1/_if[@name=""if subplot and unique only within parent""]/then/_first/1",
32
plot_id,"/location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
33
plot_id,"/location/sourceaccessioncode/_if[@name=""if locationID""]/then/_if[@name=""if subplot""]/then/_join/1",
33 34
accessioncode,,** No join mapping for *accessioncode ** 
34 35
autotaxoncover,,** No join mapping for *autotaxoncover ** 
35 36
basalarea,,** No join mapping for *basalarea ** 
mappings/for_review/VegCore-VegBIEN.csv
401 401
maxSlopeGradient,//location/slopegradient_fraction,
402 402
minSlopeGradient,//location/slopegradient_fraction,
403 403
subplotID,//location/sourceaccessioncode,
404
subplot,"//location/sourceaccessioncode/_if[@name=""if subplot and unique only within parent""]/cond/_exists",
405
locationID,"//location/sourceaccessioncode/_if[@name=""if subplot and unique only within parent""]/then",
406
locationName,"//location/sourceaccessioncode/_if[@name=""if subplot and unique only within parent""]/then",
407
subplot,//location/sourceaccessioncode,
404
locationID,"//location/sourceaccessioncode/_if[@name=""if locationID""]/cond/_exists",
405
subplot,"//location/sourceaccessioncode/_if[@name=""if subplot""]/cond/_exists",
406
locationID,"//location/sourceaccessioncode/_if[@name=""if subplot""]/then",
407
subplot,"//location/sourceaccessioncode/_if[@name=""if subplot""]/then",
408 408
subplotX,//location/sublocationxposition_m,
409 409
subplotY,//location/sublocationyposition_m,
410 410
verbatimElevation,//location/verbatimelevation,

Also available in: Unified diff