Project

General

Profile

« Previous | Next » 

Revision 4074

mappings/DwC2-VegBIEN.specimens.csv, VegCSV-VegBIEN.specimens.csv: Split occurrenceID into occurrenceID and individualID, where individualID refers to the plant in plots data and occurrenceID refers to the specimen in specimens data. This prevents plant sourceaccessioncodes from being mapped to the specimenreplicate, which was messing up stems mappings for the parent plantobservation. It also avoids mapping the specimenreplicate sourceaccessioncode to additional tables where it isn't needed. (Note that occurrenceID is needed for location to ensure that each specimen gets its own location to make locationdeterminations on. Everything else is directly or indirectly scoped by location when its own sourceaccessioncode isn't specified.)

View differences:

mappings/VegCSV-VegBIEN.specimens.csv
53 53
volumeCanopy,/location/locationevent/taxonoccurrence/aggregateoccurrence/linecover,
54 54
fieldNotes,/location/locationevent/taxonoccurrence/aggregateoccurrence/notes,
55 55
recordNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode,
56
occurrenceID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
56
individualID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
57 57
voucherType,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left",
58 58
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
59
occurrenceID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
60 59
stemCount,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemcount,
61 60
basalDiameter,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/basaldiameter,
62 61
canopyForm,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",
......
74 73
recordNumber,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1,
75 74
scientificName,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/2,
76 75
growthForm,/location/locationevent/taxonoccurrence/growthform,
77
occurrenceID,/location/locationevent/taxonoccurrence/sourceaccessioncode,
76
individualID,/location/locationevent/taxonoccurrence/sourceaccessioncode,
78 77
computer.scientificNameAuthorship,"/location/locationevent/taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
79 78
computer.taxonRank,"/location/locationevent/taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/first",
80 79
computer.infraspecificEpithet,"/location/locationevent/taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/last",
mappings/for_review/VegCSV-VegBIEN.specimens.csv
53 53
volumeCanopy,//aggregateoccurrence/linecover,
54 54
fieldNotes,//aggregateoccurrence/notes,
55 55
recordNumber,//plantobservation/authorplantcode,
56
occurrenceID,//plantobservation/sourceaccessioncode,
56
individualID,//plantobservation/sourceaccessioncode,
57 57
voucherType,"//specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/cond",
58 58
catalogNumber,"//specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
59
occurrenceID,//specimenreplicate/sourceaccessioncode,
60 59
stemCount,//plantobservation/stemcount,
61 60
basalDiameter,//stemobservation/basaldiameter,
62 61
canopyForm,"//stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]/definedvalue",
......
74 73
recordNumber,//taxonoccurrence/authortaxoncode,
75 74
scientificName,//taxonoccurrence/authortaxoncode,
76 75
growthForm,//taxonoccurrence/growthform,
77
occurrenceID,//taxonoccurrence/sourceaccessioncode,
76
individualID,//taxonoccurrence/sourceaccessioncode,
78 77
computer.scientificNameAuthorship,//plantconcept/plantname_id[rank=authority]/plantname,
79 78
computer.taxonRank,//plantconcept/plantname_id[rank=subspecies]/plantname,
80 79
computer.infraspecificEpithet,//plantconcept/plantname_id[rank=subspecies]/plantname,
mappings/VegCSV.self.stems.csv
40 40
heightFirstBranch,heightFirstBranch
41 41
identificationQualifier,identificationQualifier
42 42
individualCount,individualCount
43
individualID,individualID
43 44
infraspecificEpithet,infraspecificEpithet
44 45
kingdom,kingdom
45 46
landform,landform
......
52 53
minimumDepthInMeters,minimumDepthInMeters
53 54
minimumElevationInMeters,minimumElevationInMeters
54 55
nitrogen,nitrogen
55
occurrenceID,occurrenceID
56 56
order,order
57 57
organic,organic
58 58
parentLocationID,parentLocationID
inputs/ARIZ/maps/VegBIEN.specimens.csv
36 36
CollectorNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode/_alt/1,
37 37
FieldNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode/_alt/2,Usage inconsistent with DwC definition
38 38
Sex,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
39
GlobalUniqueIdentifier,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
40 39
CatalogNumberNumeric,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
41 40
CollectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
42 41
CollectorNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectionnumber/_alt/1,
......
45 44
GlobalUniqueIdentifier,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
46 45
CollectorNumber,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1/_alt/1,
47 46
FieldNumber,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1/_alt/2,Usage inconsistent with DwC definition
48
GlobalUniqueIdentifier,/location/locationevent/taxonoccurrence/sourceaccessioncode,
49 47
IdentifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/givenname/_namePart/first,
50 48
IdentifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/middlename/_namePart/middle,
51 49
IdentifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/surname/_namePart/last,
inputs/NCU-NCSC/maps/VegBIEN.specimens.csv
12 12
Collect Date,/location/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/2/_alt/3,
13 13
Collect Date,/location/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/2/_alt/3,
14 14
Collect Date,/location/locationevent/taxonoccurrence/aggregateoccurrence/collectiondate/_*/date/_alt/3,
15
Accession Number,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
16 15
Barcode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
17 16
SeriesName,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
18 17
Accession Number,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
19 18
Cultivated?,"/location/locationevent/taxonoccurrence/iscultivated/_map:[cultivated=t,wild=f,*=]/value/_map:[Yes=cultivated,No=wild]/value",
20 19
Cultivated?,"/location/locationevent/taxonoccurrence/isnative/_map:[native=t,exotic=f,*=]/value/_map:[Yes=cultivated,No=wild]/value",
21
Accession Number,/location/locationevent/taxonoccurrence/sourceaccessioncode,
22 20
Full Taxon Name,"/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname",
23 21
Alt E/W,,** No input mapping for Alt E/W ** 
24 22
Alt N/S,,** No input mapping for Alt N/S ** 
inputs/SpeciesLink/maps/VegBIEN.specimens.csv
62 62
recordNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode/_alt/2,
63 63
Sex,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
64 64
sex,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
65
GlobalUniqueIdentifier,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
66 65
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
67 66
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
68 67
CollectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
......
75 74
GlobalUniqueIdentifier,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
76 75
CollectorNumber,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1/_alt/1,
77 76
recordNumber,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1/_alt/2,
78
GlobalUniqueIdentifier,/location/locationevent/taxonoccurrence/sourceaccessioncode,
79 77
IdentifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/givenname/_namePart/first,
80 78
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/givenname/_namePart/first,
81 79
IdentifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/middlename/_namePart/middle,
inputs/QMOR/maps/VegBIEN.specimens.csv
25 25
eventDate,/location/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1,
26 26
individualCount,/location/locationevent/taxonoccurrence/aggregateoccurrence/count,
27 27
sex,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
28
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
29 28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
30 29
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
31 30
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/2,
32 31
institutionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/party/organizationname,
33 32
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
34
id,/location/locationevent/taxonoccurrence/sourceaccessioncode,
35 33
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/givenname/_namePart/first,
36 34
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/middlename/_namePart/middle,
37 35
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/surname/_namePart/last,
mappings/VegCSV.self.organisms.csv
40 40
heightFirstBranch,heightFirstBranch
41 41
identificationQualifier,identificationQualifier
42 42
individualCount,individualCount
43
individualID,individualID
43 44
infraspecificEpithet,infraspecificEpithet
44 45
kingdom,kingdom
45 46
landform,landform
......
52 53
minimumDepthInMeters,minimumDepthInMeters
53 54
minimumElevationInMeters,minimumElevationInMeters
54 55
nitrogen,nitrogen
55
occurrenceID,occurrenceID
56 56
order,order
57 57
organic,organic
58 58
parentLocationID,parentLocationID
mappings/VegCSV.self.specimens.csv
40 40
heightFirstBranch,heightFirstBranch
41 41
identificationQualifier,identificationQualifier
42 42
individualCount,individualCount
43
individualID,individualID
43 44
infraspecificEpithet,infraspecificEpithet
44 45
kingdom,kingdom
45 46
landform,landform
......
52 53
minimumDepthInMeters,minimumDepthInMeters
53 54
minimumElevationInMeters,minimumElevationInMeters
54 55
nitrogen,nitrogen
55
occurrenceID,occurrenceID
56 56
order,order
57 57
organic,organic
58 58
parentLocationID,parentLocationID
mappings/DwC-VegBIEN.specimens.csv
123 123
recordNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode/_alt/2,
124 124
Sex,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
125 125
sex,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
126
GlobalUniqueIdentifier,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
127
Id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
128
OccurrenceID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
129
globalUniqueIdentifier,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
130
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
131
occurrenceID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
132 126
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
133 127
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
134 128
CollectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
......
155 149
establishmentMeans,"/location/locationevent/taxonoccurrence/iscultivated/_map:[cultivated=t,wild=f,*=]/value",
156 150
EstablishmentMeans,"/location/locationevent/taxonoccurrence/isnative/_map:[native=t,exotic=f,*=]/value",
157 151
establishmentMeans,"/location/locationevent/taxonoccurrence/isnative/_map:[native=t,exotic=f,*=]/value",
158
GlobalUniqueIdentifier,/location/locationevent/taxonoccurrence/sourceaccessioncode,
159
Id,/location/locationevent/taxonoccurrence/sourceaccessioncode,
160
OccurrenceID,/location/locationevent/taxonoccurrence/sourceaccessioncode,
161
globalUniqueIdentifier,/location/locationevent/taxonoccurrence/sourceaccessioncode,
162
id,/location/locationevent/taxonoccurrence/sourceaccessioncode,
163
occurrenceID,/location/locationevent/taxonoccurrence/sourceaccessioncode,
164 152
IdentifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/givenname/_namePart/first,
165 153
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/givenname/_namePart/first,
166 154
IdentifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/middlename/_namePart/middle,
inputs/MT/test/import.specimens.xml.ref
51 51
                <aggregateoccurrence>
52 52
                    <count>$individualCount</count>
53 53
                    <plantobservation>
54
                        <sourceaccessioncode>$id</sourceaccessioncode>
55 54
                        <specimenreplicate>
56 55
                            <collectioncode_dwc>
57 56
                                <_merge>
......
80 79
                        <value>$establishmentMeans</value>
81 80
                    </_map>
82 81
                </isnative>
83
                <sourceaccessioncode>$id</sourceaccessioncode>
84 82
                <taxondetermination>
85 83
                    <isoriginal>true</isoriginal>
86 84
                    <role>identifier</role>
inputs/MT/maps/VegBIEN.specimens.csv
5 5
collectionID,/location/authorlocationcode/_alt/4/_merge/2/_merge/2,
6 6
continent,"/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",
7 7
individualCount,/location/locationevent/taxonoccurrence/aggregateoccurrence/count,
8
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
9 8
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
10 9
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/2,
11 10
institutionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/party/organizationname,
12 11
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
13 12
establishmentMeans,"/location/locationevent/taxonoccurrence/iscultivated/_map:[cultivated=t,wild=f,*=]/value",
14 13
establishmentMeans,"/location/locationevent/taxonoccurrence/isnative/_map:[native=t,exotic=f,*=]/value",
15
id,/location/locationevent/taxonoccurrence/sourceaccessioncode,
16 14
genus,"/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",
17 15
family,"/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",
18 16
locality,/location/locationnarrative/_merge/1,
inputs/NY/test/import.specimens.xml.ref
284 284
                            </userdefined_id>
285 285
                            <definedvalue>$Sex</definedvalue>
286 286
                        </definedvalue>
287
                        <sourceaccessioncode>$UniqueNYInternalRecordNumber</sourceaccessioncode>
288 287
                        <specimenreplicate>
289 288
                            <catalognumber_dwc><_if name="if indirect voucher"><else>$CatalogNumber</else></_if></catalognumber_dwc>
290 289
                            <collectioncode_dwc>$CollectionCode</collectioncode_dwc>
......
305 304
                        <2>$FieldNumber</2>
306 305
                    </_alt>
307 306
                </authortaxoncode>
308
                <sourceaccessioncode>$UniqueNYInternalRecordNumber</sourceaccessioncode>
309 307
                <taxondetermination>
310 308
                    <isoriginal>true</isoriginal>
311 309
                    <role>identifier</role>
inputs/NY/maps/VegBIEN.specimens.csv
31 31
CollectorNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode/_alt/1,
32 32
FieldNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode/_alt/2,Usage inconsistent with DwC definition
33 33
Sex,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
34
UniqueNYInternalRecordNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
35 34
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
36 35
CollectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
37 36
CollectorNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectionnumber/_alt/1,
......
40 39
UniqueNYInternalRecordNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
41 40
CollectorNumber,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1/_alt/1,
42 41
FieldNumber,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1/_alt/2,Usage inconsistent with DwC definition
43
UniqueNYInternalRecordNumber,/location/locationevent/taxonoccurrence/sourceaccessioncode,
44 42
IdentifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/givenname/_namePart/first,
45 43
IdentifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/middlename/_namePart/middle,
46 44
IdentifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/surname/_namePart/last,
inputs/UNCC/test/import.specimens.xml.ref
159 159
                    </notes>
160 160
                    <plantobservation>
161 161
                        <authorplantcode>$collectno</authorplantcode>
162
                        <sourceaccessioncode>$accession</sourceaccessioncode>
163 162
                        <specimenreplicate>
164 163
                            <collectionnumber>$collectno</collectionnumber>
165 164
                            <institution_id><party><organizationname>$herbarium</organizationname></party></institution_id>
......
198 197
                        </value>
199 198
                    </_map>
200 199
                </isnative>
201
                <sourceaccessioncode>$accession</sourceaccessioncode>
202 200
                <taxondetermination>
203 201
                    <isoriginal>true</isoriginal>
204 202
                    <role>identifier</role>
inputs/UNCC/maps/VegBIEN.specimens.csv
21 21
loanto,"/location/locationevent/taxonoccurrence/aggregateoccurrence/notes/_merge/6/_label[label=""loaned to""]/value",
22 22
inorout,"/location/locationevent/taxonoccurrence/aggregateoccurrence/notes/_merge/7/_label[label=""in or out""]/value",
23 23
collectno,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode/_alt/1,
24
accession,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
25 24
collectno,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectionnumber/_alt/1,
26 25
herbarium,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/party/organizationname,
27 26
accession,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
28 27
collectno,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1/_alt/1,
29 28
cultivated,"/location/locationevent/taxonoccurrence/iscultivated/_map:[cultivated=t,wild=f,*=]/value/_map:[Y=cultivated,N=wild,*=]/value",Ignore other values
30 29
cultivated,"/location/locationevent/taxonoccurrence/isnative/_map:[native=t,exotic=f,*=]/value/_map:[Y=cultivated,N=wild,*=]/value",Ignore other values
31
accession,/location/locationevent/taxonoccurrence/sourceaccessioncode,
32 30
SciName,"/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname",
33 31
authors,"/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
34 32
infraname,"/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",
inputs/ACAD/test/import.specimens.xml.ref
77 77
                <aggregateoccurrence>
78 78
                    <plantobservation>
79 79
                        <authorplantcode>$recordNumber</authorplantcode>
80
                        <sourceaccessioncode>$id</sourceaccessioncode>
81 80
                        <specimenreplicate>
82 81
                            <catalognumber_dwc><_if name="if indirect voucher"><else>$catalogNumber</else></_if></catalognumber_dwc>
83 82
                            <collectioncode_dwc>
......
93 92
                    </plantobservation>
94 93
                </aggregateoccurrence>
95 94
                <authortaxoncode>$recordNumber</authortaxoncode>
96
                <sourceaccessioncode>$id</sourceaccessioncode>
97 95
                <taxondetermination>
98 96
                    <isoriginal>true</isoriginal>
99 97
                    <role>identifier</role>
inputs/ACAD/maps/VegBIEN.specimens.csv
14 14
eventDate,/location/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1,
15 15
eventDate,/location/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1,
16 16
recordNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode/_alt/2,
17
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
18 17
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
19 18
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
20 19
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/2,
......
22 21
institutionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/party/organizationname,
23 22
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
24 23
recordNumber,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1/_alt/2,
25
id,/location/locationevent/taxonoccurrence/sourceaccessioncode,
26 24
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/givenname/_namePart/first,
27 25
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/middlename/_namePart/middle,
28 26
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/surname/_namePart/last,
inputs/SALVIAS-CSV/test/import.organisms.xml.ref
58 58
                                    </else>
59 59
                                </_if>
60 60
                            </catalognumber_dwc>
61
                            <sourceaccessioncode>$OBSERVATION_ID</sourceaccessioncode>
62 61
                        </specimenreplicate>
63 62
                        <stemobservation>
64 63
                            <basaldiameter>$basal_diam</basaldiameter>
inputs/SALVIAS-CSV/maps/VegCSV.organisms.csv
1 1
SALVIAS-CSV,VegCSV[DwC],Comments
2
OBSERVATION_ID,occurrenceID,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
2
OBSERVATION_ID,individualID,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
3 3
PLOT_ID,parentLocationID,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
4 4
plot_code,parentPlotName,"Brad: Same as plotCode, above"
5 5
census_no,censusNumber,"Brad: Assigned by SALVIAS. 1 for first plot, then 2, 3, etc. I can't recall if we even have repeat censuses in SALVIAS. Probably not."
6
census_date,plotEventStartDate,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
7
-----
8
SELECT ""PLOT_ID"", subplot, count(DISTINCT census_date) AS census_date_count
9
FROM ""SALVIAS-CSV"".organisms
10
WHERE subplot IS NOT NULL AND census_date IS NOT NULL
11
GROUP BY ""PLOT_ID"", subplot
12
HAVING count(DISTINCT census_date) > 1
6
census_date,plotEventStartDate,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:

7
-----

8
SELECT ""PLOT_ID"", subplot, count(DISTINCT census_date) AS census_date_count

9
FROM ""SALVIAS-CSV"".organisms

10
WHERE subplot IS NOT NULL AND census_date IS NOT NULL

11
GROUP BY ""PLOT_ID"", subplot

12
HAVING count(DISTINCT census_date) > 1

13 13
-----"
14 14
subplot,plotName,
15 15
individual_code,recordNumber,"Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot."
inputs/SALVIAS-CSV/maps/VegCSV.organisms.full.csv
21 21
stem_height_first_branch_m,heightFirstBranch,"Brad: Should also be userDefined for VegBank. Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
22 22
cf_aff,identificationQualifier,"Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
23 23
no_of_individuals,individualCount,"Brad: Incorrect for VegX. This is a count of number of indiiduals for an *aggregate* observation. For VegBank, I'm not sure. Not exactly the same as stemCount. An individual tree could have 3 stems but would still only count as 1. We need to check with Bob on this."
24
OBSERVATION_ID,individualID,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
24 25
stem_liana_infestation,lianaInfestation,Brad: Should also be userDefined for VegBank. 
25
OBSERVATION_ID,occurrenceID,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
26 26
PLOT_ID,parentLocationID,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
27 27
plot_code,parentPlotName,"Brad: Same as plotCode, above"
28
census_date,plotEventStartDate,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
29
-----
30
SELECT ""PLOT_ID"", subplot, count(DISTINCT census_date) AS census_date_count
31
FROM ""SALVIAS-CSV"".organisms
32
WHERE subplot IS NOT NULL AND census_date IS NOT NULL
33
GROUP BY ""PLOT_ID"", subplot
34
HAVING count(DISTINCT census_date) > 1
28
census_date,plotEventStartDate,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:

29
-----

30
SELECT ""PLOT_ID"", subplot, count(DISTINCT census_date) AS census_date_count

31
FROM ""SALVIAS-CSV"".organisms

32
WHERE subplot IS NOT NULL AND census_date IS NOT NULL

33
GROUP BY ""PLOT_ID"", subplot

34
HAVING count(DISTINCT census_date) > 1

35 35
-----"
36 36
subplot,plotName,
37 37
tag2,previousTag/_alt/1,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
inputs/SALVIAS-CSV/maps/VegBIEN.organisms.csv
3 3
det_type,"/location/authorlocationcode/_alt/4/_merge/3/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left","Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
4 4
coll_number,"/location/authorlocationcode/_alt/4/_merge/3/_if[@name=""if indirect voucher""]/else/_alt/1",Brad: Incorrect. Map instead as for voucher_string
5 5
voucher_string,"/location/authorlocationcode/_alt/4/_merge/3/_if[@name=""if indirect voucher""]/else/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
6
census_date,/location/locationevent/obsstartdate/_*/date/_dateRangeStart/value,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
7
-----
8
SELECT ""PLOT_ID"", subplot, count(DISTINCT census_date) AS census_date_count
9
FROM ""SALVIAS-CSV"".organisms
10
WHERE subplot IS NOT NULL AND census_date IS NOT NULL
11
GROUP BY ""PLOT_ID"", subplot
12
HAVING count(DISTINCT census_date) > 1
6
census_date,/location/locationevent/obsstartdate/_*/date/_dateRangeStart/value,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:

7
-----

8
SELECT ""PLOT_ID"", subplot, count(DISTINCT census_date) AS census_date_count

9
FROM ""SALVIAS-CSV"".organisms

10
WHERE subplot IS NOT NULL AND census_date IS NOT NULL

11
GROUP BY ""PLOT_ID"", subplot

12
HAVING count(DISTINCT census_date) > 1

13 13
-----"
14 14
no_of_individuals,/location/locationevent/taxonoccurrence/aggregateoccurrence/count,"Brad: Incorrect for VegX. This is a count of number of indiiduals for an *aggregate* observation. For VegBank, I'm not sure. Not exactly the same as stemCount. An individual tree could have 3 stems but would still only count as 1. We need to check with Bob on this."
15 15
cover_percent,/location/locationevent/taxonoccurrence/aggregateoccurrence/cover,
......
20 20
det_type,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left","Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
21 21
coll_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/1",Brad: Incorrect. Map instead as for voucher_string
22 22
voucher_string,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
23
OBSERVATION_ID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
24 23
basal_diam,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/basaldiameter,
25 24
stem_canopy_form,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",Brad: Should also be userDefined for VegBank. 
26 25
stem_canopy_position,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]:[@fkey=tablerecord_id]/definedvalue",Brad: Should also be userDefined for VegBank. 
inputs/REMIB/test/import.specimens.xml.ref
146 146
                        </_date>
147 147
                    </collectiondate>
148 148
                    <plantobservation>
149
                        <sourceaccessioncode>$accession_number</sourceaccessioncode>
150 149
                        <specimenreplicate>
151 150
                            <collectioncode_dwc>$acronym</collectioncode_dwc>
152 151
                            <sourceaccessioncode>$accession_number</sourceaccessioncode>
153 152
                        </specimenreplicate>
154 153
                    </plantobservation>
155 154
                </aggregateoccurrence>
156
                <sourceaccessioncode>$accession_number</sourceaccessioncode>
157 155
                <taxondetermination>
158 156
                    <isoriginal>true</isoriginal>
159 157
                    <role>identifier</role>
inputs/REMIB/maps/VegBIEN.specimens.csv
15 15
coll_day,"/location/locationevent/taxonoccurrence/aggregateoccurrence/collectiondate/_*/date/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",
16 16
coll_month,"/location/locationevent/taxonoccurrence/aggregateoccurrence/collectiondate/_*/date/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",
17 17
coll_year,"/location/locationevent/taxonoccurrence/aggregateoccurrence/collectiondate/_*/date/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",
18
accession_number,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
19 18
acronym,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
20 19
accession_number,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
21
accession_number,/location/locationevent/taxonoccurrence/sourceaccessioncode,
22 20
specificEpithet,"/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",
23 21
genus,"/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",
24 22
family,"/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",
inputs/SALVIAS/test/import.organisms.xml.ref
60 60
                                    </else>
61 61
                                </_if>
62 62
                            </catalognumber_dwc>
63
                            <sourceaccessioncode>$PlotObsID</sourceaccessioncode>
64 63
                        </specimenreplicate>
65 64
                        <stemobservation>
66 65
                            <definedvalue fkey="tablerecord_id">
inputs/SALVIAS/test/import.stems.xml.ref
6 6
                <aggregateoccurrence>
7 7
                    <plantobservation>
8 8
                        <sourceaccessioncode>$PlotObsID</sourceaccessioncode>
9
                        <specimenreplicate><sourceaccessioncode>$PlotObsID</sourceaccessioncode></specimenreplicate>
10 9
                        <stemcount>$NoInd</stemcount>
11 10
                        <stemobservation>
12 11
                            <basaldiameter>$basal_diam</basaldiameter>
......
79 78
        </locationevent>
80 79
    </location>
81 80
</VegBIEN>
82
Inserted 26 new rows into database
81
Inserted 24 new rows into database
inputs/SALVIAS/maps/VegCSV.stems.csv
1 1
SALVIAS,VegCSV[DwC],Comments
2 2
stem_id,,
3 3
origrecord_id_stems,,
4
PlotObsID,occurrenceID,
4
PlotObsID,individualID,
5 5
NoInd,stemCount,
6 6
basal_diam,basalDiameter,
7 7
stem_dbh,diameterBreastHeight,
inputs/SALVIAS/maps/VegCSV.stems.full.csv
6 6
gentry_dbh,diameterBreastHeightGentry,
7 7
stem_height_m,height,
8 8
stem_height_first_branch_m,heightFirstBranch,
9
PlotObsID,individualID,
9 10
stem_liana_infestation,lianaInfestation,
10
PlotObsID,occurrenceID,
11 11
stem_tag2,previousTag,
12 12
NoInd,stemCount,
13 13
stem_notes,stemNotes,
inputs/SALVIAS/maps/VegCSV.organisms.csv
1 1
SALVIAS,VegCSV[DwC],Comments
2
PlotObsID,occurrenceID,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
2
PlotObsID,individualID,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
3 3
PlotID,parentLocationID,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
4 4
PlotCode,parentPlotName,"Brad: Same as plotCode, above"
5 5
census_no,censusNumber,"Brad: Assigned by SALVIAS. 1 for first plot, then 2, 3, etc. I can't recall if we even have repeat censuses in SALVIAS. Probably not."
inputs/SALVIAS/maps/VegCSV.organisms.full.csv
27 27
ht_first_branch_m,heightFirstBranch,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
28 28
cfaff,identificationQualifier,"Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
29 29
NoInd,individualCount,"Brad: Incorrect for VegX. This is a count of number of indiiduals for an *aggregate* observation. For VegBank, I'm not sure. Not exactly the same as stemCount. An individual tree could have 3 stems but would still only count as 1. We need to check with Bob on this."
30
PlotObsID,individualID,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
30 31
liana_infestation,lianaInfestation,Brad: Should also be userDefined for VegBank. 
31
PlotObsID,occurrenceID,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
32 32
PlotID,parentLocationID,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
33 33
PlotCode,parentPlotName,"Brad: Same as plotCode, above"
34 34
Line,plotName,
inputs/SALVIAS/maps/VegBIEN.stems.csv
1 1
SALVIAS,VegBIEN:,Comments
2 2
PlotObsID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
3
PlotObsID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
4 3
NoInd,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemcount,
5 4
basal_diam,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/basaldiameter,
6 5
stem_canopy_form,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",
inputs/SALVIAS/maps/VegBIEN.organisms.csv
29 29
DetType,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left","Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
30 30
coll_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/1",Brad: Incorrect. Map instead as for voucher_string
31 31
SourceVoucher,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
32
PlotObsID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
33 32
canopy_form,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",Brad: Should also be userDefined for VegBank. 
34 33
canopy_position,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]:[@fkey=tablerecord_id]/definedvalue",Brad: Should also be userDefined for VegBank. 
35 34
liana_infestation,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=lianaInfestation]]:[@fkey=tablerecord_id]/definedvalue",Brad: Should also be userDefined for VegBank. 
inputs/U/test/import.specimens.xml.ref
146 146
                    <notes>$Notes</notes>
147 147
                    <plantobservation>
148 148
                        <authorplantcode>$Number</authorplantcode>
149
                        <sourceaccessioncode>$ID</sourceaccessioncode>
150 149
                        <specimenreplicate>
151 150
                            <catalognumber_dwc><_if name="if indirect voucher"><else>$Barcode</else></_if></catalognumber_dwc>
152 151
                            <collectionnumber>$Number</collectionnumber>
......
155 154
                    </plantobservation>
156 155
                </aggregateoccurrence>
157 156
                <authortaxoncode>$Number</authortaxoncode>
158
                <sourceaccessioncode>$ID</sourceaccessioncode>
159 157
                <taxondetermination>
160 158
                    <isoriginal>true</isoriginal>
161 159
                    <role>identifier</role>
inputs/U/maps/VegBIEN.specimens.csv
15 15
Collyy,"/location/locationevent/taxonoccurrence/aggregateoccurrence/collectiondate/_*/date/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",
16 16
Notes,/location/locationevent/taxonoccurrence/aggregateoccurrence/notes,
17 17
Number,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode/_alt/2,
18
ID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
19 18
Barcode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
20 19
Number,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectionnumber/_alt/2,
21 20
ID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
22 21
Number,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1/_alt/2,
23
ID,/location/locationevent/taxonoccurrence/sourceaccessioncode,
24 22
Detby,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/givenname/_namePart/first,
25 23
Detby,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/middlename/_namePart/middle,
26 24
Detby,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/surname/_namePart/last,
inputs/ARIZ/test/import.specimens.xml.ref
306 306
                            </userdefined_id>
307 307
                            <definedvalue>$Sex</definedvalue>
308 308
                        </definedvalue>
309
                        <sourceaccessioncode>$GlobalUniqueIdentifier</sourceaccessioncode>
310 309
                        <specimenreplicate>
311 310
                            <catalognumber_dwc><_if name="if indirect voucher"><else>$CatalogNumberNumeric</else></_if></catalognumber_dwc>
312 311
                            <collectioncode_dwc>$CollectionCode</collectioncode_dwc>
......
327 326
                        <2>$FieldNumber</2>
328 327
                    </_alt>
329 328
                </authortaxoncode>
330
                <sourceaccessioncode>$GlobalUniqueIdentifier</sourceaccessioncode>
331 329
                <taxondetermination>
332 330
                    <isoriginal>true</isoriginal>
333 331
                    <role>identifier</role>
inputs/NCU-NCSC/test/import.specimens.xml.ref
76 76
                <aggregateoccurrence>
77 77
                    <collectiondate><_date><date>$Collect Date</date></_date></collectiondate>
78 78
                    <plantobservation>
79
                        <sourceaccessioncode>$Accession Number</sourceaccessioncode>
80 79
                        <specimenreplicate>
81 80
                            <catalognumber_dwc><_if name="if indirect voucher"><else>$Barcode</else></_if></catalognumber_dwc>
82 81
                            <collectioncode_dwc>$SeriesName</collectioncode_dwc>
......
112 111
                        </value>
113 112
                    </_map>
114 113
                </isnative>
115
                <sourceaccessioncode>$Accession Number</sourceaccessioncode>
116 114
                <taxondetermination>
117 115
                    <isoriginal>true</isoriginal>
118 116
                    <role>identifier</role>
inputs/SpeciesLink/test/import.specimens.xml.ref
417 417
                                </_alt>
418 418
                            </definedvalue>
419 419
                        </definedvalue>
420
                        <sourceaccessioncode>$dwc_dwcore_GlobalUniqueIdentifier</sourceaccessioncode>
421 420
                        <specimenreplicate>
422 421
                            <catalognumber_dwc>
423 422
                                <_if name="if indirect voucher">
......
479 478
                        <2>$dwc_terms_recordNumber</2>
480 479
                    </_alt>
481 480
                </authortaxoncode>
482
                <sourceaccessioncode>$dwc_dwcore_GlobalUniqueIdentifier</sourceaccessioncode>
483 481
                <taxondetermination>
484 482
                    <isoriginal>true</isoriginal>
485 483
                    <role>identifier</role>
inputs/QMOR/test/import.specimens.xml.ref
197 197
                            </userdefined_id>
198 198
                            <definedvalue>$sex</definedvalue>
199 199
                        </definedvalue>
200
                        <sourceaccessioncode>$id</sourceaccessioncode>
201 200
                        <specimenreplicate>
202 201
                            <catalognumber_dwc><_if name="if indirect voucher"><else>$catalogNumber</else></_if></catalognumber_dwc>
203 202
                            <collectioncode_dwc>
......
211 210
                        </specimenreplicate>
212 211
                    </plantobservation>
213 212
                </aggregateoccurrence>
214
                <sourceaccessioncode>$id</sourceaccessioncode>
215 213
                <taxondetermination>
216 214
                    <isoriginal>true</isoriginal>
217 215
                    <role>identifier</role>
mappings/VegCSV.self.plots.csv
40 40
heightFirstBranch,heightFirstBranch
41 41
identificationQualifier,identificationQualifier
42 42
individualCount,individualCount
43
individualID,individualID
43 44
infraspecificEpithet,infraspecificEpithet
44 45
kingdom,kingdom
45 46
landform,landform
......
52 53
minimumDepthInMeters,minimumDepthInMeters
53 54
minimumElevationInMeters,minimumElevationInMeters
54 55
nitrogen,nitrogen
55
occurrenceID,occurrenceID
56 56
order,order
57 57
organic,organic
58 58
parentLocationID,parentLocationID
mappings/DwC2-VegBIEN.specimens.csv
32 32
fieldNotes,/location/locationevent/taxonoccurrence/aggregateoccurrence/notes,
33 33
recordNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode,
34 34
sex,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
35
occurrenceID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
36 35
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
37 36
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
38 37
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/2,
......
42 41
recordNumber,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1,
43 42
establishmentMeans,"/location/locationevent/taxonoccurrence/iscultivated/_map:[cultivated=t,wild=f,*=]/value",
44 43
establishmentMeans,"/location/locationevent/taxonoccurrence/isnative/_map:[native=t,exotic=f,*=]/value",
45
occurrenceID,/location/locationevent/taxonoccurrence/sourceaccessioncode,
46 44
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/givenname/_namePart/first,
47 45
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/middlename/_namePart/middle,
48 46
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/surname/_namePart/last,
mappings/for_review/DwC2-VegBIEN.specimens.csv
32 32
fieldNotes,//aggregateoccurrence/notes,
33 33
recordNumber,//plantobservation/authorplantcode,
34 34
sex,"//plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
35
occurrenceID,//plantobservation/sourceaccessioncode,
36 35
catalogNumber,"//specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
37 36
collectionCode,//specimenreplicate/collectioncode_dwc,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
38 37
collectionID,//specimenreplicate/collectioncode_dwc,
......
42 41
recordNumber,//taxonoccurrence/authortaxoncode,
43 42
establishmentMeans,//taxonoccurrence/iscultivated,
44 43
establishmentMeans,//taxonoccurrence/isnative,
45
occurrenceID,//taxonoccurrence/sourceaccessioncode,
46 44
identifiedBy,//taxonoccurrence/taxondetermination[role=identifier]/*_id/party/givenname,
47 45
identifiedBy,//taxonoccurrence/taxondetermination[role=identifier]/*_id/party/middlename,
48 46
identifiedBy,//taxonoccurrence/taxondetermination[role=identifier]/*_id/party/surname,
mappings/DwC.cs-VegBIEN.specimens.csv
61 61
collectorNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode/_alt/1,
62 62
recordNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/authorplantcode/_alt/2,
63 63
sex,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
64
globalUniqueIdentifier,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
65
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
66
occurrenceID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
67 64
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
68 65
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
69 66
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_merge/2,
......
77 74
recordNumber,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1/_alt/2,
78 75
establishmentMeans,"/location/locationevent/taxonoccurrence/iscultivated/_map:[cultivated=t,wild=f,*=]/value",
79 76
establishmentMeans,"/location/locationevent/taxonoccurrence/isnative/_map:[native=t,exotic=f,*=]/value",
80
globalUniqueIdentifier,/location/locationevent/taxonoccurrence/sourceaccessioncode,
81
id,/location/locationevent/taxonoccurrence/sourceaccessioncode,
82
occurrenceID,/location/locationevent/taxonoccurrence/sourceaccessioncode,
83 77
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/givenname/_namePart/first,
84 78
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/middlename/_namePart/middle,
85 79
identifiedBy,/location/locationevent/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true]/*_id/party/surname/_namePart/last,

Also available in: Unified diff