2012-05-08 39 views
24

A digital object identifier (DOI) es una cadena global única que identifica un documento electrónico (por ejemplo, un PDF de un artículo académico). Básicamente, proporciona un método para crear un enlace permanente a un documento (por ejemplo, http://dx.doi.org/10.1145/146585.146609).Obtener metadatos de DOI

¿Existe un servicio web (o cualquier otro sistema) para obtener los metadatos (preferiblemente en formato BibTeX) de un documento de un DOI dado?

Editado para agregar un poco de información expositiva.

+4

No estoy seguro de por qué esto está cerrado o bien, pero no hay información sobre esto aquí http: // crosscite.org/cn/ – Dave

+7

Como la pregunta está cerrada, responderé en los comentarios: 'curl -LH" Aceptar: texto/bibliografía; estilo = bibtex "http: // dx.doi.org/10.1038/nrd842' – anumi

+0

Además, busca JabRef. – anumi

Respuesta

8

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

+2

También hay doi2bib ("dennos un DOI y haremos nuestro mejor esfuerzo para obtener la entrada BibTeX") en http://www.doi2bib.org/#/doi – anumi

+0

¿Está documentada esta interfaz de solicitud/respuesta en alguna parte? ¿Cómo encontraste esta funcionalidad? – argentpepper

+0

@argentpepper: lo siento, no recuerdo. – anumi

0

CrossRef has an API, que se puede utilizar con una clave de API que se puede obtener de forma gratuita desde .

2

Eche un vistazo a cómo lo implementaron estos tipos: www.doi2bib.org.

Lo que hice en uno de mis proyectos:

  • se veía en su estructura url solicitud: http://www.doi2bib.org/doi2bib + + ?id={your doi here}.
  • luego utilizaron su ... bueno API para obtener los datos (por ejemplo http://www.doi2bib.org/doi2bib?id=10.1016%2Fj.actpsy.2016.09.007) y la respuesta es:
    • @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} }
  • entonces se puede analizar de la manera que desee.

Esto me ayudó a conseguir lo que necesitaba. Sin embargo, la mejor manera sería echar un vistazo a su repositorio GitHub e intentar crear uno propio.

Espero que ayude!

+0

¡Gracias! Su aplicación parece estar haciendo una petición como la de @anumi anterior ('GET http: // dx.doi.org/whatever') pero con el encabezado' Accept: application/x-bibtex; charset = utf-8' en lugar de 'Accept: text/bibliography; style = bibtex'. Crearé una nueva respuesta con esta información. – argentpepper

3

Section 5.4.1 Content Negotiation de los documentos del DOI afirma: "Las agencias de registro de DOI están implementando la negociación de contenido para sus nombres de DOI, específicamente para ofrecer representaciones de metadatos de valor agregado para los usuarios". De acuerdo con Section 4 Supported Content Types de la documentación de DOI Content Negotiation para http://crosscite.org, "Actualmente, tres agencias de registro de DOI han implementado la negociación de contenido para sus DOI: CrossRef, DataCite y mEDRA." La lista de formatos compatibles (que depende de la agencia de registro) incluye tanto BibTeX a través de Accept: application/x-bibtex (este es el enfoque utilizado por http://doi2bib.org) como la entrada de bibliografía formateada a través de Accept: text/bibliography (esto es the approach suggested by @anumi anterior). Al usar el último encabezado, debe especificar el parámetro de tipo de medio style=bibtex.

Los dos tipos miméticos relevantes proporcionan representaciones ligeramente diferentes. Una solicitud para GET http://dx.doi.org/10.1038/nrd842 con Accept: application/x-bibtex produce la respuesta

@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} 
} 

y 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

¡Buen trabajo armar esto! Lo marcaría como una respuesta, es realmente útil. –