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>