Revision 668
Added by Aaron Marcuse-Kubitza almost 13 years ago
test/accepted_output/SALVIAS.organisms.VegBIEN.xml | ||
---|---|---|
53 | 53 |
</userdefined_id> |
54 | 54 |
<definedvalue>10</definedvalue> |
55 | 55 |
</definedvalue> |
56 |
<specimen> |
|
56 |
<specimenreplicate>
|
|
57 | 57 |
<reference_id> |
58 | 58 |
<reference/> |
59 | 59 |
</reference_id> |
60 | 60 |
<catalognumber_dwc>14598</catalognumber_dwc> |
61 | 61 |
<verbatimcollectorname>Vasquez</verbatimcollectorname> |
62 | 62 |
<sourceaccessioncode>607771</sourceaccessioncode> |
63 |
</specimen> |
|
63 |
</specimenreplicate>
|
|
64 | 64 |
<taxondetermination> |
65 | 65 |
<role_id> |
66 | 66 |
<role> |
... | ... | |
222 | 222 |
</userdefined_id> |
223 | 223 |
<definedvalue>100</definedvalue> |
224 | 224 |
</definedvalue> |
225 |
<specimen> |
|
225 |
<specimenreplicate>
|
|
226 | 226 |
<reference_id> |
227 | 227 |
<reference/> |
228 | 228 |
</reference_id> |
229 | 229 |
<catalognumber_dwc>14669</catalognumber_dwc> |
230 | 230 |
<verbatimcollectorname>Vasquez</verbatimcollectorname> |
231 | 231 |
<sourceaccessioncode>607722</sourceaccessioncode> |
232 |
</specimen> |
|
232 |
</specimenreplicate>
|
|
233 | 233 |
<taxondetermination> |
234 | 234 |
<role_id> |
235 | 235 |
<role> |
test/accepted_output/SALVIAS_db.organisms.VegBIEN.xml | ||
---|---|---|
176 | 176 |
<isoriginal>true</isoriginal> |
177 | 177 |
<iscurrent>true</iscurrent> |
178 | 178 |
</taxondetermination> |
179 |
<specimen> |
|
179 |
<specimenreplicate>
|
|
180 | 180 |
<reference_id> |
181 | 181 |
<reference/> |
182 | 182 |
</reference_id> |
183 | 183 |
<sourceaccessioncode>1</sourceaccessioncode> |
184 |
</specimen> |
|
184 |
</specimenreplicate>
|
|
185 | 185 |
</taxonoccurrence> |
186 | 186 |
<taxonoccurrence id="1"> |
187 | 187 |
<locationevent_id> |
... | ... | |
359 | 359 |
<isoriginal>true</isoriginal> |
360 | 360 |
<iscurrent>true</iscurrent> |
361 | 361 |
</taxondetermination> |
362 |
<specimen> |
|
362 |
<specimenreplicate>
|
|
363 | 363 |
<reference_id> |
364 | 364 |
<reference/> |
365 | 365 |
</reference_id> |
366 | 366 |
<sourceaccessioncode>2</sourceaccessioncode> |
367 |
</specimen> |
|
367 |
</specimenreplicate>
|
|
368 | 368 |
</taxonoccurrence> |
369 | 369 |
</VegBIEN> |
test/accepted_output/NYBG.organisms.VegBIEN.xml | ||
---|---|---|
64 | 64 |
<authorplantcode>816590</authorplantcode> |
65 | 65 |
</individualplant> |
66 | 66 |
</aggregateoccurrence> |
67 |
<specimen> |
|
67 |
<specimenreplicate>
|
|
68 | 68 |
<reference_id> |
69 | 69 |
<reference/> |
70 | 70 |
</reference_id> |
... | ... | |
77 | 77 |
</museum_id> |
78 | 78 |
<collectioncode_dwc>Herbarium</collectioncode_dwc> |
79 | 79 |
<sourceaccessioncode>816590</sourceaccessioncode> |
80 |
</specimen> |
|
80 |
</specimenreplicate>
|
|
81 | 81 |
<taxondetermination> |
82 | 82 |
<role_id> |
83 | 83 |
<role> |
... | ... | |
261 | 261 |
<obsstartdate>1994-01-17</obsstartdate> |
262 | 262 |
</locationevent> |
263 | 263 |
</locationevent_id> |
264 |
<specimen> |
|
264 |
<specimenreplicate>
|
|
265 | 265 |
<reference_id> |
266 | 266 |
<reference/> |
267 | 267 |
</reference_id> |
... | ... | |
274 | 274 |
</museum_id> |
275 | 275 |
<collectioncode_dwc>Herbarium</collectioncode_dwc> |
276 | 276 |
<sourceaccessioncode>220541</sourceaccessioncode> |
277 |
</specimen> |
|
277 |
</specimenreplicate>
|
|
278 | 278 |
<taxondetermination> |
279 | 279 |
<role_id> |
280 | 280 |
<role> |
inputs/NYBG/test/VegBIEN.xml.ref | ||
---|---|---|
65 | 65 |
</authorplantcode> |
66 | 66 |
</individualplant> |
67 | 67 |
</aggregateoccurrence> |
68 |
<specimen> |
|
68 |
<specimenreplicate>
|
|
69 | 69 |
<reference_id> |
70 | 70 |
<reference/> |
71 | 71 |
</reference_id> |
... | ... | |
79 | 79 |
<collectioncode_dwc>Herbarium</collectioncode_dwc> |
80 | 80 |
<sourceaccessioncode>816590 </sourceaccessioncode> |
81 |
</specimen> |
|
81 |
</specimenreplicate>
|
|
82 | 82 |
<taxondetermination> |
83 | 83 |
<role_id> |
84 | 84 |
<role> |
... | ... | |
263 | 263 |
<obsstartdate>1994-01-17</obsstartdate> |
264 | 264 |
</locationevent> |
265 | 265 |
</locationevent_id> |
266 |
<specimen> |
|
266 |
<specimenreplicate>
|
|
267 | 267 |
<reference_id> |
268 | 268 |
<reference/> |
269 | 269 |
</reference_id> |
... | ... | |
277 | 277 |
<collectioncode_dwc>Herbarium</collectioncode_dwc> |
278 | 278 |
<sourceaccessioncode>220541 </sourceaccessioncode> |
279 |
</specimen> |
|
279 |
</specimenreplicate>
|
|
280 | 280 |
<taxondetermination> |
281 | 281 |
<role_id> |
282 | 282 |
<role> |
inputs/NYBG/maps/VegBIEN.organisms.csv | ||
---|---|---|
19 | 19 |
PlantFungusDescription,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=plantFungusDescription]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect mapping to VB, also possibly to VX; this is the specimenDescription field, as used by this institution (NOT a standard DwC element). Very important! Bob, Nick, where would this go in VB and VX?" |
20 | 20 |
Substrate,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=substrate]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect mapping to VB and VX; refers to geological substrate or soils where specimen collected. Often concatenated with habitat, or included with specimen description. Bob, Nick, is there an element for this in VB/VX, or shall we just use userDefined?" |
21 | 21 |
Vegetation,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=vegetation]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Habitat'. Bob, Nick: keep as user defined or create special element?" |
22 |
FieldNumber,/specimen:[*_id/reference]/catalognumber_dwc,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?" |
|
23 |
CollectorNumber,/specimen:[*_id/reference]/collectornumber_dwc,"Brad: OMIT; db-specific element, not relevant to VB/VX" |
|
24 |
Collector,/specimen:[*_id/reference]/verbatimcollectorname,Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen? |
|
25 |
InstitutionCode,/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/first}, |
|
26 |
CollectionCode,"/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/last,collectioncode_dwc}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name |
|
22 |
FieldNumber,/specimenreplicate:[*_id/reference]/catalognumber_dwc,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?"
|
|
23 |
CollectorNumber,/specimenreplicate:[*_id/reference]/collectornumber_dwc,"Brad: OMIT; db-specific element, not relevant to VB/VX"
|
|
24 |
Collector,/specimenreplicate:[*_id/reference]/verbatimcollectorname,Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen?
|
|
25 |
InstitutionCode,/specimenreplicate:[*_id/reference]/{museum_id/party/organizationname/_name/first},
|
|
26 |
CollectionCode,"/specimenreplicate:[*_id/reference]/{museum_id/party/organizationname/_name/last,collectioncode_dwc}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
|
|
27 | 27 |
Sex,"/taxondetermination[*_id/role/rolecode=identifier,!*_id/plantconcept]/definedvalue[*_id/userdefined[tablename=taxondetermination,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" |
28 | 28 |
IdentifiedDate,"/taxondetermination[*_id/role/rolecode=identifier,!*_id/plantconcept]/determinationdate/_*/date", |
29 | 29 |
DayIdentified,"/taxondetermination[*_id/role/rolecode=identifier,!*_id/plantconcept]/determinationdate/_date/day", |
... | ... | |
41 | 41 |
Species,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname", |
42 | 42 |
Phylum,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Subkingdom]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname", |
43 | 43 |
Subspecies,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Subspecies]/*_id/plantconcept/*_id/*/plantname", |
44 |
UniqueNYInternalRecordNumber,"/{aggregateoccurrence/individualplant/authorplantcode,specimen:[*_id/reference]/sourceaccessioncode}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key" |
|
44 |
UniqueNYInternalRecordNumber,"/{aggregateoccurrence/individualplant/authorplantcode,specimenreplicate:[*_id/reference]/sourceaccessioncode}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key" |
inputs/SALVIAS/test/VegBIEN.xml.ref | ||
---|---|---|
299 | 299 |
<isoriginal>true</isoriginal> |
300 | 300 |
<iscurrent>true</iscurrent> |
301 | 301 |
</taxondetermination> |
302 |
<specimen> |
|
302 |
<specimenreplicate>
|
|
303 | 303 |
<reference_id> |
304 | 304 |
<reference/> |
305 | 305 |
</reference_id> |
306 | 306 |
<sourceaccessioncode>1</sourceaccessioncode> |
307 |
</specimen> |
|
307 |
</specimenreplicate>
|
|
308 | 308 |
</taxonoccurrence> |
309 | 309 |
<taxonoccurrence id="1"> |
310 | 310 |
<locationevent_id> |
... | ... | |
482 | 482 |
<isoriginal>true</isoriginal> |
483 | 483 |
<iscurrent>true</iscurrent> |
484 | 484 |
</taxondetermination> |
485 |
<specimen> |
|
485 |
<specimenreplicate>
|
|
486 | 486 |
<reference_id> |
487 | 487 |
<reference/> |
488 | 488 |
</reference_id> |
489 | 489 |
<sourceaccessioncode>2</sourceaccessioncode> |
490 |
</specimen> |
|
490 |
</specimenreplicate>
|
|
491 | 491 |
</taxonoccurrence> |
492 | 492 |
<stem id="0"> |
493 | 493 |
<individualplant_id> |
inputs/SALVIAS/maps/VegBIEN.organisms.csv | ||
---|---|---|
14 | 14 |
Habit,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=habit]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait." |
15 | 15 |
Ind,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=individualCode]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot." |
16 | 16 |
DetType,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=voucherType]]:[@fkey=tableRecord_ID]/definedvalue","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." |
17 |
coll_number,/specimen:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string |
|
18 |
census_date,/specimen:[*_id/reference]/collectiondate/_*/date, |
|
19 |
coll_firstname,/specimen:[*_id/reference]/verbatimcollectorname/_name/first,Brad: See comment above |
|
20 |
coll_lastname,/specimen:[*_id/reference]/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick." |
|
17 |
coll_number,/specimenreplicate:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
|
|
18 |
census_date,/specimenreplicate:[*_id/reference]/collectiondate/_*/date,
|
|
19 |
coll_firstname,/specimenreplicate:[*_id/reference]/verbatimcollectorname/_name/first,Brad: See comment above
|
|
20 |
coll_lastname,/specimenreplicate:[*_id/reference]/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
|
|
21 | 21 |
auth,"/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Authority]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname",Brad: Incorrect. This is the author of the scientificName. The should be a place for this in the taxonomic name elements of VegB and VegX. Let's discuss. |
22 | 22 |
Family,"/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname", |
23 | 23 |
Genus,"/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Genus]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname", |
... | ... | |
28 | 28 |
Notes,"/taxondetermination[*_id/role/rolecode=identifier,!*_id/plantconcept]:[determinationtype=Author,iscurrent=true]/notes", |
29 | 29 |
OrigFamily,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT |
30 | 30 |
OrigSpecies,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT |
31 |
PlotObsID,"/{aggregateoccurrence/individualplant/authorplantcode,specimen:[*_id/reference]/sourceaccessioncode}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later." |
|
31 |
PlotObsID,"/{aggregateoccurrence/individualplant/authorplantcode,specimenreplicate:[*_id/reference]/sourceaccessioncode}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later." |
schemas/vegbien.for_ERD.my.sql | ||
---|---|---|
281 | 281 |
CONSTRAINT stem_keys_code UNIQUE (individualplant_id , authorstemcode ) |
282 | 282 |
); |
283 | 283 |
|
284 |
CREATE TABLE specimen -- A herbarium specimen. Contains Darwin Core specimen data.
|
|
284 |
CREATE TABLE specimenreplicate -- A herbarium specimenreplicate. Contains Darwin Core specimenreplicate data.
|
|
285 | 285 |
( |
286 |
specimen_id int(11) NOT NULL AUTO_INCREMENT, |
|
286 |
specimenreplicate_id int(11) NOT NULL AUTO_INCREMENT,
|
|
287 | 287 |
reference_id int(11) NOT NULL, |
288 |
collectioncode_dwc character varying(255), -- The code for the collection that the specimen is from. |
|
288 |
collectioncode_dwc character varying(255), -- The code for the collection that the specimenreplicate is from.
|
|
289 | 289 |
catalognumber_dwc character varying(255), |
290 | 290 |
collectiondate timestamp NULL, |
291 | 291 |
museum_id int(11), |
... | ... | |
293 | 293 |
accessioncode character varying(255), |
294 | 294 |
taxonoccurrence_id int(11) NOT NULL, |
295 | 295 |
verbatimcollectorname character varying(255), |
296 |
collectionnumber character varying(255), -- The number of the specimen within the collection. |
|
297 |
CONSTRAINT specimen_pkey PRIMARY KEY (specimen_id ),
|
|
298 |
CONSTRAINT specimen_museum_id FOREIGN KEY (museum_id) |
|
296 |
collectionnumber character varying(255), -- The number of the specimenreplicate within the collection.
|
|
297 |
CONSTRAINT specimenreplicate_pkey PRIMARY KEY (specimenreplicate_id ),
|
|
298 |
CONSTRAINT specimenreplicate_museum_id FOREIGN KEY (museum_id)
|
|
299 | 299 |
REFERENCES party (party_id) MATCH SIMPLE |
300 | 300 |
ON UPDATE CASCADE ON DELETE CASCADE, |
301 |
CONSTRAINT specimen_reference_id_fkey FOREIGN KEY (reference_id) |
|
301 |
CONSTRAINT specimenreplicate_reference_id_fkey FOREIGN KEY (reference_id)
|
|
302 | 302 |
REFERENCES reference (reference_id) MATCH SIMPLE |
303 | 303 |
ON UPDATE CASCADE ON DELETE CASCADE, |
304 |
CONSTRAINT specimen_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id) |
|
304 |
CONSTRAINT specimenreplicate_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id)
|
|
305 | 305 |
REFERENCES taxonoccurrence (taxonoccurrence_id) MATCH SIMPLE |
306 | 306 |
ON UPDATE CASCADE ON DELETE CASCADE, |
307 |
CONSTRAINT specimen_keys_accessioncode UNIQUE (reference_id , collectioncode_dwc , sourceaccessioncode ), |
|
308 |
CONSTRAINT specimen_keys_catalognumber UNIQUE (reference_id , collectioncode_dwc , catalognumber_dwc ), |
|
309 |
CONSTRAINT specimen_keys_collectionnumber UNIQUE (reference_id , collectioncode_dwc , collectionnumber ), |
|
310 |
CONSTRAINT specimen_taxonoccurrence_id_1_to_1 UNIQUE (taxonoccurrence_id ) |
|
307 |
CONSTRAINT specimenreplicate_keys_accessioncode UNIQUE (reference_id , collectioncode_dwc , sourceaccessioncode ),
|
|
308 |
CONSTRAINT specimenreplicate_keys_catalognumber UNIQUE (reference_id , collectioncode_dwc , catalognumber_dwc ),
|
|
309 |
CONSTRAINT specimenreplicate_keys_collectionnumber UNIQUE (reference_id , collectioncode_dwc , collectionnumber ),
|
|
310 |
CONSTRAINT specimenreplicate_taxonoccurrence_id_1_to_1 UNIQUE (taxonoccurrence_id )
|
|
311 | 311 |
); |
312 | 312 |
|
313 | 313 |
CREATE TABLE voucher |
314 | 314 |
( |
315 | 315 |
voucher_id int(11) NOT NULL AUTO_INCREMENT, |
316 | 316 |
taxonoccurrence_id int(11) NOT NULL, |
317 |
specimen_id int(11) NOT NULL, |
|
317 |
specimenreplicate_id int(11) NOT NULL,
|
|
318 | 318 |
accessioncode character varying(255), |
319 | 319 |
CONSTRAINT voucher_pkey PRIMARY KEY (voucher_id ), |
320 |
CONSTRAINT voucher_specimen_id FOREIGN KEY (specimen_id)
|
|
321 |
REFERENCES specimen (specimen_id) MATCH SIMPLE
|
|
320 |
CONSTRAINT voucher_specimenreplicate_id FOREIGN KEY (specimenreplicate_id)
|
|
321 |
REFERENCES specimenreplicate (specimenreplicate_id) MATCH SIMPLE
|
|
322 | 322 |
ON UPDATE CASCADE ON DELETE CASCADE, |
323 | 323 |
CONSTRAINT voucher_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id) |
324 | 324 |
REFERENCES taxonoccurrence (taxonoccurrence_id) MATCH SIMPLE |
325 | 325 |
ON UPDATE CASCADE ON DELETE CASCADE, |
326 |
CONSTRAINT voucher_keys UNIQUE (taxonoccurrence_id , specimen_id ) |
|
326 |
CONSTRAINT voucher_keys UNIQUE (taxonoccurrence_id , specimenreplicate_id )
|
|
327 | 327 |
); |
328 | 328 |
|
329 | 329 |
CREATE TABLE taxondetermination -- VegBank's taxoninterpretation table. |
schemas/vegbien.for_wiki.sql | ||
---|---|---|
92 | 92 |
sourceaccessioncode character varying(100), |
93 | 93 |
); |
94 | 94 |
|
95 |
CREATE TABLE specimen -- A herbarium specimen. Contains Darwin Core specimen data.
|
|
95 |
CREATE TABLE specimenreplicate -- A herbarium specimenreplicate. Contains Darwin Core specimenreplicate data.
|
|
96 | 96 |
( |
97 |
specimen_id serial NOT NULL, |
|
97 |
specimenreplicate_id serial NOT NULL,
|
|
98 | 98 |
reference_id integer NOT NULL, |
99 |
collectioncode_dwc character varying(255), -- The code for the collection that the specimen is from. |
|
99 |
collectioncode_dwc character varying(255), -- The code for the collection that the specimenreplicate is from.
|
|
100 | 100 |
catalognumber_dwc character varying(255), |
101 | 101 |
collectiondate timestamp with time zone, |
102 | 102 |
museum_id integer, |
... | ... | |
104 | 104 |
accessioncode character varying(255), |
105 | 105 |
taxonoccurrence_id integer NOT NULL, |
106 | 106 |
verbatimcollectorname character varying(255), |
107 |
collectionnumber character varying(255), -- The number of the specimen within the collection. |
|
107 |
collectionnumber character varying(255), -- The number of the specimenreplicate within the collection.
|
|
108 | 108 |
); |
109 | 109 |
|
110 | 110 |
CREATE TABLE voucher |
111 | 111 |
( |
112 | 112 |
voucher_id serial NOT NULL, |
113 | 113 |
taxonoccurrence_id integer NOT NULL, |
114 |
specimen_id integer NOT NULL, |
|
114 |
specimenreplicate_id integer NOT NULL,
|
|
115 | 115 |
accessioncode character varying(255), |
116 | 116 |
); |
117 | 117 |
|
schemas/vegbien_empty.sql | ||
---|---|---|
59 | 59 |
TRUNCATE sizeclass CASCADE; |
60 | 60 |
TRUNCATE soilobs CASCADE; |
61 | 61 |
TRUNCATE soiltaxon CASCADE; |
62 |
TRUNCATE specimen CASCADE; |
|
62 |
TRUNCATE specimenreplicate CASCADE;
|
|
63 | 63 |
TRUNCATE stem CASCADE; |
64 | 64 |
TRUNCATE stratum CASCADE; |
65 | 65 |
TRUNCATE stratummethod CASCADE; |
schemas/vegbien.for_ERD.sql | ||
---|---|---|
281 | 281 |
CONSTRAINT stem_keys_code UNIQUE (individualplant_id , authorstemcode ) |
282 | 282 |
); |
283 | 283 |
|
284 |
CREATE TABLE specimen -- A herbarium specimen. Contains Darwin Core specimen data.
|
|
284 |
CREATE TABLE specimenreplicate -- A herbarium specimenreplicate. Contains Darwin Core specimenreplicate data.
|
|
285 | 285 |
( |
286 |
specimen_id serial NOT NULL, |
|
286 |
specimenreplicate_id serial NOT NULL,
|
|
287 | 287 |
reference_id integer NOT NULL, |
288 |
collectioncode_dwc character varying(255), -- The code for the collection that the specimen is from. |
|
288 |
collectioncode_dwc character varying(255), -- The code for the collection that the specimenreplicate is from.
|
|
289 | 289 |
catalognumber_dwc character varying(255), |
290 | 290 |
collectiondate timestamp with time zone, |
291 | 291 |
museum_id integer, |
... | ... | |
293 | 293 |
accessioncode character varying(255), |
294 | 294 |
taxonoccurrence_id integer NOT NULL, |
295 | 295 |
verbatimcollectorname character varying(255), |
296 |
collectionnumber character varying(255), -- The number of the specimen within the collection. |
|
297 |
CONSTRAINT specimen_pkey PRIMARY KEY (specimen_id ),
|
|
298 |
CONSTRAINT specimen_museum_id FOREIGN KEY (museum_id) |
|
296 |
collectionnumber character varying(255), -- The number of the specimenreplicate within the collection.
|
|
297 |
CONSTRAINT specimenreplicate_pkey PRIMARY KEY (specimenreplicate_id ),
|
|
298 |
CONSTRAINT specimenreplicate_museum_id FOREIGN KEY (museum_id)
|
|
299 | 299 |
REFERENCES party (party_id) MATCH SIMPLE |
300 | 300 |
ON UPDATE CASCADE ON DELETE CASCADE, |
301 |
CONSTRAINT specimen_reference_id_fkey FOREIGN KEY (reference_id) |
|
301 |
CONSTRAINT specimenreplicate_reference_id_fkey FOREIGN KEY (reference_id)
|
|
302 | 302 |
REFERENCES reference (reference_id) MATCH SIMPLE |
303 | 303 |
ON UPDATE CASCADE ON DELETE CASCADE, |
304 |
CONSTRAINT specimen_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id) |
|
304 |
CONSTRAINT specimenreplicate_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id)
|
|
305 | 305 |
REFERENCES taxonoccurrence (taxonoccurrence_id) MATCH SIMPLE |
306 | 306 |
ON UPDATE CASCADE ON DELETE CASCADE, |
307 |
CONSTRAINT specimen_keys_accessioncode UNIQUE (reference_id , collectioncode_dwc , sourceaccessioncode ), |
|
308 |
CONSTRAINT specimen_keys_catalognumber UNIQUE (reference_id , collectioncode_dwc , catalognumber_dwc ), |
|
309 |
CONSTRAINT specimen_keys_collectionnumber UNIQUE (reference_id , collectioncode_dwc , collectionnumber ), |
|
310 |
CONSTRAINT specimen_taxonoccurrence_id_1_to_1 UNIQUE (taxonoccurrence_id ) |
|
307 |
CONSTRAINT specimenreplicate_keys_accessioncode UNIQUE (reference_id , collectioncode_dwc , sourceaccessioncode ),
|
|
308 |
CONSTRAINT specimenreplicate_keys_catalognumber UNIQUE (reference_id , collectioncode_dwc , catalognumber_dwc ),
|
|
309 |
CONSTRAINT specimenreplicate_keys_collectionnumber UNIQUE (reference_id , collectioncode_dwc , collectionnumber ),
|
|
310 |
CONSTRAINT specimenreplicate_taxonoccurrence_id_1_to_1 UNIQUE (taxonoccurrence_id )
|
|
311 | 311 |
); |
312 | 312 |
|
313 | 313 |
CREATE TABLE voucher |
314 | 314 |
( |
315 | 315 |
voucher_id serial NOT NULL, |
316 | 316 |
taxonoccurrence_id integer NOT NULL, |
317 |
specimen_id integer NOT NULL, |
|
317 |
specimenreplicate_id integer NOT NULL,
|
|
318 | 318 |
accessioncode character varying(255), |
319 | 319 |
CONSTRAINT voucher_pkey PRIMARY KEY (voucher_id ), |
320 |
CONSTRAINT voucher_specimen_id FOREIGN KEY (specimen_id)
|
|
321 |
REFERENCES specimen (specimen_id) MATCH SIMPLE
|
|
320 |
CONSTRAINT voucher_specimenreplicate_id FOREIGN KEY (specimenreplicate_id)
|
|
321 |
REFERENCES specimenreplicate (specimenreplicate_id) MATCH SIMPLE
|
|
322 | 322 |
ON UPDATE CASCADE ON DELETE CASCADE, |
323 | 323 |
CONSTRAINT voucher_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id) |
324 | 324 |
REFERENCES taxonoccurrence (taxonoccurrence_id) MATCH SIMPLE |
325 | 325 |
ON UPDATE CASCADE ON DELETE CASCADE, |
326 |
CONSTRAINT voucher_keys UNIQUE (taxonoccurrence_id , specimen_id ) |
|
326 |
CONSTRAINT voucher_keys UNIQUE (taxonoccurrence_id , specimenreplicate_id )
|
|
327 | 327 |
); |
328 | 328 |
|
329 | 329 |
CREATE TABLE taxondetermination -- VegBank's taxoninterpretation table. |
schemas/vegbien.sql | ||
---|---|---|
2260 | 2260 |
SET default_with_oids = false; |
2261 | 2261 |
|
2262 | 2262 |
-- |
2263 |
-- Name: specimen; Type: TABLE; Schema: public; Owner: -; Tablespace: |
|
2263 |
-- Name: specimenreplicate; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
|
2264 | 2264 |
-- |
2265 | 2265 |
|
2266 |
CREATE TABLE specimen ( |
|
2267 |
specimen_id integer NOT NULL, |
|
2266 |
CREATE TABLE specimenreplicate (
|
|
2267 |
specimenreplicate_id integer NOT NULL,
|
|
2268 | 2268 |
reference_id integer NOT NULL, |
2269 | 2269 |
collectioncode_dwc character varying(255), |
2270 | 2270 |
catalognumber_dwc character varying(255), |
... | ... | |
2279 | 2279 |
|
2280 | 2280 |
|
2281 | 2281 |
-- |
2282 |
-- Name: TABLE specimen; Type: COMMENT; Schema: public; Owner: - |
|
2282 |
-- Name: TABLE specimenreplicate; Type: COMMENT; Schema: public; Owner: -
|
|
2283 | 2283 |
-- |
2284 | 2284 |
|
2285 |
COMMENT ON TABLE specimen IS 'A herbarium specimen. Contains Darwin Core specimen data.';
|
|
2285 |
COMMENT ON TABLE specimenreplicate IS 'A herbarium specimenreplicate. Contains Darwin Core specimenreplicate data.';
|
|
2286 | 2286 |
|
2287 | 2287 |
|
2288 | 2288 |
-- |
2289 |
-- Name: COLUMN specimen.collectioncode_dwc; Type: COMMENT; Schema: public; Owner: - |
|
2289 |
-- Name: COLUMN specimenreplicate.collectioncode_dwc; Type: COMMENT; Schema: public; Owner: -
|
|
2290 | 2290 |
-- |
2291 | 2291 |
|
2292 |
COMMENT ON COLUMN specimen.collectioncode_dwc IS 'The code for the collection that the specimen is from.';
|
|
2292 |
COMMENT ON COLUMN specimenreplicate.collectioncode_dwc IS 'The code for the collection that the specimenreplicate is from.';
|
|
2293 | 2293 |
|
2294 | 2294 |
|
2295 | 2295 |
-- |
2296 |
-- Name: COLUMN specimen.collectionnumber; Type: COMMENT; Schema: public; Owner: - |
|
2296 |
-- Name: COLUMN specimenreplicate.collectionnumber; Type: COMMENT; Schema: public; Owner: -
|
|
2297 | 2297 |
-- |
2298 | 2298 |
|
2299 |
COMMENT ON COLUMN specimen.collectionnumber IS 'The number of the specimen within the collection.';
|
|
2299 |
COMMENT ON COLUMN specimenreplicate.collectionnumber IS 'The number of the specimenreplicate within the collection.';
|
|
2300 | 2300 |
|
2301 | 2301 |
|
2302 | 2302 |
-- |
2303 |
-- Name: specimen_specimen_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
2303 |
-- Name: specimenreplicate_specimenreplicate_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
2304 | 2304 |
-- |
2305 | 2305 |
|
2306 |
CREATE SEQUENCE specimen_specimen_id_seq
|
|
2306 |
CREATE SEQUENCE specimenreplicate_specimenreplicate_id_seq
|
|
2307 | 2307 |
START WITH 1 |
2308 | 2308 |
INCREMENT BY 1 |
2309 | 2309 |
NO MINVALUE |
... | ... | |
2312 | 2312 |
|
2313 | 2313 |
|
2314 | 2314 |
-- |
2315 |
-- Name: specimen_specimen_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
2315 |
-- Name: specimenreplicate_specimenreplicate_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
2316 | 2316 |
-- |
2317 | 2317 |
|
2318 |
ALTER SEQUENCE specimen_specimen_id_seq OWNED BY specimen.specimen_id;
|
|
2318 |
ALTER SEQUENCE specimenreplicate_specimenreplicate_id_seq OWNED BY specimenreplicate.specimenreplicate_id;
|
|
2319 | 2319 |
|
2320 | 2320 |
|
2321 | 2321 |
SET default_with_oids = true; |
... | ... | |
3187 | 3187 |
CREATE TABLE voucher ( |
3188 | 3188 |
voucher_id integer NOT NULL, |
3189 | 3189 |
taxonoccurrence_id integer NOT NULL, |
3190 |
specimen_id integer NOT NULL, |
|
3190 |
specimenreplicate_id integer NOT NULL,
|
|
3191 | 3191 |
accessioncode character varying(255) |
3192 | 3192 |
); |
3193 | 3193 |
|
... | ... | |
3611 | 3611 |
|
3612 | 3612 |
|
3613 | 3613 |
-- |
3614 |
-- Name: specimen_id; Type: DEFAULT; Schema: public; Owner: - |
|
3614 |
-- Name: specimenreplicate_id; Type: DEFAULT; Schema: public; Owner: -
|
|
3615 | 3615 |
-- |
3616 | 3616 |
|
3617 |
ALTER TABLE specimen ALTER COLUMN specimen_id SET DEFAULT nextval('specimen_specimen_id_seq'::regclass);
|
|
3617 |
ALTER TABLE specimenreplicate ALTER COLUMN specimenreplicate_id SET DEFAULT nextval('specimenreplicate_specimenreplicate_id_seq'::regclass);
|
|
3618 | 3618 |
|
3619 | 3619 |
|
3620 | 3620 |
-- |
... | ... | |
4387 | 4387 |
|
4388 | 4388 |
|
4389 | 4389 |
-- |
4390 |
-- Name: specimen_keys_accessioncode; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: |
|
4390 |
-- Name: specimenreplicate_keys_accessioncode; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
4391 | 4391 |
-- |
4392 | 4392 |
|
4393 |
ALTER TABLE ONLY specimen |
|
4394 |
ADD CONSTRAINT specimen_keys_accessioncode UNIQUE (reference_id, collectioncode_dwc, sourceaccessioncode); |
|
4393 |
ALTER TABLE ONLY specimenreplicate
|
|
4394 |
ADD CONSTRAINT specimenreplicate_keys_accessioncode UNIQUE (reference_id, collectioncode_dwc, sourceaccessioncode);
|
|
4395 | 4395 |
|
4396 | 4396 |
|
4397 | 4397 |
-- |
4398 |
-- Name: specimen_keys_catalognumber; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: |
|
4398 |
-- Name: specimenreplicate_keys_catalognumber; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
4399 | 4399 |
-- |
4400 | 4400 |
|
4401 |
ALTER TABLE ONLY specimen |
|
4402 |
ADD CONSTRAINT specimen_keys_catalognumber UNIQUE (reference_id, collectioncode_dwc, catalognumber_dwc); |
|
4401 |
ALTER TABLE ONLY specimenreplicate
|
|
4402 |
ADD CONSTRAINT specimenreplicate_keys_catalognumber UNIQUE (reference_id, collectioncode_dwc, catalognumber_dwc);
|
|
4403 | 4403 |
|
4404 | 4404 |
|
4405 | 4405 |
-- |
4406 |
-- Name: specimen_keys_collectionnumber; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: |
|
4406 |
-- Name: specimenreplicate_keys_collectionnumber; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
4407 | 4407 |
-- |
4408 | 4408 |
|
4409 |
ALTER TABLE ONLY specimen |
|
4410 |
ADD CONSTRAINT specimen_keys_collectionnumber UNIQUE (reference_id, collectioncode_dwc, collectionnumber); |
|
4409 |
ALTER TABLE ONLY specimenreplicate
|
|
4410 |
ADD CONSTRAINT specimenreplicate_keys_collectionnumber UNIQUE (reference_id, collectioncode_dwc, collectionnumber);
|
|
4411 | 4411 |
|
4412 | 4412 |
|
4413 | 4413 |
-- |
4414 |
-- Name: specimen_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: |
|
4414 |
-- Name: specimenreplicate_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
4415 | 4415 |
-- |
4416 | 4416 |
|
4417 |
ALTER TABLE ONLY specimen |
|
4418 |
ADD CONSTRAINT specimen_pkey PRIMARY KEY (specimen_id);
|
|
4417 |
ALTER TABLE ONLY specimenreplicate
|
|
4418 |
ADD CONSTRAINT specimenreplicate_pkey PRIMARY KEY (specimenreplicate_id);
|
|
4419 | 4419 |
|
4420 | 4420 |
|
4421 | 4421 |
-- |
4422 |
-- Name: specimen_taxonoccurrence_id_1_to_1; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: |
|
4422 |
-- Name: specimenreplicate_taxonoccurrence_id_1_to_1; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
4423 | 4423 |
-- |
4424 | 4424 |
|
4425 |
ALTER TABLE ONLY specimen |
|
4426 |
ADD CONSTRAINT specimen_taxonoccurrence_id_1_to_1 UNIQUE (taxonoccurrence_id); |
|
4425 |
ALTER TABLE ONLY specimenreplicate
|
|
4426 |
ADD CONSTRAINT specimenreplicate_taxonoccurrence_id_1_to_1 UNIQUE (taxonoccurrence_id);
|
|
4427 | 4427 |
|
4428 | 4428 |
|
4429 | 4429 |
-- |
... | ... | |
4639 | 4639 |
-- |
4640 | 4640 |
|
4641 | 4641 |
ALTER TABLE ONLY voucher |
4642 |
ADD CONSTRAINT voucher_keys UNIQUE (taxonoccurrence_id, specimen_id); |
|
4642 |
ADD CONSTRAINT voucher_keys UNIQUE (taxonoccurrence_id, specimenreplicate_id);
|
|
4643 | 4643 |
|
4644 | 4644 |
|
4645 | 4645 |
-- |
... | ... | |
5043 | 5043 |
|
5044 | 5044 |
|
5045 | 5045 |
-- |
5046 |
-- Name: fki_specimen_museum_id; Type: INDEX; Schema: public; Owner: -; Tablespace: |
|
5046 |
-- Name: fki_specimenreplicate_museum_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
5047 | 5047 |
-- |
5048 | 5048 |
|
5049 |
CREATE INDEX fki_specimen_museum_id ON specimen USING btree (museum_id);
|
|
5049 |
CREATE INDEX fki_specimenreplicate_museum_id ON specimenreplicate USING btree (museum_id);
|
|
5050 | 5050 |
|
5051 | 5051 |
|
5052 | 5052 |
-- |
5053 |
-- Name: fki_specimen_reference_id_fkey; Type: INDEX; Schema: public; Owner: -; Tablespace: |
|
5053 |
-- Name: fki_specimenreplicate_reference_id_fkey; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
5054 | 5054 |
-- |
5055 | 5055 |
|
5056 |
CREATE INDEX fki_specimen_reference_id_fkey ON specimen USING btree (reference_id);
|
|
5056 |
CREATE INDEX fki_specimenreplicate_reference_id_fkey ON specimenreplicate USING btree (reference_id);
|
|
5057 | 5057 |
|
5058 | 5058 |
|
5059 | 5059 |
-- |
... | ... | |
6574 | 6574 |
|
6575 | 6575 |
|
6576 | 6576 |
-- |
6577 |
-- Name: specimen_museum_id; Type: FK CONSTRAINT; Schema: public; Owner: - |
|
6577 |
-- Name: specimenreplicate_museum_id; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
6578 | 6578 |
-- |
6579 | 6579 |
|
6580 |
ALTER TABLE ONLY specimen |
|
6581 |
ADD CONSTRAINT specimen_museum_id FOREIGN KEY (museum_id) REFERENCES party(party_id) ON UPDATE CASCADE ON DELETE CASCADE; |
|
6580 |
ALTER TABLE ONLY specimenreplicate
|
|
6581 |
ADD CONSTRAINT specimenreplicate_museum_id FOREIGN KEY (museum_id) REFERENCES party(party_id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
6582 | 6582 |
|
6583 | 6583 |
|
6584 | 6584 |
-- |
6585 |
-- Name: specimen_reference_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - |
|
6585 |
-- Name: specimenreplicate_reference_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
6586 | 6586 |
-- |
6587 | 6587 |
|
6588 |
ALTER TABLE ONLY specimen |
|
6589 |
ADD CONSTRAINT specimen_reference_id_fkey FOREIGN KEY (reference_id) REFERENCES reference(reference_id) ON UPDATE CASCADE ON DELETE CASCADE; |
|
6588 |
ALTER TABLE ONLY specimenreplicate
|
|
6589 |
ADD CONSTRAINT specimenreplicate_reference_id_fkey FOREIGN KEY (reference_id) REFERENCES reference(reference_id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
6590 | 6590 |
|
6591 | 6591 |
|
6592 | 6592 |
-- |
6593 |
-- Name: specimen_taxonoccurrence_id; Type: FK CONSTRAINT; Schema: public; Owner: - |
|
6593 |
-- Name: specimenreplicate_taxonoccurrence_id; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
6594 | 6594 |
-- |
6595 | 6595 |
|
6596 |
ALTER TABLE ONLY specimen |
|
6597 |
ADD CONSTRAINT specimen_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id) REFERENCES taxonoccurrence(taxonoccurrence_id) ON UPDATE CASCADE ON DELETE CASCADE; |
|
6596 |
ALTER TABLE ONLY specimenreplicate
|
|
6597 |
ADD CONSTRAINT specimenreplicate_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id) REFERENCES taxonoccurrence(taxonoccurrence_id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
6598 | 6598 |
|
6599 | 6599 |
|
6600 | 6600 |
-- |
... | ... | |
6830 | 6830 |
|
6831 | 6831 |
|
6832 | 6832 |
-- |
6833 |
-- Name: voucher_specimen_id; Type: FK CONSTRAINT; Schema: public; Owner: - |
|
6833 |
-- Name: voucher_specimenreplicate_id; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
6834 | 6834 |
-- |
6835 | 6835 |
|
6836 | 6836 |
ALTER TABLE ONLY voucher |
6837 |
ADD CONSTRAINT voucher_specimen_id FOREIGN KEY (specimen_id) REFERENCES specimen(specimen_id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
6837 |
ADD CONSTRAINT voucher_specimenreplicate_id FOREIGN KEY (specimenreplicate_id) REFERENCES specimenreplicate(specimenreplicate_id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
6838 | 6838 |
|
6839 | 6839 |
|
6840 | 6840 |
-- |
mappings/SALVIAS_db-VegBIEN.organisms.csv | ||
---|---|---|
14 | 14 |
Habit,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=habit]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait." |
15 | 15 |
Ind,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=individualCode]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot." |
16 | 16 |
DetType,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=voucherType]]:[@fkey=tableRecord_ID]/definedvalue","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." |
17 |
coll_number,/specimen:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string |
|
18 |
census_date,/specimen:[*_id/reference]/collectiondate/_*/date, |
|
19 |
coll_firstname,/specimen:[*_id/reference]/verbatimcollectorname/_name/first,Brad: See comment above |
|
20 |
coll_lastname,/specimen:[*_id/reference]/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick." |
|
17 |
coll_number,/specimenreplicate:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
|
|
18 |
census_date,/specimenreplicate:[*_id/reference]/collectiondate/_*/date,
|
|
19 |
coll_firstname,/specimenreplicate:[*_id/reference]/verbatimcollectorname/_name/first,Brad: See comment above
|
|
20 |
coll_lastname,/specimenreplicate:[*_id/reference]/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
|
|
21 | 21 |
auth,"/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Authority]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname",Brad: Incorrect. This is the author of the scientificName. The should be a place for this in the taxonomic name elements of VegB and VegX. Let's discuss. |
22 | 22 |
Family,"/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname", |
23 | 23 |
Genus,"/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Genus]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname", |
... | ... | |
28 | 28 |
Notes,"/taxondetermination[*_id/role/rolecode=identifier,!*_id/plantconcept]:[determinationtype=Author,iscurrent=true]/notes", |
29 | 29 |
OrigFamily,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT |
30 | 30 |
OrigSpecies,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT |
31 |
PlotObsID,"/{aggregateoccurrence/individualplant/authorplantcode,specimen:[*_id/reference]/sourceaccessioncode}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later." |
|
31 |
PlotObsID,"/{aggregateoccurrence/individualplant/authorplantcode,specimenreplicate:[*_id/reference]/sourceaccessioncode}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later." |
mappings/VegX-VegBIEN.organisms.csv | ||
---|---|---|
89 | 89 |
/simpleUserdefined[name=habit]/value,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=habit]]:[@fkey=tableRecord_ID]/definedvalue" |
90 | 90 |
/simpleUserdefined[name=individualCode]/value,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=individualCode]]:[@fkey=tableRecord_ID]/definedvalue" |
91 | 91 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/groupType","/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=voucherType]]:[@fkey=tableRecord_ID]/definedvalue" |
92 |
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/authorCode,/specimen:[*_id/reference]/catalognumber_dwc |
|
93 |
/simpleUserdefined[name=collectionDate]/value,/specimen:[*_id/reference]/collectiondate |
|
94 |
/simpleUserdefined[name=collectionDate]/value/_*/date,/specimen:[*_id/reference]/collectiondate/_*/date |
|
95 |
/simpleUserdefined[name=collectorNumberDwc]/value,/specimen:[*_id/reference]/collectornumber_dwc |
|
96 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}",/specimen:[*_id/reference]/verbatimcollectorname |
|
97 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",/specimen:[*_id/reference]/verbatimcollectorname/_name/first |
|
98 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/surName",/specimen:[*_id/reference]/verbatimcollectorname/_name/last |
|
99 |
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName,"/specimen:[*_id/reference]/{museum_id/party/organizationname,collectioncode_dwc/_namePart/last}" |
|
100 |
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/first,/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/first} |
|
101 |
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/last,"/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/last,collectioncode_dwc}" |
|
92 |
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/authorCode,/specimenreplicate:[*_id/reference]/catalognumber_dwc
|
|
93 |
/simpleUserdefined[name=collectionDate]/value,/specimenreplicate:[*_id/reference]/collectiondate
|
|
94 |
/simpleUserdefined[name=collectionDate]/value/_*/date,/specimenreplicate:[*_id/reference]/collectiondate/_*/date
|
|
95 |
/simpleUserdefined[name=collectorNumberDwc]/value,/specimenreplicate:[*_id/reference]/collectornumber_dwc
|
|
96 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}",/specimenreplicate:[*_id/reference]/verbatimcollectorname
|
|
97 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",/specimenreplicate:[*_id/reference]/verbatimcollectorname/_name/first
|
|
98 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/surName",/specimenreplicate:[*_id/reference]/verbatimcollectorname/_name/last
|
|
99 |
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName,"/specimenreplicate:[*_id/reference]/{museum_id/party/organizationname,collectioncode_dwc/_namePart/last}"
|
|
100 |
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/first,/specimenreplicate:[*_id/reference]/{museum_id/party/organizationname/_name/first}
|
|
101 |
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/last,"/specimenreplicate:[*_id/reference]/{museum_id/party/organizationname/_name/last,collectioncode_dwc}"
|
|
102 | 102 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=auth])/Name","/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Authority]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname" |
103 | 103 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=fam])/Name","/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname" |
104 | 104 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=gen])/Name","/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Genus]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname" |
... | ... | |
124 | 124 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/Name","/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname" |
125 | 125 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=phyl_div])/Name","/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Subkingdom]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname" |
126 | 126 |
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=ssp])/Name","/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Subspecies]/*_id/plantconcept/*_id/*/plantname" |
127 |
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/voucher,"/{aggregateoccurrence/individualplant/authorplantcode,specimen:[*_id/reference]/sourceaccessioncode}" |
|
127 |
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/voucher,"/{aggregateoccurrence/individualplant/authorplantcode,specimenreplicate:[*_id/reference]/sourceaccessioncode}" |
mappings/for_review/SALVIAS_db-VegBIEN.organisms.csv | ||
---|---|---|
14 | 14 |
Habit,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=habit]]/definedvalue","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait." |
15 | 15 |
Ind,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=individualCode]]/definedvalue","Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot." |
16 | 16 |
DetType,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=voucherType]]/definedvalue","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." |
17 |
coll_number,//specimen/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string |
|
18 |
census_date,//specimen/collectiondate/_*/date, |
|
19 |
coll_firstname,//specimen/verbatimcollectorname/_name/first,Brad: See comment above |
|
20 |
coll_lastname,//specimen/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick." |
|
17 |
coll_number,//specimenreplicate/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
|
|
18 |
census_date,//specimenreplicate/collectiondate/_*/date,
|
|
19 |
coll_firstname,//specimenreplicate/verbatimcollectorname/_name/first,Brad: See comment above
|
|
20 |
coll_lastname,//specimenreplicate/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
|
|
21 | 21 |
auth,"/taxondetermination[rolecode=computer,plantlevel=Authority]/*_id/plantconcept/*_id/*/plantname",Brad: Incorrect. This is the author of the scientificName. The should be a place for this in the taxonomic name elements of VegB and VegX. Let's discuss. |
22 | 22 |
Family,"/taxondetermination[rolecode=computer,plantlevel=Family]/*_id/plantconcept/*_id/*/plantname", |
23 | 23 |
Genus,"/taxondetermination[rolecode=computer,plantlevel=Genus]/*_id/plantconcept/*_id/*/plantname", |
... | ... | |
28 | 28 |
Notes,/taxondetermination[rolecode=identifier]/notes, |
29 | 29 |
OrigFamily,"/taxondetermination[rolecode=identifier,plantlevel=Family]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT |
30 | 30 |
OrigSpecies,"/taxondetermination[rolecode=identifier,plantlevel=Species]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT |
31 |
PlotObsID,"/{aggregateoccurrence/individualplant/authorplantcode,specimen/sourceaccessioncode}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later." |
|
31 |
PlotObsID,"/{aggregateoccurrence/individualplant/authorplantcode,specimenreplicate/sourceaccessioncode}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later." |
mappings/for_review/VegX-VegBIEN.organisms.csv | ||
---|---|---|
89 | 89 |
/simpleUserdefined[name=habit]/value,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=habit]]/definedvalue" |
90 | 90 |
/simpleUserdefined[name=individualCode]/value,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=individualCode]]/definedvalue" |
91 | 91 |
//*s/taxonDetermination[role=collector]/groupType,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=voucherType]]/definedvalue" |
92 |
//taxonNameUsageConcept/authorCode,//specimen/catalognumber_dwc |
|
93 |
/simpleUserdefined[name=collectionDate]/value,//specimen/collectiondate |
|
94 |
/simpleUserdefined[name=collectionDate]/value/_*/date,//specimen/collectiondate/_*/date |
|
95 |
/simpleUserdefined[name=collectorNumberDwc]/value,//specimen/collectornumber_dwc |
|
96 |
"//parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}",//specimen/verbatimcollectorname |
|
97 |
//individualName/givenName,//specimen/verbatimcollectorname/_name/first |
|
98 |
//individualName/surName,//specimen/verbatimcollectorname/_name/last |
|
99 |
//party/organizationName,"/specimen/{museum_id/party/organizationname,collectioncode_dwc/_namePart/last}" |
|
100 |
//party/organizationName/_name/first,/specimen/{museum_id/party/organizationname/_name/first} |
|
101 |
//party/organizationName/_name/last,"/specimen/{museum_id/party/organizationname/_name/last,collectioncode_dwc}" |
|
92 |
//taxonNameUsageConcept/authorCode,//specimenreplicate/catalognumber_dwc
|
|
93 |
/simpleUserdefined[name=collectionDate]/value,//specimenreplicate/collectiondate
|
|
94 |
/simpleUserdefined[name=collectionDate]/value/_*/date,//specimenreplicate/collectiondate/_*/date
|
|
95 |
/simpleUserdefined[name=collectorNumberDwc]/value,//specimenreplicate/collectornumber_dwc
|
|
96 |
"//parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}",//specimenreplicate/verbatimcollectorname
|
|
97 |
//individualName/givenName,//specimenreplicate/verbatimcollectorname/_name/first
|
|
98 |
//individualName/surName,//specimenreplicate/verbatimcollectorname/_name/last
|
|
99 |
//party/organizationName,"/specimenreplicate/{museum_id/party/organizationname,collectioncode_dwc/_namePart/last}"
|
|
100 |
//party/organizationName/_name/first,/specimenreplicate/{museum_id/party/organizationname/_name/first}
|
|
101 |
//party/organizationName/_name/last,"/specimenreplicate/{museum_id/party/organizationname/_name/last,collectioncode_dwc}"
|
|
102 | 102 |
//*s/taxonConcept[@code=auth]/Name,"/taxondetermination[rolecode=computer,plantlevel=Authority]/*_id/plantconcept/*_id/*/plantname" |
103 | 103 |
//*s/taxonConcept[@code=fam]/Name,"/taxondetermination[rolecode=computer,plantlevel=Family]/*_id/plantconcept/*_id/*/plantname" |
104 | 104 |
//*s/taxonConcept[@code=gen]/Name,"/taxondetermination[rolecode=computer,plantlevel=Genus]/*_id/plantconcept/*_id/*/plantname" |
... | ... | |
124 | 124 |
//*s/taxonConcept[@code=sp]/Name,"/taxondetermination[rolecode=identifier,plantlevel=Species]/*_id/plantconcept/*_id/*/plantname" |
125 | 125 |
//*s/taxonConcept[@code=phyl_div]/Name,"/taxondetermination[rolecode=identifier,plantlevel=Subkingdom]/*_id/plantconcept/*_id/*/plantname" |
126 | 126 |
//*s/taxonConcept[@code=ssp]/Name,"/taxondetermination[rolecode=identifier,plantlevel=Subspecies]/*_id/plantconcept/*_id/*/plantname" |
127 |
//taxonNameUsageConcept/voucher,"/{aggregateoccurrence/individualplant/authorplantcode,specimen/sourceaccessioncode}" |
|
127 |
//taxonNameUsageConcept/voucher,"/{aggregateoccurrence/individualplant/authorplantcode,specimenreplicate/sourceaccessioncode}" |
mappings/for_review/NYBG-VegBIEN.organisms.csv | ||
---|---|---|
18 | 18 |
PlantFungusDescription,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=plantFungusDescription]]/definedvalue","Brad: Incorrect mapping to VB, also possibly to VX; this is the specimenDescription field, as used by this institution (NOT a standard DwC element). Very important! Bob, Nick, where would this go in VB and VX?" |
19 | 19 |
Substrate,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=substrate]]/definedvalue","Brad: Incorrect mapping to VB and VX; refers to geological substrate or soils where specimen collected. Often concatenated with habitat, or included with specimen description. Bob, Nick, is there an element for this in VB/VX, or shall we just use userDefined?" |
20 | 20 |
Vegetation,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=vegetation]]/definedvalue","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Habitat'. Bob, Nick: keep as user defined or create special element?" |
21 |
FieldNumber,//specimen/catalognumber_dwc,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?" |
|
22 |
CollectorNumber,//specimen/collectornumber_dwc,"Brad: OMIT; db-specific element, not relevant to VB/VX" |
|
23 |
Collector,//specimen/verbatimcollectorname,Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen? |
|
24 |
InstitutionCode,/specimen/{museum_id/party/organizationname/_name/first}, |
|
25 |
CollectionCode,"/specimen/{museum_id/party/organizationname/_name/last,collectioncode_dwc}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name |
|
21 |
FieldNumber,//specimenreplicate/catalognumber_dwc,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?"
|
|
22 |
CollectorNumber,//specimenreplicate/collectornumber_dwc,"Brad: OMIT; db-specific element, not relevant to VB/VX"
|
|
23 |
Collector,//specimenreplicate/verbatimcollectorname,Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen?
|
|
24 |
InstitutionCode,/specimenreplicate/{museum_id/party/organizationname/_name/first},
|
|
25 |
CollectionCode,"/specimenreplicate/{museum_id/party/organizationname/_name/last,collectioncode_dwc}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
|
|
26 | 26 |
Sex,"/taxondetermination[rolecode=identifier]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=sex]]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections" |
27 | 27 |
DayIdentified,/taxondetermination[rolecode=identifier]/determinationdate/_date/day, |
28 | 28 |
MonthIdentified,/taxondetermination[rolecode=identifier]/determinationdate/_date/month, |
... | ... | |
39 | 39 |
Species,"/taxondetermination[rolecode=identifier,plantlevel=Species]/*_id/plantconcept/*_id/*/plantname", |
40 | 40 |
Phylum,"/taxondetermination[rolecode=identifier,plantlevel=Subkingdom]/*_id/plantconcept/*_id/*/plantname", |
41 | 41 |
Subspecies,"/taxondetermination[rolecode=identifier,plantlevel=Subspecies]/*_id/plantconcept/*_id/*/plantname", |
42 |
UniqueNYInternalRecordNumber,"/{aggregateoccurrence/individualplant/authorplantcode,specimen/sourceaccessioncode}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key" |
|
42 |
UniqueNYInternalRecordNumber,"/{aggregateoccurrence/individualplant/authorplantcode,specimenreplicate/sourceaccessioncode}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key" |
mappings/for_review/SALVIAS-VegBIEN.organisms.csv | ||
---|---|---|
24 | 24 |
habit,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=habit]]/definedvalue","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait." |
25 | 25 |
individual_code,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=individualCode]]/definedvalue","Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot." |
26 | 26 |
det_type,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=voucherType]]/definedvalue","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." |
27 |
coll_number,//specimen/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string |
|
28 |
coll_firstname,//specimen/verbatimcollectorname/_name/first,Brad: See comment above |
|
29 |
coll_lastname,//specimen/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick." |
|
27 |
coll_number,//specimenreplicate/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
|
|
28 |
coll_firstname,//specimenreplicate/verbatimcollectorname/_name/first,Brad: See comment above
|
|
29 |
coll_lastname,//specimenreplicate/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
|
|
30 | 30 |
specific_authority,"/taxondetermination[rolecode=computer,plantlevel=Authority]/*_id/plantconcept/*_id/*/plantname",Brad: Incorrect. This is the author of the scientificName. The should be a place for this in the taxonomic name elements of VegB and VegX. Let's discuss. |
31 | 31 |
family,"/taxondetermination[rolecode=computer,plantlevel=Family]/*_id/plantconcept/*_id/*/plantname", |
32 | 32 |
genus,"/taxondetermination[rolecode=computer,plantlevel=Genus]/*_id/plantconcept/*_id/*/plantname", |
... | ... | |
37 | 37 |
notes,/taxondetermination[rolecode=identifier]/notes, |
38 | 38 |
orig_family,"/taxondetermination[rolecode=identifier,plantlevel=Family]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT |
39 | 39 |
orig_species,"/taxondetermination[rolecode=identifier,plantlevel=Species]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT |
40 |
OBSERVATION_ID,"/{aggregateoccurrence/individualplant/authorplantcode,specimen/sourceaccessioncode}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later." |
|
40 |
OBSERVATION_ID,"/{aggregateoccurrence/individualplant/authorplantcode,specimenreplicate/sourceaccessioncode}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later." |
mappings/NYBG-VegBIEN.organisms.csv | ||
---|---|---|
18 | 18 |
PlantFungusDescription,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=plantFungusDescription]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect mapping to VB, also possibly to VX; this is the specimenDescription field, as used by this institution (NOT a standard DwC element). Very important! Bob, Nick, where would this go in VB and VX?" |
19 | 19 |
Substrate,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=substrate]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect mapping to VB and VX; refers to geological substrate or soils where specimen collected. Often concatenated with habitat, or included with specimen description. Bob, Nick, is there an element for this in VB/VX, or shall we just use userDefined?" |
20 | 20 |
Vegetation,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=vegetation]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Habitat'. Bob, Nick: keep as user defined or create special element?" |
21 |
FieldNumber,/specimen:[*_id/reference]/catalognumber_dwc,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?" |
|
22 |
CollectorNumber,/specimen:[*_id/reference]/collectornumber_dwc,"Brad: OMIT; db-specific element, not relevant to VB/VX" |
|
23 |
Collector,/specimen:[*_id/reference]/verbatimcollectorname,Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen? |
|
24 |
InstitutionCode,/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/first}, |
|
25 |
CollectionCode,"/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/last,collectioncode_dwc}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name |
|
21 |
FieldNumber,/specimenreplicate:[*_id/reference]/catalognumber_dwc,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?"
|
|
22 |
CollectorNumber,/specimenreplicate:[*_id/reference]/collectornumber_dwc,"Brad: OMIT; db-specific element, not relevant to VB/VX"
|
|
23 |
Collector,/specimenreplicate:[*_id/reference]/verbatimcollectorname,Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen?
|
|
24 |
InstitutionCode,/specimenreplicate:[*_id/reference]/{museum_id/party/organizationname/_name/first},
|
|
25 |
CollectionCode,"/specimenreplicate:[*_id/reference]/{museum_id/party/organizationname/_name/last,collectioncode_dwc}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
|
|
26 | 26 |
Sex,"/taxondetermination[*_id/role/rolecode=identifier,!*_id/plantconcept]/definedvalue[*_id/userdefined[tablename=taxondetermination,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" |
27 | 27 |
DayIdentified,"/taxondetermination[*_id/role/rolecode=identifier,!*_id/plantconcept]/determinationdate/_date/day", |
28 | 28 |
MonthIdentified,"/taxondetermination[*_id/role/rolecode=identifier,!*_id/plantconcept]/determinationdate/_date/month", |
... | ... | |
39 | 39 |
Species,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname", |
40 | 40 |
Phylum,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Subkingdom]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname", |
41 | 41 |
Subspecies,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Subspecies]/*_id/plantconcept/*_id/*/plantname", |
42 |
UniqueNYInternalRecordNumber,"/{aggregateoccurrence/individualplant/authorplantcode,specimen:[*_id/reference]/sourceaccessioncode}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key" |
|
42 |
UniqueNYInternalRecordNumber,"/{aggregateoccurrence/individualplant/authorplantcode,specimenreplicate:[*_id/reference]/sourceaccessioncode}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key" |
mappings/SALVIAS-VegBIEN.organisms.csv | ||
---|---|---|
24 | 24 |
habit,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=habit]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait." |
25 | 25 |
individual_code,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=individualCode]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot." |
26 | 26 |
det_type,"/definedvalue[*_id/userdefined[tablename=taxonoccurrence,userdefinedname=voucherType]]:[@fkey=tableRecord_ID]/definedvalue","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." |
27 |
coll_number,/specimen:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string |
|
28 |
coll_firstname,/specimen:[*_id/reference]/verbatimcollectorname/_name/first,Brad: See comment above |
|
29 |
coll_lastname,/specimen:[*_id/reference]/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick." |
|
27 |
coll_number,/specimenreplicate:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
|
|
28 |
coll_firstname,/specimenreplicate:[*_id/reference]/verbatimcollectorname/_name/first,Brad: See comment above
|
|
29 |
coll_lastname,/specimenreplicate:[*_id/reference]/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
|
|
30 | 30 |
specific_authority,"/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Authority]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname",Brad: Incorrect. This is the author of the scientificName. The should be a place for this in the taxonomic name elements of VegB and VegX. Let's discuss. |
31 | 31 |
family,"/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname", |
32 | 32 |
genus,"/taxondetermination[*_id/role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Genus]:[determinationtype=""Computer (automated)"",iscurrent=true]/*_id/plantconcept/*_id/*/plantname", |
... | ... | |
37 | 37 |
notes,"/taxondetermination[*_id/role/rolecode=identifier,!*_id/plantconcept]:[determinationtype=Author,iscurrent=true]/notes", |
38 | 38 |
orig_family,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT |
39 | 39 |
orig_species,"/taxondetermination[*_id/role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,isoriginal=true,iscurrent=true]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT |
40 |
OBSERVATION_ID,"/{aggregateoccurrence/individualplant/authorplantcode,specimen:[*_id/reference]/sourceaccessioncode}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later." |
|
40 |
OBSERVATION_ID,"/{aggregateoccurrence/individualplant/authorplantcode,specimenreplicate:[*_id/reference]/sourceaccessioncode}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later." |
Also available in: Unified diff
VegBIEN: Renamed specimen to specimenreplicate