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

ipld/ipld-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository is no longer maintained, see https://ipld.io for the latest information on IPLD and its use.

IPLD Examples

This repo contains several datastructure examples to use with IPLD, the new data format for IPFS.

These examples aim to be complete.

Contents

Experiment

Pathing Semantics

How to structure pathing and resolution through objects is a troublesome issue. You can read the IPLD spec here and read some of the arguments here.

The problem boils down to an issue introduced by the combination of link-local properties (properties on the link object itself) and transparent resolution of objects and links (using a single delimiter for traversing objects and links).

To resolve this, a number of variations have been presented:

  • 1) transparent, no link properties access use only / but disallow accessing link-local properties. cons: cannot access link properties :(
  • 2) transparent, no link properties use only / but disallow using link-local properties. cons: cannot HAVE link properties :c
  • 3) transparent, hope for the best use only / and define the order the accesses happen, so that it is not ambiguous. cons: it may be confusing.
  • 4) different delimiters, strict - use different delimiters for "link local" and "link resolving" components (eg . / or / //). cons: two delimiters, escaping or incompatibilities
  • 5) different delimiters, permissive like (3) + (4), allow different delimiters to disambiguate "link local" and "link resolving" components
  • 6) .object and .link accessors use explicit .object to access the object resolved through, and/or .link for accessing link local properties.
  • 7) use explicit link/ to resolve through (or some other operator string/char) con: a/link/b/link/c/link typing.
  • 8) different delimiters, strict and explicit link/, a combination of (4) and (7).

One goal of this repo is to experiment with these and see which feels best.

Contribute

Feel free to join in. All welcome. Open an issue!

This repository falls under the IPFS Code of Conduct.

License

MIT

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published