crossref how-to: a technical introduction to the basics of crossref, chuck koscher

33
CrossRef Technical Basics Chuck Koscher, Director of Technology

Upload: crossref

Post on 10-May-2015

5.686 views

Category:

Technology


2 download

DESCRIPTION

This presentation has been updated. Please use the following link: http://www.slideshare.net/CrossRef/introduction-to-crossref-webinar

TRANSCRIPT

Page 1: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

CrossRef Technical Basics

Chuck Koscher, Director of Technology

Page 2: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

Agenda

This presentation will not cover:• CrossRef membership basics (obligations)• Costs or fees

We assume:• Understanding of web linking• XML and metadata awareness

This presentation will cover:• Technical details regarding CrossRef transactions• Introduce XML specifics as they relate to CrossRef• Resources available for your use

Page 3: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

‘The’ DOI Resolver

Publisher’s Prefix

Publisher of the target entity

11. Deposit article meta-data to

CrossRef with the DOI & URL2. Query CrossRef to get a DOI using

an article’s meta-data3. Present the referring article to the

user with reference links active as DOIs

4. The user clicks on a link5. Their browser sends the link to the

DOI Resolver6. The Resolver finds the URL and re-

directs the user to the target document

HTTP://dx.doi.org/10.1016/S0040-4039(01)80789-9

Publisher of the referring entity

2

User

3 ReferrerSource

4

Referent

5

6Service

Target

DOI suffix

Review: How a DOI works

Page 4: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

Flow of transactions

Joins CrossRefand receives prefix10.1234

Designs suffixscheme

Publishes Article A

Build XMLfor deposit

Sends XML to CrossRef

Extract referencesFrom the article

Query CrossRefto get DOIs for the bibliography

Build links intoon-line article A(link out)

Construct anappropriate landing page

Deposit Query

Query CrossRefto get DOIs for cited-by article A

Query

Build ‘who cites this article list intoon-line article A(link out)

Receive a cited-by alertfor article A

email

Update ‘who cites this article list intoon-line article A(link out)

Page 5: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

<?xml version="1.0" encoding="UTF-8"?> …<timestamp>200706181120</timestamp> …<journal><journal_metadata> <full_title>Test Publication</full_title> <abbrev_title>T27P</abbrev_title> <issn media_type='print'>99999999</issn></journal_metadata><journal_issue> <publication_date media_type='print'> <month>5</month> <day>5</day> <year>2001</year> </publication_date> <journal_volume> <volume>33</volume> </journal_volume> <issue>1</issue></journal_issue>

<journal_article publication_type='full_text'>

<titles> <title>Article Apr 16, 2007 11:51</title></titles>

<contributors> <person_name sequence='first' contributor_role='author'> <given_name>Chuck</given_name> <surname>Koscher</surname> </person_name>

<publication_date media_type='print'> <month>5</month> <day>9</day> <year>1995</year> </publication_date> <pages> <first_page>100</first_page><last_page>200</last_page> </pages>

<doi_data> <doi>10.50505/test_200704082300</doi> <resource>http://www.crossref.org/</resource> </doi_data>

<component_list> <component parent_relation="isPartOf"> <description>Some component DOI</description> <doi_data> <doi>10.50505/test_200611161118</doi> <resource>http://www.crossref.org/</resource> </doi_data> </component> </component_list>

1

2

3

4

CrossRef XML

Page 6: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

Deposit a list of references in an article

- Its just some additional XML

<citation_list> <citation key="10.1002/sat.744-BIB1"> <journal_title>Microwave Journal</journal_title> <author>Steyskal</author> <volume>30</volume> <first_page>107</first_page> <cYear>1987</cYear> </citation> <citation key="10.1002/sat.744-BIB2“> <volume_title>Wideband CDMA for Third Generation Mobile Communications</volume_title> <author>Ojanperä</author> <cYear>1998</cYear> <unstructured_citation>(eds). Wideband CDMA for Third Generation Mo…. </unstructured_citation> </citation> <citation key="10.1002/sat.744-BIB3"> <journal_title>IEEE Transactions on Acoustics, Speech, and Signal Processing</journal_title> <author>Treichler</author> <volume>31</volume> <first_page>459</first_page> <cYear>1983</cYear> </citation> <citation key="10.1002/sat.744-BIB4"> <volume_title>Signal Detection in Non Gaussian Noise</volume_title> <author>Kassam</author> <cYear>1988</cYear> <unstructured_citation>Signal Detection in Non Gaussian Noise. Springer: New York, 1… </citation></citation_list>

Page 7: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

Where to perform transactions

95+% of the activity is by automated systems that ‘talk’ to CrossRef sending XML data using simple Web operations.

o http://doi.crossref.org => production system (deposit & query)o http://test.crossref.org => a ‘sandbox’ for experimentso www.crossref.org/openurl => OpenURL host (queries only)o http://oai.crossref.org/OAIHandler => metadata harvesting

Interfaces for people are available to perform low volume transactions or to do testing.

o http://doi.crossref.orgo http://www.crossref.org

Page 8: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

How do I send in this XML?

- Use the upload form at http://doi.crossref.org

Page 9: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

Automating the process to send this XML

- Write a program to do it for you automatically

.

• Documentation

http://www.crossref.org/help

http://doi.crossref.org/doc/userdoc.html

• Sample Java

http://www.crossref.org/08downloads/doUpload.java

http://doi.crossref.org/doc/samples.zip

Page 10: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

What if I don’t program and don’t know XML?

- Use http://www.crossref.org/webDeposit/

Page 11: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher
Page 12: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher
Page 13: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher
Page 14: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

What if I have articles in NLM based XML?

- Use http://www.crossref.org/webDeposit/

Page 15: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher
Page 16: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

People view: Obtain a DOI when you have the metadata

- Use the guest query form at http://www.crossref.org/guestquery

Page 17: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

People view: Query for a DOI when you have the metadata

- Use a form at http://doi.crossref.org

Piped query

XML query

Page 18: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

- Write a program to do it for you automatically- HTTP Post or Get

http://doi.crossref.org/servlet/query?usr=<USR>&pwd=<PWD>&qdata= |%20Natl%20Acad.%20Sci.%20USA|Zhou|94|24|13215|1997|||%0A|J.%20Mol.%20Biol.|Hagerman|260|||1996|||

POST /servlet/query?usr=creftest&pwd=c53test&format=unixref HTTP/1.1Host: doi.crossref.orgConnection: Keep-Alive, TETE: trailers, deflate, gzip, compressUser-Agent: RPT-HTTPClient/0.3-3Accept-Encoding: deflate, gzip, x-gzip, compress, x-compressContent-type: application/x-www-form-urlencodedContent-length: 560==== Body 560 bytesBody => usr=<USR>Body => &pwd=<PWD>Body => &qdata=%3C%3Fxml+version+%3D+%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3Cquery_batch+version%3D%222.0%22ns+%3D+%22http%3A%2F%2Fwww.crossref.org%2Fqschema%2F2.0%22+xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%E%3Chead%3E%3Cemail_address%3Eckoscher%40crossref.org%3C%2Femail_address%3E%3Cdoi_batch_id%3Ew001%3C%2Fdoi_batch_id%3E%3C%2Fhead3Cbody%3E%3Cquery+key%3D%22555-555%22+expanded-results%3D%22true%22%3E%3Cdoi%3E10.1103%2FPhysRevD.7.2467%3C%2Fdoi%3E+%3C%2Fquery3C%2Fbody%3E%3C%2Fquery_batch%3E%0A====

XML

Get

Post

Machine view: Query for a DOI when you have the metadata

Page 19: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

People view: Obtain a DOI when you have the metadata(OpenURL)

http://www.crossref.org/openurl?aulast=Maas+LRM&title=JOURNAL+OF+PHYSICAL+OCEANOGRAPHY&volume=32&issue=3&spage=870&date=2002&pid=username:password

Page 20: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher
Page 21: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

Machine view: Obtain a DOI when you have the metadata

- Use our OpenURL resolver

HTTP://www.crossref.org/openurl

http://www.crossref.org/openurl?aulast=Maas+LRM&title=JOURNAL+OF+PHYSICAL+OCEANOGRAPHY

&volume=32&issue=3&spage=870&date=2002

• You must register in order to use this account

http://www.crossref.org/requestaccount/

add “pid=username:password” or “pid=some@registered_email” to the OpenURL

Page 22: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher
Page 23: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

People view: Query to obtain metadata using a DOI

- Use the form at http://doi.crossref.org

Page 24: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

http://www.crossref.org/openurl?id=doi:10.1103/PhysRev.47.777

&pid=username:password &noredirect=true

Machine view: Query to obtain metadata using a DOI

- Use our OpenURL resolver

HTTP://www.crossref.org/openurl

Page 25: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

People view: Query to obtain metadata using a DOI

Page 26: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

People view: Obtain a DOI when you have the reference text

-Use the simple text query form at http://www.crossref.org/SimpleTextQuery

Page 27: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

If you are the publisher, submit these as references!

People view: Obtain a DOI when you have the reference text

Page 28: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

Machine view: Obtain a DOI when you have the reference text

None (not yet anyway)

Page 29: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

Machine view: Query to obtain forward links

- Its just another type of XML query

<?xml version = "1.0" encoding="UTF-8"?><query_batch version="2.0" xmlns = "http://www.crossref.org/qschema/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.crossref.org/qschema/2.0 http://www.crossref.org/qschema/crossref_query_input2.0.xsd"> <head> <email_address>[email protected]</email_address> <doi_batch_id>fl_001</doi_batch_id> </head> <body> <fl_query alert="false"> <!-- **** set alert="true" if we want to receive future emails when someone adds a citation to the article --> <!-- This is the DOI of the article that is 'cited', we must be the owner to retrieve any cited-by links --> <doi>10.1097/00001622-200101000-00005</doi> </fl_query> </body></query_batch>

Page 30: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

<forward_link doi="10.1097/00001622-200101000-00005"> <journal_cite> <issn>12345678</issn> <journal_title>Test Publication</journal_title> <article_title>Article Mar 2, 2004 10:38</article_title> <first_page>S125</first_page> <year>1999</year> <publication_type>full_text</publication_type> <doi>10.5555/small_md_0001</doi> </journal_cite> <msg>Forward linking query alerts enabled in CrossRef</msg> </forward_link> <forward_link doi="10.1097/00001622-200101000-00005"> <journal_cite> <issn>12345678</issn> <journal_title>Test Publication</journal_title> <article_title>Article Mar 2, 2004 10:38</article_title> <contributors> <contributor first-author="true"> <given_name>Tom</given_name> <surname>Jo nes</surname> </contributor> </contributors> <volume>12</volume> <issue>1&#233;</issue> <first_page>S125</first_page> <year>1999</year> <publication_type>full_text</publication_type> <doi>10.5555/char_test_001</doi> </journal_cite> <msg>Forward linking query alerts enabled in CrossRef</msg> </forward_link> </body> </query_result></crossref_result>

Page 31: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

Machine view: Obtain lots of metadata all at one time

- Use our OAI interface

http://oai.crossref.org/OAIHandler/?verb=ListRecords&from=2009-04-20&until=2009-05-01&set=10.1007:2661&metadataPrefix=cr_unixml

Page 32: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher
Page 33: CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Koscher

www.crossref.org/help