2012-05-08 3 views
24

A digital object identifier (DOI) - глобально уникальная строка, которая идентифицирует электронный документ (например, PDF-документ академической статьи). Он по существу обеспечивает способ создания постоянной ссылки на документ (например, http://dx.doi.org/10.1145/146585.146609).Получить метаданные от DOI

Есть ли веб-служба (или любая другая система) для получения метаданных (предпочтительно в форме BibTeX) документа из данного DOI?

Отредактировано, чтобы добавить информацию об экспонировании.

+4

Я не знаю, почему это не работает либо, но есть информация об этом здесь Http: // crosscite.org/cn/ – Dave

+7

Поскольку вопрос закрыт, я отвечу в комментариях: 'curl -LH 'Accept: text/bibliography; style = bibtex" http: // dx.doi.org/10.1038/nrd842' – anumi

+0

Кроме того, ищите JabRef. – anumi

ответ

8

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

+2

Существует также doi2bib («дайте нам DOI и мы сделаем все возможное, чтобы вы получили запись BibTeX») по адресу http://www.doi2bib.org/#/doi – anumi

+0

Является ли этот интерфейс запроса/ответа документированным где-то? Как вы нашли эту функциональность? – argentpepper

+0

@argentpepper: извините, я не помню. – anumi

0

CrossRef has an API, которые вы можете использовать с помощью ключа API, который может быть получен из бесплатно.

2

Посмотрите, как эти ребята внедрили его: www.doi2bib.org.

То, что я сделал в одном из моих проектов:

  • смотрел на их структуру url запроса: http://www.doi2bib.org/doi2bib + ?id= + {your doi here}.
  • затем использовали их ... ну API, чтобы получить данные (например, http://www.doi2bib.org/doi2bib?id=10.1016%2Fj.actpsy.2016.09.007) и ответ:
    • @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} }
  • , то вы можете разобрать его так, как вы хотите.

Это помогло мне получить то, что мне было нужно. Тем не менее, самым приятным способом было бы посмотреть их репозиторий GitHub и попытаться создать свой собственный.

Надеюсь, это поможет!

+0

Спасибо! Их приложение, похоже, делает запрос, подобный запросу @anumi выше ('GET http: // dx.doi.org/whatever'), но с заголовком' Accept: application/x-bibtex; charset = utf-8' вместо 'Accept: text/bibliography; стиль = bibtex'. Я создам новый ответ с этой информацией. – argentpepper

3

Section 5.4.1 Content Negotiation Документов Руководства DOI говорится: «Консолидация контента осуществляется регистрационными агентствами DOI для их имен DOI, в частности для предоставления представлений метаданных с добавленной стоимостью для пользователей». Согласно документу Section 4 Supported Content Types документации по документообороту DOI для http://crosscite.org «В настоящее время три агентства регистрации DOI внедрили согласование контента для своих DOI: CrossRef, DataCite и mEDRA». Список поддерживаемых форматов (который зависит от регистрационного агентства) включает в себя как BibTeX через Accept: application/x-bibtex (это подход, используемый http://doi2bib.org), так и форматированный список библиографии через Accept: text/bibliography (это the approach suggested by @anumi выше). При использовании последнего заголовка вы должны указать параметр типа мультимедиа style=bibtex.

Два соответствующих вида mimetypes предоставляют несколько разные представления. Запрос на GET http://dx.doi.org/10.1038/nrd842 с Accept: application/x-bibtex дает ответ

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

и с 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

Отличная работа, поставив это вместе! Я бы отметил это как ответ, это действительно полезно. –

Смежные вопросы