Revision 3780
Added by Aaron Marcuse-Kubitza over 12 years ago
inputs/QMOR/maps/VegBIEN.specimens.csv | ||
---|---|---|
1 | 1 |
QMOR[DwC],VegBIEN:,Comments,Order |
2 |
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value",,72 |
|
3 |
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71 |
|
4 |
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71 |
|
5 |
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1",,72 |
|
6 |
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value",,71 |
|
2 | 7 |
coordinateUncertaintyInMeters,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy/_noCV/value/_alt/1,,88 |
3 | 8 |
footprintWKT,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/footprintgeometry_dwc,,91 |
4 | 9 |
decimalLatitude,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/latitude/_alt/1/_nullIf:[null=0,type=float]/value",,85 |
... | ... | |
11 | 16 |
continent,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",Brad: OMIT,59 |
12 | 17 |
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68 |
13 | 18 |
habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52 |
14 |
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value",,71 |
|
15 |
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1}",,72 |
|
16 |
eventDate,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/2",,44 |
|
19 |
id,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
20 |
institutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,, |
|
21 |
collectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
22 |
catalogNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
23 |
eventDate,/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/2,,44 |
|
24 |
eventDate,/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/2,,44 |
|
25 |
catalogNumber,/specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
26 |
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,12 |
|
17 | 27 |
collectionID,/specimenreplicate/collectionnumber/_alt/2,,9 |
18 | 28 |
sex,"/specimenreplicate/definedvalue[*_id/userdefined[tablename=specimenreplicate,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",26 |
29 |
institutionCode,/specimenreplicate/institution_id/party/organizationname,, |
|
30 |
id,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
19 | 31 |
dateIdentified,/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/2,,120 |
20 |
identifiedBy,"/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119 |
|
32 |
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119 |
|
33 |
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119 |
|
34 |
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119 |
|
21 | 35 |
scientificName,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname","Brad: Bob, Nick, please is this mapping OK?",134 |
22 | 36 |
scientificNameAuthorship,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153 |
23 | 37 |
infraspecificEpithet,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",,150 |
... | ... | |
29 | 43 |
phylum,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subkingdom]/plantname",,143 |
30 | 44 |
kingdom,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,subkingdom,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",,142 |
31 | 45 |
recordedBy,/specimenreplicate/verbatimcollectorname,,23 |
32 |
catalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
33 |
collectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
34 |
institutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",, |
|
35 |
id,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
36 | 46 |
acceptedNameUsage,,** No non-empty join mapping for acceptedNameUsage ** |
37 | 47 |
basisOfRecord,,** No non-empty join mapping for basisOfRecord ** |
38 | 48 |
behavior,,** No non-empty join mapping for behavior ** |
mappings/for_review/DwC2-VegBIEN.specimens.csv | ||
---|---|---|
1 | 1 |
DwC,VegBIEN:,Comments,Order |
2 |
maximumElevationInMeters,//location/elevation/_alt/2/_avg/max/_units/value,,72 |
|
3 |
minimumElevationInMeters,"//location/elevation/_alt/2/_avg/min/_units/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71 |
|
4 |
minimumElevationInMeters,"//location/elevationrange/_range/from/_units/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71 |
|
5 |
maximumElevationInMeters,//location/elevationrange/_range/to/_units/value/_alt/1,,72 |
|
6 |
minimumElevationInMeters,"//location/elevationrange/_range/to/_units/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value",,71 |
|
2 | 7 |
coordinateUncertaintyInMeters,//locationdetermination/coordsaccuracy/_noCV/value/_alt/1,,88 |
3 | 8 |
coordinatePrecision,//locationdetermination/coordsaccuracy/_noCV/value/_alt/2,,89 |
4 | 9 |
footprintWKT,//locationdetermination/footprintgeometry_dwc,,91 |
... | ... | |
13 | 18 |
locality,//location/locationnarrative/_merge/1,,68 |
14 | 19 |
verbatimLocality,//location/locationnarrative/_merge/2,"Brad: Correct for VB; Nick, is there no specific element for locality description in VegX? Definitely need one.",69 |
15 | 20 |
habitat,"//location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52 |
16 |
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units/value/_rangeStart/value,elevationrange/_range/to/_units/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value",,71 |
|
17 |
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units/value,elevationrange/_range/to/_units/value/_alt/1}",,72 |
|
21 |
occurrenceID,//location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
22 |
institutionCode,//location/sourceaccessioncode/_alt/2/_merge/1,, |
|
23 |
collectionCode,//location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
24 |
catalogNumber,//location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
25 |
eventDate,//locationevent/obsenddate/_*/date/_dateRangeEnd/value,,44 |
|
26 |
eventDate,//locationevent/obsstartdate/_*/date/_dateRangeStart/value,,44 |
|
18 | 27 |
maximumDepthInMeters,//locationevent/waterdepth/_avg/max/_units/value,,75 |
19 | 28 |
minimumDepthInMeters,//locationevent/waterdepth/_avg/min/_units/value,,74 |
20 |
eventDate,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value",,44 |
|
29 |
catalogNumber,//specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
30 |
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,12 |
|
21 | 31 |
recordNumber,//specimenreplicate/collectionnumber/_alt/1,,22 |
22 | 32 |
collectionID,//specimenreplicate/collectionnumber/_alt/2,,9 |
23 | 33 |
fieldNumber,//specimenreplicate/collectionnumber/_alt/3,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?",53 |
24 | 34 |
sex,"//specimenreplicate/definedvalue[*_id/userdefined[tablename=specimenreplicate,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",26 |
25 | 35 |
fieldNotes,//specimenreplicate/description/_merge/1,, |
26 | 36 |
taxonRemarks,//specimenreplicate/description/_merge/2,,158 |
37 |
establishmentMeans,//specimenreplicate/growthform/_map/value,,30 |
|
38 |
institutionCode,//party/organizationname,, |
|
39 |
establishmentMeans,//specimenreplicate/iscultivated/_map/value,,30 |
|
40 |
establishmentMeans,//specimenreplicate/isnative/_map/value,,30 |
|
41 |
occurrenceID,//specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
27 | 42 |
dateIdentified,//specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value,,120 |
28 |
identifiedBy,"//specimenreplicate/taxondetermination[role=identifier]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119 |
|
43 |
identifiedBy,//specimenreplicate/taxondetermination[role=identifier]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119 |
|
44 |
identifiedBy,//specimenreplicate/taxondetermination[role=identifier]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119 |
|
45 |
identifiedBy,//specimenreplicate/taxondetermination[role=identifier]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119 |
|
29 | 46 |
scientificName,"//specimenreplicate/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname","Brad: Bob, Nick, please is this mapping OK?",134 |
30 | 47 |
scientificNameAuthorship,"//specimenreplicate/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153 |
31 | 48 |
infraspecificEpithet,"//specimenreplicate/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",,150 |
... | ... | |
37 | 54 |
phylum,"//specimenreplicate/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=subkingdom]/plantname",,143 |
38 | 55 |
kingdom,"//specimenreplicate/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",,142 |
39 | 56 |
recordedBy,//specimenreplicate/verbatimcollectorname,,23 |
40 |
catalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
41 |
collectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
42 |
establishmentMeans,"/specimenreplicate/{growthform/_map,iscultivated/_map,isnative/_map}/value",,30 |
|
43 |
institutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",, |
|
44 |
occurrenceID,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
45 | 57 |
acceptedNameUsage,,,135 |
46 | 58 |
acceptedNameUsageID,,,128 |
47 | 59 |
associatedMedia,,,36 |
mappings/DwC.cs-VegBIEN.specimens.csv | ||
---|---|---|
1 | 1 |
DwC,VegBIEN:,Comments,Order |
2 |
maximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value",,72 |
|
3 |
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value",,72 |
|
4 |
minimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71 |
|
5 |
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71 |
|
6 |
minimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71 |
|
7 |
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71 |
|
8 |
maximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1",,72 |
|
9 |
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1",,72 |
|
10 |
minimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value",,71 |
|
11 |
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value",,71 |
|
2 | 12 |
coordinateUncertaintyInMeters,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy/_noCV/value/_alt/1,,88 |
3 | 13 |
coordinatePrecision,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy/_noCV/value/_alt/2,,89 |
4 | 14 |
boundingBox,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/footprintgeometry_dwc,,91 |
... | ... | |
18 | 28 |
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68 |
19 | 29 |
verbatimLocality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/2,"Brad: Correct for VB; Nick, is there no specific element for locality description in VegX? Definitely need one.",69 |
20 | 30 |
habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52 |
21 |
minimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value",,71 |
|
22 |
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value",,71 |
|
23 |
maximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1}",,72 |
|
24 |
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1}",,72 |
|
31 |
globalUniqueIdentifier,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
32 |
id,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
33 |
occurrenceID,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
34 |
institutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,, |
|
35 |
collectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
36 |
catalogNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
37 |
eventDate/_alt,/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt,Allow datasource to define custom eventDate mappings that don't pass through the default eventDate mapping,44 |
|
38 |
dayCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
39 |
monthCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
40 |
yearCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
41 |
eventDate,/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/2,,44 |
|
42 |
collectedDate,/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/3,,44 |
|
43 |
eventDate/_alt,/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt,Allow datasource to define custom eventDate mappings that don't pass through the default eventDate mapping,44 |
|
44 |
dayCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
45 |
monthCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
46 |
yearCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
47 |
eventDate,/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/2,,44 |
|
48 |
collectedDate,/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/3,,44 |
|
25 | 49 |
maximumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",,75 |
26 | 50 |
maximumDepthInMeters,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",,75 |
27 | 51 |
minimumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",,74 |
28 | 52 |
minimumDepthInMeters,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",,74 |
29 |
eventDate/_alt,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt",Allow datasource to define custom eventDate mappings that don't pass through the default eventDate mapping,44 |
|
30 |
dayCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
31 |
monthCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
32 |
yearCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
33 |
eventDate,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/2",,44 |
|
34 |
collectedDate,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/3",,44 |
|
53 |
catalogNumber,/specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
54 |
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,12 |
|
35 | 55 |
collectorNumber,/specimenreplicate/collectionnumber/_alt/1/_alt/1,,22 |
36 | 56 |
recordNumber,/specimenreplicate/collectionnumber/_alt/1/_alt/2,,22 |
37 | 57 |
collectionID,/specimenreplicate/collectionnumber/_alt/2,,9 |
... | ... | |
41 | 61 |
notes,/specimenreplicate/description/_merge/1,, |
42 | 62 |
remarks,/specimenreplicate/description/_merge/2,,158 |
43 | 63 |
taxonRemarks,/specimenreplicate/description/_merge/2,,158 |
64 |
establishmentMeans,"/specimenreplicate/growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=]/value",,30 |
|
65 |
institutionCode,/specimenreplicate/institution_id/party/organizationname,, |
|
66 |
establishmentMeans,"/specimenreplicate/iscultivated/_map:[cultivated=t,wild=f,*=]/value",,30 |
|
67 |
establishmentMeans,"/specimenreplicate/isnative/_map:[native=t,exotic=f,*=]/value",,30 |
|
68 |
globalUniqueIdentifier,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
69 |
id,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
70 |
occurrenceID,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
44 | 71 |
dateIdentified/_alt,/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt,Allow datasource to define custom dateIdentified mappings that don't pass through the default dateIdentified mapping,120 |
45 | 72 |
dayIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,120 |
46 | 73 |
monthIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,120 |
47 | 74 |
yearIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,120 |
48 | 75 |
dateIdentified,/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/2,,120 |
49 | 76 |
identifiedDate,/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/3,,120 |
50 |
identifiedBy,"/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119 |
|
77 |
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119 |
|
78 |
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119 |
|
79 |
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119 |
|
51 | 80 |
scientificName,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname","Brad: Bob, Nick, please is this mapping OK?",134 |
52 | 81 |
scientificNameAuthor,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153 |
53 | 82 |
scientificNameAuthorship,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153 |
... | ... | |
63 | 92 |
kingdom,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,subkingdom,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",,142 |
64 | 93 |
collector,/specimenreplicate/verbatimcollectorname,,23 |
65 | 94 |
recordedBy,/specimenreplicate/verbatimcollectorname,,23 |
66 |
catalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
67 |
collectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
68 |
establishmentMeans,"/specimenreplicate/{growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=],iscultivated/_map:[cultivated=t,wild=f,*=],isnative/_map:[native=t,exotic=f,*=]}/value",,30 |
|
69 |
institutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",, |
|
70 |
globalUniqueIdentifier,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
71 |
id,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
72 |
occurrenceID,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
73 | 95 |
acceptedNameUsage,,,135 |
74 | 96 |
acceptedNameUsageID,,,128 |
75 | 97 |
accessRights,,** No non-empty join mapping for dcterms:accessRights ** Versions without namespace |
inputs/MT/test/import.specimens.xml.ref | ||
---|---|---|
37 | 37 |
<locationnarrative><_merge><1>$locality</1></_merge></locationnarrative> |
38 | 38 |
<sourceaccessioncode> |
39 | 39 |
<_alt> |
40 |
<1>$id</1> |
|
40 | 41 |
<2> |
41 | 42 |
<_merge> |
43 |
<1>$institutionCode</1> |
|
42 | 44 |
<2>$collectionCode</2> |
43 |
<1>$institutionCode</1> |
|
44 | 45 |
</_merge> |
45 | 46 |
</2> |
46 |
<1>$id</1> |
|
47 | 47 |
</_alt> |
48 | 48 |
</sourceaccessioncode> |
49 | 49 |
</location> |
50 | 50 |
</location_id> |
51 | 51 |
</locationevent> |
52 | 52 |
</locationevent_id> |
53 |
<collectioncode_dwc>$collectionCode</collectioncode_dwc> |
|
53 | 54 |
<collectionnumber><_alt><2>$collectionID</2></_alt></collectionnumber> |
55 |
<growthform> |
|
56 |
<_map> |
|
57 |
<tree>*</tree> |
|
58 |
<shrub>*</shrub> |
|
59 |
<liana>*</liana> |
|
60 |
<vine>*</vine> |
|
61 |
<herb>*</herb> |
|
62 |
<hemiepiphyte>*</hemiepiphyte> |
|
63 |
<epiphyte>*</epiphyte> |
|
64 |
<grass>*</grass> |
|
65 |
<forb>*</forb> |
|
66 |
<moss>*</moss> |
|
67 |
<lichen>*</lichen> |
|
68 |
<fungus>*</fungus> |
|
69 |
<floating aquatic>*</floating aquatic> |
|
70 |
<submerged aquatic>*</submerged aquatic> |
|
71 |
<*></*> |
|
72 |
<value>$establishmentMeans</value> |
|
73 |
</_map> |
|
74 |
</growthform> |
|
75 |
<institution_id><party><organizationname>$institutionCode</organizationname></party></institution_id> |
|
76 |
<iscultivated> |
|
77 |
<_map> |
|
78 |
<cultivated>t</cultivated> |
|
79 |
<wild>f</wild> |
|
80 |
<*></*> |
|
81 |
<value>$establishmentMeans</value> |
|
82 |
</_map> |
|
83 |
</iscultivated> |
|
84 |
<isnative> |
|
85 |
<_map> |
|
86 |
<native>t</native> |
|
87 |
<exotic>f</exotic> |
|
88 |
<*></*> |
|
89 |
<value>$establishmentMeans</value> |
|
90 |
</_map> |
|
91 |
</isnative> |
|
92 |
<sourceaccessioncode>$id</sourceaccessioncode> |
|
54 | 93 |
<taxondetermination> |
55 | 94 |
<isoriginal>true</isoriginal> |
56 | 95 |
<iscurrent>true</iscurrent> |
... | ... | |
98 | 137 |
</plantconcept> |
99 | 138 |
</plantconcept_id> |
100 | 139 |
</taxondetermination> |
101 |
<collectioncode_dwc>$collectionCode</collectioncode_dwc> |
|
102 |
<growthform> |
|
103 |
<_map> |
|
104 |
<tree>*</tree> |
|
105 |
<shrub>*</shrub> |
|
106 |
<liana>*</liana> |
|
107 |
<vine>*</vine> |
|
108 |
<herb>*</herb> |
|
109 |
<hemiepiphyte>*</hemiepiphyte> |
|
110 |
<epiphyte>*</epiphyte> |
|
111 |
<grass>*</grass> |
|
112 |
<forb>*</forb> |
|
113 |
<moss>*</moss> |
|
114 |
<lichen>*</lichen> |
|
115 |
<fungus>*</fungus> |
|
116 |
<floating aquatic>*</floating aquatic> |
|
117 |
<submerged aquatic>*</submerged aquatic> |
|
118 |
<*></*> |
|
119 |
<value>$establishmentMeans</value> |
|
120 |
</_map> |
|
121 |
</growthform> |
|
122 |
<iscultivated> |
|
123 |
<_map> |
|
124 |
<cultivated>t</cultivated> |
|
125 |
<wild>f</wild> |
|
126 |
<*></*> |
|
127 |
<value>$establishmentMeans</value> |
|
128 |
</_map> |
|
129 |
</iscultivated> |
|
130 |
<isnative> |
|
131 |
<_map> |
|
132 |
<native>t</native> |
|
133 |
<exotic>f</exotic> |
|
134 |
<*></*> |
|
135 |
<value>$establishmentMeans</value> |
|
136 |
</_map> |
|
137 |
</isnative> |
|
138 |
<institution_id><party><organizationname>$institutionCode</organizationname></party></institution_id> |
|
139 |
<sourceaccessioncode>$id</sourceaccessioncode> |
|
140 | 140 |
</specimenreplicate> |
141 | 141 |
</VegBIEN> |
142 | 142 |
Inserted 16 new rows into database |
inputs/MT/maps/VegBIEN.specimens.csv | ||
---|---|---|
1 | 1 |
MT[DwC],VegBIEN:,Comments,Order |
2 | 2 |
continent,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",Brad: OMIT,59 |
3 | 3 |
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68 |
4 |
id,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
5 |
institutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,, |
|
6 |
collectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
7 |
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,12 |
|
4 | 8 |
collectionID,/specimenreplicate/collectionnumber/_alt/2,,9 |
9 |
establishmentMeans,"/specimenreplicate/growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=]/value",,30 |
|
10 |
institutionCode,/specimenreplicate/institution_id/party/organizationname,, |
|
11 |
establishmentMeans,"/specimenreplicate/iscultivated/_map:[cultivated=t,wild=f,*=]/value",,30 |
|
12 |
establishmentMeans,"/specimenreplicate/isnative/_map:[native=t,exotic=f,*=]/value",,30 |
|
13 |
id,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
5 | 14 |
genus,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",,147 |
6 | 15 |
family,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",,146 |
7 |
collectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
8 |
establishmentMeans,"/specimenreplicate/{growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=],iscultivated/_map:[cultivated=t,wild=f,*=],isnative/_map:[native=t,exotic=f,*=]}/value",,30 |
|
9 |
institutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",, |
|
10 |
id,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
11 | 16 |
basisOfRecord,,** No non-empty join mapping for basisOfRecord ** |
12 | 17 |
countryCode,,** No non-empty join mapping for countryCode ** |
13 | 18 |
datasetName,,** No non-empty join mapping for datasetName ** |
inputs/XAL/test/import.specimens.xml.ref | ||
---|---|---|
5 | 5 |
<locationevent> |
6 | 6 |
<location_id> |
7 | 7 |
<location> |
8 |
<locationdetermination> |
|
9 |
<coordsaccuracy><_noCV><value><_alt><2>$CoordinatePrecision</2></_alt></value></_noCV></coordsaccuracy> |
|
10 |
<latitude> |
|
11 |
<_alt> |
|
12 |
<1> |
|
13 |
<_nullIf> |
|
14 |
<null>0</null> |
|
15 |
<type>float</type> |
|
16 |
<value>$Latitude</value> |
|
17 |
</_nullIf> |
|
18 |
</1> |
|
19 |
</_alt> |
|
20 |
</latitude> |
|
21 |
<longitude> |
|
22 |
<_alt> |
|
23 |
<1> |
|
24 |
<_nullIf> |
|
25 |
<null>0</null> |
|
26 |
<type>float</type> |
|
27 |
<value>$Longitude</value> |
|
28 |
</_nullIf> |
|
29 |
</1> |
|
30 |
</_alt> |
|
31 |
</longitude> |
|
32 |
<namedplace_id> |
|
33 |
<_simplifyPath> |
|
34 |
<next>parent_id/namedplace</next> |
|
35 |
<require>placename</require> |
|
36 |
<path> |
|
37 |
<namedplace> |
|
38 |
<rank>county</rank> |
|
39 |
<placename>$County</placename> |
|
40 |
<parent_id> |
|
41 |
<namedplace> |
|
42 |
<rank>stateProvince</rank> |
|
43 |
<placename>$StateProvince</placename> |
|
44 |
<parent_id> |
|
45 |
<namedplace> |
|
46 |
<rank>country</rank> |
|
47 |
<placename>$Country</placename> |
|
48 |
<parent_id> |
|
49 |
<namedplace> |
|
50 |
<rank>continent</rank> |
|
51 |
<placename>$ContinentOcean</placename> |
|
52 |
</namedplace> |
|
53 |
</parent_id> |
|
54 |
</namedplace> |
|
55 |
</parent_id> |
|
56 |
</namedplace> |
|
57 |
</parent_id> |
|
58 |
</namedplace> |
|
59 |
</path> |
|
60 |
</_simplifyPath> |
|
61 |
</namedplace_id> |
|
62 |
</locationdetermination> |
|
63 |
<locationnarrative><_merge><1>$Locality</1></_merge></locationnarrative> |
|
64 | 8 |
<elevation> |
65 | 9 |
<_alt> |
66 | 10 |
<2> |
67 | 11 |
<_avg> |
12 |
<max> |
|
13 |
<_units> |
|
14 |
<default>m</default> |
|
15 |
<to>m</to> |
|
16 |
<to></to> |
|
17 |
<value>$MaximumElevation</value> |
|
18 |
</_units> |
|
19 |
</max> |
|
68 | 20 |
<min> |
69 | 21 |
<_units> |
70 | 22 |
<default>m</default> |
... | ... | |
82 | 34 |
</value> |
83 | 35 |
</_units> |
84 | 36 |
</min> |
85 |
<max> |
|
86 |
<_units> |
|
87 |
<default>m</default> |
|
88 |
<to>m</to> |
|
89 |
<to></to> |
|
90 |
<value>$MaximumElevation</value> |
|
91 |
</_units> |
|
92 |
</max> |
|
93 | 37 |
</_avg> |
94 | 38 |
</2> |
95 | 39 |
</_alt> |
... | ... | |
120 | 64 |
<to></to> |
121 | 65 |
<value> |
122 | 66 |
<_alt> |
67 |
<1>$MaximumElevation</1> |
|
123 | 68 |
<2> |
124 | 69 |
<_rangeEnd> |
125 | 70 |
<value> |
... | ... | |
130 | 75 |
</value> |
131 | 76 |
</_rangeEnd> |
132 | 77 |
</2> |
133 |
<1>$MaximumElevation</1> |
|
134 | 78 |
</_alt> |
135 | 79 |
</value> |
136 | 80 |
</_units> |
137 | 81 |
</to> |
138 | 82 |
</_range> |
139 | 83 |
</elevationrange> |
84 |
<locationdetermination> |
|
85 |
<coordsaccuracy><_noCV><value><_alt><2>$CoordinatePrecision</2></_alt></value></_noCV></coordsaccuracy> |
|
86 |
<latitude> |
|
87 |
<_alt> |
|
88 |
<1> |
|
89 |
<_nullIf> |
|
90 |
<null>0</null> |
|
91 |
<type>float</type> |
|
92 |
<value>$Latitude</value> |
|
93 |
</_nullIf> |
|
94 |
</1> |
|
95 |
</_alt> |
|
96 |
</latitude> |
|
97 |
<longitude> |
|
98 |
<_alt> |
|
99 |
<1> |
|
100 |
<_nullIf> |
|
101 |
<null>0</null> |
|
102 |
<type>float</type> |
|
103 |
<value>$Longitude</value> |
|
104 |
</_nullIf> |
|
105 |
</1> |
|
106 |
</_alt> |
|
107 |
</longitude> |
|
108 |
<namedplace_id> |
|
109 |
<_simplifyPath> |
|
110 |
<next>parent_id/namedplace</next> |
|
111 |
<require>placename</require> |
|
112 |
<path> |
|
113 |
<namedplace> |
|
114 |
<rank>county</rank> |
|
115 |
<placename>$County</placename> |
|
116 |
<parent_id> |
|
117 |
<namedplace> |
|
118 |
<rank>stateProvince</rank> |
|
119 |
<placename>$StateProvince</placename> |
|
120 |
<parent_id> |
|
121 |
<namedplace> |
|
122 |
<rank>country</rank> |
|
123 |
<placename>$Country</placename> |
|
124 |
<parent_id> |
|
125 |
<namedplace> |
|
126 |
<rank>continent</rank> |
|
127 |
<placename>$ContinentOcean</placename> |
|
128 |
</namedplace> |
|
129 |
</parent_id> |
|
130 |
</namedplace> |
|
131 |
</parent_id> |
|
132 |
</namedplace> |
|
133 |
</parent_id> |
|
134 |
</namedplace> |
|
135 |
</path> |
|
136 |
</_simplifyPath> |
|
137 |
</namedplace_id> |
|
138 |
</locationdetermination> |
|
139 |
<locationnarrative><_merge><1>$Locality</1></_merge></locationnarrative> |
|
140 | 140 |
<sourceaccessioncode> |
141 | 141 |
<_alt> |
142 | 142 |
<2> |
143 | 143 |
<_merge> |
144 |
<1>$InstitutionCode</1> |
|
145 |
<2>$CollectionCode</2> |
|
144 | 146 |
<3>$CatalogNumber</3> |
145 |
<2>$CollectionCode</2> |
|
146 |
<1>$InstitutionCode</1> |
|
147 | 147 |
</_merge> |
148 | 148 |
</2> |
149 | 149 |
</_alt> |
150 | 150 |
</sourceaccessioncode> |
151 | 151 |
</location> |
152 | 152 |
</location_id> |
153 |
<waterdepth> |
|
154 |
<_avg> |
|
155 |
<max> |
|
156 |
<_units> |
|
157 |
<default>m</default> |
|
158 |
<to>m</to> |
|
159 |
<to></to> |
|
160 |
<value>$MaximumDepth</value> |
|
161 |
</_units> |
|
162 |
</max> |
|
163 |
<min> |
|
164 |
<_units> |
|
165 |
<default>m</default> |
|
166 |
<to>m</to> |
|
167 |
<to></to> |
|
168 |
<value>$MinimumDepth</value> |
|
169 |
</_units> |
|
170 |
</min> |
|
171 |
</_avg> |
|
172 |
</waterdepth> |
|
173 |
<obsstartdate> |
|
153 |
<obsenddate> |
|
174 | 154 |
<_date> |
175 | 155 |
<date> |
176 |
<_dateRangeStart>
|
|
156 |
<_dateRangeEnd>
|
|
177 | 157 |
<value> |
178 | 158 |
<_alt> |
179 | 159 |
<1> |
... | ... | |
203 | 183 |
</1> |
204 | 184 |
</_alt> |
205 | 185 |
</value> |
206 |
</_dateRangeStart>
|
|
186 |
</_dateRangeEnd>
|
|
207 | 187 |
</date> |
208 | 188 |
</_date> |
209 |
</obsstartdate>
|
|
210 |
<obsenddate>
|
|
189 |
</obsenddate>
|
|
190 |
<obsstartdate>
|
|
211 | 191 |
<_date> |
212 | 192 |
<date> |
213 |
<_dateRangeEnd>
|
|
193 |
<_dateRangeStart>
|
|
214 | 194 |
<value> |
215 | 195 |
<_alt> |
216 | 196 |
<1> |
... | ... | |
240 | 220 |
</1> |
241 | 221 |
</_alt> |
242 | 222 |
</value> |
243 |
</_dateRangeEnd>
|
|
223 |
</_dateRangeStart>
|
|
244 | 224 |
</date> |
245 | 225 |
</_date> |
246 |
</obsenddate> |
|
226 |
</obsstartdate> |
|
227 |
<waterdepth> |
|
228 |
<_avg> |
|
229 |
<max> |
|
230 |
<_units> |
|
231 |
<default>m</default> |
|
232 |
<to>m</to> |
|
233 |
<to></to> |
|
234 |
<value>$MaximumDepth</value> |
|
235 |
</_units> |
|
236 |
</max> |
|
237 |
<min> |
|
238 |
<_units> |
|
239 |
<default>m</default> |
|
240 |
<to>m</to> |
|
241 |
<to></to> |
|
242 |
<value>$MinimumDepth</value> |
|
243 |
</_units> |
|
244 |
</min> |
|
245 |
</_avg> |
|
246 |
</waterdepth> |
|
247 | 247 |
</locationevent> |
248 | 248 |
</locationevent_id> |
249 |
<catalognumber_dwc>$CatalogNumber</catalognumber_dwc> |
|
250 |
<collectioncode_dwc>$CollectionCode</collectioncode_dwc> |
|
249 | 251 |
<collectionnumber> |
250 | 252 |
<_alt> |
251 | 253 |
<1><_alt><1>$CollectorNumber</1></_alt></1> |
... | ... | |
262 | 264 |
<definedvalue>$Sex</definedvalue> |
263 | 265 |
</definedvalue> |
264 | 266 |
<description><_merge><1>$Notes</1></_merge></description> |
267 |
<institution_id><party><organizationname>$InstitutionCode</organizationname></party></institution_id> |
|
265 | 268 |
<taxondetermination> |
266 | 269 |
<role>identifier</role> |
267 | 270 |
<determinationdate> |
... | ... | |
382 | 385 |
</plantconcept_id> |
383 | 386 |
</taxondetermination> |
384 | 387 |
<verbatimcollectorname>$Collector</verbatimcollectorname> |
385 |
<catalognumber_dwc>$CatalogNumber</catalognumber_dwc> |
|
386 |
<collectioncode_dwc>$CollectionCode</collectioncode_dwc> |
|
387 |
<institution_id><party><organizationname>$InstitutionCode</organizationname></party></institution_id> |
|
388 | 388 |
</specimenreplicate> |
389 | 389 |
</VegBIEN> |
390 | 390 |
Inserted 41 new rows into database |
inputs/XAL/maps/VegBIEN.specimens.csv | ||
---|---|---|
1 | 1 |
"XAL[DwC,darwin:]:/content/record/",VegBIEN:,Comments,Order |
2 |
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value",,72 |
|
3 |
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71 |
|
4 |
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71 |
|
5 |
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1",,72 |
|
6 |
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value",,71 |
|
2 | 7 |
CoordinatePrecision,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy/_noCV/value/_alt/2,,89 |
3 | 8 |
Latitude,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/latitude/_alt/1/_nullIf:[null=0,type=float]/value",,81 |
4 | 9 |
Longitude,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/longitude/_alt/1/_nullIf:[null=0,type=float]/value",,82 |
... | ... | |
7 | 12 |
Country,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=country]/placename",Brad: Required; reject record if this field NULL,63 |
8 | 13 |
ContinentOcean,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",Brad: OMIT,59 |
9 | 14 |
Locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68 |
10 |
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value",,71 |
|
11 |
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1}",,72 |
|
15 |
InstitutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,, |
|
16 |
CollectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
17 |
CatalogNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
18 |
DayCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
19 |
MonthCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
20 |
YearCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
21 |
DayCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
22 |
MonthCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
23 |
YearCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
12 | 24 |
MaximumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",,75 |
13 | 25 |
MinimumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",,74 |
14 |
DayCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
15 |
MonthCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
16 |
YearCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
26 |
CatalogNumber,/specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
27 |
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,12 |
|
17 | 28 |
CollectorNumber,/specimenreplicate/collectionnumber/_alt/1/_alt/1,,22 |
18 | 29 |
FieldNumber,/specimenreplicate/collectionnumber/_alt/3,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?",53 |
19 | 30 |
Sex,"/specimenreplicate/definedvalue[*_id/userdefined[tablename=specimenreplicate,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",26 |
20 | 31 |
Notes,/specimenreplicate/description/_merge/1,, |
32 |
InstitutionCode,/specimenreplicate/institution_id/party/organizationname,, |
|
21 | 33 |
DayIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,120 |
22 | 34 |
MonthIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,120 |
23 | 35 |
YearIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,120 |
24 |
IdentifiedBy,"/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119 |
|
36 |
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119 |
|
37 |
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119 |
|
38 |
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119 |
|
25 | 39 |
ScientificName,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname","Brad: Bob, Nick, please is this mapping OK?",134 |
26 | 40 |
ScientificNameAuthor,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153 |
27 | 41 |
Subspecies,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",,150 |
... | ... | |
33 | 47 |
Phylum,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subkingdom]/plantname",,143 |
34 | 48 |
Kingdom,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,subkingdom,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",,142 |
35 | 49 |
Collector,/specimenreplicate/verbatimcollectorname,,23 |
36 |
CatalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
37 |
CollectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
38 |
InstitutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",, |
|
39 | 50 |
BasisOfRecord,,** No non-empty join mapping for BasisOfRecord ** |
40 | 51 |
DateLastModified,,** No non-empty join mapping for DateLastModified ** |
41 | 52 |
IndividualCount,,** No non-empty join mapping for IndividualCount ** |
inputs/NY/test/import.specimens.xml.ref | ||
---|---|---|
5 | 5 |
<locationevent> |
6 | 6 |
<location_id> |
7 | 7 |
<location> |
8 |
<elevation> |
|
9 |
<_alt> |
|
10 |
<2> |
|
11 |
<_avg> |
|
12 |
<max> |
|
13 |
<_units> |
|
14 |
<default>m</default> |
|
15 |
<to>m</to> |
|
16 |
<to></to> |
|
17 |
<value>$MaximumElevation</value> |
|
18 |
</_units> |
|
19 |
</max> |
|
20 |
<min> |
|
21 |
<_units> |
|
22 |
<default>m</default> |
|
23 |
<to>m</to> |
|
24 |
<to></to> |
|
25 |
<value> |
|
26 |
<_rangeStart> |
|
27 |
<value> |
|
28 |
<_replace> |
|
29 |
<\bca\.?></\bca\.?> |
|
30 |
<value> |
|
31 |
<_nullIf> |
|
32 |
<null>.</null> |
|
33 |
<value>$MinimumElevation</value> |
|
34 |
</_nullIf> |
|
35 |
</value> |
|
36 |
</_replace> |
|
37 |
</value> |
|
38 |
</_rangeStart> |
|
39 |
</value> |
|
40 |
</_units> |
|
41 |
</min> |
|
42 |
</_avg> |
|
43 |
</2> |
|
44 |
</_alt> |
|
45 |
</elevation> |
|
46 |
<elevationrange> |
|
47 |
<_range> |
|
48 |
<from> |
|
49 |
<_units> |
|
50 |
<default>m</default> |
|
51 |
<to>m</to> |
|
52 |
<to></to> |
|
53 |
<value> |
|
54 |
<_rangeStart> |
|
55 |
<value> |
|
56 |
<_replace> |
|
57 |
<\bca\.?></\bca\.?> |
|
58 |
<value> |
|
59 |
<_nullIf> |
|
60 |
<null>.</null> |
|
61 |
<value>$MinimumElevation</value> |
|
62 |
</_nullIf> |
|
63 |
</value> |
|
64 |
</_replace> |
|
65 |
</value> |
|
66 |
</_rangeStart> |
|
67 |
</value> |
|
68 |
</_units> |
|
69 |
</from> |
|
70 |
<to> |
|
71 |
<_units> |
|
72 |
<default>m</default> |
|
73 |
<to>m</to> |
|
74 |
<to></to> |
|
75 |
<value> |
|
76 |
<_alt> |
|
77 |
<1>$MaximumElevation</1> |
|
78 |
<2> |
|
79 |
<_rangeEnd> |
|
80 |
<value> |
|
81 |
<_replace> |
|
82 |
<\bca\.?></\bca\.?> |
|
83 |
<value> |
|
84 |
<_nullIf> |
|
85 |
<null>.</null> |
|
86 |
<value>$MinimumElevation</value> |
|
87 |
</_nullIf> |
|
88 |
</value> |
|
89 |
</_replace> |
|
90 |
</value> |
|
91 |
</_rangeEnd> |
|
92 |
</2> |
|
93 |
</_alt> |
|
94 |
</value> |
|
95 |
</_units> |
|
96 |
</to> |
|
97 |
</_range> |
|
98 |
</elevationrange> |
|
8 | 99 |
<locationdetermination> |
9 | 100 |
<coordsaccuracy><_noCV><value><_alt><2>$CoordinatePrecision</2></_alt></value></_noCV></coordsaccuracy> |
10 | 101 |
<footprintgeometry_dwc>$BoundingBox</footprintgeometry_dwc> |
... | ... | |
88 | 179 |
</3> |
89 | 180 |
</_merge> |
90 | 181 |
</locationnarrative> |
91 |
<elevation> |
|
92 |
<_alt> |
|
93 |
<2> |
|
94 |
<_avg> |
|
95 |
<min> |
|
96 |
<_units> |
|
97 |
<default>m</default> |
|
98 |
<to>m</to> |
|
99 |
<to></to> |
|
100 |
<value> |
|
101 |
<_rangeStart> |
|
102 |
<value> |
|
103 |
<_replace> |
|
104 |
<\bca\.?></\bca\.?> |
|
105 |
<value> |
|
106 |
<_nullIf> |
|
107 |
<null>.</null> |
|
108 |
<value>$MinimumElevation</value> |
|
109 |
</_nullIf> |
|
110 |
</value> |
|
111 |
</_replace> |
|
112 |
</value> |
|
113 |
</_rangeStart> |
|
114 |
</value> |
|
115 |
</_units> |
|
116 |
</min> |
|
117 |
<max> |
|
118 |
<_units> |
|
119 |
<default>m</default> |
|
120 |
<to>m</to> |
|
121 |
<to></to> |
|
122 |
<value>$MaximumElevation</value> |
|
123 |
</_units> |
|
124 |
</max> |
|
125 |
</_avg> |
|
126 |
</2> |
|
127 |
</_alt> |
|
128 |
</elevation> |
|
129 |
<elevationrange> |
|
130 |
<_range> |
|
131 |
<from> |
|
132 |
<_units> |
|
133 |
<default>m</default> |
|
134 |
<to>m</to> |
|
135 |
<to></to> |
|
136 |
<value> |
|
137 |
<_rangeStart> |
|
138 |
<value> |
|
139 |
<_replace> |
|
140 |
<\bca\.?></\bca\.?> |
|
141 |
<value> |
|
142 |
<_nullIf> |
|
143 |
<null>.</null> |
|
144 |
<value>$MinimumElevation</value> |
|
145 |
</_nullIf> |
|
146 |
</value> |
|
147 |
</_replace> |
|
148 |
</value> |
|
149 |
</_rangeStart> |
|
150 |
</value> |
|
151 |
</_units> |
|
152 |
</from> |
|
153 |
<to> |
|
154 |
<_units> |
|
155 |
<default>m</default> |
|
156 |
<to>m</to> |
|
157 |
<to></to> |
|
158 |
<value> |
|
159 |
<_alt> |
|
160 |
<2> |
|
161 |
<_rangeEnd> |
|
162 |
<value> |
|
163 |
<_replace> |
|
164 |
<\bca\.?></\bca\.?> |
|
165 |
<value> |
|
166 |
<_nullIf> |
|
167 |
<null>.</null> |
|
168 |
<value>$MinimumElevation</value> |
|
169 |
</_nullIf> |
|
170 |
</value> |
|
171 |
</_replace> |
|
172 |
</value> |
|
173 |
</_rangeEnd> |
|
174 |
</2> |
|
175 |
<1>$MaximumElevation</1> |
|
176 |
</_alt> |
|
177 |
</value> |
|
178 |
</_units> |
|
179 |
</to> |
|
180 |
</_range> |
|
181 |
</elevationrange> |
|
182 | 182 |
<sourceaccessioncode> |
183 | 183 |
<_alt> |
184 |
<1>$UniqueNYInternalRecordNumber</1> |
|
184 | 185 |
<2> |
185 | 186 |
<_merge> |
187 |
<1>$InstitutionCode</1> |
|
188 |
<2>$CollectionCode</2> |
|
186 | 189 |
<3>$CatalogNumber</3> |
187 |
<2>$CollectionCode</2> |
|
188 |
<1>$InstitutionCode</1> |
|
189 | 190 |
</_merge> |
190 | 191 |
</2> |
191 |
<1>$UniqueNYInternalRecordNumber</1> |
|
192 | 192 |
</_alt> |
193 | 193 |
</sourceaccessioncode> |
194 | 194 |
</location> |
195 | 195 |
</location_id> |
196 |
<waterdepth> |
|
197 |
<_avg> |
|
198 |
<max> |
|
199 |
<_units> |
|
200 |
<default>m</default> |
|
201 |
<to>m</to> |
|
202 |
<to></to> |
|
203 |
<value>$MaximumDepth</value> |
|
204 |
</_units> |
|
205 |
</max> |
|
206 |
<min> |
|
207 |
<_units> |
|
208 |
<default>m</default> |
|
209 |
<to>m</to> |
|
210 |
<to></to> |
|
211 |
<value>$MinimumDepth</value> |
|
212 |
</_units> |
|
213 |
</min> |
|
214 |
</_avg> |
|
215 |
</waterdepth> |
|
216 |
<obsstartdate> |
|
196 |
<obsenddate> |
|
217 | 197 |
<_date> |
218 | 198 |
<date> |
219 |
<_dateRangeStart>
|
|
199 |
<_dateRangeEnd>
|
|
220 | 200 |
<value> |
221 | 201 |
<_alt> |
222 | 202 |
<1> |
... | ... | |
246 | 226 |
</1> |
247 | 227 |
</_alt> |
248 | 228 |
</value> |
249 |
</_dateRangeStart>
|
|
229 |
</_dateRangeEnd>
|
|
250 | 230 |
</date> |
251 | 231 |
</_date> |
252 |
</obsstartdate>
|
|
253 |
<obsenddate>
|
|
232 |
</obsenddate>
|
|
233 |
<obsstartdate>
|
|
254 | 234 |
<_date> |
255 | 235 |
<date> |
256 |
<_dateRangeEnd>
|
|
236 |
<_dateRangeStart>
|
|
257 | 237 |
<value> |
258 | 238 |
<_alt> |
259 | 239 |
<1> |
... | ... | |
283 | 263 |
</1> |
284 | 264 |
</_alt> |
285 | 265 |
</value> |
286 |
</_dateRangeEnd>
|
|
266 |
</_dateRangeStart>
|
|
287 | 267 |
</date> |
288 | 268 |
</_date> |
289 |
</obsenddate> |
|
269 |
</obsstartdate> |
|
270 |
<waterdepth> |
|
271 |
<_avg> |
|
272 |
<max> |
|
273 |
<_units> |
|
274 |
<default>m</default> |
|
275 |
<to>m</to> |
|
276 |
<to></to> |
|
277 |
<value>$MaximumDepth</value> |
|
278 |
</_units> |
|
279 |
</max> |
|
280 |
<min> |
|
281 |
<_units> |
|
282 |
<default>m</default> |
|
283 |
<to>m</to> |
|
284 |
<to></to> |
|
285 |
<value>$MinimumDepth</value> |
|
286 |
</_units> |
|
287 |
</min> |
|
288 |
</_avg> |
|
289 |
</waterdepth> |
|
290 | 290 |
</locationevent> |
291 | 291 |
</locationevent_id> |
292 |
<catalognumber_dwc>$CatalogNumber</catalognumber_dwc> |
|
293 |
<collectioncode_dwc>$CollectionCode</collectioncode_dwc> |
|
292 | 294 |
<collectionnumber> |
293 | 295 |
<_alt> |
294 | 296 |
<1><_alt><1>$CollectorNumber</1></_alt></1> |
... | ... | |
319 | 321 |
</1> |
320 | 322 |
</_merge> |
321 | 323 |
</description> |
324 |
<institution_id><party><organizationname>$InstitutionCode</organizationname></party></institution_id> |
|
325 |
<sourceaccessioncode>$UniqueNYInternalRecordNumber</sourceaccessioncode> |
|
322 | 326 |
<taxondetermination> |
323 | 327 |
<role>identifier</role> |
324 | 328 |
<determinationdate> |
... | ... | |
439 | 443 |
</plantconcept_id> |
440 | 444 |
</taxondetermination> |
441 | 445 |
<verbatimcollectorname>$Collector</verbatimcollectorname> |
442 |
<catalognumber_dwc>$CatalogNumber</catalognumber_dwc> |
|
443 |
<collectioncode_dwc>$CollectionCode</collectioncode_dwc> |
|
444 |
<institution_id><party><organizationname>$InstitutionCode</organizationname></party></institution_id> |
|
445 |
<sourceaccessioncode>$UniqueNYInternalRecordNumber</sourceaccessioncode> |
|
446 | 446 |
</specimenreplicate> |
447 | 447 |
</VegBIEN> |
448 | 448 |
Inserted 33 new rows into database |
inputs/NY/maps/VegBIEN.specimens.csv | ||
---|---|---|
1 | 1 |
NY[DwC],VegBIEN:,Comments,Order |
2 |
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value",,72 |
|
3 |
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value/_nullIf:[null=.]/value",,71 |
|
4 |
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value/_nullIf:[null=.]/value",,71 |
|
5 |
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1",,72 |
|
6 |
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value/_nullIf:[null=.]/value",,71 |
|
2 | 7 |
CoordinatePrecision,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy/_noCV/value/_alt/2,,89 |
3 | 8 |
BoundingBox,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/footprintgeometry_dwc,,91 |
4 | 9 |
Latitude,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/latitude/_alt/1/_nullIf:[null=0,type=float]/value",,81 |
... | ... | |
11 | 16 |
Substrate,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1/_merge/2/_label[label=""substrate""]/value",,68 |
12 | 17 |
Vegetation,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1/_merge/3/_label[label=""vegetation""]/value",,68 |
13 | 18 |
Habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52 |
14 |
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value/_nullIf:[null=.]/value",,71 |
|
15 |
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1}",,72 |
|
19 |
UniqueNYInternalRecordNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
20 |
InstitutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,, |
|
21 |
CollectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
22 |
CatalogNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
23 |
DayCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
24 |
MonthCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
25 |
YearCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
26 |
DayCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
27 |
MonthCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
28 |
YearCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
16 | 29 |
MaximumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",,75 |
17 | 30 |
MinimumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",,74 |
18 |
DayCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
19 |
MonthCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
20 |
YearCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
31 |
CatalogNumber,/specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
32 |
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,12 |
|
21 | 33 |
CollectorNumber,/specimenreplicate/collectionnumber/_alt/1/_alt/1,,22 |
22 | 34 |
FieldNumber,/specimenreplicate/collectionnumber/_alt/3,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?",53 |
23 | 35 |
Sex,"/specimenreplicate/definedvalue[*_id/userdefined[tablename=specimenreplicate,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",26 |
24 | 36 |
Notes,/specimenreplicate/description/_merge/1/_merge/1,, |
25 | 37 |
PlantFungusDescription,"/specimenreplicate/description/_merge/1/_merge/2/_label[label=""plant fungus""]/value",, |
38 |
InstitutionCode,/specimenreplicate/institution_id/party/organizationname,, |
|
39 |
UniqueNYInternalRecordNumber,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
26 | 40 |
DayIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,120 |
27 | 41 |
MonthIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,120 |
28 | 42 |
YearIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,120 |
29 |
IdentifiedBy,"/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119 |
|
43 |
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119 |
|
44 |
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119 |
|
45 |
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119 |
|
30 | 46 |
ScientificName,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname","Brad: Bob, Nick, please is this mapping OK?",134 |
31 | 47 |
ScientificNameAuthor,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153 |
32 | 48 |
Subspecies,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",,150 |
... | ... | |
38 | 54 |
Phylum,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subkingdom]/plantname",,143 |
39 | 55 |
Kingdom,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,subkingdom,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",,142 |
40 | 56 |
Collector,/specimenreplicate/verbatimcollectorname,,23 |
41 |
CatalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
42 |
CollectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
43 |
InstitutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",, |
|
44 |
UniqueNYInternalRecordNumber,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
45 | 57 |
BasisOfRecord,,** No non-empty join mapping for BasisOfRecord ** |
46 | 58 |
DateLastModified,,** No non-empty join mapping for DateLastModified ** |
47 | 59 |
IndividualCount,,** No non-empty join mapping for IndividualCount ** |
inputs/UNCC/test/import.specimens.xml.ref | ||
---|---|---|
44 | 44 |
</locationnarrative> |
45 | 45 |
<sourceaccessioncode> |
46 | 46 |
<_alt> |
47 |
<1>$accession</1> |
|
47 | 48 |
<2><_merge><2>$herbarium</2></_merge></2> |
48 |
<1>$accession</1> |
|
49 | 49 |
</_alt> |
50 | 50 |
</sourceaccessioncode> |
51 | 51 |
</location> |
52 | 52 |
</location_id> |
53 |
<obsstartdate>
|
|
53 |
<obsenddate>
|
|
54 | 54 |
<_date> |
55 | 55 |
<date> |
56 |
<_dateRangeStart>
|
|
56 |
<_dateRangeEnd>
|
|
57 | 57 |
<value> |
58 | 58 |
<_alt> |
59 | 59 |
<1> |
... | ... | |
83 | 83 |
</1> |
84 | 84 |
</_alt> |
85 | 85 |
</value> |
86 |
</_dateRangeStart>
|
|
86 |
</_dateRangeEnd>
|
|
87 | 87 |
</date> |
88 | 88 |
</_date> |
89 |
</obsstartdate>
|
|
90 |
<obsenddate>
|
|
89 |
</obsenddate>
|
|
90 |
<obsstartdate>
|
|
91 | 91 |
<_date> |
92 | 92 |
<date> |
93 |
<_dateRangeEnd>
|
|
93 |
<_dateRangeStart>
|
|
94 | 94 |
<value> |
95 | 95 |
<_alt> |
96 | 96 |
<1> |
... | ... | |
120 | 120 |
</1> |
121 | 121 |
</_alt> |
122 | 122 |
</value> |
123 |
</_dateRangeEnd>
|
|
123 |
</_dateRangeStart>
|
|
124 | 124 |
</date> |
125 | 125 |
</_date> |
126 |
</obsenddate>
|
|
126 |
</obsstartdate>
|
|
127 | 127 |
</locationevent> |
128 | 128 |
</locationevent_id> |
129 |
<collectioncode_dwc>$herbarium</collectioncode_dwc> |
|
129 | 130 |
<collectionnumber><_alt><1><_alt><1>$collectno</1></_alt></1></_alt></collectionnumber> |
130 | 131 |
<description> |
131 | 132 |
<_merge> |
... | ... | |
157 | 158 |
</1> |
158 | 159 |
</_merge> |
159 | 160 |
</description> |
161 |
<growthform> |
|
162 |
<_map> |
|
163 |
<tree>*</tree> |
|
164 |
<shrub>*</shrub> |
|
165 |
<liana>*</liana> |
|
166 |
<vine>*</vine> |
|
167 |
<herb>*</herb> |
|
168 |
<hemiepiphyte>*</hemiepiphyte> |
|
169 |
<epiphyte>*</epiphyte> |
|
170 |
<grass>*</grass> |
|
171 |
<forb>*</forb> |
|
172 |
<moss>*</moss> |
|
173 |
<lichen>*</lichen> |
|
174 |
<fungus>*</fungus> |
|
175 |
<floating aquatic>*</floating aquatic> |
|
176 |
<submerged aquatic>*</submerged aquatic> |
|
177 |
<*></*> |
|
178 |
<value> |
|
179 |
<_map> |
|
180 |
<Y>cultivated</Y> |
|
181 |
<N>wild</N> |
|
182 |
<*></*> |
|
183 |
<value>$cultivated</value> |
|
184 |
</_map> |
|
185 |
</value> |
|
186 |
</_map> |
|
187 |
</growthform> |
|
188 |
<iscultivated> |
|
189 |
<_map> |
|
190 |
<cultivated>t</cultivated> |
|
191 |
<wild>f</wild> |
|
192 |
<*></*> |
|
193 |
<value> |
|
194 |
<_map> |
|
195 |
<Y>cultivated</Y> |
|
196 |
<N>wild</N> |
|
197 |
<*></*> |
|
198 |
<value>$cultivated</value> |
|
199 |
</_map> |
|
200 |
</value> |
|
201 |
</_map> |
|
202 |
</iscultivated> |
|
203 |
<isnative> |
|
204 |
<_map> |
|
205 |
<native>t</native> |
|
206 |
<exotic>f</exotic> |
|
207 |
<*></*> |
|
208 |
<value> |
|
209 |
<_map> |
|
210 |
<Y>cultivated</Y> |
|
211 |
<N>wild</N> |
|
212 |
<*></*> |
|
213 |
<value>$cultivated</value> |
|
214 |
</_map> |
|
215 |
</value> |
|
216 |
</_map> |
|
217 |
</isnative> |
|
218 |
<sourceaccessioncode>$accession</sourceaccessioncode> |
|
160 | 219 |
<taxondetermination> |
161 | 220 |
<isoriginal>true</isoriginal> |
162 | 221 |
<iscurrent>true</iscurrent> |
... | ... | |
216 | 275 |
<4>$collector3</4> |
217 | 276 |
</_merge> |
218 | 277 |
</verbatimcollectorname> |
219 |
<collectioncode_dwc>$herbarium</collectioncode_dwc> |
|
220 |
<growthform> |
|
221 |
<_map> |
|
222 |
<tree>*</tree> |
|
223 |
<shrub>*</shrub> |
|
224 |
<liana>*</liana> |
|
225 |
<vine>*</vine> |
|
226 |
<herb>*</herb> |
|
227 |
<hemiepiphyte>*</hemiepiphyte> |
|
228 |
<epiphyte>*</epiphyte> |
|
229 |
<grass>*</grass> |
|
230 |
<forb>*</forb> |
|
231 |
<moss>*</moss> |
|
232 |
<lichen>*</lichen> |
|
233 |
<fungus>*</fungus> |
|
234 |
<floating aquatic>*</floating aquatic> |
|
235 |
<submerged aquatic>*</submerged aquatic> |
|
236 |
<*></*> |
|
237 |
<value> |
|
238 |
<_map> |
|
239 |
<Y>cultivated</Y> |
|
240 |
<N>wild</N> |
|
241 |
<*></*> |
|
242 |
<value>$cultivated</value> |
|
243 |
</_map> |
|
244 |
</value> |
|
245 |
</_map> |
|
246 |
</growthform> |
|
247 |
<iscultivated> |
|
248 |
<_map> |
|
249 |
<cultivated>t</cultivated> |
|
250 |
<wild>f</wild> |
|
251 |
<*></*> |
|
252 |
<value> |
|
253 |
<_map> |
|
254 |
<Y>cultivated</Y> |
|
255 |
<N>wild</N> |
|
256 |
<*></*> |
|
257 |
<value>$cultivated</value> |
|
258 |
</_map> |
|
259 |
</value> |
|
260 |
</_map> |
|
261 |
</iscultivated> |
|
262 |
<isnative> |
|
263 |
<_map> |
|
264 |
<native>t</native> |
|
265 |
<exotic>f</exotic> |
|
266 |
<*></*> |
|
267 |
<value> |
|
268 |
<_map> |
|
269 |
<Y>cultivated</Y> |
|
270 |
<N>wild</N> |
|
271 |
<*></*> |
|
272 |
<value>$cultivated</value> |
|
273 |
</_map> |
|
274 |
</value> |
|
275 |
</_map> |
|
276 |
</isnative> |
|
277 |
<sourceaccessioncode>$accession</sourceaccessioncode> |
|
278 | 278 |
</specimenreplicate> |
279 | 279 |
</VegBIEN> |
280 | 280 |
Inserted 15 new rows into database |
inputs/UNCC/maps/VegBIEN.specimens.csv | ||
---|---|---|
4 | 4 |
country,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=country]/placename",Brad: Required; reject record if this field NULL,63 |
5 | 5 |
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68 |
6 | 6 |
habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52 |
7 |
collday,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
8 |
collmonth,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
9 |
collyear,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
7 |
accession,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
8 |
herbarium,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
9 |
collday,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
10 |
collmonth,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
11 |
collyear,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
12 |
collday,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
13 |
collmonth,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
14 |
collyear,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
15 |
herbarium,/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,12 |
|
10 | 16 |
collectno,/specimenreplicate/collectionnumber/_alt/1/_alt/1,,22 |
11 | 17 |
comment1,/specimenreplicate/description/_merge/1/_merge/1,, |
12 | 18 |
comment2,/specimenreplicate/description/_merge/1/_merge/2,, |
... | ... | |
15 | 21 |
campus,"/specimenreplicate/description/_merge/1/_merge/5/_label[label=""campus""]/value",, |
16 | 22 |
loanto,"/specimenreplicate/description/_merge/1/_merge/6/_label[label=""loaned to""]/value",, |
17 | 23 |
inorout,"/specimenreplicate/description/_merge/1/_merge/7/_label[label=""in or out""]/value",, |
24 |
cultivated,"/specimenreplicate/growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=]/value/_map:[Y=cultivated,N=wild,*=]/value",Ignore other values,30 |
|
25 |
cultivated,"/specimenreplicate/iscultivated/_map:[cultivated=t,wild=f,*=]/value/_map:[Y=cultivated,N=wild,*=]/value",Ignore other values,30 |
|
26 |
cultivated,"/specimenreplicate/isnative/_map:[native=t,exotic=f,*=]/value/_map:[Y=cultivated,N=wild,*=]/value",Ignore other values,30 |
|
27 |
accession,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
18 | 28 |
SciName,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname","Brad: Bob, Nick, please is this mapping OK?",134 |
19 | 29 |
authors,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153 |
20 | 30 |
infraname,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",,150 |
... | ... | |
25 | 35 |
collector1,/specimenreplicate/verbatimcollectorname/_merge/2,,23 |
26 | 36 |
collector2,/specimenreplicate/verbatimcollectorname/_merge/3,,23 |
27 | 37 |
collector3,/specimenreplicate/verbatimcollectorname/_merge/4,,23 |
28 |
herbarium,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
29 |
cultivated,"/specimenreplicate/{growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=],iscultivated/_map:[cultivated=t,wild=f,*=],isnative/_map:[native=t,exotic=f,*=]}/value/_map:[Y=cultivated,N=wild,*=]/value",Ignore other values,30 |
|
30 |
accession,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
31 | 38 |
filler,,"Where used, same as family" |
32 | 39 |
flower,,"** No non-empty join mapping for reproductiveCondition/_map:[A=*,I=*,M=*]/value ** Main values are A, I, and M. What do they mean?" |
33 | 40 |
fruit,,"** No non-empty join mapping for reproductiveCondition/_map:[A=*,I=*,M=*]/value ** Main values are A, I, and M. What do they mean?" |
inputs/ACAD/test/import.specimens.xml.ref | ||
---|---|---|
72 | 72 |
</locationnarrative> |
73 | 73 |
<sourceaccessioncode> |
74 | 74 |
<_alt> |
75 |
<1>$id</1> |
|
75 | 76 |
<2> |
76 | 77 |
<_merge> |
78 |
<1>$institutionCode</1> |
|
79 |
<2>$collectionCode</2> |
|
77 | 80 |
<3>$catalogNumber</3> |
78 |
<2>$collectionCode</2> |
|
79 |
<1>$institutionCode</1> |
|
80 | 81 |
</_merge> |
81 | 82 |
</2> |
82 |
<1>$id</1> |
|
83 | 83 |
</_alt> |
84 | 84 |
</sourceaccessioncode> |
85 | 85 |
</location> |
86 | 86 |
</location_id> |
87 |
<obsenddate><_date><date><_dateRangeEnd><value><_alt><2>$eventDate</2></_alt></value></_dateRangeEnd></date></_date></obsenddate> |
|
87 | 88 |
<obsstartdate><_date><date><_dateRangeStart><value><_alt><2>$eventDate</2></_alt></value></_dateRangeStart></date></_date></obsstartdate> |
88 |
<obsenddate><_date><date><_dateRangeEnd><value><_alt><2>$eventDate</2></_alt></value></_dateRangeEnd></date></_date></obsenddate> |
|
89 | 89 |
</locationevent> |
90 | 90 |
</locationevent_id> |
91 |
<catalognumber_dwc>$catalogNumber</catalognumber_dwc> |
|
92 |
<collectioncode_dwc>$collectionCode</collectioncode_dwc> |
|
91 | 93 |
<collectionnumber> |
92 | 94 |
<_alt> |
93 | 95 |
<1><_alt><2>$recordNumber</2></_alt></1> |
94 | 96 |
<2>$collectionID</2> |
95 | 97 |
</_alt> |
96 | 98 |
</collectionnumber> |
99 |
<institution_id><party><organizationname>$institutionCode</organizationname></party></institution_id> |
|
100 |
<sourceaccessioncode>$id</sourceaccessioncode> |
|
97 | 101 |
<taxondetermination> |
98 | 102 |
<role>identifier</role> |
99 | 103 |
<determinationdate><_date><date><_dateRangeStart><value><_alt><2>$dateIdentified</2></_alt></value></_dateRangeStart></date></_date></determinationdate> |
... | ... | |
178 | 182 |
</plantconcept_id> |
179 | 183 |
</taxondetermination> |
180 | 184 |
<verbatimcollectorname>$recordedBy</verbatimcollectorname> |
181 |
<catalognumber_dwc>$catalogNumber</catalognumber_dwc> |
|
182 |
<collectioncode_dwc>$collectionCode</collectioncode_dwc> |
|
183 |
<institution_id><party><organizationname>$institutionCode</organizationname></party></institution_id> |
|
184 |
<sourceaccessioncode>$id</sourceaccessioncode> |
|
185 | 185 |
</specimenreplicate> |
186 | 186 |
</VegBIEN> |
187 | 187 |
Inserted 32 new rows into database |
inputs/ACAD/maps/VegBIEN.specimens.csv | ||
---|---|---|
7 | 7 |
continent,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",Brad: OMIT,59 |
8 | 8 |
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68 |
9 | 9 |
habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52 |
10 |
eventDate,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/2",,44 |
|
10 |
id,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
11 |
institutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,, |
|
12 |
collectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
13 |
catalogNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
14 |
eventDate,/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/2,,44 |
|
15 |
eventDate,/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/2,,44 |
|
16 |
catalogNumber,/specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
17 |
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,12 |
|
11 | 18 |
recordNumber,/specimenreplicate/collectionnumber/_alt/1/_alt/2,,22 |
12 | 19 |
collectionID,/specimenreplicate/collectionnumber/_alt/2,,9 |
20 |
institutionCode,/specimenreplicate/institution_id/party/organizationname,, |
|
21 |
id,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
13 | 22 |
dateIdentified,/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/2,,120 |
14 |
identifiedBy,"/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119 |
|
23 |
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119 |
|
24 |
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119 |
|
25 |
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119 |
|
15 | 26 |
scientificName,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname","Brad: Bob, Nick, please is this mapping OK?",134 |
16 | 27 |
scientificNameAuthorship,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153 |
17 | 28 |
infraspecificEpithet,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",,150 |
... | ... | |
23 | 34 |
phylum,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subkingdom]/plantname",,143 |
24 | 35 |
kingdom,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,subkingdom,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",,142 |
25 | 36 |
recordedBy,/specimenreplicate/verbatimcollectorname,,23 |
26 |
catalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20 |
|
27 |
collectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
28 |
institutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",, |
|
29 |
id,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
30 | 37 |
basisOfRecord,,** No non-empty join mapping for basisOfRecord ** |
31 | 38 |
bibliographicCitation,,** No non-empty join mapping for bibliographicCitation ** |
32 | 39 |
dynamicProperties,,** No non-empty join mapping for dynamicProperties ** |
inputs/REMIB/test/import.specimens.xml.ref | ||
---|---|---|
66 | 66 |
</locationnarrative> |
67 | 67 |
<sourceaccessioncode> |
68 | 68 |
<_alt> |
69 |
<1>$accession_number</1> |
|
69 | 70 |
<2><_merge><2>$acronym</2></_merge></2> |
70 |
<1>$accession_number</1> |
|
71 | 71 |
</_alt> |
72 | 72 |
</sourceaccessioncode> |
73 | 73 |
</location> |
74 | 74 |
</location_id> |
75 |
<obsstartdate>
|
|
75 |
<obsenddate>
|
|
76 | 76 |
<_date> |
77 | 77 |
<date> |
78 |
<_dateRangeStart>
|
|
78 |
<_dateRangeEnd>
|
|
79 | 79 |
<value> |
80 | 80 |
<_alt> |
81 | 81 |
<1> |
... | ... | |
105 | 105 |
</1> |
106 | 106 |
</_alt> |
107 | 107 |
</value> |
108 |
</_dateRangeStart>
|
|
108 |
</_dateRangeEnd>
|
|
109 | 109 |
</date> |
110 | 110 |
</_date> |
111 |
</obsstartdate>
|
|
112 |
<obsenddate>
|
|
111 |
</obsenddate>
|
|
112 |
<obsstartdate>
|
|
113 | 113 |
<_date> |
114 | 114 |
<date> |
115 |
<_dateRangeEnd>
|
|
115 |
<_dateRangeStart>
|
|
116 | 116 |
<value> |
117 | 117 |
<_alt> |
118 | 118 |
<1> |
... | ... | |
142 | 142 |
</1> |
143 | 143 |
</_alt> |
144 | 144 |
</value> |
145 |
</_dateRangeEnd>
|
|
145 |
</_dateRangeStart>
|
|
146 | 146 |
</date> |
147 | 147 |
</_date> |
148 |
</obsenddate>
|
|
148 |
</obsstartdate>
|
|
149 | 149 |
</locationevent> |
150 | 150 |
</locationevent_id> |
151 |
<collectioncode_dwc>$acronym</collectioncode_dwc> |
|
152 |
<sourceaccessioncode>$accession_number</sourceaccessioncode> |
|
151 | 153 |
<taxondetermination> |
152 | 154 |
<isoriginal>true</isoriginal> |
153 | 155 |
<iscurrent>true</iscurrent> |
... | ... | |
197 | 199 |
</plantconcept_id> |
198 | 200 |
</taxondetermination> |
199 | 201 |
<verbatimcollectorname>$collector</verbatimcollectorname> |
200 |
<collectioncode_dwc>$acronym</collectioncode_dwc> |
|
201 |
<sourceaccessioncode>$accession_number</sourceaccessioncode> |
|
202 | 202 |
</specimenreplicate> |
203 | 203 |
</VegBIEN> |
204 | 204 |
Inserted 20 new rows into database |
inputs/REMIB/maps/VegBIEN.specimens.csv | ||
---|---|---|
6 | 6 |
country,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=country]/placename",Brad: Required; reject record if this field NULL,63 |
7 | 7 |
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68 |
8 | 8 |
habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52 |
9 |
coll_day,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
10 |
coll_month,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
11 |
coll_year,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
9 |
accession_number,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19 |
|
10 |
acronym,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12 |
|
11 |
coll_day,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
|
12 |
coll_month,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44 |
|
13 |
coll_year,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44 |
|
14 |
coll_day,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44 |
Also available in: Unified diff
mappings/DwC2-VegBIEN.specimens.csv: Expanded {} expressions using expand_braces, so that each distinct output for the same input is on its own line, improving readability. This will also help enable search-and-replace reversing of XPaths for the re-rooting to location.