Project

General

Profile

« Previous | Next » 

Revision 3207

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

View differences:

VegX-VegBIEN.plots.csv
19 19
/simpleUserdefined[name=method]/*ID/method/name,/method_id/_collapse:[require=name]/value/method/name,
20 20
/obsEndDate,/obsenddate,
21 21
/obsStartDate,/obsstartdate,
22
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/parent_id/locationevent/authorlocationcode,
23
/simpleUserdefined[name=parent]/value->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
24
/simpleUserdefined[name=parent]/value->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/parent_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
25 22
/simpleUserdefined[name=precipitation]/value,/precipitation,
26 23
/*ID->/*s/project/personnel[role=metadataProvider]/organizationName,/project_id/_collapse:[require=projectname]/value/project:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
27 24
/*ID->/*s/project:[personnel[role=metadataProvider]/organizationName=$/_ignore/inLabel]/title,/project_id/_collapse:[require=projectname]/value/project:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/projectname,
......
45 42
/temperature,/temperature,
46 43
/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,"/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
47 44
/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,"/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
48
:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/authorlocationcode,
49
/partyWithRole/*ID->/parties/party/organizationName,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
50
:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
45
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
46
/simpleUserdefined[name=parent]/value->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,"/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{.,*_id/location}/datasource_id/party/organizationname/_alt/1}",
47
/simpleUserdefined[name=parent]/value->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/{parent_id/locationevent:[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
48
/partyWithRole/*ID->/parties/party/organizationName,":[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{.,*_id/location}/datasource_id/party/organizationname/_alt/1",
49
:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName,":[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
50
:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,":[./{.,*_id/location}/datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",

Also available in: Unified diff