Project

General

Profile

« Previous | Next » 

Revision 3203

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

View differences:

VegBIEN.specimens.csv
1
MO[DwC],VegBIEN:/specimenreplicate,Comments,Order
1
MO[DwC],"VegBIEN:/specimenreplicate:[./{.,*_id/locationevent/*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]",Comments,Order
2 2
County,"/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=county]/placename",,66
3 3
StateProvince,"/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=stateProvince]/placename",,65
4 4
Country,"/*_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
......
11 11
DayCollected,"/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
12 12
MonthCollected,"/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
13 13
YearCollected,"/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
14
CollectionCode,/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
14
CollectorNumber,/collectionnumber/_alt/1/_alt/1,,22
15 15
convertednotes,/description/_merge/1,,
16 16
IdentifiedBy,"/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
17 17
ScientificName,"/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 22
family,"/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
23 23
Kingdom,"/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
24 24
Collector,/verbatimcollectorname,,23
25
CatalogNumber,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/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
CollectorNumber,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/collectionnumber/_alt/1/_alt/1,,22
27
InstitutionCode,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/institution_id/party/organizationname,,
25
CatalogNumber,"/{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
26
CollectionCode,"/{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
27
InstitutionCode,"/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",,
28 28
BasisOfRecord,,** No non-empty join mapping for BasisOfRecord ** 
29 29
DateLastModified,,** No non-empty join mapping for DateLastModified ** 
30 30
IndividualCount,,** No non-empty join mapping for IndividualCount ** 

Also available in: Unified diff