Project

General

Profile

« Previous | Next » 

Revision 2023

union: Omit mappings that are mapped to in the input map, in addition to mappings that were overridden. This prevents multiple outputs being created for both the renamed and original mappings, causing duplicate output nodes when one XML tree is used for all rows.

View differences:

inputs/CTFS/maps/VegX.organisms.full.csv
5 5
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name"
6 6
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/{fit,tcs:Name/_name/middle}","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/{fit,tcs:Name/_name/middle}"
7 7
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=cl])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=cl])/tcs:Name"
8
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name"
9 8
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank=Family])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name",
10
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name"
11 9
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank=Genus])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name",
12 10
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=ord])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=ord])/tcs:Name"
13 11
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=phyl_div])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=phyl_div])/tcs:Name"
14 12
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=reg])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=reg])/tcs:Name"
15
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name"
16 13
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank=Species])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name",
17 14
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=ssp])/tcs:Name","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=ssp])/tcs:Name"
18 15
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/groupType","/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/groupType"
......
76 73
/*ID->/*s/plotObservation/simpleUserdefined[name=precipitation]/value,/*ID->/*s/plotObservation/simpleUserdefined[name=precipitation]/value
77 74
/*ID->/*s/plotObservation/temperature,/*ID->/*s/plotObservation/temperature
78 75
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotName,/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName,
79
/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName,/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName
80 76
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotUniqueIdentifier,/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,
81
/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier
82 77
/height,/height
83 78
/relativePlotPosition/relativeX,/relativePlotPosition/relativeX
84 79
/relativePlotPosition/relativeY,/relativePlotPosition/relativeY
85 80
/simpleUserdefined[name=authorPlantCode]/value,/simpleUserdefined[name=authorPlantCode]/value
86 81
/*ID->/*s/plotObservation/simpleUserdefined[name=CensusNumber]/value,/simpleUserdefined[name=censusNo]/value,
87
/simpleUserdefined[name=censusNo]/value,/simpleUserdefined[name=censusNo]/value
88 82
/simpleUserdefined[name=collectionDate]/value,/simpleUserdefined[name=collectionDate]/value
89 83
/simpleUserdefined[name=growthForm]/value,/simpleUserdefined[name=growthForm]/value
90 84
/simpleUserdefined[name=height]/value,/simpleUserdefined[name=height]/value
inputs/CTFS/maps/VegBIEN.organisms.csv
46 46
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
47 47
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
48 48
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/authorlocationcode,
49
/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/authorlocationcode,
50 49
/*ID->/*s/plotObservation/partyWithRole/*ID->/parties/party/organizationName,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1,
51 50
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotUniqueIdentifier,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
52
/*ID->/*s/plotObservation:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode,
53 51
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept:[partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/voucher,"/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/catalognumber_dwc",
54 52
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName,"/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/datasource_id/party/organizationname/_alt/1",
55 53
/simpleUserdefined[name=growthForm]/value,/aggregateoccurrence/*_id/taxonoccurrence/growthform,
......
65 63
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/{fit,tcs:Name/_name/middle}","/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/{taxonFit/_alt/2,*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/last}",
66 64
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name","/aggregateoccurrence/*_id/taxonoccurrence/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/_name/first",
67 65
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name","/aggregateoccurrence/*_id/taxonoccurrence/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",
68
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name","/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",
69 66
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank=Species])/tcs:Name","/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",
70
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name","/aggregateoccurrence/*_id/taxonoccurrence/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",
71 67
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank=Genus])/tcs:Name","/aggregateoccurrence/*_id/taxonoccurrence/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",
72
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=fam])/tcs:Name","/aggregateoccurrence/*_id/taxonoccurrence/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",
73 68
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank=Family])/tcs:Name","/aggregateoccurrence/*_id/taxonoccurrence/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",
74 69
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=ord])/tcs:Name","/aggregateoccurrence/*_id/taxonoccurrence/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,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=order]/plantname",
75 70
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=cl])/tcs:Name","/aggregateoccurrence/*_id/taxonoccurrence/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,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=class]/plantname",
......
81 76
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/value,/aggregateoccurrence/count,
82 77
/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,/aggregateoccurrence/cover,
83 78
/*ID->/*s/plotObservation/simpleUserdefined[name=CensusNumber]/value,"/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]:[@fkey=tablerecord_id]/definedvalue",
84
/simpleUserdefined[name=censusNo]/value,"/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]:[@fkey=tablerecord_id]/definedvalue",
85 79
/volumeCanopy/value,/aggregateoccurrence/linecover,
86 80
/simpleUserdefined[name=authorPlantCode]/value,/authorplantcode,
87 81
/height,/overallheight,
inputs/SpeciesLink/maps/DwC.specimens.csv
1 1
"SpeciesLink[DwC,http__rs_tdwg_org_dwc_dwcore_,http__rs_tdwg_org_dwc_curatorial_,http__rs_tdwg_org_dwc_geospatial_,http__purl_org_,http__rs_tdwg_org_dwc_terms_,http__digir_net_schema_conceptual_darwin_2003_1_0_]",DwC:/list/,Comments
2 2
AuthorYearOfScientificName,ScientificNameAuthor,
3
ScientificNameAuthor,ScientificNameAuthor,`union` would otherwise remove this input name because it's been mapped to (renamed) above
3 4
DayOfYear,JulianDay,
5
JulianDay,JulianDay,`union` would otherwise remove this input name because it's been mapped to (renamed) above
4 6
dc_terms_modified,dcterms:modified,
inputs/SpeciesLink/maps/DwC.specimens.full.csv
25 25
InfraspecificEpithet,InfraspecificEpithet
26 26
InstitutionCode,InstitutionCode
27 27
DayOfYear,JulianDay,
28
JulianDay,JulianDay
28
JulianDay,JulianDay,`union` would otherwise remove this input name because it's been mapped to (renamed) above
29 29
Kingdom,Kingdom
30 30
Latitude,Latitude
31 31
Locality,Locality
......
50 50
Remarks,Remarks
51 51
ScientificName,ScientificName
52 52
AuthorYearOfScientificName,ScientificNameAuthor,
53
ScientificNameAuthor,ScientificNameAuthor
53
ScientificNameAuthor,ScientificNameAuthor,`union` would otherwise remove this input name because it's been mapped to (renamed) above
54 54
Sex,Sex
55 55
Species,Species
56 56
SpecificEpithet,SpecificEpithet
inputs/SpeciesLink/maps/VegBIEN.specimens.csv
47 47
ScientificName,"/*_id/taxonoccurrence/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
48 48
scientificName,"/*_id/taxonoccurrence/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
49 49
AuthorYearOfScientificName,"/*_id/taxonoccurrence/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
50
ScientificNameAuthor,"/*_id/taxonoccurrence/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
50
ScientificNameAuthor,"/*_id/taxonoccurrence/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","`union` would otherwise remove this input name because it's been mapped to (renamed) above; 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
51 51
scientificNameAuthorship,"/*_id/taxonoccurrence/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
52 52
InfraspecificEpithet,"/*_id/taxonoccurrence/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
53 53
Subspecies,"/*_id/taxonoccurrence/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
......
88 88
DayOfYear,,** No non-empty join mapping for JulianDay ** 
89 89
IndividualCount,,** No non-empty join mapping for IndividualCount ** 
90 90
InstitutionCode,,** No non-empty join mapping for InstitutionCode ** 
91
JulianDay,,** No non-empty join mapping for JulianDay ** 
91
JulianDay,,** No non-empty join mapping for JulianDay ** `union` would otherwise remove this input name because it's been mapped to (renamed) above
92 92
PreparationType,,** No non-empty join mapping for PreparationType ** 
93 93
PreviousCatalogNumber,,** No non-empty join mapping for PreviousCatalogNumber ** 
94 94
RelatedCatalogItem,,** No non-empty join mapping for RelatedCatalogItem ** 
bin/union
37 37
        raise SystemExit('Map error: '
38 38
        'Map 0 column 0 label doesn\'t contain map 1 column 0 label')
39 39
    
40
    # Pass through map 0, storing which inputs it defines
40
    # Pass through map 0, storing which mappings it defines
41 41
    writer = csv.writer(sys.stdout)
42 42
    writer.writerow(maps.merge_headers(*headers, **dict(prefer=header_num)))
43
    inputs = set()
43
    mappings = set()
44 44
    for row in map_0_reader:
45
        if row[0] != '': inputs.add(row[0])
45
        if row[0] != '':
46
            mappings.add(row[0])
47
            if row[1] != '': mappings.add(row[1])
46 48
        writer.writerow(row)
47 49
    
48 50
    if combinable:
49
        # Add entries in map 1 that weren't already defined
51
        # Add mappings in map 1 that weren't already defined or mapped to
50 52
        for row in map_1_reader:
51
            if row[0] != '' and row[0] not in inputs: writer.writerow(row)
53
            if row[0] != '' and row[0] not in mappings: writer.writerow(row)
52 54
    
53 55
    stream.close()
54 56

  

Also available in: Unified diff