Project

General

Profile

« Previous | Next » 

Revision 5673

inputs/test_taxonomic_names/_scrub/public.sql, TNRS.sql: Regenerated with schema changes

View differences:

inputs/test_taxonomic_names/_scrub/TNRS.sql
84 84
--
85 85

  
86 86
COPY tnrs ("Name_number", "Name_submitted", "Overall_score", "Name_matched", "Name_matched_rank", "Name_score", "Name_matched_author", "Name_matched_url", "Author_matched", "Author_score", "Family_matched", "Family_score", "Name_matched_accepted_family", "Genus_matched", "Genus_score", "Specific_epithet_matched", "Specific_epithet_score", "Infraspecific_rank", "Infraspecific_epithet_matched", "Infraspecific_epithet_score", "Infraspecific_rank_2", "Infraspecific_epithet_2_matched", "Infraspecific_epithet_2_score", "Annotations", "Unmatched_terms", "Taxonomic_status", "Accepted_name", "Accepted_name_author", "Accepted_name_rank", "Accepted_name_url", "Accepted_name_species", "Accepted_name_family", "Selected", "Source", "Warnings", "Accepted_name_lsid") FROM stdin;
87
1	Poa annua L.	1	Poa annua	species	1	L.	http://www.tropicos.org/Name/25509881;http://plants.usda.gov/java/profile?symbol=POAN	L.	1	\N	\N	Poaceae	Poa	1	annua	1	\N	\N	\N	\N	\N	\N	\N	\N	Accepted	Poa annua	L.	species	http://www.tropicos.org/Name/25509881;http://plants.usda.gov/java/profile?symbol=POAN	Poa annua	Poaceae	true	tropicos;usda	\N	\N
88
1	Poa annua var. annua	1	Poa annua var. annua	variety	1	\N	http://www.tropicos.org/Name/25517736	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	var.	annua	1	\N	\N	\N	\N	\N	Accepted	Poa annua var. annua	\N	variety	http://www.tropicos.org/Name/25517736	Poa annua	Poaceae	true	tropicos	\N	\N
89
2	Poa infirma Kunth	1	Poa infirma	species	1	Kunth	http://www.tropicos.org/Name/25514158;http://plants.usda.gov/java/profile?symbol=POIN30	Kunth	1	\N	\N	Poaceae	Poa	1	infirma	1	\N	\N	\N	\N	\N	\N	\N	\N	Accepted	Poa infirma	Kunth	species	http://www.tropicos.org/Name/25514158;http://plants.usda.gov/java/profile?symbol=POIN30	Poa infirma	Poaceae	true	tropicos;usda	\N	\N
87
7	Poa annua L.	1	Poa annua	species	1	L.	http://www.tropicos.org/Name/25509881;http://plants.usda.gov/java/profile?symbol=POAN	L.	1	\N	\N	Poaceae	Poa	1	annua	1	\N	\N	\N	\N	\N	\N	\N	\N	Accepted	Poa annua	L.	species	http://www.tropicos.org/Name/25509881;http://plants.usda.gov/java/profile?symbol=POAN	Poa annua	Poaceae	true	tropicos;usda	\N	\N
88
2	Poa annua var. annua	1	Poa annua var. annua	variety	1	\N	http://www.tropicos.org/Name/25517736	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	var.	annua	1	\N	\N	\N	\N	\N	Accepted	Poa annua var. annua	\N	variety	http://www.tropicos.org/Name/25517736	Poa annua	Poaceae	true	tropicos	\N	\N
89
3	Poa infirma Kunth	1	Poa infirma	species	1	Kunth	http://www.tropicos.org/Name/25514158;http://plants.usda.gov/java/profile?symbol=POIN30	Kunth	1	\N	\N	Poaceae	Poa	1	infirma	1	\N	\N	\N	\N	\N	\N	\N	\N	Accepted	Poa infirma	Kunth	species	http://www.tropicos.org/Name/25514158;http://plants.usda.gov/java/profile?symbol=POIN30	Poa infirma	Poaceae	true	tropicos;usda	\N	\N
90 90
0	Asteraceae Bercht. & J. Presl	0.4	Asteraceae	family	0.5	\N	http://compositae.landcareresearch.co.nz/default.aspx;http://plants.usda.gov/java/nameSearch	\N	\N	Asteraceae	1	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	Bercht. & J. Presl	Accepted	Asteraceae	\N	family	http://compositae.landcareresearch.co.nz/default.aspx;http://plants.usda.gov/java/nameSearch	\N	\N	true	gcc;usda	[Partial match]	\N
91
14	Compositae indet. sp.1	0.9	Compositae	family	1	Giseke	http://www.tropicos.org/Name/50255940	\N	\N	Compositae	1	Compositae	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	indet. sp.1	Synonym	Asteraceae	Bercht. & J. Presl	family	http://www.tropicos.org/Name/50307371	\N	Asteraceae	true	tropicos	\N	\N
92
12	Fabaceae Boyle#6500	0.9	Fabaceae	family	1	Lindl.	http://www.tropicos.org/Name/42000184	\N	\N	Fabaceae	1	Fabaceae	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	Boyle#6500	Accepted	Fabaceae	Lindl.	family	http://www.tropicos.org/Name/42000184	\N	Fabaceae	true	tropicos	\N	\N
93
10	Fabaceae Inga "fuzzy leaf"	0.9	Inga	genus	1	Mill.	http://www.tropicos.org/Name/40031040	\N	\N	Fabaceae	1	Fabaceae	Inga	1	\N	\N	\N	\N	\N	\N	\N	\N	\N	"fuzzy leaf"	Accepted	Inga	Mill.	genus	http://www.tropicos.org/Name/40031040	\N	Fabaceae	true	tropicos	\N	\N
94
9	Fabaceae Inga sp.3	0.9	Inga	genus	1	Mill.	http://www.tropicos.org/Name/40031040	\N	\N	Fabaceae	1	Fabaceae	Inga	1	\N	\N	\N	\N	\N	\N	\N	\N	\N	sp.3	Accepted	Inga	Mill.	genus	http://www.tropicos.org/Name/40031040	\N	Fabaceae	true	tropicos	\N	\N
95
11	Fabaceae unknown #2	0.9	Fabaceae	family	1	Lindl.	http://www.tropicos.org/Name/42000184	\N	\N	Fabaceae	1	Fabaceae	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	unknown #2	Accepted	Fabaceae	Lindl.	family	http://www.tropicos.org/Name/42000184	\N	Fabaceae	true	tropicos	\N	\N
96
0	Poa annua	1	Poa annua	species	1	L.	http://www.tropicos.org/Name/25509881;http://plants.usda.gov/java/profile?symbol=POAN	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	\N	\N	\N	\N	\N	\N	\N	\N	Accepted	Poa annua	L.	species	http://www.tropicos.org/Name/25509881;http://plants.usda.gov/java/profile?symbol=POAN	Poa annua	Poaceae	true	tropicos;usda	\N	\N
97
6	Poa annua fo. lanuginosa	1	Poa annua fo. lanuginosa	forma	1	Sennen	http://www.tropicos.org/Name/50267771	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	fo.	lanuginosa	1	\N	\N	\N	\N	\N	Synonym	Poa annua var. annua	\N	variety	http://www.tropicos.org/Name/25517736	Poa annua	Poaceae	true	tropicos	\N	\N
98
4	Poa annua ssp. exilis	1	Poa annua subsp. exilis	subspecies	1	(Tomm. ex Freyn) Asch. & Graebn.	http://www.tropicos.org/Name/50063800	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	subsp.	exilis	1	\N	\N	\N	\N	\N	Synonym	Poa infirma	Kunth	species	http://www.tropicos.org/Name/25514158	Poa infirma	Poaceae	true	tropicos	\N	\N
99
3	Poa annua subsp. exilis	1	Poa annua subsp. exilis	subspecies	1	(Tomm. ex Freyn) Asch. & Graebn.	http://www.tropicos.org/Name/50063800	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	subsp.	exilis	1	\N	\N	\N	\N	\N	Synonym	Poa infirma	Kunth	species	http://www.tropicos.org/Name/25514158	Poa infirma	Poaceae	true	tropicos	\N	\N
100
5	Poa annua subvar. minima	1	Poa annua subvar. minima	subvariety	1	(Schur) Asch. & Graebn.	http://www.tropicos.org/Name/50158097	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	subvar.	minima	1	\N	\N	\N	\N	\N	Accepted	Poa annua subvar. minima	(Schur) Asch. & Graebn.	subvariety	http://www.tropicos.org/Name/50158097	Poa annua	Poaceae	true	tropicos	\N	\N
101
2	Poa annua var. eriolepis	1	Poa annua var. eriolepis	variety	1	E. Desv.	http://www.tropicos.org/Name/50119145	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	var.	eriolepis	1	\N	\N	\N	\N	\N	Synonym	Poa annua	L.	species	http://www.tropicos.org/Name/25509881	Poa annua	Poaceae	true	tropicos	\N	\N
102
8	Silene scouleri Hook. subsp. pringlei (S. Watson) C.L. Hitchc. & Maguire var. grisea C.L. Hitchc. & Maguire	0.77	Silene scouleri subsp. pringlei	subspecies	0.77	(S. Watson) C.L. Hitchc. & Maguire	http://www.tropicos.org/Name/6303627	\N	\N	\N	\N	Caryophyllaceae	Silene	1	scouleri	1	subsp.	pringlei	1	\N	\N	\N	\N	var. grisea	Accepted	Silene scouleri subsp. pringlei	(S. Watson) C.L. Hitchc. & Maguire	subspecies	http://www.tropicos.org/Name/6303627	Silene scouleri	Caryophyllaceae	true	tropicos	[Partial match]	\N
103
7	Silene scouleri subsp. pringlei var. grisea C.L. Hitchc. & Maguire	0.77	Silene scouleri subsp. pringlei	subspecies	0.77	(S. Watson) C.L. Hitchc. & Maguire	http://www.tropicos.org/Name/6303627	\N	\N	\N	\N	Caryophyllaceae	Silene	1	scouleri	1	subsp.	pringlei	1	\N	\N	\N	\N	var. grisea	Accepted	Silene scouleri subsp. pringlei	(S. Watson) C.L. Hitchc. & Maguire	subspecies	http://www.tropicos.org/Name/6303627	Silene scouleri	Caryophyllaceae	true	tropicos	[Partial match]	\N
104
13	Fam_indet. Boyle#6501	0	No suitable matches found.	\N	0	\N	\N	\N	0	\N	0	\N	\N	0	\N	0	\N	\N	0	\N	\N	0	\N	\N	\N	\N	\N	\N	\N	\N	\N	true	\N	\N	\N
105
3	No suitable matches found.	0	No suitable matches found.	\N	0	\N	\N	\N	0	\N	0	\N	\N	0	\N	0	\N	\N	0	\N	\N	0	\N	\N	\N	\N	\N	\N	\N	\N	\N	true	\N	\N	\N
91
0	Compositae indet. sp.1	0.9	Compositae	family	1	Giseke	http://www.tropicos.org/Name/50255940	\N	\N	Compositae	1	Compositae	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	indet. sp.1	Synonym	Asteraceae	Bercht. & J. Presl	family	http://www.tropicos.org/Name/50307371	\N	Asteraceae	true	tropicos	\N	\N
92
1	Fabaceae Boyle#6500	0.9	Fabaceae	family	1	Lindl.	http://www.tropicos.org/Name/42000184	\N	\N	Fabaceae	1	Fabaceae	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	Boyle#6500	Accepted	Fabaceae	Lindl.	family	http://www.tropicos.org/Name/42000184	\N	Fabaceae	true	tropicos	\N	\N
93
2	Fabaceae Inga "fuzzy leaf"	0.9	Inga	genus	1	Mill.	http://www.tropicos.org/Name/40031040	\N	\N	Fabaceae	1	Fabaceae	Inga	1	\N	\N	\N	\N	\N	\N	\N	\N	\N	"fuzzy leaf"	Accepted	Inga	Mill.	genus	http://www.tropicos.org/Name/40031040	\N	Fabaceae	true	tropicos	\N	\N
94
3	Fabaceae Inga sp.3	0.9	Inga	genus	1	Mill.	http://www.tropicos.org/Name/40031040	\N	\N	Fabaceae	1	Fabaceae	Inga	1	\N	\N	\N	\N	\N	\N	\N	\N	\N	sp.3	Accepted	Inga	Mill.	genus	http://www.tropicos.org/Name/40031040	\N	Fabaceae	true	tropicos	\N	\N
95
4	Fabaceae unknown #2	0.9	Fabaceae	family	1	Lindl.	http://www.tropicos.org/Name/42000184	\N	\N	Fabaceae	1	Fabaceae	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	unknown #2	Accepted	Fabaceae	Lindl.	family	http://www.tropicos.org/Name/42000184	\N	Fabaceae	true	tropicos	\N	\N
96
6	Poa annua	1	Poa annua	species	1	L.	http://www.tropicos.org/Name/25509881;http://plants.usda.gov/java/profile?symbol=POAN	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	\N	\N	\N	\N	\N	\N	\N	\N	Accepted	Poa annua	L.	species	http://www.tropicos.org/Name/25509881;http://plants.usda.gov/java/profile?symbol=POAN	Poa annua	Poaceae	true	tropicos;usda	\N	\N
97
8	Poa annua fo. lanuginosa	1	Poa annua fo. lanuginosa	forma	1	Sennen	http://www.tropicos.org/Name/50267771	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	fo.	lanuginosa	1	\N	\N	\N	\N	\N	Synonym	Poa annua var. annua	\N	variety	http://www.tropicos.org/Name/25517736	Poa annua	Poaceae	true	tropicos	\N	\N
98
9	Poa annua ssp. exilis	1	Poa annua subsp. exilis	subspecies	1	(Tomm. ex Freyn) Asch. & Graebn.	http://www.tropicos.org/Name/50063800	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	subsp.	exilis	1	\N	\N	\N	\N	\N	Synonym	Poa infirma	Kunth	species	http://www.tropicos.org/Name/25514158	Poa infirma	Poaceae	true	tropicos	\N	\N
99
10	Poa annua subsp. exilis	1	Poa annua subsp. exilis	subspecies	1	(Tomm. ex Freyn) Asch. & Graebn.	http://www.tropicos.org/Name/50063800	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	subsp.	exilis	1	\N	\N	\N	\N	\N	Synonym	Poa infirma	Kunth	species	http://www.tropicos.org/Name/25514158	Poa infirma	Poaceae	true	tropicos	\N	\N
100
11	Poa annua subvar. minima	1	Poa annua subvar. minima	subvariety	1	(Schur) Asch. & Graebn.	http://www.tropicos.org/Name/50158097	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	subvar.	minima	1	\N	\N	\N	\N	\N	Accepted	Poa annua subvar. minima	(Schur) Asch. & Graebn.	subvariety	http://www.tropicos.org/Name/50158097	Poa annua	Poaceae	true	tropicos	\N	\N
101
12	Poa annua var. eriolepis	1	Poa annua var. eriolepis	variety	1	E. Desv.	http://www.tropicos.org/Name/50119145	\N	\N	\N	\N	Poaceae	Poa	1	annua	1	var.	eriolepis	1	\N	\N	\N	\N	\N	Synonym	Poa annua	L.	species	http://www.tropicos.org/Name/25509881	Poa annua	Poaceae	true	tropicos	\N	\N
102
13	Silene scouleri Hook. subsp. pringlei (S. Watson) C.L. Hitchc. & Maguire var. grisea C.L. Hitchc. & Maguire	0.77	Silene scouleri subsp. pringlei	subspecies	0.77	(S. Watson) C.L. Hitchc. & Maguire	http://www.tropicos.org/Name/6303627	\N	\N	\N	\N	Caryophyllaceae	Silene	1	scouleri	1	subsp.	pringlei	1	\N	\N	\N	\N	var. grisea	Accepted	Silene scouleri subsp. pringlei	(S. Watson) C.L. Hitchc. & Maguire	subspecies	http://www.tropicos.org/Name/6303627	Silene scouleri	Caryophyllaceae	true	tropicos	[Partial match]	\N
103
14	Silene scouleri subsp. pringlei var. grisea C.L. Hitchc. & Maguire	0.77	Silene scouleri subsp. pringlei	subspecies	0.77	(S. Watson) C.L. Hitchc. & Maguire	http://www.tropicos.org/Name/6303627	\N	\N	\N	\N	Caryophyllaceae	Silene	1	scouleri	1	subsp.	pringlei	1	\N	\N	\N	\N	var. grisea	Accepted	Silene scouleri subsp. pringlei	(S. Watson) C.L. Hitchc. & Maguire	subspecies	http://www.tropicos.org/Name/6303627	Silene scouleri	Caryophyllaceae	true	tropicos	[Partial match]	\N
104
5	Fam_indet. Boyle#6501	0	No suitable matches found.	\N	0	\N	\N	\N	0	\N	0	\N	\N	0	\N	0	\N	\N	0	\N	\N	0	\N	\N	\N	\N	\N	\N	\N	\N	\N	true	\N	\N	\N
105
1	No suitable matches found.	0	No suitable matches found.	\N	0	\N	\N	\N	0	\N	0	\N	\N	0	\N	0	\N	\N	0	\N	\N	0	\N	\N	\N	\N	\N	\N	\N	\N	\N	true	\N	\N	\N
106 106
\.
107 107

  
108 108

  
inputs/test_taxonomic_names/_scrub/public.sql
31 31
-- Name: TYPE establishmentmeans_dwc; Type: COMMENT; Schema: public; Owner: bien
32 32
--
33 33

  
34
COMMENT ON TYPE establishmentmeans_dwc IS 'See http://rs.tdwg.org/dwc/terms/#establishmentMeans';
34
COMMENT ON TYPE establishmentmeans_dwc IS 'See <http://rs.tdwg.org/dwc/terms/#establishmentMeans>';
35 35

  
36 36

  
37 37
--
......
213 213
ALTER TYPE public.rankedtaxonname OWNER TO bien;
214 214

  
215 215
--
216
-- Name: relationship; Type: TYPE; Schema: public; Owner: bien
217
--
218

  
219
CREATE TYPE relationship AS ENUM (
220
    'is congruent to',
221
    'is not congruent to',
222
    'is included in',
223
    'is not included in',
224
    'overlaps',
225
    'does not overlap',
226
    'is child taxon of',
227
    'is anamorph of',
228
    'is teleomorph of',
229
    'is hybrid child of',
230
    'is ambiregnal of',
231
    'is vernacular for'
232
);
233

  
234

  
235
ALTER TYPE public.relationship OWNER TO bien;
236

  
237
--
216 238
-- Name: role; Type: TYPE; Schema: public; Owner: bien
217 239
--
218 240

  
......
268 290

  
269 291

  
270 292
--
293
-- Name: taxonomic_status; Type: TYPE; Schema: public; Owner: bien
294
--
295

  
296
CREATE TYPE taxonomic_status AS ENUM (
297
    'No opinion',
298
    'Accepted',
299
    'Synonym',
300
    'Illegitimate',
301
    'Invalid'
302
);
303

  
304

  
305
ALTER TYPE public.taxonomic_status OWNER TO bien;
306

  
307
--
308
-- Name: TYPE taxonomic_status; Type: COMMENT; Schema: public; Owner: bien
309
--
310

  
311
COMMENT ON TYPE taxonomic_status IS 'See <http://tnrs.iplantcollaborative.org/instructions.html#Status>';
312

  
313

  
314
--
271 315
-- Name: _fraction_to_percent(double precision); Type: FUNCTION; Schema: public; Owner: bien
272 316
--
273 317

  
......
281 325
ALTER FUNCTION public._fraction_to_percent(value double precision) OWNER TO bien;
282 326

  
283 327
--
284
-- Name: _taxonconcept_set_matched_concept_id(integer, integer, double precision); Type: FUNCTION; Schema: public; Owner: bien
328
-- Name: _taxonlabel_set_matched_label_id(integer, integer, double precision); Type: FUNCTION; Schema: public; Owner: bien
285 329
--
286 330

  
287
CREATE FUNCTION _taxonconcept_set_matched_concept_id(taxonconcept_id integer, matched_concept_id integer, matched_concept_fit_fraction double precision DEFAULT NULL::double precision) RETURNS integer
331
CREATE FUNCTION _taxonlabel_set_matched_label_id(taxonlabel_id integer, matched_label_id integer, matched_label_fit_fraction double precision DEFAULT NULL::double precision) RETURNS integer
288 332
    LANGUAGE sql
289 333
    AS $_$
290
UPDATE taxonconcept SET
291
  matched_concept_id = $2
292
, matched_concept_fit_fraction = $3
293
WHERE taxonconcept_id = $1
294
RETURNING taxonconcept_id
334
UPDATE taxonlabel SET
335
  matched_label_id = $2
336
, matched_label_fit_fraction = $3
337
WHERE taxonlabel_id = $1
338
RETURNING taxonlabel_id
295 339
$_$;
296 340

  
297 341

  
298
ALTER FUNCTION public._taxonconcept_set_matched_concept_id(taxonconcept_id integer, matched_concept_id integer, matched_concept_fit_fraction double precision) OWNER TO bien;
342
ALTER FUNCTION public._taxonlabel_set_matched_label_id(taxonlabel_id integer, matched_label_id integer, matched_label_fit_fraction double precision) OWNER TO bien;
299 343

  
300 344
--
301
-- Name: _taxonconcept_set_parent_id(integer, integer); Type: FUNCTION; Schema: public; Owner: bien
345
-- Name: _taxonlabel_set_parent_id(integer, integer); Type: FUNCTION; Schema: public; Owner: bien
302 346
--
303 347

  
304
CREATE FUNCTION _taxonconcept_set_parent_id(taxonconcept_id integer, parent_id integer) RETURNS integer
348
CREATE FUNCTION _taxonlabel_set_parent_id(taxonlabel_id integer, parent_id integer) RETURNS integer
305 349
    LANGUAGE sql
306 350
    AS $_$
307
UPDATE taxonconcept SET parent_id = $2 WHERE taxonconcept_id = $1
308
RETURNING taxonconcept_id
351
UPDATE taxonlabel SET parent_id = $2 WHERE taxonlabel_id = $1
352
RETURNING taxonlabel_id
309 353
$_$;
310 354

  
311 355

  
312
ALTER FUNCTION public._taxonconcept_set_parent_id(taxonconcept_id integer, parent_id integer) OWNER TO bien;
356
ALTER FUNCTION public._taxonlabel_set_parent_id(taxonlabel_id integer, parent_id integer) OWNER TO bien;
313 357

  
314 358
--
315 359
-- Name: make_analytical_db(); Type: FUNCTION; Schema: public; Owner: bien
......
438 482
ALTER FUNCTION public.plantobservation_aggregateoccurrence_count_1() OWNER TO bien;
439 483

  
440 484
--
441
-- Name: taxonconcept_0_matched_concept_id_self_ref(); Type: FUNCTION; Schema: public; Owner: bien
485
-- Name: taxonlabel_0_matched_label_id_self_ref(); Type: FUNCTION; Schema: public; Owner: bien
442 486
--
443 487

  
444
CREATE FUNCTION taxonconcept_0_matched_concept_id_self_ref() RETURNS trigger
488
CREATE FUNCTION taxonlabel_0_matched_label_id_self_ref() RETURNS trigger
445 489
    LANGUAGE plpgsql
446 490
    AS $$
447 491
BEGIN
448
    IF new.taxonconcept_id IS NULL THEN -- prepopulate taxonconcept_id
449
        new.taxonconcept_id = nextval('taxonconcept_taxonconcept_id_seq'::regclass);
492
    IF new.taxonlabel_id IS NULL THEN -- prepopulate taxonlabel_id
493
        new.taxonlabel_id = nextval('taxonlabel_taxonlabel_id_seq'::regclass);
450 494
    END IF;
451
    IF new.matched_concept_id = 0 THEN -- make self-reference
452
        new.matched_concept_id = new.taxonconcept_id;
495
    IF new.matched_label_id = 0 THEN -- make self-reference
496
        new.matched_label_id = new.taxonlabel_id;
453 497
    END IF;
454 498
    RETURN new;
455 499
END;
456 500
$$;
457 501

  
458 502

  
459
ALTER FUNCTION public.taxonconcept_0_matched_concept_id_self_ref() OWNER TO bien;
503
ALTER FUNCTION public.taxonlabel_0_matched_label_id_self_ref() OWNER TO bien;
460 504

  
461 505
--
462
-- Name: taxonconcept_1_matched_concept_min_fit(); Type: FUNCTION; Schema: public; Owner: bien
506
-- Name: taxonlabel_1_matched_label_min_fit(); Type: FUNCTION; Schema: public; Owner: bien
463 507
--
464 508

  
465
CREATE FUNCTION taxonconcept_1_matched_concept_min_fit() RETURNS trigger
509
CREATE FUNCTION taxonlabel_1_matched_label_min_fit() RETURNS trigger
466 510
    LANGUAGE plpgsql
467 511
    AS $$
468 512
BEGIN
469
    IF new.matched_concept_id IS NOT NULL
470
        AND new.matched_concept_fit_fraction < 0.8 THEN -- insufficient match
471
        new.matched_concept_id = NULL;
472
        new.matched_concept_fit_fraction = NULL;
513
    IF new.matched_label_id IS NOT NULL
514
        AND new.matched_label_fit_fraction < 0.8 THEN -- insufficient match
515
        new.matched_label_id = NULL;
516
        new.matched_label_fit_fraction = NULL;
473 517
    END IF;
474 518
    RETURN new;
475 519
END;
476 520
$$;
477 521

  
478 522

  
479
ALTER FUNCTION public.taxonconcept_1_matched_concept_min_fit() OWNER TO bien;
523
ALTER FUNCTION public.taxonlabel_1_matched_label_min_fit() OWNER TO bien;
480 524

  
481 525
--
482
-- Name: taxonconcept_2_propagate_accepted_concept_id(); Type: FUNCTION; Schema: public; Owner: bien
526
-- Name: taxonlabel_2_set_canon_label_id(); Type: FUNCTION; Schema: public; Owner: bien
483 527
--
484 528

  
485
CREATE FUNCTION taxonconcept_2_propagate_accepted_concept_id() RETURNS trigger
529
CREATE FUNCTION taxonlabel_2_set_canon_label_id() RETURNS trigger
486 530
    LANGUAGE plpgsql
487 531
    AS $$
488 532
BEGIN
489
    IF new.matched_concept_id IS NOT NULL THEN
490
        IF new.matched_concept_id = new.taxonconcept_id THEN -- self-reference
491
            new.accepted_concept_id = new.taxonconcept_id;-- make self-reference
492
        ELSE -- propagate from matched concept
493
            new.accepted_concept_id = (
494
                SELECT accepted_concept_id
495
                FROM taxonconcept
496
                WHERE taxonconcept_id = new.matched_concept_id
533
    IF new.matched_label_id IS NOT NULL THEN
534
        IF new.matched_label_id = new.taxonlabel_id THEN -- self-reference
535
            new.canon_label_id = new.taxonlabel_id; -- make self-reference
536
        ELSE -- propagate from matched label
537
            new.canon_label_id = (
538
                SELECT canon_label_id
539
                FROM taxonlabel
540
                WHERE taxonlabel_id = new.matched_label_id
497 541
            );
498 542
        END IF;
499 543
        
500
        -- Update accepted_concept_id on concepts that resolve to this concept
501
        UPDATE taxonconcept
502
        SET accepted_concept_id = new.accepted_concept_id
503
        WHERE matched_concept_id = new.taxonconcept_id
504
        AND taxonconcept_id != new.taxonconcept_id -- avoid infinite recursion
544
        -- Update canon_label_id on labels that resolve to this label
545
        UPDATE taxonlabel
546
        SET canon_label_id = new.canon_label_id
547
        WHERE matched_label_id = new.taxonlabel_id
548
        AND taxonlabel_id != new.taxonlabel_id -- avoid infinite recursion
505 549
        ;
550
    ELSE -- no matched taxonlabel
551
        new.canon_label_id = new.taxonlabel_id; -- make self-reference
506 552
    END IF;
507 553
    RETURN new;
508 554
END;
509 555
$$;
510 556

  
511 557

  
512
ALTER FUNCTION public.taxonconcept_2_propagate_accepted_concept_id() OWNER TO bien;
558
ALTER FUNCTION public.taxonlabel_2_set_canon_label_id() OWNER TO bien;
513 559

  
514 560
--
515
-- Name: taxonconcept_3_parent_id_avoid_self_ref(); Type: FUNCTION; Schema: public; Owner: bien
561
-- Name: taxonlabel_3_parent_id_avoid_self_ref(); Type: FUNCTION; Schema: public; Owner: bien
516 562
--
517 563

  
518
CREATE FUNCTION taxonconcept_3_parent_id_avoid_self_ref() RETURNS trigger
564
CREATE FUNCTION taxonlabel_3_parent_id_avoid_self_ref() RETURNS trigger
519 565
    LANGUAGE plpgsql
520 566
    AS $$
521 567
BEGIN
522
    new.parent_id = nullif(new.parent_id, new.taxonconcept_id);
568
    new.parent_id = nullif(new.parent_id, new.taxonlabel_id);
523 569
    RETURN new;
524 570
END;
525 571
$$;
526 572

  
527 573

  
528
ALTER FUNCTION public.taxonconcept_3_parent_id_avoid_self_ref() OWNER TO bien;
574
ALTER FUNCTION public.taxonlabel_3_parent_id_avoid_self_ref() OWNER TO bien;
529 575

  
530 576
SET default_tablespace = '';
531 577

  
532 578
SET default_with_oids = false;
533 579

  
534 580
--
535
-- Name: taxonconcept; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
581
-- Name: taxonlabel; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
536 582
--
537 583

  
538
CREATE TABLE taxonconcept (
539
    taxonconcept_id integer NOT NULL,
584
CREATE TABLE taxonlabel (
585
    taxonlabel_id integer NOT NULL,
540 586
    creator_id integer NOT NULL,
541 587
    sourceaccessioncode text,
542 588
    creationdate date,
543
    accepted_concept_id integer,
544
    matched_concept_id integer,
545
    matched_concept_fit_fraction double precision,
589
    taxonstatus taxonomic_status,
590
    canon_label_id integer,
591
    matched_label_id integer,
592
    matched_label_fit_fraction double precision,
546 593
    parent_id integer,
547 594
    taxonepithet text,
548 595
    rank taxonrank,
549
    verbatimrank text,
550
    identifyingtaxonomicname text,
551 596
    taxonomicname text,
552
    author text,
553
    taxonomicnamewithauthor text,
554
    family text,
555
    genus text,
556
    species text,
557
    description text,
558 597
    accessioncode text,
559
    CONSTRAINT taxonconcept_matched_concept_fit_fraction_range CHECK (((matched_concept_fit_fraction >= (0)::double precision) AND (matched_concept_fit_fraction <= (1)::double precision))),
560
    CONSTRAINT taxonconcept_required_key CHECK (((((((sourceaccessioncode IS NOT NULL) OR (taxonepithet IS NOT NULL)) OR (identifyingtaxonomicname IS NOT NULL)) OR (taxonomicname IS NOT NULL)) OR (taxonomicnamewithauthor IS NOT NULL)) OR ((parent_id IS NOT NULL) AND ((creationdate IS NOT NULL) OR (author IS NOT NULL)))))
598
    CONSTRAINT taxonlabel_matched_label_fit_fraction_range CHECK (((matched_label_fit_fraction >= (0)::double precision) AND (matched_label_fit_fraction <= (1)::double precision))),
599
    CONSTRAINT taxonlabel_required_key CHECK (((taxonepithet IS NOT NULL) OR (taxonomicname IS NOT NULL)))
561 600
);
562 601

  
563 602

  
564
ALTER TABLE public.taxonconcept OWNER TO bien;
603
ALTER TABLE public.taxonlabel OWNER TO bien;
565 604

  
566 605
--
567
-- Name: TABLE taxonconcept; Type: COMMENT; Schema: public; Owner: bien
606
-- Name: TABLE taxonlabel; Type: COMMENT; Schema: public; Owner: bien
568 607
--
569 608

  
570
COMMENT ON TABLE taxonconcept IS 'A taxon concept defined by an entity. Can be at any level in the taxonomic hierarchy. Can be either verbatim or accepted.
609
COMMENT ON TABLE taxonlabel IS 'A taxon label defined by an entity. Can be at any level in the taxonomic hierarchy. Can be either verbatim or accepted.
571 610

  
572 611
"A taxon (plural: taxa) is a group of one (or more) populations of organism(s), which a taxonomist adjudges to be a unit" (http://en.wikipedia.org/wiki/Taxon)
573 612

  
574
Note that taxonepithet stores only one rank (e.g. family) of the full taxonomic name. The higher-level ranks are stored in the taxon concept''s chain of parent_id ancestors.
613
Note that taxonepithet stores only one rank (e.g. family) of the full taxonomic name. The higher-level ranks are stored in the taxon label''s chain of parent_id ancestors.
575 614

  
576
To include a taxon name at a rank with no explicit column, create a parent taxonconcept for it and point to it using parent_id. To include multiple such names, chain the taxonconcepts together using parent_id. Note that lower-level taxa should point to higher-level taxa.
577

  
578 615
Equivalent to VegBank''s plantConcept and plantName tables, plus plantParent_ID and plantLevel from plantStatus.';
579 616

  
580 617

  
581 618
--
582
-- Name: COLUMN taxonconcept.creator_id; Type: COMMENT; Schema: public; Owner: bien
619
-- Name: COLUMN taxonlabel.creator_id; Type: COMMENT; Schema: public; Owner: bien
583 620
--
584 621

  
585
COMMENT ON COLUMN taxonconcept.creator_id IS 'The entity that created the taxon concept. This is the concept reference for a taxon concept with an "according to", or the identifier''s name for a nominal concept.
622
COMMENT ON COLUMN taxonlabel.creator_id IS 'The entity that created the taxon label.';
586 623

  
587
Equivalent to "Name sec. x".';
588 624

  
589

  
590 625
--
591
-- Name: COLUMN taxonconcept.sourceaccessioncode; Type: COMMENT; Schema: public; Owner: bien
626
-- Name: COLUMN taxonlabel.sourceaccessioncode; Type: COMMENT; Schema: public; Owner: bien
592 627
--
593 628

  
594
COMMENT ON COLUMN taxonconcept.sourceaccessioncode IS 'The datasource''s identifier for the taxonconcept.';
629
COMMENT ON COLUMN taxonlabel.sourceaccessioncode IS 'The datasource''s identifier for the taxonlabel.';
595 630

  
596 631

  
597 632
--
598
-- Name: COLUMN taxonconcept.creationdate; Type: COMMENT; Schema: public; Owner: bien
633
-- Name: COLUMN taxonlabel.creationdate; Type: COMMENT; Schema: public; Owner: bien
599 634
--
600 635

  
601
COMMENT ON COLUMN taxonconcept.creationdate IS 'The date the taxonconcept was created or defined. For a taxonconcept applied in a taxondetermination, this is the date the determination was made.';
636
COMMENT ON COLUMN taxonlabel.creationdate IS 'The date the taxonlabel was created or defined. For a taxonlabel applied in a taxondetermination, this is the date the determination was made.';
602 637

  
603 638

  
604 639
--
605
-- Name: COLUMN taxonconcept.accepted_concept_id; Type: COMMENT; Schema: public; Owner: bien
640
-- Name: COLUMN taxonlabel.canon_label_id; Type: COMMENT; Schema: public; Owner: bien
606 641
--
607 642

  
608
COMMENT ON COLUMN taxonconcept.accepted_concept_id IS 'The accepted synonym of the taxonconcept.';
643
COMMENT ON COLUMN taxonlabel.canon_label_id IS 'The canonical taxonlabel for this taxonlabel.';
609 644

  
610 645

  
611 646
--
612
-- Name: COLUMN taxonconcept.matched_concept_id; Type: COMMENT; Schema: public; Owner: bien
647
-- Name: COLUMN taxonlabel.matched_label_id; Type: COMMENT; Schema: public; Owner: bien
613 648
--
614 649

  
615
COMMENT ON COLUMN taxonconcept.matched_concept_id IS 'The taxonconcept containing the closest match to this taxonconcept. taxonconcepts should be linked in a four-level hierarchy of datasource concept -> parsed concept -> matched concept -> accepted concept. A previously-accepted name''s concept should be further linked to the synonym that has replaced it.
650
COMMENT ON COLUMN taxonlabel.matched_label_id IS 'The taxonlabel containing the closest match to this taxonlabel. taxonlabels should be linked in a four-level hierarchy of datasource label -> parsed label -> matched label -> accepted label. A previously-accepted name''s label should be further linked to the synonym that has replaced it.
616 651

  
617
To indicate a synonym between taxonconcepts of different sources, choose one taxonconcept to be authoritative and point the other taxonconcept to it using this field.
652
To indicate a synonym between taxonlabels of different sources, choose one taxonlabel to be authoritative and point the other taxonlabel to it using this field.
618 653

  
619 654
An accepted name should point to itself in this field. This will happen automatically by setting it to the special value 0.';
620 655

  
621 656

  
622 657
--
623
-- Name: COLUMN taxonconcept.matched_concept_fit_fraction; Type: COMMENT; Schema: public; Owner: bien
658
-- Name: COLUMN taxonlabel.matched_label_fit_fraction; Type: COMMENT; Schema: public; Owner: bien
624 659
--
625 660

  
626
COMMENT ON COLUMN taxonconcept.matched_concept_fit_fraction IS 'The closeness of fit of the matched_concept.';
661
COMMENT ON COLUMN taxonlabel.matched_label_fit_fraction IS 'The closeness of fit of the matched label.';
627 662

  
628 663

  
629 664
--
630
-- Name: COLUMN taxonconcept.parent_id; Type: COMMENT; Schema: public; Owner: bien
665
-- Name: COLUMN taxonlabel.parent_id; Type: COMMENT; Schema: public; Owner: bien
631 666
--
632 667

  
633
COMMENT ON COLUMN taxonconcept.parent_id IS 'The parent taxonconcept. Note that while a taxon *name* may have multiple parents, a taxon *concept* has only one, based on the creator''s opinion of where that taxonconcept goes in the taxonomic hierarchy.';
668
COMMENT ON COLUMN taxonlabel.parent_id IS 'The parent taxonlabel. Note that while a taxon *name* may have multiple parents, a taxonlabel *instance* has only one, based on the creator''s opinion of where that taxonlabel goes in the taxonomic hierarchy.';
634 669

  
635 670

  
636 671
--
637
-- Name: COLUMN taxonconcept.taxonepithet; Type: COMMENT; Schema: public; Owner: bien
672
-- Name: COLUMN taxonlabel.taxonepithet; Type: COMMENT; Schema: public; Owner: bien
638 673
--
639 674

  
640
COMMENT ON COLUMN taxonconcept.taxonepithet IS 'The epithet of the taxon within its parent taxon. This is the lowest-rank portion of this taxonconcept''s full taxonomic name, if it has one.
675
COMMENT ON COLUMN taxonlabel.taxonepithet IS 'The epithet of the taxon within its parent taxon. This is the lowest-rank portion of this taxonlabel''s full taxonomic name, if it has one.';
641 676

  
642
The morphospecies suffix goes in this field.';
643 677

  
644

  
645 678
--
646
-- Name: COLUMN taxonconcept.rank; Type: COMMENT; Schema: public; Owner: bien
679
-- Name: COLUMN taxonlabel.rank; Type: COMMENT; Schema: public; Owner: bien
647 680
--
648 681

  
649
COMMENT ON COLUMN taxonconcept.rank IS 'The taxonconcept''s level in the taxonomic hierarchy, standardized to a closed list. Even if you specify a custom verbatimrank, you should also specify a closest-match rank from the taxonrank closed list.';
682
COMMENT ON COLUMN taxonlabel.rank IS 'The taxon''s level in the taxonomic hierarchy, standardized to a closed list. Even if you specify a custom verbatimrank in taxonverbatim, you should also specify a closest-match rank from the taxonrank closed list.';
650 683

  
651 684

  
652 685
--
653
-- Name: COLUMN taxonconcept.verbatimrank; Type: COMMENT; Schema: public; Owner: bien
686
-- Name: COLUMN taxonlabel.taxonomicname; Type: COMMENT; Schema: public; Owner: bien
654 687
--
655 688

  
656
COMMENT ON COLUMN taxonconcept.verbatimrank IS 'The taxonconcept''s verbatim level in the taxonomic hierarchy. Does not need to be in the taxonrank closed list.';
689
COMMENT ON COLUMN taxonlabel.taxonomicname IS 'The concatenated taxonomic name which uniquely identifies this taxon, including the author of that name. Must be unique within the datasource.
657 690

  
658

  
659
--
660
-- Name: COLUMN taxonconcept.identifyingtaxonomicname; Type: COMMENT; Schema: public; Owner: bien
661
--
662

  
663
COMMENT ON COLUMN taxonconcept.identifyingtaxonomicname IS 'The taxonomic name that uniquely identifies this taxonconcept. If set, the other fields will not be used in duplicate elimination.';
664

  
665

  
666
--
667
-- Name: COLUMN taxonconcept.taxonomicname; Type: COMMENT; Schema: public; Owner: bien
668
--
669

  
670
COMMENT ON COLUMN taxonconcept.taxonomicname IS 'The concatenated taxonomic name which uniquely identifies this taxon. Does not include the author of the name.
671

  
672 691
Equivalent to Darwin Core''s scientificName.';
673 692

  
674 693

  
675 694
--
676
-- Name: COLUMN taxonconcept.author; Type: COMMENT; Schema: public; Owner: bien
695
-- Name: taxonlabel_update_ancestors(taxonlabel, integer); Type: FUNCTION; Schema: public; Owner: bien
677 696
--
678 697

  
679
COMMENT ON COLUMN taxonconcept.author IS 'The author of the taxonomic name.
680

  
681
Equivalent to Darwin Core''s scientificNameAuthorship.';
682

  
683

  
684
--
685
-- Name: COLUMN taxonconcept.taxonomicnamewithauthor; Type: COMMENT; Schema: public; Owner: bien
686
--
687

  
688
COMMENT ON COLUMN taxonconcept.taxonomicnamewithauthor IS 'The concatenated taxonomic name which uniquely identifies this taxon, plus the author of that name.
689

  
690
Equivalent to Darwin Core''s scientificName + scientificNameAuthorship.
691
Equivalent to "Name sec. x".';
692

  
693

  
694
--
695
-- Name: COLUMN taxonconcept.family; Type: COMMENT; Schema: public; Owner: bien
696
--
697

  
698
COMMENT ON COLUMN taxonconcept.family IS 'The family of the taxonomic name. This is a cached field for easy querying; the identifying version of this field is stored in the chain of parent_id ancestors.';
699

  
700

  
701
--
702
-- Name: COLUMN taxonconcept.genus; Type: COMMENT; Schema: public; Owner: bien
703
--
704

  
705
COMMENT ON COLUMN taxonconcept.genus IS 'The genus portion of the taxonomic name. This is a cached field for easy querying; the identifying version of this field is stored in the chain of parent_id ancestors.';
706

  
707

  
708
--
709
-- Name: COLUMN taxonconcept.species; Type: COMMENT; Schema: public; Owner: bien
710
--
711

  
712
COMMENT ON COLUMN taxonconcept.species IS 'The species portion of the taxonomic name. This is a cached field for easy querying; the identifying version of this field is stored in the chain of parent_id ancestors.';
713

  
714

  
715
--
716
-- Name: taxonconcept_update_ancestors(taxonconcept, integer); Type: FUNCTION; Schema: public; Owner: bien
717
--
718

  
719
CREATE FUNCTION taxonconcept_update_ancestors(new taxonconcept, old_parent_id integer DEFAULT NULL::integer) RETURNS void
698
CREATE FUNCTION taxonlabel_update_ancestors(new taxonlabel, old_parent_id integer DEFAULT NULL::integer) RETURNS void
720 699
    LANGUAGE plpgsql
721 700
    AS $$
722 701
DECLARE
723
    -- Use matched_concept_id's ancestors instead if available
724
    parent_id_ taxonconcept.taxonconcept_id%TYPE := COALESCE(
725
        NULLIF(new.matched_concept_id, new.taxonconcept_id), new.parent_id);
702
    -- Use matched_label_id's ancestors instead if available
703
    parent_id_ taxonlabel.taxonlabel_id%TYPE := COALESCE(
704
        NULLIF(new.matched_label_id, new.taxonlabel_id), new.parent_id);
726 705
BEGIN
727 706
    IF parent_id_ IS DISTINCT FROM old_parent_id THEN
728 707
        DECLARE
729 708
            -- These include the parent itself
730 709
            old_ancestors integer[] := (
731
                SELECT array_agg(ancestor_id) FROM taxonconcept_ancestor
710
                SELECT array_agg(ancestor_id) FROM taxonlabel_relationship
732 711
                WHERE descendant_id = old_parent_id
733 712
            );
734 713
            new_ancestors integer[] := (
735
                SELECT array_agg(ancestor_id) FROM taxonconcept_ancestor
714
                SELECT array_agg(ancestor_id) FROM taxonlabel_relationship
736 715
                WHERE descendant_id = parent_id_
737 716
            );
738
            descendant_id_ integer;
717
            descendant_id_ taxonlabel_relationship.descendant_id%TYPE;
718
            ancestor_id_ taxonlabel_relationship.ancestor_id%TYPE;
739 719
        BEGIN
740 720
            FOR descendant_id_ IN -- also includes self
741 721
                SELECT descendant_id
742
                FROM taxonconcept_ancestor
743
                WHERE ancestor_id = new.taxonconcept_id
722
                FROM taxonlabel_relationship
723
                WHERE ancestor_id = new.taxonlabel_id
744 724
            LOOP
745 725
                -- Delete old parent's ancestors
746
                DELETE FROM taxonconcept_ancestor
726
                DELETE FROM taxonlabel_relationship
747 727
                WHERE descendant_id = descendant_id_
748 728
                AND ancestor_id = ANY (old_ancestors)
749 729
                ;
750 730
                
751 731
                -- Add new parent's ancestors
752
                INSERT INTO taxonconcept_ancestor
753
                (descendant_id, ancestor_id)
754
                SELECT descendant_id_, unnest(new_ancestors)
755
                ;
732
                FOR ancestor_id_ IN
733
                    SELECT unnest(new_ancestors)
734
                LOOP
735
                    BEGIN
736
                        INSERT INTO taxonlabel_relationship
737
                        (descendant_id, ancestor_id)
738
                        SELECT descendant_id_, ancestor_id_
739
                        ;
740
                    EXCEPTION
741
                        WHEN unique_violation THEN
742
                            RAISE WARNING '%', SQLERRM;
743
                    END;
744
                END LOOP;
756 745
            END LOOP;
757 746
        END;
758 747
    END IF;
759 748
    
760 749
    /* Note: We don't need an ON DELETE trigger to update the descendants'
761 750
    ancestors when a node is deleted, because the
762
    taxonconcept_ancestor.ancestor_id foreign key is ON DELETE CASCADE. */
751
    taxonlabel_relationship.ancestor_id foreign key is ON DELETE CASCADE. */
763 752
END;
764 753
$$;
765 754

  
766 755

  
767
ALTER FUNCTION public.taxonconcept_update_ancestors(new taxonconcept, old_parent_id integer) OWNER TO bien;
756
ALTER FUNCTION public.taxonlabel_update_ancestors(new taxonlabel, old_parent_id integer) OWNER TO bien;
768 757

  
769 758
--
770
-- Name: taxonconcept_update_ancestors_on_insert(); Type: FUNCTION; Schema: public; Owner: bien
759
-- Name: taxonlabel_update_ancestors_on_insert(); Type: FUNCTION; Schema: public; Owner: bien
771 760
--
772 761

  
773
CREATE FUNCTION taxonconcept_update_ancestors_on_insert() RETURNS trigger
762
CREATE FUNCTION taxonlabel_update_ancestors_on_insert() RETURNS trigger
774 763
    LANGUAGE plpgsql
775 764
    AS $$
776 765
BEGIN
......
778 767
    don't have to separately test if the leaf node is the one you're looking
779 768
    for, in addition to that leaf node's ancestors. */
780 769
    INSERT
781
    INTO taxonconcept_ancestor
770
    INTO taxonlabel_relationship
782 771
    (descendant_id, ancestor_id)
783
    VALUES (new.taxonconcept_id, new.taxonconcept_id)
772
    VALUES (new.taxonlabel_id, new.taxonlabel_id)
784 773
    ;
785 774
    
786
    PERFORM taxonconcept_update_ancestors(new);
775
    PERFORM taxonlabel_update_ancestors(new);
787 776
    
788 777
    RETURN new;
789 778
END;
790 779
$$;
791 780

  
792 781

  
793
ALTER FUNCTION public.taxonconcept_update_ancestors_on_insert() OWNER TO bien;
782
ALTER FUNCTION public.taxonlabel_update_ancestors_on_insert() OWNER TO bien;
794 783

  
795 784
--
796
-- Name: taxonconcept_update_ancestors_on_update(); Type: FUNCTION; Schema: public; Owner: bien
785
-- Name: taxonlabel_update_ancestors_on_update(); Type: FUNCTION; Schema: public; Owner: bien
797 786
--
798 787

  
799
CREATE FUNCTION taxonconcept_update_ancestors_on_update() RETURNS trigger
788
CREATE FUNCTION taxonlabel_update_ancestors_on_update() RETURNS trigger
800 789
    LANGUAGE plpgsql
801 790
    AS $$
802 791
BEGIN
803
    PERFORM taxonconcept_update_ancestors(new, COALESCE(
804
        NULLIF(old.matched_concept_id, old.taxonconcept_id), old.parent_id));
792
    PERFORM taxonlabel_update_ancestors(new, COALESCE(
793
        NULLIF(old.matched_label_id, old.taxonlabel_id), old.parent_id));
805 794
    
806 795
    RETURN new;
807 796
END;
808 797
$$;
809 798

  
810 799

  
811
ALTER FUNCTION public.taxonconcept_update_ancestors_on_update() OWNER TO bien;
800
ALTER FUNCTION public.taxonlabel_update_ancestors_on_update() OWNER TO bien;
812 801

  
813 802
--
814 803
-- Name: concat(text); Type: AGGREGATE; Schema: public; Owner: bien
......
1518 1507
CREATE TABLE taxondetermination (
1519 1508
    taxondetermination_id integer NOT NULL,
1520 1509
    taxonoccurrence_id integer NOT NULL,
1521
    taxonconcept_id integer NOT NULL,
1510
    taxonverbatim_id integer NOT NULL,
1522 1511
    party_id integer,
1523 1512
    role role DEFAULT 'unknown'::role NOT NULL,
1524 1513
    determinationtype text,
......
1596 1585

  
1597 1586

  
1598 1587
--
1588
-- Name: taxonverbatim; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
1589
--
1590

  
1591
CREATE TABLE taxonverbatim (
1592
    taxonverbatim_id integer NOT NULL,
1593
    taxonlabel_id integer NOT NULL,
1594
    verbatimrank text,
1595
    taxonomicname text,
1596
    binomial text,
1597
    author text,
1598
    family text,
1599
    genus text,
1600
    species text,
1601
    morphospecies text,
1602
    description text
1603
);
1604

  
1605

  
1606
ALTER TABLE public.taxonverbatim OWNER TO bien;
1607

  
1608
--
1609
-- Name: TABLE taxonverbatim; Type: COMMENT; Schema: public; Owner: bien
1610
--
1611

  
1612
COMMENT ON TABLE taxonverbatim IS 'Component parts of the taxonlabel. Contains the datasource''s original taxonomic name components, as well as any parsed components produced by name resolution.';
1613

  
1614

  
1615
--
1616
-- Name: COLUMN taxonverbatim.verbatimrank; Type: COMMENT; Schema: public; Owner: bien
1617
--
1618

  
1619
COMMENT ON COLUMN taxonverbatim.verbatimrank IS 'The taxon''s verbatim level in the taxonomic hierarchy. Does not need to be in the taxonrank closed list.';
1620

  
1621

  
1622
--
1623
-- Name: COLUMN taxonverbatim.taxonomicname; Type: COMMENT; Schema: public; Owner: bien
1624
--
1625

  
1626
COMMENT ON COLUMN taxonverbatim.taxonomicname IS 'The concatenated taxonomic name which uniquely identifies this taxon, including the author of that name.
1627

  
1628
Equivalent to Darwin Core''s scientificName.';
1629

  
1630

  
1631
--
1632
-- Name: COLUMN taxonverbatim.binomial; Type: COMMENT; Schema: public; Owner: bien
1633
--
1634

  
1635
COMMENT ON COLUMN taxonverbatim.binomial IS 'The taxonomic name without the author.';
1636

  
1637

  
1638
--
1639
-- Name: COLUMN taxonverbatim.author; Type: COMMENT; Schema: public; Owner: bien
1640
--
1641

  
1642
COMMENT ON COLUMN taxonverbatim.author IS 'The author of the taxonomic name.
1643

  
1644
Equivalent to Darwin Core''s scientificNameAuthorship.';
1645

  
1646

  
1647
--
1648
-- Name: COLUMN taxonverbatim.family; Type: COMMENT; Schema: public; Owner: bien
1649
--
1650

  
1651
COMMENT ON COLUMN taxonverbatim.family IS 'The family of the taxonomic name. This is a cached field for easy querying; this should also be stored in taxonlabel at the appropriate rank.';
1652

  
1653

  
1654
--
1655
-- Name: COLUMN taxonverbatim.genus; Type: COMMENT; Schema: public; Owner: bien
1656
--
1657

  
1658
COMMENT ON COLUMN taxonverbatim.genus IS 'The genus portion of the taxonomic name. This is a cached field for easy querying; this should also be stored in taxonlabel at the appropriate rank.';
1659

  
1660

  
1661
--
1662
-- Name: COLUMN taxonverbatim.species; Type: COMMENT; Schema: public; Owner: bien
1663
--
1664

  
1665
COMMENT ON COLUMN taxonverbatim.species IS 'The species portion of the taxonomic name. This is a cached field for easy querying; this should also be stored in taxonlabel at the appropriate rank.';
1666

  
1667

  
1668
--
1669
-- Name: COLUMN taxonverbatim.morphospecies; Type: COMMENT; Schema: public; Owner: bien
1670
--
1671

  
1672
COMMENT ON COLUMN taxonverbatim.morphospecies IS 'The morphospecies suffix.';
1673

  
1674

  
1675
--
1599 1676
-- Name: analytical_db_view; Type: VIEW; Schema: public; Owner: bien
1600 1677
--
1601 1678

  
1602 1679
CREATE VIEW analytical_db_view AS
1603
    SELECT datasource.organizationname AS "dataSourceName", accepted_taxonconcept.family, accepted_taxonconcept.genus, accepted_taxonconcept.species, COALESCE(accepted_taxonconcept.taxonomicnamewithauthor, accepted_taxonconcept.taxonomicname) AS taxon, accepted_taxonconcept.author AS "taxonAuthor", accepted_taxonconcept.taxonepithet AS "taxonMorphospecies", placepath.country, placepath.stateprovince AS "stateProvince", placepath.county AS "countyParish", taxonoccurrence.verbatimcollectorname AS collector, plantobservation.collectionnumber AS "collectionNumber", array_to_string(ARRAY[identifiedby.givenname, identifiedby.middlename, identifiedby.surname], ' '::text) AS "identifiedBy", aggregateoccurrence.collectiondate AS "observationDate", location.authorlocationcode AS "plotCode", functions._m2_to_ha(location.area_m2) AS "plotAreaHa", method.name AS "plotMethod", locationcoords.latitude_deg AS latitude, locationcoords.longitude_deg AS longitude, location.elevation_m, taxonoccurrence.iscultivated AS "isCultivated", taxonoccurrence.cultivatedbasis AS "isCultivatedReason", _fraction_to_percent(aggregateoccurrence.cover_fraction) AS "pctCover" FROM ((((((((((((((location JOIN party datasource ON (((datasource.party_id = location.creator_id) AND (datasource.organizationname IS NOT NULL)))) LEFT JOIN locationcoords USING (location_id)) LEFT JOIN locationplace USING (location_id)) LEFT JOIN placepath USING (placepath_id)) JOIN locationevent USING (location_id)) LEFT JOIN method USING (method_id)) JOIN taxonoccurrence USING (locationevent_id)) JOIN taxondetermination USING (taxonoccurrence_id)) LEFT JOIN party identifiedby ON ((identifiedby.party_id = taxondetermination.party_id))) JOIN taxonconcept datasource_taxonconcept USING (taxonconcept_id)) JOIN taxonconcept accepted_taxonconcept ON ((accepted_taxonconcept.taxonconcept_id = datasource_taxonconcept.accepted_concept_id))) LEFT JOIN aggregateoccurrence USING (taxonoccurrence_id)) LEFT JOIN plantobservation USING (aggregateoccurrence_id)) LEFT JOIN specimenreplicate USING (plantobservation_id));
1680
    SELECT datasource.organizationname AS "dataSourceName", taxonverbatim.family, taxonverbatim.genus, taxonverbatim.species, COALESCE(taxonverbatim.taxonomicname, taxonverbatim.binomial) AS taxon, taxonverbatim.author AS "taxonAuthor", taxonverbatim.morphospecies AS "taxonMorphospecies", placepath.country, placepath.stateprovince AS "stateProvince", placepath.county AS "countyParish", taxonoccurrence.verbatimcollectorname AS collector, plantobservation.collectionnumber AS "collectionNumber", array_to_string(ARRAY[identifiedby.givenname, identifiedby.middlename, identifiedby.surname], ' '::text) AS "identifiedBy", aggregateoccurrence.collectiondate AS "observationDate", location.authorlocationcode AS "plotCode", functions._m2_to_ha(location.area_m2) AS "plotAreaHa", method.name AS "plotMethod", locationcoords.latitude_deg AS latitude, locationcoords.longitude_deg AS longitude, location.elevation_m, taxonoccurrence.iscultivated AS "isCultivated", taxonoccurrence.cultivatedbasis AS "isCultivatedReason", _fraction_to_percent(aggregateoccurrence.cover_fraction) AS "pctCover" FROM (((((((((((((((location JOIN party datasource ON (((datasource.party_id = location.creator_id) AND (datasource.organizationname IS NOT NULL)))) LEFT JOIN locationcoords USING (location_id)) LEFT JOIN locationplace USING (location_id)) LEFT JOIN placepath USING (placepath_id)) JOIN locationevent USING (location_id)) LEFT JOIN method USING (method_id)) JOIN taxonoccurrence USING (locationevent_id)) JOIN taxondetermination USING (taxonoccurrence_id)) LEFT JOIN party identifiedby ON ((identifiedby.party_id = taxondetermination.party_id))) JOIN taxonverbatim ON ((taxonverbatim.taxonlabel_id = taxondetermination.taxonverbatim_id))) JOIN taxonlabel datasource_taxonlabel USING (taxonlabel_id)) JOIN taxonlabel accepted_taxonlabel ON ((accepted_taxonlabel.taxonlabel_id = datasource_taxonlabel.canon_label_id))) LEFT JOIN aggregateoccurrence USING (taxonoccurrence_id)) LEFT JOIN plantobservation USING (aggregateoccurrence_id)) LEFT JOIN specimenreplicate USING (plantobservation_id));
1604 1681

  
1605 1682

  
1606 1683
ALTER TABLE public.analytical_db_view OWNER TO bien;
......
2499 2576
CREATE TABLE methodtaxonclass (
2500 2577
    methodtaxonclass_id integer NOT NULL,
2501 2578
    method_id integer NOT NULL,
2502
    taxonconcept_id integer,
2579
    taxonlabel_id integer,
2503 2580
    included boolean NOT NULL,
2504 2581
    submethod_id integer,
2505 2582
    taxonclass taxonclass,
2506
    CONSTRAINT methodtaxonclass_key_required CHECK (((taxonconcept_id IS NOT NULL) OR (taxonclass IS NOT NULL)))
2583
    CONSTRAINT methodtaxonclass_key_required CHECK (((taxonlabel_id IS NOT NULL) OR (taxonclass IS NOT NULL)))
2507 2584
);
2508 2585

  
2509 2586

  
......
3612 3689
CREATE TABLE taxonalt (
3613 3690
    taxonalt_id integer NOT NULL,
3614 3691
    taxondetermination_id integer NOT NULL,
3615
    taxonconcept_id integer NOT NULL,
3692
    taxonlabel_id integer NOT NULL,
3616 3693
    taxonaltfit text,
3617 3694
    taxonaltconfidence text,
3618 3695
    taxonaltnotes text
......
3650 3727

  
3651 3728

  
3652 3729
--
3653
-- Name: taxonconcept_ancestor; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
3730
-- Name: taxonconcept; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
3654 3731
--
3655 3732

  
3656
CREATE TABLE taxonconcept_ancestor (
3657
    descendant_id integer NOT NULL,
3658
    ancestor_id integer NOT NULL
3733
CREATE TABLE taxonconcept (
3734
    taxonlabel_id integer NOT NULL,
3735
    concept_reference_id integer
3659 3736
);
3660 3737

  
3661 3738

  
3662
ALTER TABLE public.taxonconcept_ancestor OWNER TO bien;
3739
ALTER TABLE public.taxonconcept OWNER TO bien;
3663 3740

  
3664 3741
--
3665
-- Name: TABLE taxonconcept_ancestor; Type: COMMENT; Schema: public; Owner: bien
3742
-- Name: TABLE taxonconcept; Type: COMMENT; Schema: public; Owner: bien
3666 3743
--
3667 3744

  
3668
COMMENT ON TABLE taxonconcept_ancestor IS 'Stores the accepted ancestors of a taxonconcept. Auto-populated, so should not be manually modified.';
3745
COMMENT ON TABLE taxonconcept IS 'A circumscribed taxon concept. This extends taxonlabel with information about who the taxon concept is according to.';
3669 3746

  
3670 3747

  
3671 3748
--
3672
-- Name: taxonconcept_taxonconcept_id_seq; Type: SEQUENCE; Schema: public; Owner: bien
3749
-- Name: COLUMN taxonconcept.concept_reference_id; Type: COMMENT; Schema: public; Owner: bien
3673 3750
--
3674 3751

  
3675
CREATE SEQUENCE taxonconcept_taxonconcept_id_seq
3752
COMMENT ON COLUMN taxonconcept.concept_reference_id IS 'The entity that defined the taxon concept. This is who the taxon concept is according to.
3753

  
3754
Equivalent to "Name sec. x".';
3755

  
3756

  
3757
--
3758
-- Name: taxonconcept_taxonlabel_id_seq; Type: SEQUENCE; Schema: public; Owner: bien
3759
--
3760

  
3761
CREATE SEQUENCE taxonconcept_taxonlabel_id_seq
3676 3762
    START WITH 1
3677 3763
    INCREMENT BY 1
3678 3764
    NO MINVALUE
......
3680 3766
    CACHE 1;
3681 3767

  
3682 3768

  
3683
ALTER TABLE public.taxonconcept_taxonconcept_id_seq OWNER TO bien;
3769
ALTER TABLE public.taxonconcept_taxonlabel_id_seq OWNER TO bien;
3684 3770

  
3685 3771
--
3686
-- Name: taxonconcept_taxonconcept_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: bien
3772
-- Name: taxonconcept_taxonlabel_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: bien
3687 3773
--
3688 3774

  
3689
ALTER SEQUENCE taxonconcept_taxonconcept_id_seq OWNED BY taxonconcept.taxonconcept_id;
3775
ALTER SEQUENCE taxonconcept_taxonlabel_id_seq OWNED BY taxonconcept.taxonlabel_id;
3690 3776

  
3691 3777

  
3692 3778
--
3693
-- Name: taxonconcept_taxonconcept_id_seq; Type: SEQUENCE SET; Schema: public; Owner: bien
3779
-- Name: taxonconcept_taxonlabel_id_seq; Type: SEQUENCE SET; Schema: public; Owner: bien
3694 3780
--
3695 3781

  
3696
SELECT pg_catalog.setval('taxonconcept_taxonconcept_id_seq', 786, true);
3782
SELECT pg_catalog.setval('taxonconcept_taxonlabel_id_seq', 1, false);
3697 3783

  
3698 3784

  
3699 3785
--
......
3703 3789
CREATE TABLE taxoncorrelation (
3704 3790
    taxoncorrelation_id integer NOT NULL,
3705 3791
    taxonstatus_id integer NOT NULL,
3706
    taxonconcept_id integer NOT NULL,
3792
    taxonlabel_id integer NOT NULL,
3707 3793
    plantconvergence text NOT NULL,
3708 3794
    correlationstart date NOT NULL,
3709 3795
    correlationstop date
......
3769 3855

  
3770 3856

  
3771 3857
--
3858
-- Name: taxonlabel_relationship; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
3859
--
3860

  
3861
CREATE TABLE taxonlabel_relationship (
3862
    descendant_id integer NOT NULL,
3863
    ancestor_id integer NOT NULL,
3864
    relationship relationship DEFAULT 'is included in'::relationship NOT NULL
3865
);
3866

  
3867

  
3868
ALTER TABLE public.taxonlabel_relationship OWNER TO bien;
3869

  
3870
--
3871
-- Name: TABLE taxonlabel_relationship; Type: COMMENT; Schema: public; Owner: bien
3872
--
3873

  
3874
COMMENT ON TABLE taxonlabel_relationship IS 'Stores the accepted ancestors of a taxonlabel. Auto-populated, so should not be manually modified.';
3875

  
3876

  
3877
--
3878
-- Name: COLUMN taxonlabel_relationship.relationship; Type: COMMENT; Schema: public; Owner: bien
3879
--
3880

  
3881
COMMENT ON COLUMN taxonlabel_relationship.relationship IS 'The type of relationship.';
3882

  
3883

  
3884
--
3885
-- Name: taxonlabel_taxonlabel_id_seq; Type: SEQUENCE; Schema: public; Owner: bien
3886
--
3887

  
3888
CREATE SEQUENCE taxonlabel_taxonlabel_id_seq
3889
    START WITH 1
3890
    INCREMENT BY 1
3891
    NO MINVALUE
3892
    NO MAXVALUE
3893
    CACHE 1;
3894

  
3895

  
3896
ALTER TABLE public.taxonlabel_taxonlabel_id_seq OWNER TO bien;
3897

  
3898
--
3899
-- Name: taxonlabel_taxonlabel_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: bien
3900
--
3901

  
3902
ALTER SEQUENCE taxonlabel_taxonlabel_id_seq OWNED BY taxonlabel.taxonlabel_id;
3903

  
3904

  
3905
--
3906
-- Name: taxonlabel_taxonlabel_id_seq; Type: SEQUENCE SET; Schema: public; Owner: bien
3907
--
3908

  
3909
SELECT pg_catalog.setval('taxonlabel_taxonlabel_id_seq', 786, true);
3910

  
3911

  
3912
--
3772 3913
-- Name: taxonlineage; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
3773 3914
--
3774 3915

  
......
3843 3984

  
3844 3985
CREATE TABLE taxonstatus (
3845 3986
    taxonstatus_id integer NOT NULL,
3846
    taxonconcept_id integer NOT NULL,
3987
    taxonlabel_id integer NOT NULL,
3847 3988
    party_id integer,
3848
    taxonconceptstatus text DEFAULT 'undetermined'::text NOT NULL,
3989
    taxonlabelstatus text DEFAULT 'undetermined'::text NOT NULL,
3849 3990
    reference_id integer,
3850 3991
    plantpartycomments text,
3851 3992
    startdate date,
......
3885 4026

  
3886 4027

  
3887 4028
--
3888
-- Name: taxonusage; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
4029
-- Name: taxonverbatim_taxonverbatim_id_seq; Type: SEQUENCE; Schema: public; Owner: bien
3889 4030
--
3890 4031

  
3891
CREATE TABLE taxonusage (
3892
    taxonusage_id integer NOT NULL,
3893
    taxonconcept_id integer NOT NULL,
3894
    taxonstatus text,
3895
    taxon text,
3896
    classsystem text,
3897
    acceptedsynonym text,
3898
    party_id integer,
3899
    taxonstatus_id integer,
3900
    usagestart date,
3901
    usagestop date
3902
);
3903

  
3904

  
3905
ALTER TABLE public.taxonusage OWNER TO bien;
3906

  
3907
--
3908
-- Name: taxonusage_taxonusage_id_seq; Type: SEQUENCE; Schema: public; Owner: bien
3909
--
3910

  
3911
CREATE SEQUENCE taxonusage_taxonusage_id_seq
4032
CREATE SEQUENCE taxonverbatim_taxonverbatim_id_seq
3912 4033
    START WITH 1
3913 4034
    INCREMENT BY 1
3914 4035
    NO MINVALUE
......
3916 4037
    CACHE 1;
3917 4038

  
3918 4039

  
3919
ALTER TABLE public.taxonusage_taxonusage_id_seq OWNER TO bien;
4040
ALTER TABLE public.taxonverbatim_taxonverbatim_id_seq OWNER TO bien;
3920 4041

  
3921 4042
--
3922
-- Name: taxonusage_taxonusage_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: bien
4043
-- Name: taxonverbatim_taxonverbatim_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: bien
3923 4044
--
3924 4045

  
3925
ALTER SEQUENCE taxonusage_taxonusage_id_seq OWNED BY taxonusage.taxonusage_id;
4046
ALTER SEQUENCE taxonverbatim_taxonverbatim_id_seq OWNED BY taxonverbatim.taxonverbatim_id;
3926 4047

  
3927 4048

  
3928 4049
--
3929
-- Name: taxonusage_taxonusage_id_seq; Type: SEQUENCE SET; Schema: public; Owner: bien
4050
-- Name: taxonverbatim_taxonverbatim_id_seq; Type: SEQUENCE SET; Schema: public; Owner: bien
3930 4051
--
3931 4052

  
3932
SELECT pg_catalog.setval('taxonusage_taxonusage_id_seq', 1, false);
4053
SELECT pg_catalog.setval('taxonverbatim_taxonverbatim_id_seq', 110, true);
3933 4054

  
3934 4055

  
3935 4056
--
......
3975 4096

  
3976 4097

  
3977 4098
--
4099
-- Name: tnrs_input_name; Type: VIEW; Schema: public; Owner: bien
4100
--
4101

  
4102
CREATE VIEW tnrs_input_name AS
4103
    SELECT DISTINCT taxonlabel.taxonomicname FROM (taxonlabel LEFT JOIN "TNRS".tnrs ON ((tnrs."Name_submitted" = taxonlabel.taxonomicname))) WHERE (((NOT (taxonlabel.taxonomicname IS NULL)) AND (taxonlabel.matched_label_id IS NULL)) AND (tnrs."Name_submitted" IS NULL)) ORDER BY taxonlabel.taxonomicname;
4104

  
4105

  
4106
ALTER TABLE public.tnrs_input_name OWNER TO bien;
4107

  
4108
--
3978 4109
-- Name: trait; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
3979 4110
--
3980 4111

  
......
4439 4570

  
4440 4571

  
4441 4572
--
4442
-- Name: taxonconcept_id; Type: DEFAULT; Schema: public; Owner: bien
4573
-- Name: taxoncorrelation_id; Type: DEFAULT; Schema: public; Owner: bien
4443 4574
--
4444 4575

  
4445
ALTER TABLE taxonconcept ALTER COLUMN taxonconcept_id SET DEFAULT nextval('taxonconcept_taxonconcept_id_seq'::regclass);
4576
ALTER TABLE taxoncorrelation ALTER COLUMN taxoncorrelation_id SET DEFAULT nextval('taxoncorrelation_taxoncorrelation_id_seq'::regclass);
4446 4577

  
4447 4578

  
4448 4579
--
4449
-- Name: taxoncorrelation_id; Type: DEFAULT; Schema: public; Owner: bien
4580
-- Name: taxondetermination_id; Type: DEFAULT; Schema: public; Owner: bien
4450 4581
--
4451 4582

  
4452
ALTER TABLE taxoncorrelation ALTER COLUMN taxoncorrelation_id SET DEFAULT nextval('taxoncorrelation_taxoncorrelation_id_seq'::regclass);
4583
ALTER TABLE taxondetermination ALTER COLUMN taxondetermination_id SET DEFAULT nextval('taxondetermination_taxondetermination_id_seq'::regclass);
4453 4584

  
4454 4585

  
4455 4586
--
4456
-- Name: taxondetermination_id; Type: DEFAULT; Schema: public; Owner: bien
4587
-- Name: taxonlabel_id; Type: DEFAULT; Schema: public; Owner: bien
4457 4588
--
4458 4589

  
4459
ALTER TABLE taxondetermination ALTER COLUMN taxondetermination_id SET DEFAULT nextval('taxondetermination_taxondetermination_id_seq'::regclass);
4590
ALTER TABLE taxonlabel ALTER COLUMN taxonlabel_id SET DEFAULT nextval('taxonlabel_taxonlabel_id_seq'::regclass);
4460 4591

  
4461 4592

  
4462 4593
--
......
4481 4612

  
4482 4613

  
4483 4614
--
4484
-- Name: taxonusage_id; Type: DEFAULT; Schema: public; Owner: bien
4615
-- Name: taxonverbatim_id; Type: DEFAULT; Schema: public; Owner: bien
4485 4616
--
4486 4617

  
4487
ALTER TABLE taxonusage ALTER COLUMN taxonusage_id SET DEFAULT nextval('taxonusage_taxonusage_id_seq'::regclass);
4618
ALTER TABLE taxonverbatim ALTER COLUMN taxonverbatim_id SET DEFAULT nextval('taxonverbatim_taxonverbatim_id_seq'::regclass);
4488 4619

  
4489 4620

  
4490 4621
--
......
4703 4834
-- Data for Name: methodtaxonclass; Type: TABLE DATA; Schema: public; Owner: bien
4704 4835
--
4705 4836

  
4706
COPY methodtaxonclass (methodtaxonclass_id, method_id, taxonconcept_id, included, submethod_id, taxonclass) FROM stdin;
4837
COPY methodtaxonclass (methodtaxonclass_id, method_id, taxonlabel_id, included, submethod_id, taxonclass) FROM stdin;
4707 4838
\.
4708 4839

  
4709 4840

  
......
4906 5037
-- Data for Name: taxonalt; Type: TABLE DATA; Schema: public; Owner: bien
4907 5038
--
4908 5039

  
4909
COPY taxonalt (taxonalt_id, taxondetermination_id, taxonconcept_id, taxonaltfit, taxonaltconfidence, taxonaltnotes) FROM stdin;
5040
COPY taxonalt (taxonalt_id, taxondetermination_id, taxonlabel_id, taxonaltfit, taxonaltconfidence, taxonaltnotes) FROM stdin;
4910 5041
\.
4911 5042

  
4912 5043

  
......
4914 5045
-- Data for Name: taxonconcept; Type: TABLE DATA; Schema: public; Owner: bien
4915 5046
--
4916 5047

  
4917
COPY taxonconcept (taxonconcept_id, creator_id, sourceaccessioncode, creationdate, accepted_concept_id, matched_concept_id, matched_concept_fit_fraction, parent_id, taxonepithet, rank, verbatimrank, identifyingtaxonomicname, taxonomicname, author, taxonomicnamewithauthor, family, genus, species, description, accessioncode) FROM stdin;
4918
2	1	\N	\N	\N	\N	\N	\N	Poaceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4919
4	1	\N	\N	\N	\N	\N	2	Poa	genus	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4920
6	1	\N	\N	\N	\N	\N	4	annua	species	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4921
19	2	\N	\N	\N	\N	\N	\N	Poaceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4922
18	1	http://www.tropicos.org/Name/25509881;http://plants.usda.gov/java/profile?symbol=POAN	\N	18	18	\N	6	\N	species	species	Poa annua L.	Poa annua	L.	\N	Poaceae	Poa	annua	\N	\N
4923
55	1	\N	\N	\N	\N	\N	6	annua	variety	variety	\N	\N	\N	\N	\N	\N	\N	\N	\N
4924
57	1	http://www.tropicos.org/Name/25517736	\N	57	57	\N	55	\N	variety	variety	Poa annua var. annua	Poa annua var. annua	\N	\N	Poaceae	Poa	annua	\N	\N
4925
84	1	\N	\N	\N	\N	\N	4	infirma	species	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4926
96	1	http://www.tropicos.org/Name/25514158;http://plants.usda.gov/java/profile?symbol=POIN30	\N	96	96	\N	84	\N	species	species	Poa infirma Kunth	Poa infirma	Kunth	\N	Poaceae	Poa	infirma	\N	\N
4927
135	1	http://compositae.landcareresearch.co.nz/default.aspx;http://plants.usda.gov/java/nameSearch	\N	135	135	\N	\N	\N	family	family	Asteraceae	Asteraceae	\N	\N	\N	\N	\N	\N	\N
4928
156	1	\N	\N	135	135	1	\N	Bercht. & J. Presl	\N	\N	Asteraceae Bercht. & J. Presl	Asteraceae	\N	\N	Asteraceae	\N	\N	\N	\N
4929
158	1	\N	\N	\N	\N	\N	\N	Compositae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4930
175	2	\N	\N	\N	\N	\N	\N	Asteraceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4931
177	1	\N	\N	\N	175	\N	\N	Asteraceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4932
174	1	http://www.tropicos.org/Name/50255940	\N	135	156	\N	158	\N	family	family	Compositae Giseke	Compositae	Giseke	\N	Compositae	\N	\N	\N	\N
4933
195	1	\N	\N	135	174	1	\N	indet. sp.1	\N	\N	Compositae indet. sp.1	Compositae	\N	\N	Compositae	\N	\N	\N	\N
4934
197	1	\N	\N	\N	\N	\N	\N	Fabaceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4935
214	2	\N	\N	\N	\N	\N	\N	Fabaceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4936
213	1	http://www.tropicos.org/Name/42000184	\N	213	213	\N	197	\N	family	family	Fabaceae Lindl.	Fabaceae	Lindl.	\N	Fabaceae	\N	\N	\N	\N
4937
234	1	\N	\N	213	213	1	\N	Boyle#6500	\N	\N	Fabaceae Boyle#6500	Fabaceae	\N	\N	Fabaceae	\N	\N	\N	\N
4938
238	1	\N	\N	\N	\N	\N	197	Inga	genus	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4939
252	1	http://www.tropicos.org/Name/40031040	\N	252	252	\N	238	\N	genus	genus	Inga Mill.	Inga	Mill.	\N	Fabaceae	Inga	\N	\N	\N
4940
273	1	\N	\N	252	252	1	\N	"fuzzy leaf"	\N	\N	Fabaceae Inga "fuzzy leaf"	Inga	\N	\N	Fabaceae	Inga	\N	\N	\N
4941
312	1	\N	\N	252	252	1	\N	sp.3	\N	\N	Fabaceae Inga sp.3	Inga	\N	\N	Fabaceae	Inga	\N	\N	\N
4942
351	1	\N	\N	213	213	1	\N	unknown #2	\N	\N	Fabaceae unknown #2	Fabaceae	\N	\N	Fabaceae	\N	\N	\N	\N
4943
390	1	\N	\N	18	18	1	\N	\N	\N	\N	Poa annua	Poa annua	\N	\N	\N	Poa	annua	\N	\N
4944
406	1	\N	\N	\N	\N	\N	6	lanuginosa	forma	forma	\N	\N	\N	\N	\N	\N	\N	\N	\N
4945
408	1	http://www.tropicos.org/Name/50267771	\N	57	57	\N	406	\N	forma	forma	Poa annua fo. lanuginosa Sennen	Poa annua fo. lanuginosa	Sennen	\N	Poaceae	Poa	annua	\N	\N
4946
429	1	\N	\N	57	408	1	\N	\N	\N	fo.	Poa annua fo. lanuginosa	Poa annua fo. lanuginosa	\N	\N	\N	Poa	annua	\N	\N
4947
445	1	\N	\N	\N	\N	\N	6	exilis	subspecies	subspecies	\N	\N	\N	\N	\N	\N	\N	\N	\N
4948
447	1	http://www.tropicos.org/Name/50063800	\N	96	96	\N	445	\N	subspecies	subspecies	Poa annua subsp. exilis (Tomm. ex Freyn) Asch. & Graebn.	Poa annua subsp. exilis	(Tomm. ex Freyn) Asch. & Graebn.	\N	Poaceae	Poa	annua	\N	\N
4949
468	1	\N	\N	96	447	1	\N	\N	\N	subsp.	Poa annua ssp. exilis	Poa annua subsp. exilis	\N	\N	\N	Poa	annua	\N	\N
4950
507	1	\N	\N	96	447	1	\N	\N	\N	subsp.	Poa annua subsp. exilis	Poa annua subsp. exilis	\N	\N	\N	Poa	annua	\N	\N
4951
523	1	\N	\N	\N	\N	\N	6	minima	subvariety	subvariety	\N	\N	\N	\N	\N	\N	\N	\N	\N
4952
525	1	http://www.tropicos.org/Name/50158097	\N	525	525	\N	523	\N	subvariety	subvariety	Poa annua subvar. minima (Schur) Asch. & Graebn.	Poa annua subvar. minima	(Schur) Asch. & Graebn.	\N	Poaceae	Poa	annua	\N	\N
4953
546	1	\N	\N	525	525	1	\N	\N	\N	subvar.	Poa annua subvar. minima	Poa annua subvar. minima	\N	\N	\N	Poa	annua	\N	\N
4954
562	1	\N	\N	\N	\N	\N	6	eriolepis	variety	variety	\N	\N	\N	\N	\N	\N	\N	\N	\N
4955
564	1	http://www.tropicos.org/Name/50119145	\N	18	18	\N	562	\N	variety	variety	Poa annua var. eriolepis E. Desv.	Poa annua var. eriolepis	E. Desv.	\N	Poaceae	Poa	annua	\N	\N
4956
585	1	\N	\N	18	564	1	\N	\N	\N	var.	Poa annua var. eriolepis	Poa annua var. eriolepis	\N	\N	\N	Poa	annua	\N	\N
4957
587	1	\N	\N	\N	\N	\N	\N	Caryophyllaceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4958
589	1	\N	\N	\N	\N	\N	587	Silene	genus	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4959
591	1	\N	\N	\N	\N	\N	589	scouleri	species	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4960
601	1	\N	\N	\N	\N	\N	591	pringlei	subspecies	subspecies	\N	\N	\N	\N	\N	\N	\N	\N	\N
4961
604	2	\N	\N	\N	\N	\N	\N	Caryophyllaceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4962
603	1	http://www.tropicos.org/Name/6303627	\N	603	603	\N	601	\N	subspecies	subspecies	Silene scouleri subsp. pringlei (S. Watson) C.L. Hitchc. & Maguire	Silene scouleri subsp. pringlei	(S. Watson) C.L. Hitchc. & Maguire	\N	Caryophyllaceae	Silene	scouleri	\N	\N
4963
624	1	\N	\N	603	603	1	\N	var. grisea	\N	subsp.	Silene scouleri Hook. subsp. pringlei (S. Watson) C.L. Hitchc. & Maguire var. grisea C.L. Hitchc. & Maguire	Silene scouleri subsp. pringlei	\N	\N	\N	Silene	scouleri	\N	\N
4964
663	1	\N	\N	603	603	1	\N	var. grisea	\N	subsp.	Silene scouleri subsp. pringlei var. grisea C.L. Hitchc. & Maguire	Silene scouleri subsp. pringlei	\N	\N	\N	Silene	scouleri	\N	\N
4965
681	1	\N	\N	\N	\N	\N	\N	\N	\N	\N	No suitable matches found.	No suitable matches found.	\N	\N	\N	\N	\N	\N	\N
4966
702	1	\N	\N	\N	\N	\N	\N	\N	\N	\N	Fam_indet. Boyle#6501	No suitable matches found.	\N	\N	\N	\N	\N	\N	\N
4967
744	21	1	\N	18	390	\N	\N	\N	\N	\N	\N	Poa annua	\N	\N	\N	\N	\N	\N	\N
4968
747	21	2	\N	18	18	\N	\N	\N	\N	\N	\N	Poa annua L.	\N	\N	\N	\N	\N	\N	\N
4969
750	21	3	\N	18	585	\N	\N	\N	\N	\N	\N	Poa annua var. eriolepis	\N	\N	\N	\N	\N	\N	\N
4970
753	21	4	\N	96	507	\N	\N	\N	\N	\N	\N	Poa annua subsp. exilis	\N	\N	\N	\N	\N	\N	\N
4971
756	21	5	\N	96	468	\N	\N	\N	\N	\N	\N	Poa annua ssp. exilis	\N	\N	\N	\N	\N	\N	\N
4972
759	21	6	\N	525	546	\N	\N	\N	\N	\N	\N	Poa annua subvar. minima	\N	\N	\N	\N	\N	\N	\N
4973
762	21	7	\N	57	429	\N	\N	\N	\N	\N	\N	Poa annua fo. lanuginosa	\N	\N	\N	\N	\N	\N	\N
4974
765	21	8	\N	603	663	\N	\N	\N	\N	\N	\N	Silene scouleri subsp. pringlei var. grisea C.L. Hitchc. & Maguire	\N	\N	\N	\N	\N	\N	\N
4975
768	21	9	\N	603	624	\N	\N	\N	\N	\N	\N	Silene scouleri Hook. subsp. pringlei (S. Watson) C.L. Hitchc. & Maguire var. grisea C.L. Hitchc. & Maguire	\N	\N	\N	\N	\N	\N	\N
4976
771	21	10	\N	252	312	\N	\N	\N	\N	\N	\N	Fabaceae Inga sp.3	\N	\N	\N	\N	\N	\N	\N
4977
774	21	11	\N	252	273	\N	\N	\N	\N	\N	\N	Fabaceae Inga "fuzzy leaf"	\N	\N	\N	\N	\N	\N	\N
4978
777	21	12	\N	213	351	\N	\N	\N	\N	\N	\N	Fabaceae unknown #2	\N	\N	\N	\N	\N	\N	\N
4979
780	21	13	\N	213	234	\N	\N	\N	\N	\N	\N	Fabaceae Boyle#6500	\N	\N	\N	\N	\N	\N	\N
4980
783	21	14	\N	\N	702	\N	\N	\N	\N	\N	\N	Fam_indet. Boyle#6501	\N	\N	\N	\N	\N	\N	\N
4981
786	21	15	\N	135	195	\N	\N	\N	\N	\N	\N	Compositae indet. sp.1	\N	\N	\N	\N	\N	\N	\N
5048
COPY taxonconcept (taxonlabel_id, concept_reference_id) FROM stdin;
4982 5049
\.
4983 5050

  
4984 5051

  
4985 5052
--
4986
-- Data for Name: taxonconcept_ancestor; Type: TABLE DATA; Schema: public; Owner: bien
5053
-- Data for Name: taxoncorrelation; Type: TABLE DATA; Schema: public; Owner: bien
4987 5054
--
4988 5055

  
4989
COPY taxonconcept_ancestor (descendant_id, ancestor_id) FROM stdin;
4990
2	2
4991
4	4
4992
4	2
4993
6	6
4994
6	4
4995
6	2
4996
18	18
4997
18	6
4998
18	4
4999
18	2
5000
19	19
5001
55	55
5002
55	6
5003
55	4
5004
55	2
5005
57	57
5006
57	55
5007
57	6
5008
57	4
5009
57	2
5010
84	84
5011
84	4
5012
84	2
5013
96	96
5014
96	84
5015
96	4
5016
96	2
5017
135	135
5018
156	156
5019
156	135
5020
158	158
5021
174	174
5022
175	175
5023
177	177
5024
177	175
5025
174	156
5026
174	135
5027
195	195
5028
195	174
5029
195	156
5030
195	135
5031
197	197
5032
213	213
5033
213	197
5034
214	214
5035
234	234
5036
234	213
5037
234	197
5038
238	238
5039
238	197
5040
252	252
5041
252	238
5042
252	197
5043
273	273
5044
273	252
5045
273	238
5046
273	197
5047
312	312
5048
312	252
5049
312	238
5050
312	197
5051
351	351
5052
351	213
5053
351	197
5054
390	390
5055
390	18
5056
390	6
5057
390	4
5058
390	2
5059
406	406
5060
406	6
5061
406	4
5062
406	2
5063
408	408
5064
408	57
5065
408	55
5066
408	6
5067
408	4
5068
408	2
5069
429	429
5070
429	408
5071
429	57
5072
429	55
5073
429	6
5074
429	4
5075
429	2
5076
445	445
5077
445	6
5078
445	4
5079
445	2
5080
447	447
5081
447	96
5082
447	84
5083
447	4
5084
447	2
5085
468	468
5086
468	447
5087
468	96
5088
468	84
5089
468	4
5090
468	2
5091
507	507
5092
507	447
5093
507	96
5094
507	84
5095
507	4
5096
507	2
5097
523	523
5098
523	6
5099
523	4
5100
523	2
5101
525	525
5102
525	523
5103
525	6
5104
525	4
5105
525	2
5106
546	546
5107
546	525
5108
546	523
5109
546	6
5110
546	4
5111
546	2
5112
562	562
5113
562	6
5114
562	4
5115
562	2
5116
564	564
5117
564	18
5118
564	6
5119
564	4
5120
564	2
5121
585	585
5122
585	564
5123
585	18
5124
585	6
5125
585	4
5126
585	2
5127
587	587
5128
589	589
5129
589	587
5130
591	591
5131
591	589
5132
591	587
5133
601	601
5134
601	591
5135
601	589
5136
601	587
5137
603	603
5138
603	601
5139
603	591
5140
603	589
5141
603	587
5142
604	604
5143
624	624
5144
624	603
5145
624	601
5146
624	591
5147
624	589
5148
624	587
5149
663	663
5150
663	603
5151
663	601
5152
663	591
5153
663	589
5154
663	587
5155
681	681
5156
702	702
5157
744	744
5158
744	390
5159
744	18
5160
744	6
5161
744	4
5162
744	2
5163
747	747
5164
747	18
5165
747	6
5166
747	4
5167
747	2
5168
750	750
5169
750	585
5170
750	564
5171
750	18
5172
750	6
5173
750	4
5174
750	2
5175
753	753
5176
753	507
5177
753	447
5178
753	96
5179
753	84
5180
753	4
5181
753	2
5182
756	756
5183
756	468
5184
756	447
5185
756	96
5186
756	84
5187
756	4
5188
756	2
5189
759	759
5190
759	546
5191
759	525
5192
759	523
5193
759	6
5194
759	4
5195
759	2
5196
762	762
5197
762	429
5198
762	408
5199
762	57
5200
762	55
5201
762	6
5202
762	4
5203
762	2
5204
765	765
5205
765	663
5206
765	603
5207
765	601
5208
765	591
5209
765	589
5210
765	587
5211
768	768
5212
768	624
5213
768	603
5214
768	601
5215
768	591
5216
768	589
5217
768	587
5218
771	771
5219
771	312
5220
771	252
5221
771	238
5222
771	197
5223
774	774
5224
774	273
5225
774	252
5226
774	238
5227
774	197
5228
777	777
5229
777	351
5230
777	213
5231
777	197
5232
780	780
5233
780	234
5234
780	213
5235
780	197
5236
783	783
5237
783	702
5238
786	786
5239
786	195
5240
786	174
5241
786	156
5242
786	135
5056
COPY taxoncorrelation (taxoncorrelation_id, taxonstatus_id, taxonlabel_id, plantconvergence, correlationstart, correlationstop) FROM stdin;
5243 5057
\.
5244 5058

  
5245 5059

  
5246 5060
--
5247
-- Data for Name: taxoncorrelation; Type: TABLE DATA; Schema: public; Owner: bien
5061
-- Data for Name: taxondetermination; Type: TABLE DATA; Schema: public; Owner: bien
5248 5062
--
5249 5063

  
5250
COPY taxoncorrelation (taxoncorrelation_id, taxonstatus_id, taxonconcept_id, plantconvergence, correlationstart, correlationstop) FROM stdin;
5064
COPY taxondetermination (taxondetermination_id, taxonoccurrence_id, taxonverbatim_id, party_id, role, determinationtype, reference_id, isoriginal, iscurrent, taxonfit, taxonconfidence, grouptype, notes, notespublic, notesmgt, revisions, determinationdate, accessioncode) FROM stdin;
5065
1	2	3	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5066
2	2	8	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5067
3	2	13	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5068
4	2	18	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5069
5	2	25	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5070
6	2	28	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5071
7	2	33	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5072
11	2	55	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5073
12	2	60	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5074
14	2	68	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5075
15	2	75	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5076
16	2	78	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5077
18	2	90	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5078
20	2	96	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5079
21	2	97	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5080
22	2	98	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5081
23	2	99	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5082
24	2	100	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5083
25	2	101	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5084
26	2	102	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5085
27	2	103	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5086
28	2	104	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5087
29	2	105	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5088
30	2	106	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5089
31	2	107	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5090
32	2	108	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5091
33	2	109	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5092
34	2	110	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5251 5093
\.
5252 5094

  
5253 5095

  
5254 5096
--
5255
-- Data for Name: taxondetermination; Type: TABLE DATA; Schema: public; Owner: bien
5097
-- Data for Name: taxonlabel; Type: TABLE DATA; Schema: public; Owner: bien
5256 5098
--
5257 5099

  
5258
COPY taxondetermination (taxondetermination_id, taxonoccurrence_id, taxonconcept_id, party_id, role, determinationtype, reference_id, isoriginal, iscurrent, taxonfit, taxonconfidence, grouptype, notes, notespublic, notesmgt, revisions, determinationdate, accessioncode) FROM stdin;
5259
1	2	18	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5260
2	2	57	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5261
3	2	96	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5262
4	2	135	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5263
5	2	174	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5264
6	2	213	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5265
7	2	252	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5266
11	2	408	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5267
12	2	447	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5268
14	2	525	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5269
15	2	564	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5270
16	2	603	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5271
18	2	681	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5272
20	2	744	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5273
21	2	747	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5274
22	2	750	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5275
23	2	753	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5276
24	2	756	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5277
25	2	759	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5278
26	2	762	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5279
27	2	765	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5280
28	2	768	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5281
29	2	771	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5282
30	2	774	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5283
31	2	777	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5284
32	2	780	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5285
33	2	783	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5286
34	2	786	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5100
COPY taxonlabel (taxonlabel_id, creator_id, sourceaccessioncode, creationdate, taxonstatus, canon_label_id, matched_label_id, matched_label_fit_fraction, parent_id, taxonepithet, rank, taxonomicname, accessioncode) FROM stdin;
5101
2	1	\N	\N	\N	2	\N	\N	\N	Poaceae	family	\N	\N
5102
4	1	\N	\N	\N	4	\N	\N	2	Poa	genus	\N	\N
5103
6	1	\N	\N	\N	6	\N	\N	4	annua	species	\N	\N
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff