GithubHelp home page GithubHelp logo

imclab / dvn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ropensci-archive/dvn

0.0 1.0 0.0 616 KB

Access to the Dataverse Network APIs from R

Home Page: http://cran.r-project.org/web/packages/dvn/index.html

dvn's Introduction

R Access to the Dataverse Network

The dvn package for R integrates public data sharing into the reproducible research workflow. As such, dvn provides access to both the Data Sharing API and the Data Deposit API for the Dataverse Network online data repository system. The Data Sharing API enables searches of any public dataverse, returning study and file metadata. Limited support is also provided for data download, when terms of use allow direct download of public data.

The Data Deposit API allows users to directly create and modify dataverse listings (studies, metadata, and files), thereby integrating data archiving directly into the R workflow with just a few simple functions. The Data Deposit API is built on the SWORD protocol, though not all features are fully supported by the API.

dvn defaults to providing access to the Harvard Dataverse Network, but this can be changed in each function call or globally using options(dvn = 'https://thedata.harvard.edu/dvn/') for any valid Dataverse Network.

Users interested in downloading metadata from archives other than Dataverse may be interested in Kurt Hornik's OAIHarvester, which offers access to any web repository that is compliant with the Open Archives Initiative standards.

Installation

You can find a stable release on CRAN, or install the latest development version from GitHub using Hadley's devtools package:

# install.packages("devtools")
library(devtools)
install_github(repo = "dvn", username = "leeper")

Functions for the Data Sharing API

Metadata Search Functions

  • dvSearch, to search public dataverses
  • dvSearchFields, to provide the searchable fields for use in dvSearch
  • dvMetadata, to retrieve the metadata for a study
  • dvMetadataFormats, to retrieve available metadata formats for a study
  • dvExtractFileIds, to extract available files from the dvMetadata response
  • Using dvTermsOfUse(dvMetadata(objectId)) displays Terms Of Use as HTML for the study

File Access Functions

  • dvDownloadInfo, to retrieve information about a study file
  • dvDownload, to download a study file (if allowed)

Functions for the Data Deposit API

The core workflow for the Data Deposit API involves creating a study listing using dvCreateStudy, adding one or more files with dvAddFile, and then making the study public with dvReleaseStudy. Use of all Data Deposit API functions requires a valid username and password for the selected Dataverse Network, which can be set in each function call or globally using options(dvn.user = 'username', dvn.pwd = 'password').

  • dvCreateStudy, to create a study listing using metadata (i.e., cataloging information)
  • Use dvBuildMetadata to create metadata for use in dvCreateStudy or dvEditStudy
  • Use dvEditStudy to overwrite a study's metadata
  • dvAddFile, to add file(s) or active R dataframes to a study
  • dvReleaseStudy, to publicly release a study

The following functions allow users to view and modify existing studies:

  • dvServiceDoc, to identify the dataverse(s) accessible to a user
  • This is not particularly relevant to users with access to only one dataverse
  • Using dvTermsOfUse(dvServiceDoc()) displays Terms Of Use as HTML for available dataverse(s)
  • dvUserStudies, to list studies in a named dataverse
  • dvStudyStatement, to access a summary of a study (including citation and stable URI)
  • dvStudyAtom, to view study-level URIs for using the Data Deposit API
  • This is not important for most users, unless they plan to call dvDepositQuery directly
  • dvDeleteFile, to delete a file from a study
  • dvDeleteStudy, to deaccession a released study, or delete an unreleased study

dvn's People

Contributors

egonw avatar leeper avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.