Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default dc:type should not be "peer-reviewed article" #10839

Open
kaitlinnewson opened this issue Jan 24, 2025 · 2 comments
Open

Default dc:type should not be "peer-reviewed article" #10839

kaitlinnewson opened this issue Jan 24, 2025 · 2 comments

Comments

@kaitlinnewson
Copy link
Member

Describe the bug
In the OAI DC export, when there is no type for the section or the publication, it can default to "peer-reviewed article" (metadata.type.peerReviewed). This should not be the default type - a more appropriate default may be one of the Dublin core default list of resource types, like "text".

Additionally, there is an empty check being used that should be evaluated, as that doesn't work correctly if there are empty entries for section types in the database.

We may also want to consider synchronizing the behaviour in the DC meta tags plugin, which adds meta tags to the HTML of the article pages.

To Reproduce
Steps to reproduce the behavior:

  1. Open the OAI endpoint for a journal
  2. Select List Records (defaults to dublin core)
  3. See the Resource Type being applied for different articles (I had to remove empty type entries in the database for the section before the default type appears).

What application are you using?
OJS, OMP or OPS, all versions

Additional information

https://github.com/pkp/ojs/blob/cd5df4842054b2fd5cc285b7a4e8c3a7f0239fb3/plugins/metadata/dc11/filter/Dc11SchemaArticleAdapter.php#L133

@kaitlinnewson
Copy link
Member Author

From @mpbraendle:

we recently had a similar problem because the Swiss central library catalog (swisscovery) was receiving the wrong dc.type information for some of the articles. I solved it by mapping the COAR resource types you can enable in the submission meta data to the DRIVER types which are then interpreted by the swisscovery harvesting pipe.

I've added this mapping to plugins/metadata/dc11/filter/Dc11SchemaArticleAdapter.php

135         // Type
    136         // UZH CHANGE OJS-272 2024/11/29/mb map COAR resource type to DRIVER type
    137         $resourceType = $section->getData('resourceType');
    138         $driverType = $this->_mapCoarToDriverType($resourceType);
    139         if ($driverType === '') {
    140             $driverType = 'info:eu-repo/semantics/article';
    141         }
    142         // END UZH CHANGE OJS-272
311     /**
    312      * UZH CHANGE OJS-272 2024/11/28/mb changes for swisscovery
    313      * map a COAR Resource Type by URI to a driver type
    314      * @param $uri string
    315      * @return string
    316      */
    317     public function _mapCoarToDriverType($uri = null) {
    318         $mapResourceTypes = array(
    319             'http://purl.org/coar/resource_type/c_6501' => 'info:eu-repo/semantics/article',
    320             'http://purl.org/coar/resource_type/c_2df8fbb1' => 'info:eu-repo/semantics/article',
    321             'http://purl.org/coar/resource_type/c_dcae04bc' => 'info:eu-repo/semantics/review',
    322             'http://purl.org/coar/resource_type/c_beb9' => 'info:eu-repo/semantics/article',
    323             'http://purl.org/coar/resource_type/c_7bab' => 'info:eu-repo/semantics/article',
    324             'http://purl.org/coar/resource_type/c_b239' => 'info:eu-repo/semantics/other',
    325             'http://purl.org/coar/resource_type/c_545b' => 'info:eu-repo/semantics/other',
    326             'http://purl.org/coar/resource_type/c_93fc' => 'info:eu-repo/semantics/report',
    327             'http://purl.org/coar/resource_type/c_efa0' => 'info:eu-repo/semantics/review',
    328             'http://purl.org/coar/resource_type/c_ba08' => 'info:eu-repo/semantics/bookReview',
    329             'http://purl.org/coar/resource_type/c_26e4' => 'info:eu-repo/semantics/other',
    330             'http://purl.org/coar/resource_type/c_8544' => 'info:eu-repo/semantics/lecture',
    331             'http://purl.org/coar/resource_type/c_5794' => 'info:eu-repo/semantics/conferencePaper',
    332             'http://purl.org/coar/resource_type/c_46ec' => 'info:eu-repo/semantics/doctoralThesis',
    333             'http://purl.org/coar/resource_type/c_8042' => 'info:eu-repo/semantics/workingPaper',
    334             'http://purl.org/coar/resource_type/c_816b' => 'info:eu-repo/semantics/preprint',
    335             'http://purl.org/coar/resource_type/c_1843' => 'info:eu-repo/semantics/other'
    336         );
    337 
    338         if ($uri) {
    339             return $mapResourceTypes[$uri];
    340         } else {
    341             return '';
    342         }
    343     }
    344     /* END UZH CHANGE OJS-272 */ 

So, in each section of a journal, the COAR type can be set and for articles in this section the corresponding DRIVER type will be output in OAI-PMH.

E.g. this is a record which is for a book review in OAI-PMH: https://zwingliana.ch/oai?verb=GetRecord&metadataPrefix=oai_dc&identifier=oai:www.hope.uzh.ch:article/8694

And this is corresponding the Swisscovery record, https://swisscovery.slsp.ch/permalink/41SLSP_NETWORK/1ufb5t2/alma99117731937905508

which has the correct type "REZENSION" on top.

@jalperin
Copy link
Member

More importantly, I would love for there to be a way of capturing (in OAI and meta tags) whether an article is in a section that undergoes peer review. Perhaps we could also find a way of marking whether peer review was done in the platform (i.e., check if a review round was completed).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

2 participants