scieloorg / articles_meta

Webservices para recuperar metadados de artigos SciELO armazenados no MongoDB
BSD 2-Clause "Simplified" License
7 stars 17 forks source link

Completa os metadados multilingues do artigo com um título alternativo (`original_language_title`) #234

Closed robertatakenaka closed 2 years ago

robertatakenaka commented 2 years ago

O que esse PR faz?

Completa os metadados multilingues do artigo (journal_article) com um título alternativo. Recomendação feita pelo CrossRef (http://support.crossref.org/hc/requests/407513), ao solicitar orientações sobre como complementar os dados multilingues dos artigos. No caso, somente faltavam os títulos. S0034-75902021000300300_crossref_IF_updated.xml.zip

Captura de Tela 2022-03-31 às 17 56 49 Captura de Tela 2022-03-31 às 17 57 20

Onde a revisão poderia começar?

por commits

Como este poderia ser testado manualmente?

import requests
doc = requests.get(
    "https://articlemeta.scielo.org/api/v1/article/?collection=scl&code=S0034-75902021000300300"
)

import json
data = json.loads(doc.text)

from articlemeta import export_crossref
from articlemeta.export import CustomArticle

xylose_article = CustomArticle(data)

import plumber
ppl = plumber.Pipeline(
            export_crossref.SetupDoiBatchPipe(),
            export_crossref.XMLHeadPipe(),
            export_crossref.XMLBodyPipe(),
            export_crossref.XMLDoiBatchIDPipe(),
            export_crossref.XMLTimeStampPipe(),
            export_crossref.XMLDepositorPipe(),
            export_crossref.XMLRegistrantPipe(),
            export_crossref.XMLJournalPipe(),
            export_crossref.XMLJournalMetadataPipe(),
            export_crossref.XMLJournalTitlePipe(),
            export_crossref.XMLAbbreviatedJournalTitlePipe(),
            export_crossref.XMLISSNPipe(),
            export_crossref.XMLJournalIssuePipe(),
            export_crossref.XMLPubDatePipe(),
            export_crossref.XMLVolumePipe(),
            export_crossref.XMLIssuePipe(),
            export_crossref.XMLJournalArticlePipe(),
            export_crossref.XMLArticleTitlesPipe(),
            export_crossref.XMLArticleTitlePipe(),
            export_crossref.XMLArticleContributorsPipe(),
            export_crossref.XMLArticleAbstractPipe(),
            export_crossref.XMLArticlePubDatePipe(),
            export_crossref.XMLPagesPipe(),
            export_crossref.XMLPIDPipe(),
            export_crossref.XMLElocationPipe(),
            export_crossref.XMLPermissionsPipe(),
            export_crossref.XMLProgramRelatedItemPipe(),
            export_crossref.XMLDOIDataPipe(),
            export_crossref.XMLDOIPipe(),
            export_crossref.XMLResourcePipe(),
            export_crossref.XMLCollectionPipe(),
            export_crossref.XMLArticleCitationsPipe(),
            export_crossref.XMLClosePipe()
        )
transformed_data = ppl.run(xylose_article, rewrap=True)
x = next(transformed_data)
with open("artigomultilingue.xml", "wb") as fp:
    fp.write(x)

Verifique as tags original_language_title criada para cada journal_article no arquivo artigomultilingue.xml

Algum cenário de contexto que queira dar?

n/a

Screenshots

n/a

Quais são tickets relevantes?

n/a

Referências

http://support.crossref.org/hc/requests/407513