Skip to content

akvaplan-niva/dataverse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dataverse

Web platform helpers for simplifying and automating dataset publishing via Dataverse APIs.

Use in any platform supporting standard fetch, but with special support for Deno.

Warning: This project is neither official nor complete, see IQSS's TypeScript client for that.

Configuration

For Deno, environment variables are recommended for configuring.

import { base, key, root } from "dataverse/deno/env.js";
console.log({ base, root });

Example .env file for linux/bash

export dataverse_base="https://test.dataverse.no"
export dataverse_root="polarfront"
export dataverse_token=""

Create dataset

Create payload

Prior to creating a dataset, existing metadata must be translated into Dataverse's internal object format (the payload).

You may build from the basicDatasetTemplate and obtain payload via payloadFromBasicDataset:

import {
  basicDatasetTemplate,
  payloadFromBasicDataset,
} from "dataverse/dataset/create.js";

const basic = basicDatasetTemplate();
const payload = payloadFromBasicDataset(basic);
console.log(payload);
// {
//   datasetVersion: {
//     metadataBlocks: { citation: { fields: [Array], displayName: "Citation Metadata" } }
//   }
// }

Create dataset

Simply call create that will return a regular fetch response object:

const { base, root, key } = {
  "base": "https://test.dataverse.no",
  key: "…",
  root: "path",
};
const basic = { title: "Title1" };
const payload = payloadFromBasicDataset(basicDatasetTemplate(basic));
const response = await create({ payload, base, root, key });
console.log(await response.text());
//{"status":"OK","data":{"id":156919,"persistentId":"doi:10.21337/RQVGWV"}}

Note: the example code above require setting up a working import map for your project.

About

Dataverse API via web standard fetch

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published