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
|
inputs/test_taxonomic_names/_scrub/public.sql, TNRS.sql: Regenerated with schema changes