Skip to content
This repository was archived by the owner on Jan 8, 2026. It is now read-only.

Commit 8ca5e2c

Browse files
authored
Merge pull request #191 from ipld/data-model-motivation
doc: add motivation section to data model spec
2 parents 4a8f6a4 + 924408b commit 8ca5e2c

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

data-model-layer/data-model.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,24 @@ While the Data Model describes these representations in the abstract,
1212
additional optional tooling on top of the Data Model which can further refine,
1313
describe, and constrain the range of acceptable data values.)
1414

15+
Motivation
16+
----------
17+
18+
There is not **one** block format but **many** block formats widely used today in content
19+
addressed data structures. We assume that we'll see more of these block formats in the
20+
future and not less. It is quite clear then that a reasonable and more future proof approach
21+
to using these data structures is to be block format agnostic.
22+
23+
The data model defines a common respresentation of basic types that **are easily representable
24+
by common programming languages.** This provides the foundation for block format agnostic tools
25+
to be built using familiar native types in a programmer's preferred language. As such, there
26+
is an element of "lowest common denominator" to the IPLD Data Model in that it cannot support
27+
some advanced features (like non-string keys for Maps) because support for such a feature
28+
is not common enough among programming languages.
29+
30+
This does not mean that a block format could not support more advanced features than exist in the
31+
data model, it just means that the common set of tools IPLD is building w/ its block format
32+
agnostic approach cannot be easily leveraged to use those features.
1533

1634
Kinds
1735
-----

0 commit comments

Comments
 (0)