Project

General

Profile

« Previous | Next » 

Revision 5606

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

View differences:

inputs/test_taxonomic_names/_scrub/TNRS.sql
74 74
-- Name: TABLE tnrs; Type: COMMENT; Schema: TNRS; Owner: bien
75 75
--
76 76

  
77
COMMENT ON TABLE tnrs IS 'tnrs_accepted_names sorts accepted names first (note that false sorts before true). Accepted names are defined as names that scrub to themselves.';
77
COMMENT ON TABLE tnrs IS 'tnrs_accepted_names sorts accepted names first (note that false sorts before true). Accepted names are defined as names that scrub to themselves.
78 78

  
79
Accepted names must be processed before any names that resolve to them, because the entry for the accepted name contains all the ranks parsed out but the resolved name of another entry contains just some ranks and the taxonomic name. Column-based import will do this automatically when the total # of rows is <= the partition_size (because _taxonconcept_set_matched_concept_id()''s accepted taxonconcept is created after the main taxonconcept), but TNRS has more rows than this so sorting is needed to ensure that all the accepted names are processed in the first partitions.';
79 80

  
81

  
80 82
--
81 83
-- Data for Name: tnrs; Type: TABLE DATA; Schema: TNRS; Owner: bien
82 84
--
inputs/test_taxonomic_names/_scrub/public.sql
196 196
-- Name: TYPE taxonrank; Type: COMMENT; Schema: public; Owner: bien
197 197
--
198 198

  
199
COMMENT ON TYPE taxonrank IS 'From <http://vegbank.org/vegbank/views/dba_fielddescription_detail.jsp?view=detail&wparam=1263&entity=dba_fielddescription&params=1263>';
199
COMMENT ON TYPE taxonrank IS 'From <http://www.tdwg.org/standards/117/download/>';
200 200

  
201 201

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

  
283 283
--
284
-- Name: _set_matched_taxonconcept(integer, integer, double precision); Type: FUNCTION; Schema: public; Owner: bien
284
-- Name: _taxonconcept_set_matched_concept_id(integer, integer, double precision); Type: FUNCTION; Schema: public; Owner: bien
285 285
--
286 286

  
287
CREATE FUNCTION _set_matched_taxonconcept(taxonconcept_id integer, matched_concept_id integer, matched_concept_fit_fraction double precision DEFAULT NULL::double precision) RETURNS integer
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
288 288
    LANGUAGE sql
289 289
    AS $_$
290 290
UPDATE taxonconcept SET
......
295 295
$_$;
296 296

  
297 297

  
298
ALTER FUNCTION public._set_matched_taxonconcept(taxonconcept_id integer, matched_concept_id integer, matched_concept_fit_fraction double precision) OWNER TO bien;
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;
299 299

  
300 300
--
301
-- Name: _taxonconcept_set_parent_id(integer, integer); Type: FUNCTION; Schema: public; Owner: bien
302
--
303

  
304
CREATE FUNCTION _taxonconcept_set_parent_id(taxonconcept_id integer, parent_id integer) RETURNS integer
305
    LANGUAGE sql
306
    AS $_$
307
UPDATE taxonconcept SET parent_id = $2 WHERE taxonconcept_id = $1
308
RETURNING taxonconcept_id
309
$_$;
310

  
311

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

  
314
--
301 315
-- Name: make_analytical_db(); Type: FUNCTION; Schema: public; Owner: bien
302 316
--
303 317

  
......
368 382
    SET place_id = place_id -- need at least one SET statement
369 383
    -- Add COALESCE() to enable using place_unique index for lookup
370 384
    WHERE COALESCE(parent_id, 2147483647) = new.place_id
385
    AND place_id != new.place_id -- avoid infinite recursion
371 386
    ;
372 387
    
373 388
    /* Note: We don't need an ON DELETE trigger to update the descendants'
......
481 496
                WHERE taxonconcept_id = new.matched_concept_id
482 497
            );
483 498
        END IF;
499
        
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
505
        ;
484 506
    END IF;
485 507
    RETURN new;
486 508
END;
......
490 512
ALTER FUNCTION public.taxonconcept_2_propagate_accepted_concept_id() OWNER TO bien;
491 513

  
492 514
--
493
-- Name: taxonconcept_update_ancestors(); Type: FUNCTION; Schema: public; Owner: bien
515
-- Name: taxonconcept_3_parent_id_avoid_self_ref(); Type: FUNCTION; Schema: public; Owner: bien
494 516
--
495 517

  
496
CREATE FUNCTION taxonconcept_update_ancestors() RETURNS trigger
518
CREATE FUNCTION taxonconcept_3_parent_id_avoid_self_ref() RETURNS trigger
497 519
    LANGUAGE plpgsql
498 520
    AS $$
499 521
BEGIN
500
    -- Delete existing ancestors
501
    DELETE FROM taxonconcept_ancestor
502
    WHERE taxonconcept_id = new.taxonconcept_id;
503
    
504
    IF new.parent_id IS NOT NULL THEN
505
        -- Copy parent's ancestors to this node's ancestors
506
        INSERT
507
        INTO taxonconcept_ancestor
508
        (taxonconcept_id, ancestor_id)
509
        SELECT
510
            new.taxonconcept_id, ancestor_id
511
        FROM taxonconcept_ancestor
512
        WHERE taxonconcept_id = new.parent_id
513
        ;
522
    new.parent_id = nullif(new.parent_id, new.taxonconcept_id);
523
    RETURN new;
524
END;
525
$$;
526

  
527

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

  
530
SET default_tablespace = '';
531

  
532
SET default_with_oids = false;
533

  
534
--
535
-- Name: taxonconcept; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
536
--
537

  
538
CREATE TABLE taxonconcept (
539
    taxonconcept_id integer NOT NULL,
540
    creator_id integer NOT NULL,
541
    sourceaccessioncode text,
542
    creationdate date,
543
    accepted_concept_id integer,
544
    matched_concept_id integer,
545
    matched_concept_fit_fraction double precision,
546
    parent_id integer,
547
    taxonepithet text,
548
    rank taxonrank,
549
    verbatimrank text,
550
    identifyingtaxonomicname text,
551
    taxonomicname text,
552
    author text,
553
    taxonomicnamewithauthor text,
554
    family text,
555
    genus text,
556
    species text,
557
    description text,
558
    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)))))
561
);
562

  
563

  
564
ALTER TABLE public.taxonconcept OWNER TO bien;
565

  
566
--
567
-- Name: TABLE taxonconcept; Type: COMMENT; Schema: public; Owner: bien
568
--
569

  
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.
571

  
572
"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

  
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.
575

  
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
Equivalent to VegBank''s plantConcept and plantName tables, plus plantParent_ID and plantLevel from plantStatus.';
579

  
580

  
581
--
582
-- Name: COLUMN taxonconcept.creator_id; Type: COMMENT; Schema: public; Owner: bien
583
--
584

  
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.
586

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

  
589

  
590
--
591
-- Name: COLUMN taxonconcept.sourceaccessioncode; Type: COMMENT; Schema: public; Owner: bien
592
--
593

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

  
596

  
597
--
598
-- Name: COLUMN taxonconcept.creationdate; Type: COMMENT; Schema: public; Owner: bien
599
--
600

  
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.';
602

  
603

  
604
--
605
-- Name: COLUMN taxonconcept.accepted_concept_id; Type: COMMENT; Schema: public; Owner: bien
606
--
607

  
608
COMMENT ON COLUMN taxonconcept.accepted_concept_id IS 'The accepted synonym of the taxonconcept.';
609

  
610

  
611
--
612
-- Name: COLUMN taxonconcept.matched_concept_id; Type: COMMENT; Schema: public; Owner: bien
613
--
614

  
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.
616

  
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.
618

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

  
621

  
622
--
623
-- Name: COLUMN taxonconcept.matched_concept_fit_fraction; Type: COMMENT; Schema: public; Owner: bien
624
--
625

  
626
COMMENT ON COLUMN taxonconcept.matched_concept_fit_fraction IS 'The closeness of fit of the matched_concept.';
627

  
628

  
629
--
630
-- Name: COLUMN taxonconcept.parent_id; Type: COMMENT; Schema: public; Owner: bien
631
--
632

  
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.';
634

  
635

  
636
--
637
-- Name: COLUMN taxonconcept.taxonepithet; Type: COMMENT; Schema: public; Owner: bien
638
--
639

  
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.
641

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

  
644

  
645
--
646
-- Name: COLUMN taxonconcept.rank; Type: COMMENT; Schema: public; Owner: bien
647
--
648

  
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.';
650

  
651

  
652
--
653
-- Name: COLUMN taxonconcept.verbatimrank; Type: COMMENT; Schema: public; Owner: bien
654
--
655

  
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.';
657

  
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
Equivalent to Darwin Core''s scientificName.';
673

  
674

  
675
--
676
-- Name: COLUMN taxonconcept.author; Type: COMMENT; Schema: public; Owner: bien
677
--
678

  
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
720
    LANGUAGE plpgsql
721
    AS $$
722
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);
726
BEGIN
727
    IF parent_id_ IS DISTINCT FROM old_parent_id THEN
728
        DECLARE
729
            -- These include the parent itself
730
            old_ancestors integer[] := (
731
                SELECT array_agg(ancestor_id) FROM taxonconcept_ancestor
732
                WHERE descendant_id = old_parent_id
733
            );
734
            new_ancestors integer[] := (
735
                SELECT array_agg(ancestor_id) FROM taxonconcept_ancestor
736
                WHERE descendant_id = parent_id_
737
            );
738
            descendant_id_ integer;
739
        BEGIN
740
            FOR descendant_id_ IN -- also includes self
741
                SELECT descendant_id
742
                FROM taxonconcept_ancestor
743
                WHERE ancestor_id = new.taxonconcept_id
744
            LOOP
745
                -- Delete old parent's ancestors
746
                DELETE FROM taxonconcept_ancestor
747
                WHERE descendant_id = descendant_id_
748
                AND ancestor_id = ANY (old_ancestors)
749
                ;
750
                
751
                -- Add new parent's ancestors
752
                INSERT INTO taxonconcept_ancestor
753
                (descendant_id, ancestor_id)
754
                SELECT descendant_id_, unnest(new_ancestors)
755
                ;
756
            END LOOP;
757
        END;
514 758
    END IF;
515 759
    
516
    -- Add "ancestor" for this node
517
    /* This is useful for queries, because you don't have to separately test if
518
    the leaf node is the one you're looking for, in addition to that leaf node's
519
    ancestors. */
760
    /* Note: We don't need an ON DELETE trigger to update the descendants'
761
    ancestors when a node is deleted, because the
762
    taxonconcept_ancestor.ancestor_id foreign key is ON DELETE CASCADE. */
763
END;
764
$$;
765

  
766

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

  
769
--
770
-- Name: taxonconcept_update_ancestors_on_insert(); Type: FUNCTION; Schema: public; Owner: bien
771
--
772

  
773
CREATE FUNCTION taxonconcept_update_ancestors_on_insert() RETURNS trigger
774
    LANGUAGE plpgsql
775
    AS $$
776
BEGIN
777
    /* Add "ancestor" for this node. This is useful for queries, because you
778
    don't have to separately test if the leaf node is the one you're looking
779
    for, in addition to that leaf node's ancestors. */
520 780
    INSERT
521 781
    INTO taxonconcept_ancestor
522
    (taxonconcept_id, ancestor_id)
782
    (descendant_id, ancestor_id)
523 783
    VALUES (new.taxonconcept_id, new.taxonconcept_id)
524 784
    ;
525 785
    
526
    -- Tell immediate children to update their ancestors lists, which will
527
    -- recursively tell all descendants
528
    UPDATE taxonconcept
529
    SET taxonconcept_id = taxonconcept_id -- need at least one SET statement
530
    -- Add COALESCE() to enable using taxonconcept_unique index for lookup
531
    WHERE COALESCE(parent_id, 2147483647) = new.taxonconcept_id
532
    ;
786
    PERFORM taxonconcept_update_ancestors(new);
533 787
    
534
    /* Note: We don't need an ON DELETE trigger to update the descendants'
535
    ancestors when a node is deleted, because the taxonconcept.parent_id foreign
536
    key is ON DELETE CASCADE, which just removes all the descendants anyway. */
788
    RETURN new;
789
END;
790
$$;
791

  
792

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

  
795
--
796
-- Name: taxonconcept_update_ancestors_on_update(); Type: FUNCTION; Schema: public; Owner: bien
797
--
798

  
799
CREATE FUNCTION taxonconcept_update_ancestors_on_update() RETURNS trigger
800
    LANGUAGE plpgsql
801
    AS $$
802
BEGIN
803
    PERFORM taxonconcept_update_ancestors(new, COALESCE(
804
        NULLIF(old.matched_concept_id, old.taxonconcept_id), old.parent_id));
537 805
    
538 806
    RETURN new;
539 807
END;
540 808
$$;
541 809

  
542 810

  
543
ALTER FUNCTION public.taxonconcept_update_ancestors() OWNER TO bien;
811
ALTER FUNCTION public.taxonconcept_update_ancestors_on_update() OWNER TO bien;
544 812

  
545 813
--
546 814
-- Name: concat(text); Type: AGGREGATE; Schema: public; Owner: bien
......
555 823

  
556 824
ALTER AGGREGATE public.concat(text) OWNER TO bien;
557 825

  
558
SET default_tablespace = '';
559

  
560
SET default_with_oids = false;
561

  
562 826
--
563 827
-- Name: address; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
564 828
--
......
575 839
    postalcode text,
576 840
    country text,
577 841
    currentflag boolean,
578
    addressstartdate timestamp with time zone
842
    addressstartdate date
579 843
);
580 844

  
581 845

  
......
618 882
    creator_id integer NOT NULL,
619 883
    sourceaccessioncode text,
620 884
    taxonoccurrence_id integer NOT NULL,
621
    collectiondate timestamp with time zone,
885
    collectiondate date,
622 886
    cover_fraction double precision,
623 887
    linecover_m double precision,
624 888
    basalarea_m2 double precision,
......
730 994
    notespublic boolean,
731 995
    notesmgt boolean,
732 996
    revisions boolean,
733
    dateentered timestamp with time zone DEFAULT now(),
997
    dateentered date DEFAULT now(),
734 998
    locationrationalenarrative text,
735 999
    accessioncode text,
736 1000
    CONSTRAINT location_required_key CHECK (((sourceaccessioncode IS NOT NULL) OR (authorlocationcode IS NOT NULL)))
......
761 1025
    footprintgeometry_dwc text,
762 1026
    coordsaccuracy_deg double precision,
763 1027
    identifier_id integer,
764
    determinationdate timestamp with time zone,
1028
    determinationdate date,
765 1029
    isoriginal boolean DEFAULT false NOT NULL,
766 1030
    iscurrent boolean DEFAULT false NOT NULL,
767 1031
    calculated boolean
......
797 1061
    project_id integer,
798 1062
    authoreventcode text,
799 1063
    previous_id integer,
1064
    obsstartdate date,
1065
    obsenddate date,
800 1066
    dateaccuracy text,
801 1067
    method_id integer,
802 1068
    temperature_c double precision,
......
855 1121
    notespublic boolean,
856 1122
    notesmgt boolean,
857 1123
    revisions boolean,
858
    obsstartdate timestamp with time zone,
859
    obsenddate timestamp with time zone,
860
    dateentered timestamp with time zone DEFAULT now(),
1124
    dateentered date DEFAULT now(),
861 1125
    toptaxon1name text,
862 1126
    toptaxon2name text,
863 1127
    toptaxon3name text,
......
1097 1361
CREATE TABLE party (
1098 1362
    party_id integer NOT NULL,
1099 1363
    creator_id integer NOT NULL,
1364
    fullname text,
1100 1365
    salutation text,
1101 1366
    givenname text,
1102 1367
    middlename text,
......
1109 1374
    partypublic boolean DEFAULT true,
1110 1375
    d_obscount integer,
1111 1376
    accessioncode text,
1112
    CONSTRAINT party_required_key CHECK (((organizationname IS NOT NULL) OR ((creator_id <> party_id) AND (surname IS NOT NULL))))
1377
    CONSTRAINT party_required_key CHECK (((organizationname IS NOT NULL) OR ((creator_id <> party_id) AND ((fullname IS NOT NULL) OR (surname IS NOT NULL)))))
1113 1378
);
1114 1379

  
1115 1380

  
......
1247 1512

  
1248 1513

  
1249 1514
--
1250
-- Name: taxonconcept; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
1251
--
1252

  
1253
CREATE TABLE taxonconcept (
1254
    taxonconcept_id integer NOT NULL,
1255
    creator_id integer NOT NULL,
1256
    sourceaccessioncode text,
1257
    creationdate timestamp with time zone,
1258
    accepted_concept_id integer,
1259
    matched_concept_id integer,
1260
    matched_concept_fit_fraction double precision,
1261
    parent_id integer,
1262
    taxonname text,
1263
    rank taxonrank,
1264
    verbatimrank text,
1265
    identifyingtaxonomicname text,
1266
    taxonomicname text,
1267
    author text,
1268
    taxonomicnamewithauthor text,
1269
    family text,
1270
    genus text,
1271
    species text,
1272
    description text,
1273
    accessioncode text,
1274
    CONSTRAINT taxonconcept_matched_concept_fit_fraction_range CHECK (((matched_concept_fit_fraction >= (0)::double precision) AND (matched_concept_fit_fraction <= (1)::double precision))),
1275
    CONSTRAINT taxonconcept_required_key CHECK (((((((sourceaccessioncode IS NOT NULL) OR (taxonname 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)))))
1276
);
1277

  
1278

  
1279
ALTER TABLE public.taxonconcept OWNER TO bien;
1280

  
1281
--
1282
-- Name: TABLE taxonconcept; Type: COMMENT; Schema: public; Owner: bien
1283
--
1284

  
1285
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.
1286

  
1287
"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)
1288

  
1289
Note that taxonname 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.
1290

  
1291
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.
1292

  
1293
Equivalent to VegBank''s plantConcept and plantName tables, plus plantParent_ID and plantLevel from plantStatus.';
1294

  
1295

  
1296
--
1297
-- Name: COLUMN taxonconcept.creator_id; Type: COMMENT; Schema: public; Owner: bien
1298
--
1299

  
1300
COMMENT ON COLUMN taxonconcept.creator_id IS 'The entity that created the taxon concept.';
1301

  
1302

  
1303
--
1304
-- Name: COLUMN taxonconcept.sourceaccessioncode; Type: COMMENT; Schema: public; Owner: bien
1305
--
1306

  
1307
COMMENT ON COLUMN taxonconcept.sourceaccessioncode IS 'The datasource''s identifier for the taxonconcept.';
1308

  
1309

  
1310
--
1311
-- Name: COLUMN taxonconcept.creationdate; Type: COMMENT; Schema: public; Owner: bien
1312
--
1313

  
1314
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.';
1315

  
1316

  
1317
--
1318
-- Name: COLUMN taxonconcept.accepted_concept_id; Type: COMMENT; Schema: public; Owner: bien
1319
--
1320

  
1321
COMMENT ON COLUMN taxonconcept.accepted_concept_id IS 'The accepted synonym of the taxonconcept.';
1322

  
1323

  
1324
--
1325
-- Name: COLUMN taxonconcept.matched_concept_id; Type: COMMENT; Schema: public; Owner: bien
1326
--
1327

  
1328
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.
1329

  
1330
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.
1331

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

  
1334

  
1335
--
1336
-- Name: COLUMN taxonconcept.matched_concept_fit_fraction; Type: COMMENT; Schema: public; Owner: bien
1337
--
1338

  
1339
COMMENT ON COLUMN taxonconcept.matched_concept_fit_fraction IS 'The closeness of fit of the matched_concept.';
1340

  
1341

  
1342
--
1343
-- Name: COLUMN taxonconcept.parent_id; Type: COMMENT; Schema: public; Owner: bien
1344
--
1345

  
1346
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.';
1347

  
1348

  
1349
--
1350
-- Name: COLUMN taxonconcept.taxonname; Type: COMMENT; Schema: public; Owner: bien
1351
--
1352

  
1353
COMMENT ON COLUMN taxonconcept.taxonname IS 'The name of the taxon within its parent taxon. This is the lowest-rank portion of this taxonconcept''s full taxonomic name, if it has one.
1354

  
1355
The morphospecies suffix goes in this field.';
1356

  
1357

  
1358
--
1359
-- Name: COLUMN taxonconcept.rank; Type: COMMENT; Schema: public; Owner: bien
1360
--
1361

  
1362
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.';
1363

  
1364

  
1365
--
1366
-- Name: COLUMN taxonconcept.verbatimrank; Type: COMMENT; Schema: public; Owner: bien
1367
--
1368

  
1369
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.';
1370

  
1371

  
1372
--
1373
-- Name: COLUMN taxonconcept.identifyingtaxonomicname; Type: COMMENT; Schema: public; Owner: bien
1374
--
1375

  
1376
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.';
1377

  
1378

  
1379
--
1380
-- Name: COLUMN taxonconcept.taxonomicname; Type: COMMENT; Schema: public; Owner: bien
1381
--
1382

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

  
1385
Equivalent to Darwin Core''s scientificName.';
1386

  
1387

  
1388
--
1389
-- Name: COLUMN taxonconcept.author; Type: COMMENT; Schema: public; Owner: bien
1390
--
1391

  
1392
COMMENT ON COLUMN taxonconcept.author IS 'The author of the taxonomic name.
1393

  
1394
Equivalent to Darwin Core''s scientificNameAuthorship.';
1395

  
1396

  
1397
--
1398
-- Name: COLUMN taxonconcept.taxonomicnamewithauthor; Type: COMMENT; Schema: public; Owner: bien
1399
--
1400

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

  
1403
Equivalent to Darwin Core''s scientificName + scientificNameAuthorship.
1404
Equivalent to "Name sec. x".';
1405

  
1406

  
1407
--
1408
-- Name: COLUMN taxonconcept.family; Type: COMMENT; Schema: public; Owner: bien
1409
--
1410

  
1411
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.';
1412

  
1413

  
1414
--
1415
-- Name: COLUMN taxonconcept.genus; Type: COMMENT; Schema: public; Owner: bien
1416
--
1417

  
1418
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.';
1419

  
1420

  
1421
--
1422
-- Name: COLUMN taxonconcept.species; Type: COMMENT; Schema: public; Owner: bien
1423
--
1424

  
1425
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.';
1426

  
1427

  
1428
--
1429 1515
-- Name: taxondetermination; Type: TABLE; Schema: public; Owner: bien; Tablespace: 
1430 1516
--
1431 1517

  
......
1446 1532
    notespublic boolean,
1447 1533
    notesmgt boolean,
1448 1534
    revisions boolean,
1449
    determinationdate timestamp with time zone,
1535
    determinationdate date,
1450 1536
    accessioncode text
1451 1537
);
1452 1538

  
......
1514 1600
--
1515 1601

  
1516 1602
CREATE VIEW analytical_db_view AS
1517
    SELECT datasource.organizationname AS "dataSourceName", taxonconcept.family, taxonconcept.genus, taxonconcept.species, COALESCE(taxonconcept.taxonomicnamewithauthor, taxonconcept.taxonomicname) AS taxon, taxonconcept.author AS "taxonAuthor", taxonconcept.taxonname 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 USING (taxonconcept_id)) LEFT JOIN aggregateoccurrence USING (taxonoccurrence_id)) LEFT JOIN plantobservation USING (aggregateoccurrence_id)) LEFT JOIN specimenreplicate USING (plantobservation_id));
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));
1518 1604

  
1519 1605

  
1520 1606
ALTER TABLE public.analytical_db_view OWNER TO bien;
......
1577 1663
    commcode text,
1578 1664
    commframework text,
1579 1665
    commlevel text,
1580
    classstartdate timestamp with time zone,
1581
    classstopdate timestamp with time zone,
1666
    classstartdate date,
1667
    classstopdate date,
1582 1668
    expertsystem text,
1583 1669
    accessioncode text
1584 1670
);
......
1669 1755
    commstatus_id integer NOT NULL,
1670 1756
    commconcept_id integer NOT NULL,
1671 1757
    commconvergence text NOT NULL,
1672
    correlationstart timestamp with time zone NOT NULL,
1673
    correlationstop timestamp with time zone
1758
    correlationstart date NOT NULL,
1759
    correlationstop date
1674 1760
);
1675 1761

  
1676 1762

  
......
1802 1888
    commname_id integer NOT NULL,
1803 1889
    commname text NOT NULL,
1804 1890
    reference_id integer,
1805
    dateentered timestamp with time zone DEFAULT now()
1891
    dateentered date DEFAULT now()
1806 1892
);
1807 1893

  
1808 1894

  
......
1849 1935
    commlevel text,
1850 1936
    commpartycomments text,
1851 1937
    party_id integer NOT NULL,
1852
    startdate timestamp with time zone NOT NULL,
1853
    stopdate timestamp with time zone,
1938
    startdate date NOT NULL,
1939
    stopdate date,
1854 1940
    accessioncode text
1855 1941
);
1856 1942

  
......
1898 1984
    classsystem text,
1899 1985
    party_id integer,
1900 1986
    commstatus_id integer,
1901
    usagestart timestamp with time zone,
1902
    usagestop timestamp with time zone
1987
    usagestart date,
1988
    usagestop date
1903 1989
);
1904 1990

  
1905 1991

  
......
2141 2227
    graphicdescription text,
2142 2228
    graphictype text,
2143 2229
    graphicdata oid,
2144
    graphicdate timestamp with time zone,
2230
    graphicdate date,
2145 2231
    accessioncode text
2146 2232
);
2147 2233

  
......
2269 2355
    locationevent_id integer NOT NULL,
2270 2356
    party_id integer NOT NULL,
2271 2357
    role role NOT NULL,
2272
    contributiondate timestamp with time zone
2358
    contributiondate date
2273 2359
);
2274 2360

  
2275 2361

  
......
2314 2400
    party_id integer NOT NULL,
2315 2401
    role role NOT NULL,
2316 2402
    synonymcomment text,
2317
    classstartdate timestamp with time zone DEFAULT now() NOT NULL,
2318
    classstopdate timestamp with time zone,
2403
    classstartdate date DEFAULT now() NOT NULL,
2404
    classstopdate date,
2319 2405
    accessioncode text
2320 2406
);
2321 2407

  
......
2476 2562
    role role NOT NULL,
2477 2563
    notetype text NOT NULL,
2478 2564
    notetext text NOT NULL,
2479
    notedate timestamp with time zone,
2565
    notedate date,
2480 2566
    accessioncode text
2481 2567
);
2482 2568

  
......
2578 2664
-- Name: party_party_id_seq; Type: SEQUENCE SET; Schema: public; Owner: bien
2579 2665
--
2580 2666

  
2581
SELECT pg_catalog.setval('party_party_id_seq', 17, true);
2667
SELECT pg_catalog.setval('party_party_id_seq', 36, true);
2582 2668

  
2583 2669

  
2584 2670
--
......
2590 2676
    parentparty_id integer NOT NULL,
2591 2677
    childparty_id integer NOT NULL,
2592 2678
    role role,
2593
    memberstart timestamp with time zone DEFAULT now() NOT NULL,
2594
    memberstop timestamp with time zone
2679
    memberstart date DEFAULT now() NOT NULL,
2680
    memberstop date
2595 2681
);
2596 2682

  
2597 2683

  
......
2852 2938
    sourceaccessioncode text,
2853 2939
    projectname text,
2854 2940
    projectdescription text,
2855
    startdate timestamp with time zone,
2856
    stopdate timestamp with time zone,
2941
    startdate date,
2942
    stopdate date,
2857 2943
    d_obscount integer,
2858
    d_lastlocationaddeddate timestamp with time zone,
2944
    d_lastlocationaddeddate date,
2859 2945
    accessioncode text,
2860 2946
    CONSTRAINT project_required_key CHECK (((sourceaccessioncode IS NOT NULL) OR (projectname IS NOT NULL)))
2861 2947
);
......
2963 3049
    url text,
2964 3050
    doi text,
2965 3051
    additionalinfo text,
2966
    pubdate timestamp with time zone,
2967
    accessdate timestamp with time zone,
2968
    conferencedate timestamp with time zone,
3052
    pubdate date,
3053
    accessdate date,
3054
    conferencedate date,
2969 3055
    accessioncode text
2970 3056
);
2971 3057

  
......
3188 3274
    previousvaluetext text NOT NULL,
3189 3275
    previousvaluetype text NOT NULL,
3190 3276
    previousrevision_id integer,
3191
    revisiondate timestamp with time zone NOT NULL
3277
    revisiondate date NOT NULL
3192 3278
);
3193 3279

  
3194 3280

  
......
3568 3654
--
3569 3655

  
3570 3656
CREATE TABLE taxonconcept_ancestor (
3571
    taxonconcept_id integer NOT NULL,
3657
    descendant_id integer NOT NULL,
3572 3658
    ancestor_id integer NOT NULL
3573 3659
);
3574 3660

  
......
3579 3665
-- Name: TABLE taxonconcept_ancestor; Type: COMMENT; Schema: public; Owner: bien
3580 3666
--
3581 3667

  
3582
COMMENT ON TABLE taxonconcept_ancestor IS 'taxonconcept''s ancestor cross link table.';
3668
COMMENT ON TABLE taxonconcept_ancestor IS 'Stores the accepted ancestors of a taxonconcept. Auto-populated, so should not be manually modified.';
3583 3669

  
3584 3670

  
3585 3671
--
......
3607 3693
-- Name: taxonconcept_taxonconcept_id_seq; Type: SEQUENCE SET; Schema: public; Owner: bien
3608 3694
--
3609 3695

  
3610
SELECT pg_catalog.setval('taxonconcept_taxonconcept_id_seq', 767, true);
3696
SELECT pg_catalog.setval('taxonconcept_taxonconcept_id_seq', 786, true);
3611 3697

  
3612 3698

  
3613 3699
--
......
3619 3705
    taxonstatus_id integer NOT NULL,
3620 3706
    taxonconcept_id integer NOT NULL,
3621 3707
    plantconvergence text NOT NULL,
3622
    correlationstart timestamp with time zone NOT NULL,
3623
    correlationstop timestamp with time zone
3708
    correlationstart date NOT NULL,
3709
    correlationstop date
3624 3710
);
3625 3711

  
3626 3712

  
......
3762 3848
    taxonconceptstatus text DEFAULT 'undetermined'::text NOT NULL,
3763 3849
    reference_id integer,
3764 3850
    plantpartycomments text,
3765
    startdate timestamp with time zone,
3766
    stopdate timestamp with time zone,
3851
    startdate date,
3852
    stopdate date,
3767 3853
    accessioncode text
3768 3854
);
3769 3855

  
......
3811 3897
    acceptedsynonym text,
3812 3898
    party_id integer,
3813 3899
    taxonstatus_id integer,
3814
    usagestart timestamp with time zone,
3815
    usagestop timestamp with time zone
3900
    usagestart date,
3901
    usagestop date
3816 3902
);
3817 3903

  
3818 3904

  
......
4577 4663
-- Data for Name: locationevent; Type: TABLE DATA; Schema: public; Owner: bien
4578 4664
--
4579 4665

  
4580
COPY locationevent (locationevent_id, creator_id, sourceaccessioncode, parent_id, location_id, project_id, authoreventcode, previous_id, dateaccuracy, method_id, temperature_c, precipitation_m, autotaxoncover, originaldata, effortlevel, floristicquality, bryophytequality, lichenquality, locationeventnarrative, landscapenarrative, homogeneity, phenologicaspect, representativeness, standmaturity, successionalstatus, basalarea, hydrologicregime, soilmoistureregime, soildrainage, watersalinity, waterdepth_m, shoredistance, soildepth, organicdepth, soiltaxon_id, soiltaxonsrc, percentbedrock, percentrockgravel, percentwood, percentlitter, percentbaresoil, percentwater, percentother, nameother, treeht, shrubht, fieldht, nonvascularht, submergedht, treecover, shrubcover, fieldcover, nonvascularcover, floatingcover, submergedcover, dominantstratum, growthform1type, growthform2type, growthform3type, growthform1cover, growthform2cover, growthform3cover, totalcover, notespublic, notesmgt, revisions, obsstartdate, obsenddate, dateentered, toptaxon1name, toptaxon2name, toptaxon3name, toptaxon4name, toptaxon5name, numberoftaxa, accessioncode) FROM stdin;
4666
COPY locationevent (locationevent_id, creator_id, sourceaccessioncode, parent_id, location_id, project_id, authoreventcode, previous_id, obsstartdate, obsenddate, dateaccuracy, method_id, temperature_c, precipitation_m, autotaxoncover, originaldata, effortlevel, floristicquality, bryophytequality, lichenquality, locationeventnarrative, landscapenarrative, homogeneity, phenologicaspect, representativeness, standmaturity, successionalstatus, basalarea, hydrologicregime, soilmoistureregime, soildrainage, watersalinity, waterdepth_m, shoredistance, soildepth, organicdepth, soiltaxon_id, soiltaxonsrc, percentbedrock, percentrockgravel, percentwood, percentlitter, percentbaresoil, percentwater, percentother, nameother, treeht, shrubht, fieldht, nonvascularht, submergedht, treecover, shrubcover, fieldcover, nonvascularcover, floatingcover, submergedcover, dominantstratum, growthform1type, growthform2type, growthform3type, growthform1cover, growthform2cover, growthform3cover, totalcover, notespublic, notesmgt, revisions, dateentered, toptaxon1name, toptaxon2name, toptaxon3name, toptaxon4name, toptaxon5name, numberoftaxa, accessioncode) FROM stdin;
4581 4667
\.
4582 4668

  
4583 4669

  
......
4641 4727
-- Data for Name: party; Type: TABLE DATA; Schema: public; Owner: bien
4642 4728
--
4643 4729

  
4644
COPY party (party_id, creator_id, salutation, givenname, middlename, surname, organizationname, currentname_id, contactinstructions, email, partytype, partypublic, d_obscount, accessioncode) FROM stdin;
4645
1	1	\N	\N	\N	\N	TNRS	\N	\N	\N	\N	t	\N	\N
4646
2	2	\N	\N	\N	\N	test_taxonomic_names	\N	\N	\N	\N	t	\N	\N
4730
COPY party (party_id, creator_id, fullname, salutation, givenname, middlename, surname, organizationname, currentname_id, contactinstructions, email, partytype, partypublic, d_obscount, accessioncode) FROM stdin;
4731
1	1	\N	\N	\N	\N	\N	TNRS	\N	\N	\N	\N	t	\N	\N
4732
2	2	\N	\N	\N	\N	\N	NCBI	\N	\N	\N	\N	t	\N	\N
4733
21	21	\N	\N	\N	\N	\N	test_taxonomic_names	\N	\N	\N	\N	t	\N	\N
4647 4734
\.
4648 4735

  
4649 4736

  
......
4827 4914
-- Data for Name: taxonconcept; Type: TABLE DATA; Schema: public; Owner: bien
4828 4915
--
4829 4916

  
4830
COPY taxonconcept (taxonconcept_id, creator_id, sourceaccessioncode, creationdate, accepted_concept_id, matched_concept_id, matched_concept_fit_fraction, parent_id, taxonname, rank, verbatimrank, identifyingtaxonomicname, taxonomicname, author, taxonomicnamewithauthor, family, genus, species, description, accessioncode) FROM stdin;
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;
4831 4918
2	1	\N	\N	\N	\N	\N	\N	Poaceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4832 4919
4	1	\N	\N	\N	\N	\N	2	Poa	genus	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4833 4920
6	1	\N	\N	\N	\N	\N	4	annua	species	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4834
18	1	\N	\N	18	18	\N	6	\N	species	species	Poa annua L.	Poa annua	L.	\N	Poaceae	Poa	annua	\N	\N
4835
54	1	\N	\N	\N	\N	\N	6	annua	variety	variety	\N	\N	\N	\N	\N	\N	\N	\N	\N
4836
56	1	\N	\N	56	56	\N	54	\N	variety	variety	Poa annua var. annua	Poa annua var. annua	\N	\N	Poaceae	Poa	annua	\N	\N
4837
82	1	\N	\N	\N	\N	\N	4	infirma	species	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4838
94	1	\N	\N	94	94	\N	82	\N	species	species	Poa infirma Kunth	Poa infirma	Kunth	\N	Poaceae	Poa	infirma	\N	\N
4839
132	1	\N	\N	132	132	\N	\N	\N	family	family	Asteraceae	Asteraceae	\N	\N	\N	\N	\N	\N	\N
4840
152	1	\N	\N	132	132	1	\N	Bercht. & J. Presl	\N	\N	Asteraceae Bercht. & J. Presl	Asteraceae	\N	\N	Asteraceae	\N	\N	\N	\N
4841
154	1	\N	\N	\N	\N	\N	\N	Compositae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4842
172	1	\N	\N	\N	\N	\N	\N	Asteraceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4843
170	1	\N	\N	132	152	\N	154	\N	family	family	Compositae Giseke	Compositae	Giseke	\N	Compositae	\N	\N	\N	\N
4844
190	1	\N	\N	132	170	1	\N	indet. sp.1	\N	\N	Compositae indet. sp.1	Compositae	\N	\N	Compositae	\N	\N	\N	\N
4845
192	1	\N	\N	\N	\N	\N	\N	Fabaceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4846
208	1	\N	\N	208	208	\N	192	\N	family	family	Fabaceae Lindl.	Fabaceae	Lindl.	\N	Fabaceae	\N	\N	\N	\N
4847
228	1	\N	\N	208	208	1	\N	Boyle#6500	\N	\N	Fabaceae Boyle#6500	Fabaceae	\N	\N	Fabaceae	\N	\N	\N	\N
4848
232	1	\N	\N	\N	\N	\N	192	Inga	genus	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4849
246	1	\N	\N	246	246	\N	232	\N	genus	genus	Inga Mill.	Inga	Mill.	\N	Fabaceae	Inga	\N	\N	\N
4850
266	1	\N	\N	246	246	1	\N	"fuzzy leaf"	\N	\N	Fabaceae Inga "fuzzy leaf"	Inga	\N	\N	Fabaceae	Inga	\N	\N	\N
4851
304	1	\N	\N	246	246	1	\N	sp.3	\N	\N	Fabaceae Inga sp.3	Inga	\N	\N	Fabaceae	Inga	\N	\N	\N
4852
342	1	\N	\N	208	208	1	\N	unknown #2	\N	\N	Fabaceae unknown #2	Fabaceae	\N	\N	Fabaceae	\N	\N	\N	\N
4853
380	1	\N	\N	18	18	1	\N	\N	\N	\N	Poa annua	Poa annua	\N	\N	\N	Poa	annua	\N	\N
4854
396	1	\N	\N	\N	\N	\N	6	lanuginosa	forma	forma	\N	\N	\N	\N	\N	\N	\N	\N	\N
4855
398	1	\N	\N	56	56	\N	396	\N	forma	forma	Poa annua fo. lanuginosa Sennen	Poa annua fo. lanuginosa	Sennen	\N	Poaceae	Poa	annua	\N	\N
4856
418	1	\N	\N	56	398	1	\N	\N	\N	fo.	Poa annua fo. lanuginosa	Poa annua fo. lanuginosa	\N	\N	\N	Poa	annua	\N	\N
4857
434	1	\N	\N	\N	\N	\N	6	exilis	subspecies	subspecies	\N	\N	\N	\N	\N	\N	\N	\N	\N
4858
436	1	\N	\N	94	94	\N	434	\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
4859
456	1	\N	\N	94	436	1	\N	\N	\N	subsp.	Poa annua ssp. exilis	Poa annua subsp. exilis	\N	\N	\N	Poa	annua	\N	\N
4860
494	1	\N	\N	94	436	1	\N	\N	\N	subsp.	Poa annua subsp. exilis	Poa annua subsp. exilis	\N	\N	\N	Poa	annua	\N	\N
4861
510	1	\N	\N	\N	\N	\N	6	minima	subvariety	subvariety	\N	\N	\N	\N	\N	\N	\N	\N	\N
4862
512	1	\N	\N	512	512	\N	510	\N	subvariety	subvariety	Poa annua subvar. minima (Schur) Asch. & Graebn.	Poa annua subvar. minima	(Schur) Asch. & Graebn.	\N	Poaceae	Poa	annua	\N	\N
4863
532	1	\N	\N	512	512	1	\N	\N	\N	subvar.	Poa annua subvar. minima	Poa annua subvar. minima	\N	\N	\N	Poa	annua	\N	\N
4864
548	1	\N	\N	\N	\N	\N	6	eriolepis	variety	variety	\N	\N	\N	\N	\N	\N	\N	\N	\N
4865
550	1	\N	\N	18	18	\N	548	\N	variety	variety	Poa annua var. eriolepis E. Desv.	Poa annua var. eriolepis	E. Desv.	\N	Poaceae	Poa	annua	\N	\N
4866
570	1	\N	\N	18	550	1	\N	\N	\N	var.	Poa annua var. eriolepis	Poa annua var. eriolepis	\N	\N	\N	Poa	annua	\N	\N
4867
572	1	\N	\N	\N	\N	\N	\N	Caryophyllaceae	family	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4868
574	1	\N	\N	\N	\N	\N	572	Silene	genus	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4869
576	1	\N	\N	\N	\N	\N	574	scouleri	species	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
4870
586	1	\N	\N	\N	\N	\N	576	pringlei	subspecies	subspecies	\N	\N	\N	\N	\N	\N	\N	\N	\N
4871
588	1	\N	\N	588	588	\N	586	\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
4872
608	1	\N	\N	588	588	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
4873
646	1	\N	\N	588	588	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
4874
664	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
4875
684	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
4876
725	2	1	\N	18	380	\N	\N	\N	\N	\N	\N	Poa annua	\N	\N	\N	\N	\N	\N	\N
4877
728	2	2	\N	18	18	\N	\N	\N	\N	\N	\N	Poa annua L.	\N	\N	\N	\N	\N	\N	\N
4878
731	2	3	\N	18	570	\N	\N	\N	\N	\N	\N	Poa annua var. eriolepis	\N	\N	\N	\N	\N	\N	\N
4879
734	2	4	\N	94	494	\N	\N	\N	\N	\N	\N	Poa annua subsp. exilis	\N	\N	\N	\N	\N	\N	\N
4880
737	2	5	\N	94	456	\N	\N	\N	\N	\N	\N	Poa annua ssp. exilis	\N	\N	\N	\N	\N	\N	\N
4881
740	2	6	\N	512	532	\N	\N	\N	\N	\N	\N	Poa annua subvar. minima	\N	\N	\N	\N	\N	\N	\N
4882
743	2	7	\N	56	418	\N	\N	\N	\N	\N	\N	Poa annua fo. lanuginosa	\N	\N	\N	\N	\N	\N	\N
4883
746	2	8	\N	588	646	\N	\N	\N	\N	\N	\N	Silene scouleri subsp. pringlei var. grisea C.L. Hitchc. & Maguire	\N	\N	\N	\N	\N	\N	\N
4884
749	2	9	\N	588	608	\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
4885
752	2	10	\N	246	304	\N	\N	\N	\N	\N	\N	Fabaceae Inga sp.3	\N	\N	\N	\N	\N	\N	\N
4886
755	2	11	\N	246	266	\N	\N	\N	\N	\N	\N	Fabaceae Inga "fuzzy leaf"	\N	\N	\N	\N	\N	\N	\N
4887
758	2	12	\N	208	342	\N	\N	\N	\N	\N	\N	Fabaceae unknown #2	\N	\N	\N	\N	\N	\N	\N
4888
761	2	13	\N	208	228	\N	\N	\N	\N	\N	\N	Fabaceae Boyle#6500	\N	\N	\N	\N	\N	\N	\N
4889
764	2	14	\N	\N	684	\N	\N	\N	\N	\N	\N	Fam_indet. Boyle#6501	\N	\N	\N	\N	\N	\N	\N
4890
767	2	15	\N	132	190	\N	\N	\N	\N	\N	\N	Compositae indet. sp.1	\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
4891 4982
\.
4892 4983

  
4893 4984

  
......
4895 4986
-- Data for Name: taxonconcept_ancestor; Type: TABLE DATA; Schema: public; Owner: bien
4896 4987
--
4897 4988

  
4898
COPY taxonconcept_ancestor (taxonconcept_id, ancestor_id) FROM stdin;
4989
COPY taxonconcept_ancestor (descendant_id, ancestor_id) FROM stdin;
4899 4990
2	2
4991
4	4
4900 4992
4	2
4901
4	4
4993
6	6
4994
6	4
4902 4995
6	2
4903
6	4
4904
6	6
4996
18	18
4997
18	6
4998
18	4
4905 4999
18	2
4906
18	4
4907
18	6
4908
18	18
4909
54	2
4910
54	4
4911
54	6
4912
54	54
4913
56	2
4914
56	4
4915
56	6
4916
56	54
4917
56	56
4918
82	2
4919
82	4
4920
82	82
4921
94	2
4922
94	4
4923
94	82
4924
94	94
4925
132	132
4926
152	152
4927
154	154
4928
172	172
4929
170	154
4930
170	170
4931
190	190
4932
192	192
4933
208	192
4934
208	208
4935
228	228
4936
232	192
4937
232	232
4938
246	192
4939
246	232
4940
246	246
4941
266	266
4942
304	304
4943
342	342
4944
380	380
4945
396	2
4946
396	4
4947
396	6
4948
396	396
4949
398	2
4950
398	4
4951
398	6
4952
398	396
4953
398	398
4954
418	418
4955
434	2
4956
434	4
4957
434	6
4958
434	434
4959
436	2
4960
436	4
4961
436	6
4962
436	434
4963
436	436
4964
456	456
4965
494	494
4966
510	2
4967
510	4
4968
510	6
4969
510	510
4970
512	2
4971
512	4
4972
512	6
4973
512	510
4974
512	512
4975
532	532
4976
548	2
4977
548	4
4978
548	6
4979
548	548
4980
550	2
4981
550	4
4982
550	6
4983
550	548
4984
550	550
4985
570	570
4986
572	572
4987
574	572
4988
574	574
4989
576	572
4990
576	574
4991
576	576
4992
586	572
4993
586	574
4994
586	576
4995
586	586
4996
588	572
4997
588	574
4998
588	576
4999
588	586
5000
588	588
5001
608	608
5002
646	646
5003
664	664
5004
684	684
5005
725	725
5006
728	728
5007
731	731
5008
734	734
5009
737	737
5010
740	740
5011
743	743
5012
746	746
5013
749	749
5014
752	752
5015
755	755
5016
758	758
5017
761	761
5018
764	764
5019
767	767
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
5020 5243
\.
5021 5244

  
5022 5245

  
......
5034 5257

  
5035 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;
5036 5259
1	2	18	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5037
2	2	56	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5038
3	2	94	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5039
4	2	132	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5040
5	2	170	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5041
6	2	208	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5042
7	2	246	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5043
11	2	398	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5044
12	2	436	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5045
14	2	512	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5046
15	2	550	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5047
16	2	588	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5048
18	2	664	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5049
20	2	725	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5050
21	2	728	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5051
22	2	731	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5052
23	2	734	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5053
24	2	737	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5054
25	2	740	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5055
26	2	743	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5056
27	2	746	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5057
28	2	749	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5058
29	2	752	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5059
30	2	755	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5060
31	2	758	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5061
32	2	761	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5062
33	2	764	\N	unknown	\N	\N	f	f	\N	\N	\N	\N	\N	\N	\N	\N	\N
5063
34	2	767	\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
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff