crossref how-to: a technical introduction to the basics of crossref, chuck koscher
DESCRIPTION
This presentation has been updated. Please use the following link: http://www.slideshare.net/CrossRef/introduction-to-crossref-webinarTRANSCRIPT
CrossRef Technical Basics
Chuck Koscher, Director of Technology
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
‘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
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
Update ‘who cites this article list intoon-line article A(link out)
<?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
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>
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
How do I send in this XML?
- Use the upload form at http://doi.crossref.org
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
What if I don’t program and don’t know XML?
- Use http://www.crossref.org/webDeposit/
What if I have articles in NLM based XML?
- Use http://www.crossref.org/webDeposit/
People view: Obtain a DOI when you have the metadata
- Use the guest query form at http://www.crossref.org/guestquery
People view: Query for a DOI when you have the metadata
- Use a form at http://doi.crossref.org
Piped query
XML query
- 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
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
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
People view: Query to obtain metadata using a DOI
- Use the form at http://doi.crossref.org
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
People view: Query to obtain metadata using a DOI
People view: Obtain a DOI when you have the reference text
-Use the simple text query form at http://www.crossref.org/SimpleTextQuery
If you are the publisher, submit these as references!
People view: Obtain a DOI when you have the reference text
Machine view: Obtain a DOI when you have the reference text
None (not yet anyway)
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>
<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é</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>
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
www.crossref.org/help