At the lowest layer, Perkeep doesn’t care what you put in it (everything is just dumb bytes) and you’re free to adopt your own data model. However, the upper layers of Perkeep standardize on a common schema to represent various classes of data.
Schema blobs are JSON objects with at least two attributes always set:
camliVersion, which is always 1, and
camliType, which tells you the type of
metadata the blob contains.
Here are some of the data types we’ve started to formalize a JSON schema for:
Files: traditional filesystems. Files, directories, inodes, symlinks, etc. Uses the
“Keep” claims: Normally, any object that isn’t referenced by a permanode could theoretically be garbage collected. Keep claims prevent that from happening. Indicated by the
Permanodes are used to model many kinds of mutable data, including mutable files, dynamic directories, and more.
Static Sets: Immutable lists of other blobs by their refs. Indicated by the