SWORD
SWORD[1] is a lightweight protocol for depositing content from one location to another, implemented by a profile of the Atom Publishing Protocol[2]. The implementation of an corresponding interface is considered for PubMan in the context of the Peer project[3].
Scenarios[edit]
- Deposit metadata (+ files) to eSciDoc (SWORD server)
- Deposit metadata (+ files) from eSciDoc to other repositories (SWORD client)
- Edit/Delete existing eSciDoc items (SWORD server)
The discussion on implementation steps can be found here. A description of the SWORD Server implementation within the PubMan solution is available here.
SWORD Profile[edit]
"Rather than develop a new standard from scratch, SWORD choose to leverage the existing Atom Publishing Protocol (APP). APP is based on the HTTP transfer of Atom-formatted representations yet SWORD has focused on two key aspects of the protocol - the deposit of files, rather than Atom documents, and the extension mechanism for specifying additional deposit parameters."[4]
SWORD Elements[edit]
SWORD Element | Description | Example |
---|---|---|
sword:collectionPolicy | Used for a human-readable description of collection policy. Include either a text description or a URI. | |
sword:treatment | Used for a human-readable statement about what treatment the deposited resource will receive | "Zip archives recognized as content packages are opened and the individual files contained in them are stored. All other files are stored as is." (Example from IntraLibrary) |
sword:formatNamespace | Used to identify the content packaging types supported by this collection. SHOULD be a URI from SWORD-TYPES | SWORD-TYPES |
sword:verbose | If a server has support for verbose output (detailed description of internal processing). |
Yes or No |
sword:verboseDescription | ||
sword:level | level of compliance | Level 0: implementation of a minimal set of mandatory elements Level 1: implementation of the full set of extension elements and compliance with APP
|
sword:mediation | If the the SWORD server supports on-behalf-deposits | Yes or No |
sword:noOp | Is the POST a simulated deposit (For test purposes, no item should be created) | Yes or No |
sword:userAgent | client identification | |
sword:acceptPackaging | ||
sword:packaging | ||
sword:version | Version of implemented protocol | 1.3 |
sword:error | The description of the error can be found in the href attribute |
http://purl.org/net/sword/error/ErrorContent |
sword:maxUploadSize | The maximum size (in kB) of package that can be uploaded to the SWORD service |
SWORD Service Document[edit]
- Example of a SWORD Service Document (IntraLibrary).
- Example of a Fedora SWORD Service Document
- Service description for PubMan
Open Questions[edit]
have been moved to talk page.
Repositories supporting SWORD deposit[edit]
- arxiv
- Biomedcentral's Open Repository
References[edit]
Further resources[edit]
- SWORD presentation on OR08
- SWORD Profile
- SWORD JAVA Library
- Explanation and Examples
- The Atom Syndication Format
Exemplary use cases[edit]
- experiences in using SWORD for Facebook=> repository (ePrints) can be found here.
- depositing to supported repositories via SWORD is one functionality of PublicationList.org