Project

General

Profile

« Previous | Next » 

Revision 3207

VegBIEN: Fixing import issue related to duplicate entries in tables with children, where when a new table entry duplicates an existing entry, the 1:1 tables of that table and those tables' children are not merged, causing them to become orphaned. It is described in detail at <https://projects.nceas.ucsb.edu/nceas/projects/bien/wiki/Import_issues#Merging-duplicates-with-children&gt;, including the rationale for this solution. Note that this is not a bug in column-based import, it applies to row-based import as well. This commit fixes the issue for locationevent->location in plots data, by also mapping locationevent's unique keys to location.sourceaccessioncode and setting location.datasource_id.

View differences:

inputs/SALVIAS-CSV/test/VegBIEN.plots.xml.ref
30 30
                <locationnarrative>pre-Holocene; clay</locationnarrative>
31 31
                <centerlatitude>-3.95</centerlatitude>
32 32
                <centerlongitude>-73.4333</centerlongitude>
33
                <datasource_id><party><organizationname>SALVIAS-CSV</organizationname></party></datasource_id>
34
                <sourceaccessioncode>26102</sourceaccessioncode>
33 35
            </location>
34 36
        </location_id>
35 37
        <method_id><method><name>1 ha, stems &gt;= 10 cm dbh</name></method></method_id>
......
74 76
                <locationnarrative>pre-Holocene; white and brown sand</locationnarrative>
75 77
                <centerlatitude>-3.95</centerlatitude>
76 78
                <centerlongitude>-73.4333</centerlongitude>
79
                <datasource_id><party><organizationname>SALVIAS-CSV</organizationname></party></datasource_id>
80
                <sourceaccessioncode>26103</sourceaccessioncode>
77 81
            </location>
78 82
        </location_id>
79 83
        <method_id><method><name>1 ha, stems &gt;= 10 cm dbh</name></method></method_id>
inputs/SALVIAS-CSV/test/VegBIEN.organisms.xml.ref
10 10
                            <parent_id>
11 11
                                <locationevent>
12 12
                                    <authorlocationcode>ALP-11</authorlocationcode>
13
                                    <location_id>
14
                                        <location>
15
                                            <sourceaccessioncode>26102</sourceaccessioncode>
16
                                            <datasource_id><party><organizationname>SALVIAS-CSV</organizationname></party></datasource_id>
17
                                        </location>
18
                                    </location_id>
13 19
                                    <datasource_id><party><organizationname>SALVIAS-CSV</organizationname></party></datasource_id>
14 20
                                    <sourceaccessioncode>26102</sourceaccessioncode>
15 21
                                </locationevent>
16 22
                            </parent_id>
23
                            <location_id>
24
                                <location>
25
                                    <sourceaccessioncode>26102; 1</sourceaccessioncode>
26
                                    <datasource_id><party><organizationname>SALVIAS-CSV</organizationname></party></datasource_id>
27
                                </location>
28
                            </location_id>
17 29
                            <datasource_id><party><organizationname>SALVIAS-CSV</organizationname></party></datasource_id>
18 30
                            <authorlocationcode>1</authorlocationcode>
19 31
                        </locationevent>
......
112 124
                            <parent_id>
113 125
                                <locationevent>
114 126
                                    <authorlocationcode>ALP-11</authorlocationcode>
127
                                    <location_id>
128
                                        <location>
129
                                            <sourceaccessioncode>26102</sourceaccessioncode>
130
                                            <datasource_id><party><organizationname>SALVIAS-CSV</organizationname></party></datasource_id>
131
                                        </location>
132
                                    </location_id>
115 133
                                    <datasource_id><party><organizationname>SALVIAS-CSV</organizationname></party></datasource_id>
116 134
                                    <sourceaccessioncode>26102</sourceaccessioncode>
117 135
                                </locationevent>
118 136
                            </parent_id>
137
                            <location_id>
138
                                <location>
139
                                    <sourceaccessioncode>26102; 4</sourceaccessioncode>
140
                                    <datasource_id><party><organizationname>SALVIAS-CSV</organizationname></party></datasource_id>
141
                                </location>
142
                            </location_id>
119 143
                            <datasource_id><party><organizationname>SALVIAS-CSV</organizationname></party></datasource_id>
120 144
                            <authorlocationcode>4</authorlocationcode>
121 145
                        </locationevent>
inputs/SALVIAS-CSV/test/import.organisms.out.ref
1
Inserted 43 new rows into database
1
Inserted 46 new rows into database
inputs/SALVIAS-CSV/maps/VegBIEN.plots.csv
37 37
soil_Na,"/soilobs/sodium/_units:[default=""%"",to=]/value",
38 38
soil_texture,/soilobs/texture,
39 39
temp_c,/temperature,
40
plot_code,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/authorlocationcode,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
41
PLOT_ID,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
40
plot_code,":[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
41
PLOT_ID,":[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
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/VegBIEN.organisms.csv
1 1
SALVIAS-CSV,VegBIEN:/plantobservation,Comments
2 2
census_date,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsstartdate/_date/year,
3
plot_code,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/authorlocationcode,"Brad: Same as plotCode, above"
4
PLOT_ID,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
5
subplot,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/authorlocationcode,
3
plot_code,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}","Brad: Same as plotCode, above"
4
PLOT_ID,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}","Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
5
subplot,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
6 6
coll_number,"/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/catalognumber_dwc/_alt/1",Brad: Incorrect. Map instead as for voucher_string
7 7
voucher_string,"/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/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."
8 8
habit,"/aggregateoccurrence/*_id/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: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
inputs/CTFS/test/VegBIEN.organisms.xml.ref
8 8
                        <locationevent>
9 9
                            <obsstartdate>1981-05-03</obsstartdate>
10 10
                            <datasource_id><party><organizationname>CTFS</organizationname></party></datasource_id>
11
                            <location_id>
12
                                <location>
13
                                    <datasource_id><party><organizationname>CTFS</organizationname></party></datasource_id>
14
                                    <sourceaccessioncode>2733</sourceaccessioncode>
15
                                </location>
16
                            </location_id>
11 17
                            <authorlocationcode>3811</authorlocationcode>
12 18
                            <sourceaccessioncode>2733</sourceaccessioncode>
13 19
                        </locationevent>
......
64 70
                        <locationevent>
65 71
                            <obsstartdate>1981-05-03</obsstartdate>
66 72
                            <datasource_id><party><organizationname>CTFS</organizationname></party></datasource_id>
73
                            <location_id>
74
                                <location>
75
                                    <datasource_id><party><organizationname>CTFS</organizationname></party></datasource_id>
76
                                    <sourceaccessioncode>2733</sourceaccessioncode>
77
                                </location>
78
                            </location_id>
67 79
                            <authorlocationcode>3811</authorlocationcode>
68 80
                            <sourceaccessioncode>2733</sourceaccessioncode>
69 81
                        </locationevent>
inputs/CTFS/test/import.organisms.out.ref
1
Inserted 44 new rows into database
1
Inserted 45 new rows into database
inputs/CTFS/maps/VegBIEN.organisms.csv
19 19
/*ID->/*s/plotObservation/simpleUserdefined[name=method]/*ID/method/name,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/method_id/_collapse:[require=name]/value/method/name,
20 20
/*ID->/*s/plotObservation/obsEndDate,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsenddate,
21 21
/*ID->/*s/plotObservation/obsStartDate,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsstartdate,
22
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/authorlocationcode,
23
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
24
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
25 22
/*ID->/*s/plotObservation/simpleUserdefined[name=precipitation]/value,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/precipitation,
26 23
/*ID->/*s/plotObservation/*ID->/*s/project/personnel[role=metadataProvider]/organizationName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/project_id/_collapse:[require=projectname]/value/project:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
27 24
/*ID->/*s/plotObservation/*ID->/*s/project:[personnel[role=metadataProvider]/organizationName=$/_ignore/inLabel]/title,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/project_id/_collapse:[require=projectname]/value/project:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/projectname,
......
45 42
/*ID->/*s/plotObservation/temperature,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/temperature,
46 43
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
47 44
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
48
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/authorlocationcode,
49
/*ID->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
50
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotUniqueIdentifier,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
45
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
46
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{.,*_id/location}/datasource_id/party/organizationname/_alt/1}",
47
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
48
/*ID->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{.,*_id/location}/datasource_id/party/organizationname/_alt/1",
49
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
50
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotUniqueIdentifier,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
51 51
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/voucher,"/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/catalognumber_dwc",
52 52
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName,"/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1",
53 53
/simpleUserdefined[name=growthForm]/value,/aggregateoccurrence/*_id/taxonoccurrence/growthform,
inputs/SALVIAS/test/VegBIEN.plots.xml.ref
23 23
                </locationdetermination>
24 24
                <centerlatitude>-3.45</centerlatitude>
25 25
                <centerlongitude>-78.3667</centerlongitude>
26
                <datasource_id><party><organizationname>SALVIAS</organizationname></party></datasource_id>
27
                <sourceaccessioncode>1</sourceaccessioncode>
26 28
            </location>
27 29
        </location_id>
28 30
        <commclass>
......
70 72
                </locationdetermination>
71 73
                <centerlatitude>48.0667</centerlatitude>
72 74
                <centerlongitude>11.5</centerlongitude>
75
                <datasource_id><party><organizationname>SALVIAS</organizationname></party></datasource_id>
76
                <sourceaccessioncode>2</sourceaccessioncode>
73 77
            </location>
74 78
        </location_id>
75 79
        <commclass>
inputs/SALVIAS/test/VegBIEN.organisms.xml.ref
9 9
                            <parent_id>
10 10
                                <locationevent>
11 11
                                    <authorlocationcode>c2000-1</authorlocationcode>
12
                                    <location_id>
13
                                        <location>
14
                                            <sourceaccessioncode>295</sourceaccessioncode>
15
                                            <datasource_id><party><organizationname>SALVIAS</organizationname></party></datasource_id>
16
                                        </location>
17
                                    </location_id>
12 18
                                    <datasource_id><party><organizationname>SALVIAS</organizationname></party></datasource_id>
13 19
                                    <sourceaccessioncode>295</sourceaccessioncode>
14 20
                                </locationevent>
15 21
                            </parent_id>
22
                            <location_id>
23
                                <location>
24
                                    <sourceaccessioncode>295; 1</sourceaccessioncode>
25
                                    <datasource_id><party><organizationname>SALVIAS</organizationname></party></datasource_id>
26
                                </location>
27
                            </location_id>
16 28
                            <datasource_id><party><organizationname>SALVIAS</organizationname></party></datasource_id>
17 29
                            <authorlocationcode>1</authorlocationcode>
18 30
                        </locationevent>
......
100 112
                            <parent_id>
101 113
                                <locationevent>
102 114
                                    <authorlocationcode>c2000-1</authorlocationcode>
115
                                    <location_id>
116
                                        <location>
117
                                            <sourceaccessioncode>295</sourceaccessioncode>
118
                                            <datasource_id><party><organizationname>SALVIAS</organizationname></party></datasource_id>
119
                                        </location>
120
                                    </location_id>
103 121
                                    <datasource_id><party><organizationname>SALVIAS</organizationname></party></datasource_id>
104 122
                                    <sourceaccessioncode>295</sourceaccessioncode>
105 123
                                </locationevent>
106 124
                            </parent_id>
125
                            <location_id>
126
                                <location>
127
                                    <sourceaccessioncode>295; 1</sourceaccessioncode>
128
                                    <datasource_id><party><organizationname>SALVIAS</organizationname></party></datasource_id>
129
                                </location>
130
                            </location_id>
107 131
                            <datasource_id><party><organizationname>SALVIAS</organizationname></party></datasource_id>
108 132
                            <authorlocationcode>1</authorlocationcode>
109 133
                        </locationevent>
inputs/SALVIAS/test/import.organisms.out.ref
1
Inserted 36 new rows into database
1
Inserted 38 new rows into database
inputs/SALVIAS/maps/VegBIEN.plots.csv
37 37
soil_Na,"/soilobs/sodium/_units:[default=""%"",to=]/value",
38 38
soil_texture,"/soilobs/texture/_units:[default=""%"",to=]/value",
39 39
Temp,/temperature,
40
SiteCode,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/authorlocationcode,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
41
PlotID,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
40
SiteCode,":[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
41
PlotID,":[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
42 42
AccessCode,,** No input mapping for AccessCode ** 
43 43
ElevSource,,** No input mapping for ElevSource ** 
44 44
Habitat,,** No input mapping for Habitat ** 
inputs/SALVIAS/maps/VegBIEN.organisms.csv
1 1
SALVIAS,VegBIEN:/plantobservation,Comments
2
PlotCode,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/authorlocationcode,"Brad: Same as plotCode, above"
3
PlotID,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
4
Line,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/authorlocationcode,
2
PlotCode,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}","Brad: Same as plotCode, above"
3
PlotID,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}","Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
4
Line,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
5 5
coll_number,"/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/catalognumber_dwc/_alt/1",Brad: Incorrect. Map instead as for voucher_string
6 6
SourceVoucher,"/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/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."
7 7
Habit,"/aggregateoccurrence/*_id/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: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
mappings/VegX-VegBIEN.plots.csv
19 19
/simpleUserdefined[name=method]/*ID/method/name,/method_id/_collapse:[require=name]/value/method/name,
20 20
/obsEndDate,/obsenddate,
21 21
/obsStartDate,/obsstartdate,
22
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/parent_id/locationevent/authorlocationcode,
23
/simpleUserdefined[name=parent]/value->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
24
/simpleUserdefined[name=parent]/value->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
25 22
/simpleUserdefined[name=precipitation]/value,/precipitation,
26 23
/*ID->/*s/project/personnel[role=metadataProvider]/organizationName,/project_id/_collapse:[require=projectname]/value/project:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
27 24
/*ID->/*s/project:[personnel[role=metadataProvider]/organizationName=$/_ignore/inLabel]/title,/project_id/_collapse:[require=projectname]/value/project:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/projectname,
......
45 42
/temperature,/temperature,
46 43
/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,"/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
47 44
/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,"/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
48
:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/authorlocationcode,
49
/partyWithRole/*ID->/parties/party/organizationName,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
50
:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
45
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
46
/simpleUserdefined[name=parent]/value->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,"/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{.,*_id/location}/datasource_id/party/organizationname/_alt/1}",
47
/simpleUserdefined[name=parent]/value->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
48
/partyWithRole/*ID->/parties/party/organizationName,":[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{.,*_id/location}/datasource_id/party/organizationname/_alt/1",
49
:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName,":[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
50
:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,":[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
mappings/VegX-VegBIEN.organisms.csv
19 19
/*ID->/*s/plotObservation/simpleUserdefined[name=method]/*ID/method/name,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/method_id/_collapse:[require=name]/value/method/name,
20 20
/*ID->/*s/plotObservation/obsEndDate,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsenddate,
21 21
/*ID->/*s/plotObservation/obsStartDate,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsstartdate,
22
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/authorlocationcode,
23
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
24
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
25 22
/*ID->/*s/plotObservation/simpleUserdefined[name=precipitation]/value,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/precipitation,
26 23
/*ID->/*s/plotObservation/*ID->/*s/project/personnel[role=metadataProvider]/organizationName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/project_id/_collapse:[require=projectname]/value/project:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
27 24
/*ID->/*s/plotObservation/*ID->/*s/project:[personnel[role=metadataProvider]/organizationName=$/_ignore/inLabel]/title,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/project_id/_collapse:[require=projectname]/value/project:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/projectname,
......
45 42
/*ID->/*s/plotObservation/temperature,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/temperature,
46 43
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
47 44
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
48
/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/authorlocationcode,
49
/*ID->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
50
/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
45
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
46
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{.,*_id/location}/datasource_id/party/organizationname/_alt/1}",
47
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
48
/*ID->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{.,*_id/location}/datasource_id/party/organizationname/_alt/1",
49
/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
50
/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
51 51
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/voucher,"/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/catalognumber_dwc",
52 52
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName,"/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1",
53 53
/simpleUserdefined[name=growthForm]/value,/aggregateoccurrence/*_id/taxonoccurrence/growthform,
mappings/for_review/VegX-VegBIEN.plots.csv
19 19
/simpleUserdefined[name=method]/*ID/method/name,/method_id/_collapse/value/method/name,
20 20
/obsEndDate,/obsenddate,
21 21
/obsStartDate,/obsstartdate,
22
//plot/plotName,//locationevent/authorlocationcode,
23
//party/organizationName,//party/organizationname/_alt/1,
24
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
25 22
/simpleUserdefined[name=precipitation]/value,/precipitation,
26 23
//project/personnel[role=metadataProvider]/organizationName,/project_id/_collapse/value/project/datasource_id/party/organizationname/_alt/1,
27 24
//*s/project:[personnel[role=metadataProvider]/organizationName=$/_ignore/inLabel]/title,/project_id/_collapse/value/project/projectname,
......
45 42
/temperature,/temperature,
46 43
//geospatial/maximumDepthInMeters,/waterdepth/_avg/max/_units/value,
47 44
//geospatial/minimumDepthInMeters,/waterdepth/_avg/min/_units/value,
48
//plot/plotName,/authorlocationcode,
49
//party/organizationName,//party/organizationname/_alt/1,
50
//plot/plotUniqueIdentifier,/sourceaccessioncode,
45
//plot/plotName,"/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
46
//party/organizationName,"/{parent_id/locationevent/{.,*_id/location}/datasource_id/party/organizationname/_alt/1}",
47
//plot/plotUniqueIdentifier,"/{parent_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
48
//party/organizationName,"/{.,*_id/location}/datasource_id/party/organizationname/_alt/1",
49
//plot/plotName,"/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
50
//plot/plotUniqueIdentifier,"/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
mappings/for_review/VegX-VegBIEN.organisms.csv
19 19
//plotObservation/simpleUserdefined[name=method]/*ID/method/name,//locationevent/method_id/_collapse/value/method/name,
20 20
//plotObservation/obsEndDate,//locationevent/obsenddate,
21 21
//plotObservation/obsStartDate,//locationevent/obsstartdate,
22
//plot/plotName,//locationevent/authorlocationcode,
23
//party/organizationName,//party/organizationname/_alt/1,
24
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
25 22
//plotObservation/simpleUserdefined[name=precipitation]/value,//locationevent/precipitation,
26 23
//project/personnel[role=metadataProvider]/organizationName,//locationevent/project_id/_collapse/value/project/datasource_id/party/organizationname/_alt/1,
27 24
//*s/project:[personnel[role=metadataProvider]/organizationName=$/_ignore/inLabel]/title,//locationevent/project_id/_collapse/value/project/projectname,
......
45 42
//plotObservation/temperature,//locationevent/temperature,
46 43
//geospatial/maximumDepthInMeters,//locationevent/waterdepth/_avg/max/_units/value,
47 44
//geospatial/minimumDepthInMeters,//locationevent/waterdepth/_avg/min/_units/value,
48
//plot/plotName,//locationevent/authorlocationcode,
49
//party/organizationName,//party/organizationname/_alt/1,
50
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
45
//plot/plotName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
46
//party/organizationName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{.,*_id/location}/datasource_id/party/organizationname/_alt/1}",
47
//plot/plotUniqueIdentifier,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
48
//party/organizationName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{.,*_id/location}/datasource_id/party/organizationname/_alt/1",
49
//plot/plotName,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
50
//plot/plotUniqueIdentifier,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
51 51
//taxonNameUsageConcept/voucher,"//*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate}//catalognumber_dwc",
52 52
//party/organizationName,"//*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate}//datasource_id/party/organizationname/_alt/1",
53 53
/simpleUserdefined[name=growthForm]/value,//taxonoccurrence/growthform,
mappings/for_review/VegX-VegBIEN.stems.csv
19 19
//plotObservation/simpleUserdefined[name=method]/*ID/method/name,//locationevent/method_id/_collapse/value/method/name,
20 20
//plotObservation/obsEndDate,//locationevent/obsenddate,
21 21
//plotObservation/obsStartDate,//locationevent/obsstartdate,
22
//plot/plotName,//locationevent/authorlocationcode,
23
//party/organizationName,//party/organizationname/_alt/1,
24
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
25 22
//plotObservation/simpleUserdefined[name=precipitation]/value,//locationevent/precipitation,
26 23
//project/personnel[role=metadataProvider]/organizationName,//locationevent/project_id/_collapse/value/project/datasource_id/party/organizationname/_alt/1,
27 24
//*s/project:[personnel[role=metadataProvider]/organizationName=$/_ignore/inLabel]/title,//locationevent/project_id/_collapse/value/project/projectname,
......
45 42
//plotObservation/temperature,//locationevent/temperature,
46 43
//geospatial/maximumDepthInMeters,//locationevent/waterdepth/_avg/max/_units/value,
47 44
//geospatial/minimumDepthInMeters,//locationevent/waterdepth/_avg/min/_units/value,
48
//plot/plotName,//locationevent/authorlocationcode,
49
//party/organizationName,//party/organizationname/_alt/1,
50
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
45
//plot/plotName,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
46
//party/organizationName,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{.,*_id/location}/datasource_id/party/organizationname/_alt/1}",
47
//plot/plotUniqueIdentifier,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
48
//party/organizationName,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{.,*_id/location}/datasource_id/party/organizationname/_alt/1",
49
//plot/plotName,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
50
//plot/plotUniqueIdentifier,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
51 51
//taxonNameUsageConcept/voucher,"//*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate}//catalognumber_dwc",
52 52
//party/organizationName,"//*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate}//datasource_id/party/organizationname/_alt/1",
53 53
//individualOrganismObservation/simpleUserdefined[name=growthForm]/value,//taxonoccurrence/growthform,
mappings/VegX-VegBIEN.stems.csv
19 19
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/simpleUserdefined[name=method]/*ID/method/name,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/method_id/_collapse:[require=name]/value/method/name,
20 20
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/obsEndDate,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsenddate,
21 21
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/obsStartDate,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsstartdate,
22
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/authorlocationcode,
23
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
24
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
25 22
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/simpleUserdefined[name=precipitation]/value,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/precipitation,
26 23
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/*ID->/*s/project/personnel[role=metadataProvider]/organizationName,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/project_id/_collapse:[require=projectname]/value/project:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
27 24
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/*ID->/*s/project:[personnel[role=metadataProvider]/organizationName=$/_ignore/inLabel]/title,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/project_id/_collapse:[require=projectname]/value/project:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/projectname,
......
45 42
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/temperature,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/temperature,
46 43
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
47 44
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
48
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/authorlocationcode,
49
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
50
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
45
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
46
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{.,*_id/location}/datasource_id/party/organizationname/_alt/1}",
47
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
48
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{.,*_id/location}/datasource_id/party/organizationname/_alt/1",
49
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
50
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
51 51
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/voucher,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/catalognumber_dwc",
52 52
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1",
53 53
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/simpleUserdefined[name=growthForm]/value,/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/growthform,

Also available in: Unified diff