USGCRP / gcis-conventions

Repository for the collection, management, and versioning of the GCIS data management conventions.
https://usgcrp.github.io/gcis-conventions/
1 stars 0 forks source link

Contributor Convention Discussion #31

Closed lomky closed 6 years ago

lomky commented 6 years ago

A ticket to discuss the conventions surrounding Contributors.

Current Contributor Conventions. (none)

Contributor Fields:

gcis=# \d+ contributor
                                                                           Table "gcis_metadata.contributor"
         Column          |       Type        |                        Modifiers                         | Storage  | Stats target |                    Description
-------------------------+-------------------+----------------------------------------------------------+----------+--------------+----------------------------------------------------
 id                      | integer           | not null default nextval('contributor_id_seq'::regclass) | plain    |              | An opaque numeric identifier for this contributor.
 person_id               | integer           |                                                          | plain    |              | The person (optional).
 role_type_identifier    | character varying | not null                                                 | extended |              | The role.
 organization_identifier | character varying |                                                          | extended |              | The organization.
Indexes:
    "contributor_pkey" PRIMARY KEY, btree (id)
    "contributor_person_id_role_type_organization_identifier_key" UNIQUE CONSTRAINT, btree (person_id, role_type_identifier, organization_identifier)
Check constraints:
    "ck_person_org" CHECK (person_id IS NOT NULL OR organization_identifier IS NOT NULL)
Foreign-key constraints:
    "contributor_ibfk_1" FOREIGN KEY (person_id) REFERENCES person(id) ON UPDATE CASCADE ON DELETE CASCADE
    "contributor_organization_fkey" FOREIGN KEY (organization_identifier) REFERENCES organization(identifier) ON UPDATE CASCADE ON DELETE CASCADE
    "fk_role_type" FOREIGN KEY (role_type_identifier) REFERENCES role_type(identifier)
Referenced by:
    TABLE "publication_contributor_map" CONSTRAINT "publication_contributor_map_contributor_id_fkey" FOREIGN KEY (contributor_id) REFERENCES contributor(id) ON UPDATE CASCADE ON DELETE CASCADE
Triggers:
    audit_trigger_row AFTER INSERT OR DELETE OR UPDATE ON contributor FOR EACH ROW EXECUTE PROCEDURE audit.if_modified_func('true')
    audit_trigger_stm AFTER TRUNCATE ON contributor FOR EACH STATEMENT EXECUTE PROCEDURE audit.if_modified_func('true')
Has OIDs: no

Provenance Connections:

none?

Relationships:

Publication
Reference
lomky commented 6 years ago

Contributor Conventions

Appropriate Use Case

Contributors are created on all publications that provide publishers, authors, editors, etc unless the decision is made to not specify them.

Field Conventions

id

Current definition:

An opaque numeric identifier for this contributor.

person_id

Current definition:

The person (optional).

organization_identifier

Current definition:

The organization.

role_type_identifier

Generally speaking these should match the exact role type specified in the publication. Where reasonable, synonymous types may be used (Chief Editor / Lead Editor). If the publication gives the role in a foreign language, we would use the existing matching translation or create a new English role to match.

@amruelama please tag in the role guidance you mentioned on the call.

Point of contact: we want to have a PoC on all publications where it is available, going forward. We are undecided on whether we will back-fill this in. May simply be the author. If an email ID is only provided for one person, they are PoC. If there is only one with a mail symbol but all have email IDs, the person with the symbol is the PoC.

For third party reports we are loading into GCIS, we ask the third party who the PoC is. @amruelama did I capture that properly

Author: this is the default role type assumed if no role is listed on the publication.

Current definition:

The role.

Provenance Conventions

None

Relationship Conventions

Publication

Contributors are created on all publications that provide publishers, authors, editors, etc unless the decision is made to not specify them.

Reference

Deprecated.
We will not connect References to Contributors going forward, nor attempt to backfill in the connection.

lomky commented 6 years ago

Metrics Discussion

For every publication type, we should determine what are the required, allowed, and disallowed role types and determine the scoring for each.