Genesys Backend issueshttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues2024-03-28T10:05:35+01:00https://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/684Citations and literature2024-03-28T10:05:35+01:00Matija ObrezaCitations and literatureThis ticket adds support for citations and literature to Genesys.
## What does this mean?
Researchers often use data from Genesys and refer to Genesys as the source of the data. Genebanks often maintain the list of citations referencin...This ticket adds support for citations and literature to Genesys.
## What does this mean?
Researchers often use data from Genesys and refer to Genesys as the source of the data. Genebanks often maintain the list of citations referencing specific accessions in their collections. Either way, there is a paper published somewhere (with a URL) and a **citation record**. It is these citation records that we wish to include in Genesys.
A `Citation` includes:
- title (text)
- author names (text)
- year of publication (number)
- journal (text)
- type (one of `enum`: Journal article, Book, Book section, Conference proceedings, Preprint, Report, Other)
- article DOI (text, doi, must be unique in the database)
- download URL, if available (text, URL)
- abstract (long text)
- source of citation (one of: `enum` Google Scholar, bioRxiv, genebank, user submission)
- relevance (one or more of: `enum` Genesys cited, Genesys used, Accession referenced, Genesys discussed, Genesys mentioned)
- owner (SID) - user or `Partner` (like in datasets?)
- status (one of `enum`: SUBMITTED, PUBLISHED, DUPLICATE, REJECTED)
- statusText (text) - explanation why submission is not published
- link to valid `Citation` - used for duplicates, otherwise `null`
#### Extra properties (next version)
Additionally we may consider including:
- author OrcIDs and countries/territories/islands of affiliation
- is paper peer reviewed?
- is paper open access?
- subject of research
- source of funding
- countries/territories/islands covered in research
## Detecting duplicates
We'll use our **Similarity** method to detect similar/duplicate submissions. We'll compare the title, journal, year of publication, author names and abstract.
## Linking to Citations
A `Citation` may refer to Genesys in general (Genesys used, discussed, mentioned) or link to specific Accession**s**, Dataset**s**, or Subset**s**. These "links" will then be rendered on corresponding details pages in Genesys.
Other text-based categories could include **crops** and **species names**.
## User submissions
Users (any role) will be able to use a form in Genesys to submit a new citation. Genesys will first search for duplicates and present the matches to the user. If the user still wants to submit their citation, they'll need to include `submitAnyway=true` in the API request.
New submissions will have `status = SUBMITTED` until reviewed and handled by the Genesys team.
Users will be able to see their submitted citations (and their status) in their Dashboard.
## Genebank submissions
In the future, genebanks will be able to push citations related to `Accessions` (with GGCE).
## Managing citations
Users with `CITATION_MANAGER` or `ADMINISTRATOR` role can modify and publish individual citations. The corresponding UI will be in their Dashboard.
They are able to add links to specific Accession**s**, Dataset**s**, or Subset**s**.
> Inspired by https://www.gbif.org/literature-trackingArtem HrybeniukArtem Hrybeniukhttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/685Draft: Deduplicated AccessionRefs2023-09-04T16:41:16+02:00Matija ObrezaDraft: Deduplicated AccessionRefsWe use `SubsetAccessionRef` and `DatasetAccessionRef` to store references to accessions. Each reference may point to an actual `Accession` in Genesys, or has a `null` reference. Each subset and dataset has its own copy of accession refer...We use `SubsetAccessionRef` and `DatasetAccessionRef` to store references to accessions. Each reference may point to an actual `Accession` in Genesys, or has a `null` reference. Each subset and dataset has its own copy of accession references, meaning that when referring to the same accession (for example `inst=NGA039, acce=TMp-419, genu=Manihot, spec=esculenta, doi=...`) we have multiple entries every time the same combination of `instituteCode`, `accessionNumer`, `genus`, ... is referenced.
In this issue we extract `AccessionReference` to a new entity with `@Table("accession_ref")`. Each reference can appear only once in this table. Instead of using `null`, we will use a blank string `""` to enable unique constraint checks in MariaDB.Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/689Move to OpenSearch2023-10-30T20:10:57+01:00Matija ObrezaMove to OpenSearchhttps://opensearch.org/docs/latest/upgrade-to/upgrade-to/https://opensearch.org/docs/latest/upgrade-to/upgrade-to/Matija ObrezaMatija Obreza