2012-05-08 13 views
24

A digital object identifier (DOI) è una stringa globalmente univoca che identifica un documento elettronico (ad esempio, un PDF di un articolo accademico). In sostanza fornisce un metodo per creare un permalink su un documento (ad esempio, http://dx.doi.org/10.1145/146585.146609).Ottieni metadati da DOI

Esiste un servizio Web (o qualsiasi altro sistema) per ottenere i metadati (preferibilmente in formato BibTeX) di un documento da un determinato DOI?

Modificato per aggiungere alcune informazioni sull'esposizione.

+4

io non sono sicuro perché questo è chiuso sia, ma ci sono informazioni su questo qui http: // crosscite.org/cn/ – Dave

+7

Poiché la questione è chiusa, risponderò nei commenti: 'ricciolo -LH "Accept: text/bibliografia; style = BibTeX" http: // dx.doi.org/10.1038/nrd842' – anumi

+0

Inoltre, cercare JabRef. – anumi

risposta

8

curl -LH "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842

+2

C'è anche doi2bib ("darci una DOI e faremo del nostro meglio per ottenere la voce BibTeX") alla http://www.doi2bib.org/#/doi – anumi

+0

Is questa interfaccia di richiesta/risposta documentati da qualche parte? Come hai trovato questa funzionalità? – argentpepper

+0

@argentpepper: mi dispiace, non mi ricordo. – anumi

0

CrossRef has an API, che può essere utilizzato con una chiave API che può essere ottenuto gratuitamente presso .

2

Dai un'occhiata a come questi ragazzi l'hanno implementato: www.doi2bib.org.

Quello che ho fatto in uno dei miei progetti:

  • guardato la loro struttura url richiesta: http://www.doi2bib.org/doi2bib + ?id= + {your doi here}.
  • poi usato il loro ... beh API per ottenere i dati (ad esempio http://www.doi2bib.org/doi2bib?id=10.1016%2Fj.actpsy.2016.09.007) e la risposta è:
    • @article{Leinen_2016, doi = {10.1016/j.actpsy.2016.09.007}, url = {http://dx.doi.org/10.1016/j.actpsy.2016.09.007}, year = 2016, month = {nov}, publisher = {Elsevier {BV}}, volume = {171}, pages = {36--46}, author = {Peter Leinen and Stefan Panzer and Charles H. Shea}, title = {Hemispheric asymmetries of a motor memory in a recognition test after learning a movement sequence}, journal = {Acta Psychologica} }
  • allora si può analizzarlo nel modo desiderato.

Questo mi ha aiutato a ottenere ciò che avevo bisogno di fare. Tuttavia, il modo migliore sarebbe dare un'occhiata al loro repository GitHub e provare a crearne uno tuo.

Spero che aiuti!

+0

Grazie! La loro applicazione sembra fare una richiesta come quella di @anumi sopra ('GET http: // dx.doi.org/whatever'), ma con l'intestazione' Accept: application/x-BibTeX; charset = utf-8' invece di 'Accept: text/bibliography; style = bibtex'. Creerò una nuova risposta con queste informazioni. – argentpepper

3

Section 5.4.1 Content Negotiation dei documenti del Manuale DOI afferma: "La negoziazione del contenuto viene implementata dalle agenzie di registrazione DOI per i loro nomi DOI, in particolare per offrire rappresentazioni di metadati a valore aggiunto per gli utenti." Secondo lo Section 4 Supported Content Types della documentazione DOI Content Negotiation per http://crosscite.org, "Attualmente tre agenzie di registrazione DOI hanno implementato la negoziazione del contenuto per i propri DOI: CrossRef, DataCite e mEDRA." L'elenco dei formati supportati (che dipende dall'agenzia di registrazione) include sia BibTeX tramite Accept: application/x-bibtex (questo è l'approccio utilizzato da http://doi2bib.org) sia l'ingresso bibliografico formattato tramite Accept: text/bibliography (questo è the approach suggested by @anumi sopra). Quando si utilizza la seconda intestazione, è necessario specificare il parametro del tipo di supporto style=bibtex.

I due tipi di mimo rilevanti forniscono rappresentazioni leggermente diverse. Una richiesta di GET http://dx.doi.org/10.1038/nrd842 con Accept: application/x-bibtex produce la risposta

@article{Atkins_2002, 
    doi = {10.1038/nrd842}, 
    url = {http://dx.doi.org/10.1038/nrd842}, 
    year = 2002, 
    month = {jul}, 
    publisher = {Springer Nature}, 
    volume = {1}, 
    number = {7}, 
    pages = {491--492}, 
    author = {Joshua H. Atkins and Leland J. Gershell}, 
    title = {From the analyst{\textquotesingle}s couch: Selective anticancer drugs}, 
    journal = {Nature Reviews Drug Discovery} 
} 

e con Accept: text/bibliography; style=bibtex

@article{Atkins_2002, title={From the analyst’s couch: Selective anticancer drugs}, volume={1}, ISSN={1474-1784}, url={http://dx.doi.org/10.1038/nrd842}, DOI={10.1038/nrd842}, number={7}, journal={Nature Reviews Drug Discovery}, publisher={Springer Nature}, author={Atkins, Joshua H. and Gershell, Leland J.}, year={2002}, month={Jul}, pages={491–492}} 
+0

Ottimo lavoro mettendo insieme questo! Lo segnerei come una risposta, è davvero d'aiuto. –