Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

12
Towards a Common Deposit API (the Dataverse example) Elizabeth Quigley http://www.iq.harvard.edu/people/elizabeth-quigley Philip Durbin http://www.iq.harvard.edu/people/philip-durbin

Transcript of Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

Page 1: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

Towards a Common Deposit API

(the Dataverse example)

Elizabeth Quigleyhttp://www.iq.harvard.edu/people/elizabeth-quigley

Philip Durbinhttp://www.iq.harvard.edu/people/philip-durbin

Page 2: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

Data + Article Depositing NowGeneral Repositories Domain Specific Repositories Journals

Page 3: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

Journal + Data Automation

No Automation Full Automation

List of recommended

repositories - but data not required to be deposited

Policy requiring data to be deposited

Journal gets notification

when data is deposited in a

repository

Journal System + Repository

are connected

Page 4: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin
Page 5: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

Full Automation Example: OJS + DVN 3.6 (2013)

SWORD support shipped in DVN 3.6 in late 2013 and has been carried forward into Dataverse 4.0.http://projects.iq.harvard.edu/ojs-dvn https://youtu.be/ftK1_IvWaVc

Page 6: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

Introducing SWORDSimple Web-service Offering Repository Deposit (SWORD)

● http://en.wikipedia.org/wiki/SWORD_(protocol)● a "profile" of AtomPub (RFC 5023) from Google● http://swordapp.org● https://github.com/swordapp● https://twitter.com/swordapp

Page 7: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

SWORD: The Good Parts

● Well defined standard, based on other standards (AtomPub)○ http://swordapp.github.io/SWORDv2-Profile/SWORDProfile.html

● Good support for publishing workflows○ "collections" as containers (dataverses, etc.)○ "In-Progress" HTTP header for "unpublished"○ negotiation of packaging (SimpleZip, METS, BagIt)○ deposit receipt

● Popular in scholarly publishing○ http://swordapp.org/sword-v2/sword-v2-implementations/

● Server library in Java (used by Dataverse)● Client libraries in Java, PHP, Python, and Ruby

Page 8: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

SWORD: More Good Parts!

● Open Science Framework (OSF) integration○ https://osf.io/getting-started/#dataverse

● Python package for Dataverse APIs○ https://github.com/IQSS/dataverse-client-python

● R package for Dataverse APIs○ https://github.com/ropensci/dvn

● (Future) Archivematica integration○ http://www.rdc-drc.ca/the-rdc-federated-pilot-for-data-ingest-and-preservation/

● (Future) TOP SECRET integrations! :)

Page 9: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

Challenges with SWORD: Metadata

● Lowest common denominator for metadata: dcterms● http://dublincore.org/documents/dcmi-terms/

○ 15 properties in the "/elements/1.1/" namespace■ contributor, coverage, creator, date, description, format,

identifier, language, publisher, relation, rights, source, subject, title, type

○ 55 properties in the "/terms/" namespace■ isReferencedBy et al.

● 154 metadata fields in base install of Dataverse 4.0 (more to come!)○ http://guides.dataverse.org/en/4.0/user/appendix.html

[sword-app-tech] client SHOULD add Dublin Core terms to the Atom Entry, MAY add any other metadata formats or foreign markup - http://www.mail-archive.com/[email protected]/msg00384.html

Page 10: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

Challenges with SWORD: Dev Activity

"I'm hoping, also, that there will be more funding at this end at some point for some more 'core' development, but opportunities are currently vague, so I don't think there's any point in holding out for it. Instead it seems much better to try to increase community engagement with the code and try to sustain it that way."

-- Richard Jones, SWORD spec lead, in the "code governance" thread on sword-app-tech, July 2014http://www.mail-archive.com/[email protected]/msg00400.html

GitHub updates in 2014, 2013

Blog updates in 2013, 2012

Page 11: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

Both SWORD and a "Native" API● Dataverse will continue to support SWORD● Dataverse 4.0 added a new JSON-based "native" API

○ All metadata fields supported○ Does more than Data Deposit

■ Search■ Permissions■ etc.

http://guides.dataverse.org/en/latest/api

Page 12: Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil Durbin

A Common Deposit API?

● Use SWORD as is?● Develop SWORD more?● Define new Common API?

How to Get InvolvedSWORD mailing list:http://swordapp.org/contact/ Dataverse API Community Group:

http://community.dataverse.org/community-groups/api.html