Project

General

Profile

« Previous | Next » 

Revision 6791

schemas/vegbien.sql: Allow multiple institutionCodes for each specimenreplicate by linking new sourcelist table many-to-many to source via sourcename (which is now a linking table)

View differences:

inputs/.herbaria/herbaria/test.xml.ref
8 8
                <path>
9 9
                    <source>
10 10
                        <shortname>$herbariumAcronym</shortname>
11
                        <sampletype>specimen</sampletype>
11
                        <observationtype>specimen</observationtype>
12 12
                        <sourcetype>herbarium</sourcetype>
13 13
                    </source>
14 14
                </path>
inputs/REMIB/Specimen/test.xml.ref
55 55
                                        <specimenreplicate>
56 56
                                            <catalognumber_dwc>$accession_number</catalognumber_dwc>
57 57
                                            <institution_id>
58
                                                <sourcename>
59
                                                    <matched_source_id><source><shortname>$acronym</shortname></source></matched_source_id>
58
                                                <sourcelist>
60 59
                                                    <name>$acronym</name>
61
                                                </sourcename>
60
                                                    <sourcename>
61
                                                        <matched_source_id><source><shortname>$acronym</shortname></source></matched_source_id>
62
                                                        <name>$acronym</name>
63
                                                    </sourcename>
64
                                                </sourcelist>
62 65
                                            </institution_id>
63 66
                                        </specimenreplicate>
64 67
                                    </plantobservation>
......
219 222
        </path>
220 223
    </_setDefault>
221 224
</VegBIEN>
222
Inserted 33 new rows into database
225
Inserted 34 new rows into database
inputs/TRT/Specimen/VegBIEN.csv
28 28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
29 29
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
30 30
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
31
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
32
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
33
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
34
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
31
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
32
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
33
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
34
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
35
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
35 36
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
36 37
recordNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
37 38
scientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/2",
inputs/MO/Specimen/test.xml.ref
62 62
                                            <catalognumber_dwc>$CatalogNumber</catalognumber_dwc>
63 63
                                            <collectioncode_dwc>$CollectionCode</collectioncode_dwc>
64 64
                                            <institution_id>
65
                                                <sourcename>
66
                                                    <matched_source_id><source><shortname>$InstitutionCode</shortname></source></matched_source_id>
65
                                                <sourcelist>
67 66
                                                    <name>$InstitutionCode</name>
68
                                                </sourcename>
67
                                                    <sourcename>
68
                                                        <matched_source_id><source><shortname>$InstitutionCode</shortname></source></matched_source_id>
69
                                                        <name>$InstitutionCode</name>
70
                                                    </sourcename>
71
                                                </sourcelist>
69 72
                                            </institution_id>
70 73
                                        </specimenreplicate>
71 74
                                    </plantobservation>
......
282 285
        </path>
283 286
    </_setDefault>
284 287
</VegBIEN>
285
Inserted 40 new rows into database
288
Inserted 41 new rows into database
inputs/bien_web/observation/VegBIEN.csv
22 22
observationDate,/location/locationevent/taxonoccurrence/aggregateoccurrence/collectiondate/_alt/1,
23 23
pctCover,/location/locationevent/taxonoccurrence/aggregateoccurrence/cover_fraction/_percent_to_fraction/value,
24 24
collectionNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/collectionnumber,
25
observationID,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
26
dataSourceName,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
27
dataSourceName,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
25
observationID,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
26
dataSourceName,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
27
dataSourceName,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
28
dataSourceName,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
28 29
observationID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
29 30
plotCode,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
30 31
plotID,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
inputs/NY/Specimen/VegBIEN.csv
23 23
Sex,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
24 24
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
25 25
CollectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
26
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
27
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
28
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
26
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
27
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
28
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
29
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
29 30
FieldNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",Usage inconsistent with DwC definition
30 31
ScientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/3",
31 32
Collector,/location/locationevent/taxonoccurrence/collector_id/party/fullname,
inputs/Madidi/Organism/VegBIEN.csv
20 20
Observations,/location/locationevent/taxonoccurrence/aggregateoccurrence/notes,
21 21
Tree number,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/collectionnumber,
22 22
Specimen,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
23
Specimen,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
23
Specimen,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
24 24
Trunk,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/authorstemcode,
25 25
Liana presence,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=lianaInfestation]]:[@fkey=tablerecord_id]/definedvalue",
26 26
Diameter,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/diameterbreastheight_m/_cm_to_m/value,Assuming units based on the range and precision of values
inputs/UNCC/Specimen/test.xml.ref
76 76
                                        <collectionnumber>$collectno</collectionnumber>
77 77
                                        <specimenreplicate>
78 78
                                            <institution_id>
79
                                                <sourcename>
80
                                                    <matched_source_id><source><shortname>$herbarium</shortname></source></matched_source_id>
79
                                                <sourcelist>
81 80
                                                    <name>$herbarium</name>
82
                                                </sourcename>
81
                                                    <sourcename>
82
                                                        <matched_source_id><source><shortname>$herbarium</shortname></source></matched_source_id>
83
                                                        <name>$herbarium</name>
84
                                                    </sourcename>
85
                                                </sourcelist>
83 86
                                            </institution_id>
84 87
                                            <sourceaccessioncode>$accession</sourceaccessioncode>
85 88
                                        </specimenreplicate>
......
316 319
        </path>
317 320
    </_setDefault>
318 321
</VegBIEN>
319
Inserted 29 new rows into database
322
Inserted 30 new rows into database
inputs/.herbaria/herbaria/VegBIEN.csv
4 4
:herbarium,"/_if[@name=""if specimen""]/else/source:[shortname/_first/2/_env:[name=source]]/sourcetype",
5 5
:specimen,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_if[@name=""if plot""]/cond/_eq:[right=plot]/left",
6 6
herbariumAcronym,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_if[@name=""if plot""]/else/_alt/2/_if[@name=""if catalogNumber""]/then/_join/1/_if[@name=""if specimen""]/then",
7
herbariumAcronym,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
8
herbariumAcronym,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
7
herbariumAcronym,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
8
herbariumAcronym,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
9
herbariumAcronym,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
9 10
City,,"** No non-empty join mapping for OMIT ** Just importing whether a datasource is a herbarium, for now"
10 11
CoordinatesVerbatim,,"** No non-empty join mapping for OMIT ** Just importing whether a datasource is a herbarium, for now"
11 12
Country,,"** No non-empty join mapping for OMIT ** Just importing whether a datasource is a herbarium, for now"
inputs/REMIB/Specimen/VegBIEN.csv
51 51
GROUP BY acronym, accession_number
52 52
HAVING count(*) > 1
53 53
-----"
54
accession_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists","Not globally unique, only (usually) unique within the institution providing the data (""acronym""). Note that there are nevertheless 11,869 rows where an accession_number appears multiple times within the same institution. [1]
54
accession_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists","Not globally unique, only (usually) unique within the institution providing the data (""acronym""). Note that there are nevertheless 11,869 rows where an accession_number appears multiple times within the same institution. [1]
55 55

  
56 56
[1] Using the following query:
57 57
-----
......
60 60
GROUP BY acronym, accession_number
61 61
HAVING count(*) > 1
62 62
-----"
63
acronym,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
64
acronym,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
63
acronym,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
64
acronym,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
65
acronym,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
65 66
collector,/location/locationevent/taxonoccurrence/collector_id/party/fullname,
66 67
family,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/_if[@name=""if has verbatim name""]/else/matched_label_id/taxonlabel:[source_id/source/shortname=TNRS]/taxonomicname/_join_words/1/_taxon_family_require_std/family/_nullIf/value",
67 68
genus,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/taxonverbatim/*_id/taxonlabel/_if[@name=""if has verbatim name""]/else/matched_label_id/taxonlabel:[source_id/source/shortname=TNRS]/taxonomicname/_join_words/2/_alt/2/_join_words/1/_alt/2/_join_words/2",
inputs/ARIZ/Specimen/test.xml.ref
86 86
                                            </catalognumber_dwc>
87 87
                                            <collectioncode_dwc>$CollectionCode</collectioncode_dwc>
88 88
                                            <institution_id>
89
                                                <sourcename>
90
                                                    <matched_source_id><source><shortname>$InstitutionCode</shortname></source></matched_source_id>
89
                                                <sourcelist>
91 90
                                                    <name>$InstitutionCode</name>
92
                                                </sourcename>
91
                                                    <sourcename>
92
                                                        <matched_source_id><source><shortname>$InstitutionCode</shortname></source></matched_source_id>
93
                                                        <name>$InstitutionCode</name>
94
                                                    </sourcename>
95
                                                </sourcelist>
93 96
                                            </institution_id>
94 97
                                            <sourceaccessioncode>$GlobalUniqueIdentifier</sourceaccessioncode>
95 98
                                        </specimenreplicate>
......
371 374
        </path>
372 375
    </_setDefault>
373 376
</VegBIEN>
374
Inserted 45 new rows into database
377
Inserted 46 new rows into database
inputs/MO/Specimen/VegBIEN.csv
19 19
CollectorNumber,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/collectionnumber,
20 20
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
21 21
CollectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
22
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
23
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
24
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
22
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
23
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
24
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
25
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
25 26
CollectorNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
26 27
ScientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/3",
27 28
Collector,/location/locationevent/taxonoccurrence/collector_id/party/fullname,
inputs/MT/Specimen/VegBIEN.csv
12 12
individualCount,/location/locationevent/taxonoccurrence/aggregateoccurrence/count,
13 13
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
14 14
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
15
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
16
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
17
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
15
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
16
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
17
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
18
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
18 19
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
19 20
id,"/location/locationevent/taxonoccurrence/iscultivated/_alt/1/_if[@name=""if TaxonOccurrence""]/cond/_exists",
20 21
establishmentMeans,"/location/locationevent/taxonoccurrence/iscultivated/_alt/2/_map:[cultivated=t,wild=f,*=]/value",
inputs/MT/Specimen/test.xml.ref
23 23
                                                </_join>
24 24
                                            </collectioncode_dwc>
25 25
                                            <institution_id>
26
                                                <sourcename>
27
                                                    <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
26
                                                <sourcelist>
28 27
                                                    <name>$institutionCode</name>
29
                                                </sourcename>
28
                                                    <sourcename>
29
                                                        <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
30
                                                        <name>$institutionCode</name>
31
                                                    </sourcename>
32
                                                </sourcelist>
30 33
                                            </institution_id>
31 34
                                            <sourceaccessioncode>$id</sourceaccessioncode>
32 35
                                        </specimenreplicate>
......
129 132
        </path>
130 133
    </_setDefault>
131 134
</VegBIEN>
132
Inserted 26 new rows into database
135
Inserted 27 new rows into database
inputs/XAL/Specimen/VegBIEN.csv
19 19
darwin:Sex,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/definedvalue[*_id/userdefined[tablename=plantobservation,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
20 20
darwin:CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
21 21
darwin:CollectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
22
darwin:CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
23
darwin:InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
24
darwin:InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
22
darwin:CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
23
darwin:InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
24
darwin:InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
25
darwin:InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
25 26
darwin:CollectorNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
26 27
darwin:ScientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/3",
27 28
darwin:Collector,/location/locationevent/taxonoccurrence/collector_id/party/fullname,
inputs/NCU/Specimen/VegBIEN.csv
21 21
firstCollectorRemarks,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/collectionnumber,"Actually the collector's number, not remarks"
22 22
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
23 23
CollectionGUID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
24
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
25
SpecimenPK,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
26
CatalogSeriesPrefix,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname/_alt/1",
27
OwnerInstitution,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname/_alt/2",
28
CatalogSeriesPrefix,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name/_alt/1",
29
OwnerInstitution,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name/_alt/2",
24
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
25
SpecimenPK,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
26
CatalogSeriesPrefix,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name/_alt/1",
27
OwnerInstitution,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name/_alt/2",
28
CatalogSeriesPrefix,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname/_alt/1",
29
OwnerInstitution,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname/_alt/2",
30
CatalogSeriesPrefix,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name/_alt/1",
31
OwnerInstitution,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name/_alt/2",
30 32
SpecimenPK,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
31 33
firstCollectorRemarks,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1","Actually the collector's number, not remarks"
32 34
CurrentScientificNameWithAuthor,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/2",
inputs/NCU/Specimen/test.xml.ref
45 45
                                            <catalognumber_dwc>$CatalogNumber</catalognumber_dwc>
46 46
                                            <collectioncode_dwc>$CollectionGUID</collectioncode_dwc>
47 47
                                            <institution_id>
48
                                                <sourcename>
49
                                                    <matched_source_id>
50
                                                        <source>
51
                                                            <shortname>
52
                                                                <_alt>
53
                                                                    <1>$CatalogSeriesPrefix</1>
54
                                                                    <2>$OwnerInstitution</2>
55
                                                                </_alt>
56
                                                            </shortname>
57
                                                        </source>
58
                                                    </matched_source_id>
48
                                                <sourcelist>
59 49
                                                    <name>
60 50
                                                        <_alt>
61 51
                                                            <1>$CatalogSeriesPrefix</1>
62 52
                                                            <2>$OwnerInstitution</2>
63 53
                                                        </_alt>
64 54
                                                    </name>
65
                                                </sourcename>
55
                                                    <sourcename>
56
                                                        <matched_source_id>
57
                                                            <source>
58
                                                                <shortname>
59
                                                                    <_alt>
60
                                                                        <1>$CatalogSeriesPrefix</1>
61
                                                                        <2>$OwnerInstitution</2>
62
                                                                    </_alt>
63
                                                                </shortname>
64
                                                            </source>
65
                                                        </matched_source_id>
66
                                                        <name>
67
                                                            <_alt>
68
                                                                <1>$CatalogSeriesPrefix</1>
69
                                                                <2>$OwnerInstitution</2>
70
                                                            </_alt>
71
                                                        </name>
72
                                                    </sourcename>
73
                                                </sourcelist>
66 74
                                            </institution_id>
67 75
                                            <sourceaccessioncode>$SpecimenPK</sourceaccessioncode>
68 76
                                        </specimenreplicate>
......
194 202
        </path>
195 203
    </_setDefault>
196 204
</VegBIEN>
197
Inserted 40 new rows into database
205
Inserted 42 new rows into database
inputs/TEAM/VL/VegBIEN.csv
17 17
Observation Date,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/then/parent_id/locationevent/obsstartdate/_alt/2/_dateRangeStart/value",
18 18
Observation Date,/location/locationevent/obsenddate/_alt/2/_dateRangeEnd/value,
19 19
Observation Date,/location/locationevent/obsstartdate/_alt/2/_dateRangeStart/value,
20
Id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
20
Id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
21 21
Id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
22 22
Diameter at 1.3m,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/diameterbreastheight_m/_cm_to_m/value,"""Tree diameter measurement. {cm}"" (Diameter definition on p. 7 at <https://projects.nceas.ucsb.edu/nceas/projects/bien/repository/raw/inputs/TEAM/_src/TEAM-DataPackage-20120920191251_3859/Vegetation+-+Trees+&+Lianas/Vegetation-Tree-and-Liana-Metadata-1.5.pdf>)"
23 23
Tree Number,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/tag,
inputs/TEAM/VT/VegBIEN.csv
17 17
Observation Date,"/location/locationevent/_if[@name=""if subplot""]/then/_if[@name=""if has event""]/then/parent_id/locationevent/obsstartdate/_alt/2/_dateRangeStart/value",
18 18
Observation Date,/location/locationevent/obsenddate/_alt/2/_dateRangeEnd/value,
19 19
Observation Date,/location/locationevent/obsstartdate/_alt/2/_dateRangeStart/value,
20
Id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
20
Id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
21 21
Id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
22 22
Diameter,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/diameterbreastheight_m/_cm_to_m/value,"""Tree diameter measurement. {cm}"" (Diameter definition on p. 7 at <https://projects.nceas.ucsb.edu/nceas/projects/bien/repository/raw/inputs/TEAM/_src/TEAM-DataPackage-20120920191251_3859/Vegetation+-+Trees+&+Lianas/Vegetation-Tree-and-Liana-Metadata-1.5.pdf>)"
23 23
Tree Number,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/tag,
inputs/ACAD/Specimen/VegBIEN.csv
25 25
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
26 26
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
27 27
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
29
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
30
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
29
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
30
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
32
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
32 33
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
33 34
recordNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
34 35
scientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/2",
inputs/ACAD/Specimen/test.xml.ref
58 58
                                                </_join>
59 59
                                            </collectioncode_dwc>
60 60
                                            <institution_id>
61
                                                <sourcename>
62
                                                    <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
61
                                                <sourcelist>
63 62
                                                    <name>$institutionCode</name>
64
                                                </sourcename>
63
                                                    <sourcename>
64
                                                        <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
65
                                                        <name>$institutionCode</name>
66
                                                    </sourcename>
67
                                                </sourcelist>
65 68
                                            </institution_id>
66 69
                                            <sourceaccessioncode>$id</sourceaccessioncode>
67 70
                                        </specimenreplicate>
......
320 323
        </path>
321 324
    </_setDefault>
322 325
</VegBIEN>
323
Inserted 47 new rows into database
326
Inserted 48 new rows into database
inputs/WIN/Specimen/VegBIEN.csv
26 26
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
27 27
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
28 28
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
29
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
30
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
32
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
29
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
30
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
32
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
33
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
33 34
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
34 35
recordNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
35 36
scientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/2",
inputs/WIN/Specimen/test.xml.ref
63 63
                                                </_join>
64 64
                                            </collectioncode_dwc>
65 65
                                            <institution_id>
66
                                                <sourcename>
67
                                                    <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
66
                                                <sourcelist>
68 67
                                                    <name>$institutionCode</name>
69
                                                </sourcename>
68
                                                    <sourcename>
69
                                                        <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
70
                                                        <name>$institutionCode</name>
71
                                                    </sourcename>
72
                                                </sourcelist>
70 73
                                            </institution_id>
71 74
                                            <sourceaccessioncode>$id</sourceaccessioncode>
72 75
                                        </specimenreplicate>
......
295 298
        </path>
296 299
    </_setDefault>
297 300
</VegBIEN>
298
Inserted 37 new rows into database
301
Inserted 38 new rows into database
inputs/SALVIAS/plotObservations/VegBIEN.csv
72 72
DetType,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left","Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
73 73
coll_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/1",Brad: Map instead as for voucher_string
74 74
SourceVoucher,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
75
coll_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists/_alt/1",Brad: Map instead as for voucher_string
76
SourceVoucher,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
75
coll_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists/_alt/1",Brad: Map instead as for voucher_string
76
SourceVoucher,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
77 77
canopy_form,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",
78 78
canopy_position,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]:[@fkey=tablerecord_id]/definedvalue",
79 79
liana_infestation,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=lianaInfestation]]:[@fkey=tablerecord_id]/definedvalue",
inputs/U/Specimen/VegBIEN.csv
18 18
Notes,/location/locationevent/taxonoccurrence/aggregateoccurrence/notes,
19 19
Number,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/collectionnumber,
20 20
Barcode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
21
Barcode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
22
ID,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
21
Barcode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
22
ID,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
23 23
ID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
24 24
Number,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
25 25
Collector,/location/locationevent/taxonoccurrence/collector_id/party/fullname/_join/1,
inputs/QFA/Specimen/VegBIEN.csv
25 25
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
26 26
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
27 27
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
29
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
30
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
29
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
30
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
32
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
32 33
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
33 34
recordNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
34 35
scientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/2",
inputs/QFA/Specimen/test.xml.ref
58 58
                                                </_join>
59 59
                                            </collectioncode_dwc>
60 60
                                            <institution_id>
61
                                                <sourcename>
62
                                                    <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
61
                                                <sourcelist>
63 62
                                                    <name>$institutionCode</name>
64
                                                </sourcename>
63
                                                    <sourcename>
64
                                                        <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
65
                                                        <name>$institutionCode</name>
66
                                                    </sourcename>
67
                                                </sourcelist>
65 68
                                            </institution_id>
66 69
                                            <sourceaccessioncode>$id</sourceaccessioncode>
67 70
                                        </specimenreplicate>
......
334 337
        </path>
335 338
    </_setDefault>
336 339
</VegBIEN>
337
Inserted 47 new rows into database
340
Inserted 48 new rows into database
inputs/GBIF/Specimen/VegBIEN.csv
12 12
LatestDateCollected,/location/locationevent/taxonoccurrence/aggregateoccurrence/collectiondate/_alt/1,
13 13
CatalogNO,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
14 14
CollectionCD,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
15
CatalogNO,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
16
InstitutionCD,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
17
InstitutionCD,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
15
CatalogNO,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
16
InstitutionCD,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
17
InstitutionCD,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
18
InstitutionCD,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
18 19
ScientificNameOriginal,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/1",
19 20
ScientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/3",
20 21
Collector,/location/locationevent/taxonoccurrence/collector_id/party/fullname,
inputs/GBIF/Specimen/test.xml.ref
30 30
                                            <catalognumber_dwc>$CatalogNO</catalognumber_dwc>
31 31
                                            <collectioncode_dwc>$CollectionCD</collectioncode_dwc>
32 32
                                            <institution_id>
33
                                                <sourcename>
34
                                                    <matched_source_id><source><shortname>$InstitutionCD</shortname></source></matched_source_id>
33
                                                <sourcelist>
35 34
                                                    <name>$InstitutionCD</name>
36
                                                </sourcename>
35
                                                    <sourcename>
36
                                                        <matched_source_id><source><shortname>$InstitutionCD</shortname></source></matched_source_id>
37
                                                        <name>$InstitutionCD</name>
38
                                                    </sourcename>
39
                                                </sourcelist>
37 40
                                            </institution_id>
38 41
                                        </specimenreplicate>
39 42
                                    </plantobservation>
......
328 331
        </path>
329 332
    </_setDefault>
330 333
</VegBIEN>
331
Inserted 47 new rows into database
334
Inserted 48 new rows into database
inputs/JBM/Specimen/VegBIEN.csv
26 26
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
27 27
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
28 28
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
29
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
30
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
32
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
29
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
30
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
32
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
33
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
33 34
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
34 35
recordNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
35 36
scientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/2",
inputs/JBM/Specimen/test.xml.ref
61 61
                                                </_join>
62 62
                                            </collectioncode_dwc>
63 63
                                            <institution_id>
64
                                                <sourcename>
65
                                                    <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
64
                                                <sourcelist>
66 65
                                                    <name>$institutionCode</name>
67
                                                </sourcename>
66
                                                    <sourcename>
67
                                                        <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
68
                                                        <name>$institutionCode</name>
69
                                                    </sourcename>
70
                                                </sourcelist>
68 71
                                            </institution_id>
69 72
                                            <sourceaccessioncode>$id</sourceaccessioncode>
70 73
                                        </specimenreplicate>
......
281 284
        </path>
282 285
    </_setDefault>
283 286
</VegBIEN>
284
Inserted 38 new rows into database
287
Inserted 39 new rows into database
inputs/UBC/Specimen/VegBIEN.csv
25 25
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
26 26
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
27 27
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
29
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
30
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
29
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
30
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
32
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
32 33
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
33 34
recordNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
34 35
scientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/2",
inputs/UBC/Specimen/test.xml.ref
58 58
                                                </_join>
59 59
                                            </collectioncode_dwc>
60 60
                                            <institution_id>
61
                                                <sourcename>
62
                                                    <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
61
                                                <sourcelist>
63 62
                                                    <name>$institutionCode</name>
64
                                                </sourcename>
63
                                                    <sourcename>
64
                                                        <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
65
                                                        <name>$institutionCode</name>
66
                                                    </sourcename>
67
                                                </sourcelist>
65 68
                                            </institution_id>
66 69
                                            <sourceaccessioncode>$id</sourceaccessioncode>
67 70
                                        </specimenreplicate>
......
320 323
        </path>
321 324
    </_setDefault>
322 325
</VegBIEN>
323
Inserted 43 new rows into database
326
Inserted 44 new rows into database
inputs/HIBG/Specimen/VegBIEN.csv
25 25
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
26 26
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
27 27
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
29
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
30
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
29
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
30
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
32
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
32 33
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
33 34
recordNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
34 35
scientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/2",
inputs/HIBG/Specimen/test.xml.ref
58 58
                                                </_join>
59 59
                                            </collectioncode_dwc>
60 60
                                            <institution_id>
61
                                                <sourcename>
62
                                                    <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
61
                                                <sourcelist>
63 62
                                                    <name>$institutionCode</name>
64
                                                </sourcename>
63
                                                    <sourcename>
64
                                                        <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
65
                                                        <name>$institutionCode</name>
66
                                                    </sourcename>
67
                                                </sourcelist>
65 68
                                            </institution_id>
66 69
                                            <sourceaccessioncode>$id</sourceaccessioncode>
67 70
                                        </specimenreplicate>
......
321 324
        </path>
322 325
    </_setDefault>
323 326
</VegBIEN>
324
Inserted 39 new rows into database
327
Inserted 40 new rows into database
inputs/SpeciesLink/Specimen/VegBIEN.csv
87 87
dwc_dwcore_CollectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
88 88
dwc_terms_collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
89 89
dwc_terms_collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
90
conceptual_darwin_2003_1_0_CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
91
dwc_dwcore_CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
92
dwc_dwcore_GlobalUniqueIdentifier,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
93
dwc_terms_catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
94
conceptual_darwin_2003_1_0_InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
95
dwc_dwcore_InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
96
dwc_terms_institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
97
conceptual_darwin_2003_1_0_InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
98
dwc_dwcore_InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
99
dwc_terms_institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
90
conceptual_darwin_2003_1_0_CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
91
dwc_dwcore_CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
92
dwc_dwcore_GlobalUniqueIdentifier,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
93
dwc_terms_catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
94
conceptual_darwin_2003_1_0_InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
95
dwc_dwcore_InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
96
dwc_terms_institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
97
conceptual_darwin_2003_1_0_InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
98
dwc_dwcore_InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
99
dwc_terms_institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
100
conceptual_darwin_2003_1_0_InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
101
dwc_dwcore_InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
102
dwc_terms_institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
100 103
dwc_dwcore_GlobalUniqueIdentifier,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
101 104
dwc_terms_recordNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1/_alt/1",
102 105
conceptual_darwin_2003_1_0_FieldNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1/_alt/2","Usage inconsistent with DwC definition. This field is instead identical to recordNumber, as the following query returns zero: (takes 23 sec)
inputs/SpeciesLink/Specimen/test.xml.ref
162 162
                                                </_join>
163 163
                                            </collectioncode_dwc>
164 164
                                            <institution_id>
165
                                                <sourcename>
166
                                                    <matched_source_id>
167
                                                        <source>
168
                                                            <shortname>
169
                                                                <_alt>
170
                                                                    <0>$conceptual_darwin_2003_1_0_InstitutionCode</0>
171
                                                                    <1>$dwc_dwcore_InstitutionCode</1>
172
                                                                    <2>$dwc_terms_institutionCode</2>
173
                                                                </_alt>
174
                                                            </shortname>
175
                                                        </source>
176
                                                    </matched_source_id>
165
                                                <sourcelist>
177 166
                                                    <name>
178 167
                                                        <_alt>
179 168
                                                            <0>$conceptual_darwin_2003_1_0_InstitutionCode</0>
......
181 170
                                                            <2>$dwc_terms_institutionCode</2>
182 171
                                                        </_alt>
183 172
                                                    </name>
184
                                                </sourcename>
173
                                                    <sourcename>
174
                                                        <matched_source_id>
175
                                                            <source>
176
                                                                <shortname>
177
                                                                    <_alt>
178
                                                                        <0>$conceptual_darwin_2003_1_0_InstitutionCode</0>
179
                                                                        <1>$dwc_dwcore_InstitutionCode</1>
180
                                                                        <2>$dwc_terms_institutionCode</2>
181
                                                                    </_alt>
182
                                                                </shortname>
183
                                                            </source>
184
                                                        </matched_source_id>
185
                                                        <name>
186
                                                            <_alt>
187
                                                                <0>$conceptual_darwin_2003_1_0_InstitutionCode</0>
188
                                                                <1>$dwc_dwcore_InstitutionCode</1>
189
                                                                <2>$dwc_terms_institutionCode</2>
190
                                                            </_alt>
191
                                                        </name>
192
                                                    </sourcename>
193
                                                </sourcelist>
185 194
                                            </institution_id>
186 195
                                            <sourceaccessioncode>$dwc_dwcore_GlobalUniqueIdentifier</sourceaccessioncode>
187 196
                                        </specimenreplicate>
......
750 759
        </path>
751 760
    </_setDefault>
752 761
</VegBIEN>
753
Inserted 47 new rows into database
762
Inserted 48 new rows into database
inputs/bien_web/observation/test.xml.ref
21 21
                                        <collectionnumber>$collectionNumber</collectionnumber>
22 22
                                        <specimenreplicate>
23 23
                                            <institution_id>
24
                                                <sourcename>
25
                                                    <matched_source_id><source><shortname>$dataSourceName</shortname></source></matched_source_id>
24
                                                <sourcelist>
26 25
                                                    <name>$dataSourceName</name>
27
                                                </sourcename>
26
                                                    <sourcename>
27
                                                        <matched_source_id><source><shortname>$dataSourceName</shortname></source></matched_source_id>
28
                                                        <name>$dataSourceName</name>
29
                                                    </sourcename>
30
                                                </sourcelist>
28 31
                                            </institution_id>
29 32
                                            <sourceaccessioncode>$observationID</sourceaccessioncode>
30 33
                                        </specimenreplicate>
inputs/NY/Specimen/test.xml.ref
106 106
                                            <catalognumber_dwc>$CatalogNumber</catalognumber_dwc>
107 107
                                            <collectioncode_dwc>$CollectionCode</collectioncode_dwc>
108 108
                                            <institution_id>
109
                                                <sourcename>
110
                                                    <matched_source_id><source><shortname>$InstitutionCode</shortname></source></matched_source_id>
109
                                                <sourcelist>
111 110
                                                    <name>$InstitutionCode</name>
112
                                                </sourcename>
111
                                                    <sourcename>
112
                                                        <matched_source_id><source><shortname>$InstitutionCode</shortname></source></matched_source_id>
113
                                                        <name>$InstitutionCode</name>
114
                                                    </sourcename>
115
                                                </sourcelist>
113 116
                                            </institution_id>
114 117
                                        </specimenreplicate>
115 118
                                    </plantobservation>
......
413 416
        </path>
414 417
    </_setDefault>
415 418
</VegBIEN>
416
Inserted 45 new rows into database
419
Inserted 46 new rows into database
inputs/UNCC/Specimen/VegBIEN.csv
52 52
loanto,"/location/locationevent/taxonoccurrence/aggregateoccurrence/notes/_join/6/_label[label=""loaned to""]/value",
53 53
inorout,"/location/locationevent/taxonoccurrence/aggregateoccurrence/notes/_join/7/_label[label=""in or out""]/value",
54 54
collectno,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/collectionnumber,
55
accession,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists","Globally unique, although occasionally duplicated. [1]
55
accession,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists","Globally unique, although occasionally duplicated. [1]
56 56

  
57 57
[1] Using the following query:
58 58
-----
......
61 61
GROUP BY herbarium, accession
62 62
HAVING count(*) > 1
63 63
-----"
64
herbarium,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
65
herbarium,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
64
herbarium,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
65
herbarium,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
66
herbarium,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
66 67
accession,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,"Globally unique, although occasionally duplicated. [1]
67 68

  
68 69
[1] Using the following query:
inputs/CVS/taxonObservation_/VegBIEN.csv
12 12
collectionDate,/location/locationevent/taxonoccurrence/aggregateoccurrence/collectiondate/_alt/1,
13 13
notes,/location/locationevent/taxonoccurrence/aggregateoccurrence/notes,
14 14
museumAccessionNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
15
museumAccessionNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
15
museumAccessionNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
16 16
stemLocation_ID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/sourceaccessioncode,
17 17
OBSERVATION_ID,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
18 18
authorPlantName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/1",
inputs/SALVIAS-CSV/Organism/VegBIEN.csv
71 71
det_type,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left","Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
72 72
coll_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/1",Brad: Map instead as for voucher_string
73 73
voucher_string,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
74
coll_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists/_alt/1",Brad: Map instead as for voucher_string
75
voucher_string,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
74
coll_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists/_alt/1",Brad: Map instead as for voucher_string
75
voucher_string,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
76 76
basal_diam,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/basaldiameter_m,
77 77
stem_canopy_form,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",
78 78
stem_canopy_position,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]:[@fkey=tablerecord_id]/definedvalue",
inputs/ARIZ/Specimen/VegBIEN.csv
29 29
CatalogNumberNumeric,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/1",
30 30
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/2",Don't overwrite CatalogNumberNumeric
31 31
CollectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
32
GlobalUniqueIdentifier,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
33
CatalogNumberNumeric,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists/_alt/1",
34
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists/_alt/2",Don't overwrite CatalogNumberNumeric
35
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
36
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
32
GlobalUniqueIdentifier,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
33
CatalogNumberNumeric,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists/_alt/1",
34
CatalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists/_alt/2",Don't overwrite CatalogNumberNumeric
35
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
36
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
37
InstitutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
37 38
GlobalUniqueIdentifier,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
38 39
CollectorNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
39 40
ScientificNameAuthor,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/2",Contains the binomial in addition to the authority
inputs/TRT/Specimen/test.xml.ref
77 77
                                                </_join>
78 78
                                            </collectioncode_dwc>
79 79
                                            <institution_id>
80
                                                <sourcename>
81
                                                    <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
80
                                                <sourcelist>
82 81
                                                    <name>$institutionCode</name>
83
                                                </sourcename>
82
                                                    <sourcename>
83
                                                        <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
84
                                                        <name>$institutionCode</name>
85
                                                    </sourcename>
86
                                                </sourcelist>
84 87
                                            </institution_id>
85 88
                                            <sourceaccessioncode>$id</sourceaccessioncode>
86 89
                                        </specimenreplicate>
......
357 360
        </path>
358 361
    </_setDefault>
359 362
</VegBIEN>
360
Inserted 43 new rows into database
363
Inserted 44 new rows into database
inputs/VegBank/taxonobservation_/VegBIEN.csv
12 12
collectiondate,/location/locationevent/taxonoccurrence/aggregateoccurrence/collectiondate/_alt/1,
13 13
notes,/location/locationevent/taxonoccurrence/aggregateoccurrence/notes,
14 14
museumaccessionnumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
15
museumaccessionnumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
15
museumaccessionnumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
16 16
observation_id,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/cond/_exists",
17 17
authorplantname,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/1",
18 18
givenname,/location/locationevent/taxonoccurrence/collector_id/party/fullname/_join_words/1,
inputs/TRTE/Specimen/test.xml.ref
58 58
                                                </_join>
59 59
                                            </collectioncode_dwc>
60 60
                                            <institution_id>
61
                                                <sourcename>
62
                                                    <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
61
                                                <sourcelist>
63 62
                                                    <name>$institutionCode</name>
64
                                                </sourcename>
63
                                                    <sourcename>
64
                                                        <matched_source_id><source><shortname>$institutionCode</shortname></source></matched_source_id>
65
                                                        <name>$institutionCode</name>
66
                                                    </sourcename>
67
                                                </sourcelist>
65 68
                                            </institution_id>
66 69
                                            <sourceaccessioncode>$id</sourceaccessioncode>
67 70
                                        </specimenreplicate>
......
319 322
        </path>
320 323
    </_setDefault>
321 324
</VegBIEN>
322
Inserted 35 new rows into database
325
Inserted 36 new rows into database
schemas/vegbien.sql
2070 2070

  
2071 2071

  
2072 2072
--
2073
-- Name: sourcename; Type: TABLE; Schema: public; Owner: -; Tablespace: 
2073
-- Name: sourcelist; Type: TABLE; Schema: public; Owner: -; Tablespace: 
2074 2074
--
2075 2075

  
2076
CREATE TABLE sourcename (
2077
    sourcename_id integer NOT NULL,
2076
CREATE TABLE sourcelist (
2077
    sourcelist_id integer NOT NULL,
2078 2078
    source_id integer NOT NULL,
2079
    name text NOT NULL,
2080
    matched_source_id integer
2079
    name text NOT NULL
2081 2080
);
2082 2081

  
2083 2082

  
......
2343 2342
--
2344 2343

  
2345 2344
CREATE VIEW analytical_stem_view AS
2346
    SELECT source.shortname AS datasource, sourcename.name AS "institutionCode", specimenreplicate.collectioncode_dwc AS "collectionCode", specimenreplicate.catalognumber_dwc AS "catalogNumber", specimenreplicate.sourceaccessioncode AS "occurrenceID", canon_place.country, canon_place.stateprovince AS "stateProvince", datasource_place.county, coordinates.latitude_deg AS "decimalLatitude", coordinates.longitude_deg AS "decimalLongitude", coordinates.coordsaccuracy_m AS "coordinateUncertaintyInMeters", (canon_place.geovalid)::integer AS geovalid, ("newWorldCountries"."isNewWorld")::integer AS "isNewWorld", project.sourceaccessioncode AS "projectID", COALESCE(location.sourceaccessioncode, location.authorlocationcode) AS "locationName", location.elevation_m AS "elevationInMeters", _m2_to_ha(location.area_m2) AS "plotArea_ha", method.name AS "samplingProtocol", COALESCE(locationevent.obsstartdate, parent_event.obsstartdate, aggregateoccurrence.collectiondate) AS "dateCollected", family_higher_plant_group.higher_plant_group AS "higherPlantGroup", accepted_taxonverbatim.family, accepted_taxonverbatim.genus, ((accepted_taxonverbatim.genus || ' '::text) || accepted_taxonverbatim.specific_epithet) AS "speciesBinomial", COALESCE(accepted_taxonverbatim.taxonomicname, accepted_taxonverbatim.taxonname) AS "scientificName", accepted_taxonverbatim.author AS "scientificNameAuthorship", NULLIF(array_to_string(ARRAY[COALESCE(accepted_taxonverbatim.genus, accepted_taxonverbatim.family), COALESCE(accepted_taxonverbatim.specific_epithet, parsed_taxonverbatim.morphospecies)], ' '::text), ''::text) AS "speciesBinomialWithMorphospecies", NULLIF(array_to_string(ARRAY[accepted_taxonlabel.taxonomicname, parsed_taxonverbatim.morphospecies], ' '::text), ''::text) AS "scientificNameWithMorphospecies", ((threatened_taxonlabel.taxonlabel_id IS NOT NULL))::integer AS threatened, identifiedby.fullname AS "identifiedBy", taxonoccurrence.growthform AS "growthForm", (((cultivated_family_locations.country IS NOT NULL) OR _or(taxonoccurrence.iscultivated, location.iscultivated)))::integer AS cultivated, CASE WHEN (taxonoccurrence.iscultivated IS NOT NULL) THEN taxonoccurrence.cultivatedbasis WHEN (location.iscultivated IS NOT NULL) THEN NULL::text ELSE NULL::text END AS "cultivatedBasis", collector.fullname AS "recordedBy", plantobservation.collectionnumber AS "recordNumber", _fraction_to_percent(aggregateoccurrence.cover_fraction) AS "coverPercent", _m_to_cm(stemobservation.diameterbreastheight_m) AS "diameterBreastHeight_cm", stemobservation.height_m, stemobservation.tag, stemobservation.xposition_m AS "organismX_m", stemobservation.yposition_m AS "organismY_m", taxonoccurrence.sourceaccessioncode AS "taxonOccurrenceID", taxonoccurrence.authortaxoncode AS "authorTaxonCode", plantobservation.sourceaccessioncode AS "individualID", stemobservation.authorstemcode AS "authorStemCode" FROM ((((((((((((((((((((((((((((((source JOIN location USING (source_id)) LEFT JOIN locationevent USING (location_id)) LEFT JOIN location parent_location ON ((parent_location.location_id = location.parent_id))) LEFT JOIN locationplace ON ((locationplace.location_id = COALESCE(parent_location.location_id, location.location_id)))) LEFT JOIN place datasource_place USING (place_id)) LEFT JOIN place canon_place ON ((canon_place.place_id = datasource_place.canon_place_id))) LEFT JOIN coordinates ON ((coordinates.coordinates_id = canon_place.coordinates_id))) LEFT JOIN "newWorld".iso_code_gadm ON ((iso_code_gadm."GADM country" = canon_place.country))) LEFT JOIN "newWorld"."newWorldCountries" ON (("newWorldCountries"."isoCode" = iso_code_gadm."2-digit iso code"))) LEFT JOIN taxonoccurrence USING (locationevent_id)) LEFT JOIN locationevent parent_event ON ((parent_event.locationevent_id = locationevent.parent_id))) LEFT JOIN project ON ((project.project_id = COALESCE(locationevent.project_id, parent_event.project_id)))) LEFT JOIN method ON ((method.method_id = COALESCE(locationevent.method_id, parent_event.method_id)))) LEFT JOIN party collector ON ((collector.party_id = taxonoccurrence.collector_id))) LEFT JOIN taxondetermination USING (taxonoccurrence_id)) LEFT JOIN party identifiedby ON ((identifiedby.party_id = taxondetermination.party_id))) LEFT JOIN taxonverbatim datasource_taxonverbatim USING (taxonverbatim_id)) LEFT JOIN taxonlabel datasource_taxonlabel USING (taxonlabel_id)) LEFT JOIN taxonlabel parsed_taxonlabel ON ((parsed_taxonlabel.taxonlabel_id = datasource_taxonlabel.matched_label_id))) LEFT JOIN taxonverbatim parsed_taxonverbatim ON ((parsed_taxonverbatim.taxonlabel_id = parsed_taxonlabel.taxonlabel_id))) LEFT JOIN taxonlabel accepted_taxonlabel ON ((accepted_taxonlabel.taxonlabel_id = datasource_taxonlabel.canon_label_id))) LEFT JOIN taxonverbatim accepted_taxonverbatim ON ((accepted_taxonverbatim.taxonlabel_id = accepted_taxonlabel.taxonlabel_id))) LEFT JOIN threatened_taxonlabel ON ((threatened_taxonlabel.taxonlabel_id = accepted_taxonlabel.taxonlabel_id))) LEFT JOIN aggregateoccurrence USING (taxonoccurrence_id)) LEFT JOIN family_higher_plant_group ON ((family_higher_plant_group.family = accepted_taxonverbatim.family))) LEFT JOIN cultivated_family_locations ON (((cultivated_family_locations.family = accepted_taxonverbatim.family) AND (cultivated_family_locations.country = canon_place.country)))) LEFT JOIN plantobservation USING (aggregateoccurrence_id)) LEFT JOIN stemobservation USING (plantobservation_id)) LEFT JOIN specimenreplicate USING (plantobservation_id)) LEFT JOIN sourcename ON ((sourcename.sourcename_id = specimenreplicate.institution_id))) WHERE COALESCE(taxondetermination.iscurrent, true);
2345
    SELECT source.shortname AS datasource, sourcelist.name AS "institutionCode", specimenreplicate.collectioncode_dwc AS "collectionCode", specimenreplicate.catalognumber_dwc AS "catalogNumber", specimenreplicate.sourceaccessioncode AS "occurrenceID", canon_place.country, canon_place.stateprovince AS "stateProvince", datasource_place.county, coordinates.latitude_deg AS "decimalLatitude", coordinates.longitude_deg AS "decimalLongitude", coordinates.coordsaccuracy_m AS "coordinateUncertaintyInMeters", (canon_place.geovalid)::integer AS geovalid, ("newWorldCountries"."isNewWorld")::integer AS "isNewWorld", project.sourceaccessioncode AS "projectID", COALESCE(location.sourceaccessioncode, location.authorlocationcode) AS "locationName", location.elevation_m AS "elevationInMeters", _m2_to_ha(location.area_m2) AS "plotArea_ha", method.name AS "samplingProtocol", COALESCE(locationevent.obsstartdate, parent_event.obsstartdate, aggregateoccurrence.collectiondate) AS "dateCollected", family_higher_plant_group.higher_plant_group AS "higherPlantGroup", accepted_taxonverbatim.family, accepted_taxonverbatim.genus, ((accepted_taxonverbatim.genus || ' '::text) || accepted_taxonverbatim.specific_epithet) AS "speciesBinomial", COALESCE(accepted_taxonverbatim.taxonomicname, accepted_taxonverbatim.taxonname) AS "scientificName", accepted_taxonverbatim.author AS "scientificNameAuthorship", NULLIF(array_to_string(ARRAY[COALESCE(accepted_taxonverbatim.genus, accepted_taxonverbatim.family), COALESCE(accepted_taxonverbatim.specific_epithet, parsed_taxonverbatim.morphospecies)], ' '::text), ''::text) AS "speciesBinomialWithMorphospecies", NULLIF(array_to_string(ARRAY[accepted_taxonlabel.taxonomicname, parsed_taxonverbatim.morphospecies], ' '::text), ''::text) AS "scientificNameWithMorphospecies", ((threatened_taxonlabel.taxonlabel_id IS NOT NULL))::integer AS threatened, identifiedby.fullname AS "identifiedBy", taxonoccurrence.growthform AS "growthForm", (((cultivated_family_locations.country IS NOT NULL) OR _or(taxonoccurrence.iscultivated, location.iscultivated)))::integer AS cultivated, CASE WHEN (taxonoccurrence.iscultivated IS NOT NULL) THEN taxonoccurrence.cultivatedbasis WHEN (location.iscultivated IS NOT NULL) THEN NULL::text ELSE NULL::text END AS "cultivatedBasis", collector.fullname AS "recordedBy", plantobservation.collectionnumber AS "recordNumber", _fraction_to_percent(aggregateoccurrence.cover_fraction) AS "coverPercent", _m_to_cm(stemobservation.diameterbreastheight_m) AS "diameterBreastHeight_cm", stemobservation.height_m, stemobservation.tag, stemobservation.xposition_m AS "organismX_m", stemobservation.yposition_m AS "organismY_m", taxonoccurrence.sourceaccessioncode AS "taxonOccurrenceID", taxonoccurrence.authortaxoncode AS "authorTaxonCode", plantobservation.sourceaccessioncode AS "individualID", stemobservation.authorstemcode AS "authorStemCode" FROM ((((((((((((((((((((((((((((((source JOIN location USING (source_id)) LEFT JOIN locationevent USING (location_id)) LEFT JOIN location parent_location ON ((parent_location.location_id = location.parent_id))) LEFT JOIN locationplace ON ((locationplace.location_id = COALESCE(parent_location.location_id, location.location_id)))) LEFT JOIN place datasource_place USING (place_id)) LEFT JOIN place canon_place ON ((canon_place.place_id = datasource_place.canon_place_id))) LEFT JOIN coordinates ON ((coordinates.coordinates_id = canon_place.coordinates_id))) LEFT JOIN "newWorld".iso_code_gadm ON ((iso_code_gadm."GADM country" = canon_place.country))) LEFT JOIN "newWorld"."newWorldCountries" ON (("newWorldCountries"."isoCode" = iso_code_gadm."2-digit iso code"))) LEFT JOIN taxonoccurrence USING (locationevent_id)) LEFT JOIN locationevent parent_event ON ((parent_event.locationevent_id = locationevent.parent_id))) LEFT JOIN project ON ((project.project_id = COALESCE(locationevent.project_id, parent_event.project_id)))) LEFT JOIN method ON ((method.method_id = COALESCE(locationevent.method_id, parent_event.method_id)))) LEFT JOIN party collector ON ((collector.party_id = taxonoccurrence.collector_id))) LEFT JOIN taxondetermination USING (taxonoccurrence_id)) LEFT JOIN party identifiedby ON ((identifiedby.party_id = taxondetermination.party_id))) LEFT JOIN taxonverbatim datasource_taxonverbatim USING (taxonverbatim_id)) LEFT JOIN taxonlabel datasource_taxonlabel USING (taxonlabel_id)) LEFT JOIN taxonlabel parsed_taxonlabel ON ((parsed_taxonlabel.taxonlabel_id = datasource_taxonlabel.matched_label_id))) LEFT JOIN taxonverbatim parsed_taxonverbatim ON ((parsed_taxonverbatim.taxonlabel_id = parsed_taxonlabel.taxonlabel_id))) LEFT JOIN taxonlabel accepted_taxonlabel ON ((accepted_taxonlabel.taxonlabel_id = datasource_taxonlabel.canon_label_id))) LEFT JOIN taxonverbatim accepted_taxonverbatim ON ((accepted_taxonverbatim.taxonlabel_id = accepted_taxonlabel.taxonlabel_id))) LEFT JOIN threatened_taxonlabel ON ((threatened_taxonlabel.taxonlabel_id = accepted_taxonlabel.taxonlabel_id))) LEFT JOIN aggregateoccurrence USING (taxonoccurrence_id)) LEFT JOIN family_higher_plant_group ON ((family_higher_plant_group.family = accepted_taxonverbatim.family))) LEFT JOIN cultivated_family_locations ON (((cultivated_family_locations.family = accepted_taxonverbatim.family) AND (cultivated_family_locations.country = canon_place.country)))) LEFT JOIN plantobservation USING (aggregateoccurrence_id)) LEFT JOIN stemobservation USING (plantobservation_id)) LEFT JOIN specimenreplicate USING (plantobservation_id)) LEFT JOIN sourcelist ON ((sourcelist.sourcelist_id = specimenreplicate.institution_id))) WHERE COALESCE(taxondetermination.iscurrent, true);
2347 2346

  
2348 2347

  
2349 2348
--
......
3816 3815

  
3817 3816

  
3818 3817
--
3819
-- Name: sourcename_sourcename_id_seq; Type: SEQUENCE; Schema: public; Owner: -
3818
-- Name: sourcelist_sourcelist_id_seq; Type: SEQUENCE; Schema: public; Owner: -
3820 3819
--
3821 3820

  
3822
CREATE SEQUENCE sourcename_sourcename_id_seq
3821
CREATE SEQUENCE sourcelist_sourcelist_id_seq
3823 3822
    START WITH 1
3824 3823
    INCREMENT BY 1
3825 3824
    NO MINVALUE
......
3828 3827

  
3829 3828

  
3830 3829
--
3831
-- Name: sourcename_sourcename_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
3830
-- Name: sourcelist_sourcelist_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
3832 3831
--
3833 3832

  
3834
ALTER SEQUENCE sourcename_sourcename_id_seq OWNED BY sourcename.sourcename_id;
3833
ALTER SEQUENCE sourcelist_sourcelist_id_seq OWNED BY sourcelist.sourcelist_id;
3835 3834

  
3836 3835

  
3837 3836
--
3838
-- Name: sourcename_sourcename_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
3837
-- Name: sourcelist_sourcelist_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
3839 3838
--
3840 3839

  
3841 3840

  
3842 3841

  
3843 3842
--
3843
-- Name: sourcename; Type: TABLE; Schema: public; Owner: -; Tablespace: 
3844
--
3845

  
3846
CREATE TABLE sourcename (
3847
    sourcelist_id integer NOT NULL,
3848
    name text NOT NULL,
3849
    matched_source_id integer
3850
);
3851

  
3852

  
3853
--
3844 3854
-- Name: specimen; Type: TABLE; Schema: public; Owner: -; Tablespace: 
3845 3855
--
3846 3856

  
......
4750 4760

  
4751 4761

  
4752 4762
--
4753
-- Name: sourcename_id; Type: DEFAULT; Schema: public; Owner: -
4763
-- Name: sourcelist_id; Type: DEFAULT; Schema: public; Owner: -
4754 4764
--
4755 4765

  
4756
ALTER TABLE ONLY sourcename ALTER COLUMN sourcename_id SET DEFAULT nextval('sourcename_sourcename_id_seq'::regclass);
4766
ALTER TABLE ONLY sourcelist ALTER COLUMN sourcelist_id SET DEFAULT nextval('sourcelist_sourcelist_id_seq'::regclass);
4757 4767

  
4758 4768

  
4759 4769
--
......
5224 5234

  
5225 5235

  
5226 5236
--
5237
-- Data for Name: sourcelist; Type: TABLE DATA; Schema: public; Owner: -
5238
--
5239

  
5240

  
5241

  
5242
--
5227 5243
-- Data for Name: sourcename; Type: TABLE DATA; Schema: public; Owner: -
5228 5244
--
5229 5245

  
......
5752 5768

  
5753 5769

  
5754 5770
--
5771
-- Name: sourcelist_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
5772
--
5773

  
5774
ALTER TABLE ONLY sourcelist
5775
    ADD CONSTRAINT sourcelist_pkey PRIMARY KEY (sourcelist_id);
5776

  
5777

  
5778
--
5755 5779
-- Name: sourcename_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
5756 5780
--
5757 5781

  
5758 5782
ALTER TABLE ONLY sourcename
5759
    ADD CONSTRAINT sourcename_pkey PRIMARY KEY (sourcename_id);
5783
    ADD CONSTRAINT sourcename_pkey PRIMARY KEY (sourcelist_id, name);
5760 5784

  
5761 5785

  
5762 5786
--
......
6273 6297

  
6274 6298

  
6275 6299
--
6276
-- Name: sourcename_unique; Type: INDEX; Schema: public; Owner: -; Tablespace: 
6300
-- Name: sourcelist_unique; Type: INDEX; Schema: public; Owner: -; Tablespace: 
6277 6301
--
6278 6302

  
6279
CREATE UNIQUE INDEX sourcename_unique ON sourcename USING btree (source_id, (COALESCE(name, '\N'::text)));
6303
CREATE UNIQUE INDEX sourcelist_unique ON sourcelist USING btree (source_id, (COALESCE(name, '\N'::text)));
6280 6304

  
6281 6305

  
6282 6306
--
......
7235 7259

  
7236 7260

  
7237 7261
--
7262
-- Name: sourcelist_source_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
7263
--
7264

  
7265
ALTER TABLE ONLY sourcelist
7266
    ADD CONSTRAINT sourcelist_source_id_fkey FOREIGN KEY (source_id) REFERENCES source(source_id) ON UPDATE CASCADE ON DELETE CASCADE;
7267

  
7268

  
7269
--
7238 7270
-- Name: sourcename_matched_source_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
7239 7271
--
7240 7272

  
......
7243 7275

  
7244 7276

  
7245 7277
--
7246
-- Name: sourcename_source_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
7278
-- Name: sourcename_sourcelist_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
7247 7279
--
7248 7280

  
7249 7281
ALTER TABLE ONLY sourcename
7250
    ADD CONSTRAINT sourcename_source_id_fkey FOREIGN KEY (source_id) REFERENCES source(source_id) ON UPDATE CASCADE ON DELETE CASCADE;
7282
    ADD CONSTRAINT sourcename_sourcelist_id_fkey FOREIGN KEY (sourcelist_id) REFERENCES sourcelist(sourcelist_id) ON UPDATE CASCADE ON DELETE CASCADE;
7251 7283

  
7252 7284

  
7253 7285
--
......
7255 7287
--
7256 7288

  
7257 7289
ALTER TABLE ONLY specimenreplicate
7258
    ADD CONSTRAINT specimenreplicate_institution_id_fkey FOREIGN KEY (institution_id) REFERENCES sourcename(sourcename_id) ON UPDATE CASCADE ON DELETE CASCADE;
7290
    ADD CONSTRAINT specimenreplicate_institution_id_fkey FOREIGN KEY (institution_id) REFERENCES sourcelist(sourcelist_id) ON UPDATE CASCADE ON DELETE CASCADE;
7259 7291

  
7260 7292

  
7261 7293
--
......
7745 7777

  
7746 7778

  
7747 7779
--
7748
-- Name: sourcename; Type: ACL; Schema: public; Owner: -
7780
-- Name: sourcelist; Type: ACL; Schema: public; Owner: -
7749 7781
--
7750 7782

  
7751
REVOKE ALL ON TABLE sourcename FROM PUBLIC;
7752
REVOKE ALL ON TABLE sourcename FROM bien;
7753
GRANT ALL ON TABLE sourcename TO bien;
7754
GRANT SELECT ON TABLE sourcename TO bien_read;
7783
REVOKE ALL ON TABLE sourcelist FROM PUBLIC;
7784
REVOKE ALL ON TABLE sourcelist FROM bien;
7785
GRANT ALL ON TABLE sourcelist TO bien;
7786
GRANT SELECT ON TABLE sourcelist TO bien_read;
7755 7787

  
7756 7788

  
7757 7789
--
......
8145 8177

  
8146 8178

  
8147 8179
--
8180
-- Name: sourcename; Type: ACL; Schema: public; Owner: -
8181
--
8182

  
8183
REVOKE ALL ON TABLE sourcename FROM PUBLIC;
8184
REVOKE ALL ON TABLE sourcename FROM bien;
8185
GRANT ALL ON TABLE sourcename TO bien;
8186
GRANT SELECT ON TABLE sourcename TO bien_read;
8187

  
8188

  
8189
--
8148 8190
-- Name: specimen; Type: ACL; Schema: public; Owner: -
8149 8191
--
8150 8192

  
inputs/TRTE/Specimen/VegBIEN.csv
25 25
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
26 26
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
27 27
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
29
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
30
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
28
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
29
id,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
30
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
31
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
32
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
32 33
id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
33 34
recordNumber,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/1/_first/1",
34 35
scientificName,"/location/locationevent/taxonoccurrence/authortaxoncode/_if[@name=""if in plot""]/then/_first/2/_first/2",
schemas/vegbien.my.sql
1295 1295

  
1296 1296

  
1297 1297
--
1298
-- Name: sourcename; Type: TABLE; Schema: public; Owner: -; Tablespace: 
1298
-- Name: sourcelist; Type: TABLE; Schema: public; Owner: -; Tablespace: 
1299 1299
--
1300 1300

  
1301
CREATE TABLE sourcename (
1302
    sourcename_id int(11) NOT NULL,
1301
CREATE TABLE sourcelist (
1302
    sourcelist_id int(11) NOT NULL,
1303 1303
    source_id int(11) NOT NULL,
1304
    name varchar(255) NOT NULL,
1305
    matched_source_id int(11)
1304
    name varchar(255) NOT NULL
1306 1305
);
1307 1306

  
1308 1307

  
......
2835 2834

  
2836 2835

  
2837 2836
--
2838
-- Name: sourcename_sourcename_id_seq; Type: SEQUENCE; Schema: public; Owner: -
2837
-- Name: sourcelist_sourcelist_id_seq; Type: SEQUENCE; Schema: public; Owner: -
2839 2838
--
2840 2839

  
2841 2840

  
2842 2841

  
2843 2842

  
2844 2843
--
2845
-- Name: sourcename_sourcename_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
2844
-- Name: sourcelist_sourcelist_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
2846 2845
--
2847 2846

  
2848 2847

  
2849 2848

  
2850 2849

  
2851 2850
--
2852
-- Name: sourcename_sourcename_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
2851
-- Name: sourcelist_sourcelist_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
2853 2852
--
2854 2853

  
2855 2854

  
2856 2855

  
2857 2856
--
2857
-- Name: sourcename; Type: TABLE; Schema: public; Owner: -; Tablespace: 
2858
--
2859

  
2860
CREATE TABLE sourcename (
2861
    sourcelist_id int(11) NOT NULL,
2862
    name varchar(255) NOT NULL,
2863
    matched_source_id int(11)
2864
);
2865

  
2866

  
2867
--
2858 2868
-- Name: specimen; Type: TABLE; Schema: public; Owner: -; Tablespace: 
2859 2869
--
2860 2870

  
......
3675 3685

  
3676 3686

  
3677 3687
--
3678
-- Name: sourcename_id; Type: DEFAULT; Schema: public; Owner: -
3688
-- Name: sourcelist_id; Type: DEFAULT; Schema: public; Owner: -
3679 3689
--
3680 3690

  
3681 3691

  
......
4149 4159

  
4150 4160

  
4151 4161
--
4162
-- Data for Name: sourcelist; Type: TABLE DATA; Schema: public; Owner: -
4163
--
4164

  
4165

  
4166

  
4167
--
4152 4168
-- Data for Name: sourcename; Type: TABLE DATA; Schema: public; Owner: -
4153 4169
--
4154 4170

  
......
4677 4693

  
4678 4694

  
4679 4695
--
4696
-- Name: sourcelist_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
4697
--
4698

  
4699
ALTER TABLE sourcelist
4700
    ADD CONSTRAINT sourcelist_pkey PRIMARY KEY (sourcelist_id);
4701

  
4702

  
4703
--
4680 4704
-- Name: sourcename_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
4681 4705
--
4682 4706

  
4683 4707
ALTER TABLE sourcename
4684
    ADD CONSTRAINT sourcename_pkey PRIMARY KEY (sourcename_id);
4708
    ADD CONSTRAINT sourcename_pkey PRIMARY KEY (sourcelist_id, name);
4685 4709

  
4686 4710

  
4687 4711
--
......
5198 5222

  
5199 5223

  
5200 5224
--
5201
-- Name: sourcename_unique; Type: INDEX; Schema: public; Owner: -; Tablespace: 
5225
-- Name: sourcelist_unique; Type: INDEX; Schema: public; Owner: -; Tablespace: 
5202 5226
--
5203 5227

  
5204 5228

  
......
6128 6152

  
6129 6153

  
6130 6154
--
6155
-- Name: sourcelist_source_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
6156
--
6157

  
6158

  
6159

  
6160

  
6161
--
6131 6162
-- Name: sourcename_matched_source_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
6132 6163
--
6133 6164

  
......
6136 6167

  
6137 6168

  
6138 6169
--
6139
-- Name: sourcename_source_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
6170
-- Name: sourcename_sourcelist_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
6140 6171
--
6141 6172

  
6173
ALTER TABLE sourcename
6174
    ADD CONSTRAINT sourcename_sourcelist_id_fkey FOREIGN KEY (sourcelist_id) REFERENCES sourcelist(sourcelist_id) ON UPDATE CASCADE ON DELETE CASCADE;
6142 6175

  
6143 6176

  
6144

  
6145 6177
--
6146 6178
-- Name: specimenreplicate_institution_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
6147 6179
--
......
6622 6654

  
6623 6655

  
6624 6656
--
6625
-- Name: sourcename; Type: ACL; Schema: public; Owner: -
6657
-- Name: sourcelist; Type: ACL; Schema: public; Owner: -
6626 6658
--
6627 6659

  
6628 6660

  
......
7022 7054

  
7023 7055

  
7024 7056
--
7057
-- Name: sourcename; Type: ACL; Schema: public; Owner: -
7058
--
7059

  
7060

  
7061

  
7062

  
7063

  
7064

  
7065

  
7066
--
7025 7067
-- Name: specimen; Type: ACL; Schema: public; Owner: -
7026 7068
--
7027 7069

  
mappings/VegCore-VegBIEN.csv
115 115
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else",
116 116
collectionCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/1,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
117 117
collectionID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/collectioncode_dwc/_join/2,
118
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
119
occurrenceID,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/cond/_exists",
120
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/matched_source_id/source/shortname",
121
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcename/_if[@name=""if specimen""]/then/name",
118
catalogNumber,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
119
occurrenceID,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/cond/_exists",
120
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/name",
121
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/matched_source_id/source/shortname",
122
institutionCode,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/institution_id/sourcelist/_if[@name=""if specimen""]/then/sourcename/name",
122 123
occurrenceID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/sourceaccessioncode,
123 124
stemCount,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemcount,
124 125
authorStemCode,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/authorstemcode,
schemas/filter_ERD.csv
9 9
"^ALTER TABLE \b[^;]*\bFOREIGN KEY\b[^;]*\(submethod_id\) REFERENCES method\b[^;]*;",,inward
10 10
"^ALTER TABLE (?!party|address|sourcecontributor|telephone)\b[^;]*\bFOREIGN KEY\b[^;]*\bREFERENCES party\b[^;]*;",,inward
11 11
"^ALTER TABLE (?!sourcecontributor)\b[^;]*\bFOREIGN KEY\b[^;]*\((?:source_id|commauthority_id|concept_reference_id)\) REFERENCES source\b[^;]*;",,inward
12
"^ALTER TABLE \b[^;]*\bFOREIGN KEY\b[^;]*\bREFERENCES sourcename\b[^;]*;",,inward
12
"^ALTER TABLE (?!sourcename)\b[^;]*\bFOREIGN KEY\b[^;]*\bREFERENCES sourcelist\b[^;]*;",,inward
13 13
"^ALTER TABLE (?:projectcontributor)\b[^;]*\bFOREIGN KEY\b[^;]*\((?:project_id)\) REFERENCES \b[^;]*;",,inward
14 14
"^ALTER TABLE (?:partymember)\b[^;]*\bFOREIGN KEY\b[^;]*\((?:parentparty_id)\) REFERENCES \b[^;]*;",,inward
15 15
"^ALTER TABLE (?:address)\b[^;]*\bFOREIGN KEY\b[^;]*\((?:organization_id)\) REFERENCES \b[^;]*;",,inward
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff