github.com/slspeek/camlistore_namedsearch@v0.0.0-20140519202248-ed6f70f7721a/website/content/docs/schema/index.html (about) 1 <h1>Schema</h1> 2 3 <p> 4 At the lowest layer, Camlistore doesn't care what you put in it 5 (everything is just dumb bytes) and you're free to adopt your own 6 data model. However, the upper layers of Camlistore standardize on 7 a <a href="/gw/doc/schema">common schema</a> to represent various 8 classes of data. 9 </p> 10 11 <p> 12 Schema blobs are JSON objects with at least two attributes always 13 set: <code>camliVersion</code>, which is always 1, 14 and <code>camliType</code>, which tells you the type of metadata the 15 blob contains. 16 </p> 17 18 <p> 19 Here are some of the data types we've started to formalize 20 a <a href="http://json.org/">JSON</a> schema for: 21 </p> 22 23 <ul> 24 <li> 25 <a href="http://camlistore.org/gw/doc/schema/files">Files</a>: 26 traditional filesystems. Files, directories, inodes, symlinks, 27 etc. Uses the <code>file</code>, <code>directory</code>, <code>symlink</code>, 28 and <code>inode</code> camliTypes. 29 </li> 30 31 <li> 32 <a href="schema/permanode">Permanodes</a>: the immutable root 33 "anchor" of mutable Camlistore objects 34 (see <a href="terms">terminology</a>). Users create 35 signed <a href="/docs/schema/permanode#claim">claim</a> schema 36 blobs which reference a permanode and define some mutation for the 37 permanode. 38 <br> 39 Permanodes are used to model many kinds of mutable data, including 40 mutable files, dynamic directories, and more. 41 <br> 42 Uses the <code>permanode</code> and <code>claim</code> camliTypes. 43 </li> 44 45 <li> 46 <a href="/gw/doc/schema/objects/static-set.txt">Static Sets</a>: 47 Immutable lists of other blobs by their refs. Indicated by 48 the <code>static-set</code> camliType. 49 </li> 50 51 <li> 52 <a href="/gw/doc/schema/objects/keep.txt">"Keep" claims</a>: 53 Normally, any object that isn't referenced by a permanode could 54 theoretically be garbage collected. Keep claims prevent that from 55 happening. Indicated by the <code>keep</code> camliType. 56 </li> 57 </ul>