User Guide: DeSci Nodes v1.0 [Capybara]
  • Welcome to DeSci Nodes
  • General user overview
    • Explore
    • Node
      • [New] Node Home
    • Node Workspace
      • Navigation Bar
      • Viewer
      • Node Drive Panel
      • Node Contributors Panel
      • Information Panel
    • Profile
  • Create and Publish
    • Quick Start
    • Introduction
    • Sign Up & Login
    • Create a Node
      • Create Node
      • Add Components
        • Data
        • Manuscript
        • Code & Executables
        • External Links
        • Folder
      • Add Information
        • Add License
        • Add Metadata
        • Add Contributors
        • Add Comments
        • Claim Attestations
      • Organise, Access & Present
        • Return to most recent Node
        • Component Presentation
          • Pinning components
          • Renaming components
          • Moving components
        • Add Cover Art
      • Collaborate
      • Delete Before Publication
        • Delete Unpublished Components
        • [TBD] Delete Unpublished Nodes
    • Publish
      • Update Your Node
        • Editing a published Node
        • Publish a new version of your Research Node
        • Delete Components After Publication
        • Delete Published Node - Cannot
    • Submit for Curation
    • Share
      • Cite
      • Share Link
      • Persistent Identifier (dPID)
      • Content Identifier (CID)
      • Social Media
    • Interact & Reuse
      • Browse
      • Download
      • Support
        • [TBD] Comment
        • [TBD] Attest
      • Compute
        • [TBD] Node IDE
        • [TBD] Compute to data
        • [TBD] Data to compute
      • Communities
        • [TBD] Apply for Comms Curation
        • [TBD] Apply for Comms Attestations
        • [TBD] Become a Comms Member
  • Validate and Curate
    • Community Curation
    • Community Home
    • Validate and Curate
  • Find Help
    • FAQ
      • Fundamentals
      • Using Nodes
      • Nodes and Journals
      • FAIR
      • Benefits of using Nodes
      • Your identity
      • Metrics, citations and PIDs
      • Governance
    • Community Support
    • Feedback & Contact
  • TECHNICAL BACKGROUND
    • Persistent Identifiers 101
    • FAIR Data
      • All About FAIR
        • The FAIR Principles
        • GoFAIR Criteria
        • Red and Blue Principles
        • FAIR Digital Object Framework (FDOF)
        • The FAIR Hourglass
        • The Internet of FAIR Data and Services (IFDS)
      • FAIR Compliance
        • DeSci Nodes FIP
        • Standardized Assessments
        • FAIR Metadata Publishing
    • Open State Repository
      • PID
      • Data
      • Metadata
      • Methods
    • Roadmap
Powered by GitBook
On this page
  1. TECHNICAL BACKGROUND
  2. Open State Repository

PID

dPID • Persistent Identifiers • Content Adressing

PreviousOpen State RepositoryNextData

Last updated 1 year ago

The dPID system for research objects allows resolution to the underlying components in a consistent and granular way over HTTP and the IPFS network. You can learn more about the schema, syntax and variants below. Note that the system is under active development, and the specification is subject to change.

CID refers to Content Identifier according to the

dPID anatomy

HTTP URL = {Resolver}/{PID}/{version identifier OR CID}/{Component index}/{Component suffix}

Component
Component Description

Resolver

PID

The registry's unique and version-invariant PID

Version identifier or CID

The version identifier (e.g. "v1" or "0") mapped to the CID of the manifest file or the manifest CID

Component index

The index of the component in the research object's data model, or the component ID

Component suffix

Example dPID Links for Data Access

Type
Link

Web

Metadata

Past Metadata

Code

Data

Note: Excluding ?raw results in resolving the human-accessible data in the Nodes App or another configured resolver application.

API for Research Objects

Route
Behavior

GET https://beta.dpid.org/api/v1/dpid

List all registered research objects

Query Params

page: number = 1 // first page

size: number = 100 // 100 items

sort: "asc" | "desc" = "desc" // sort descending

Response

GET https://beta.dpid.org/46/v1?raw

GET https://beta.dpid.org/46/v1?jsonld

Navigating Data via dPID API

Route
Behavior

Download the specific file specified, if not a file, but a folder, the DAG-JSON encoded content is shown

Valid PID syntax and variants

There are three different and valid variants of the PIDs that can be resolved over HTTP. These variants offer different levels of friendliness for humans.

Variant types
Variant syntax (human)
Variant syntax (machine)

Short form URL variant (recommended)

dpid.org/42/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi/1/measurements.csv

dpid.org/42/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi/1/measurements.csv?raw

The resolver, currently beta.dpid.org

to manifest component. Encoded with slashes and compact format for URL friendliness.

and

Get metadata for specific version of specific research object (application format) Response Typescript specification:

Get metadata for specific version of specific research object (semantic format) Returns in Response Typescript specification:

GET GET deprecated GET https://beta.dpid.org/46/data?raw GET https://beta.dpid.org/46/v1/data?raw

These all do the same thing. Get the encoded content of the root data folder. If version specified, uses that version, otherwise uses latest version.

GET

Short form URL variant 0-index deprecated

Long form URL coming soon

{
    "dpid": "54",
    "id": "0x0...",
    "recentCid": "bafkre...",
    "researchObject": {
        "id": "0x0...",
        "versions": [
            {
                "id": "0x0...",
                "time": 1685098464,
                "cid": "bafkre...",
            },
            {
                "id": "0x0...",
                "time": 1685098776,
                "cid": "bafkre...",
            }
        ]
    }
}
Multiformats CID Specification
⚠️
⚠️
DNS
JSONPath
https://beta.dpid.org/46
https://beta.dpid.org/46?jsonld
https://beta.dpid.org/46?raw
https://beta.dpid.org/46/v1?raw
https://beta.dpid.org/46/3/root/exploring-lupus/casa/J15430131-3409153_cont.py?raw
https://beta.dpid.org/46/v4/root/exploring-lupus/output/data_lup.txt?raw
https://github.com/desci-labs/nodes/blob/develop/desci-models/src/ResearchObject.ts
RO-Crate 1.1 format
https://github.com/desci-labs/nodes/blob/develop/desci-models/src/RoCrate.ts
https://beta.dpid.org/46/root?raw
https://beta.dpid.org/46/v1/root?raw
DAG-JSON
https://beta.dpid.org/46/root/exploring-lupus-report.pdf?raw
https://beta.dpid.org/46/v4/root/exploring-lupus/output/data_lup.txt
https://beta.dpid.org/46/v4/data/exploring-lupus/output/data_lup.txt?raw
https://beta.dpid.org/46/3/data/exploring-lupus/output/data_lup.txt
https://beta.dpid.org/46/3/data/exploring-lupus/output/data_lup.txt?raw