Skip to content
This repository has been archived by the owner on Jun 29, 2022. It is now read-only.

Latest commit

 

History

History
42 lines (25 loc) · 1.4 KB

paths.md

File metadata and controls

42 lines (25 loc) · 1.4 KB

!!!

This document has moved.

You'll now find information like this in the ipld/ipld meta-repo, and published to the web at https://ipld.io/ .

All documentation, fixtures, specifications, and web content is now gathered into that repo. Please update your links, and direct new contributions there.

!!!


Specification: IPLD Paths

Status: Descriptive - Draft

Summary

An IPLD "Path" is a string identifier used for deep references into IPLD graphs. Paths follow similar escape and segmentation rules as URI paths.

An IPLD Path is a string identifier used for deep references into IPLD graphs.

IPLD Path's are constructed following the same constraints as URI Paths.

Similarly, the string ? is reserved for future use as a query separator.

Path Resolution

Path resolution is broken into two parts: full path resolution and block level resolution.

Block level path resolution is defined by individual codecs.

Full path resolution should use block level resolution through each block. When a block level resolver returns an IPLD Link a full path resolution should retrieve that block, load its codec, and continue on with additional block level resolution until the full path is resolved. Finally, path resolution should return a representation of the value for the given path.