Introduction
The compact data storage is similar to the compact object
notation. However, as we are only interested in storing object data, we can be
even more succinct in our representation. The compact data storage is used to
store the model data.
Definition of <object>
This is used for storing data. It has a slightly more
compact form
<object list> = {<strongly typed object>+}
<strongly typed object>=<object id>@<description>@{<attribute>}
<attribute> = <value property> | <object
property> | <list of values> | <list of objects>
<value property>=<attribute name>@<value>@
<object property>=<attribute name>@<object
id>@
<list of values>=<attribute
name>@<count>@{<value>@}
<list of objects>=<attribute
name>@<count>@{<object id>@}
Usage
The notation above might look simple but it can represent
any object structure (including recursive objects) in a highly efficient way.
Notice that when representing an object property or a list of objects, you do
not embed the object but just the object ID.