For the most part, Chaos-XML maps isomorphically to the Chado relational schema. Differences are listed below.
- Chaos uses nbeg/nend as opposed to fmin/fmax, as descibed above
- Dbxref flattening
- Chaos collapses the normalised chado table "dbxref" into a single "dbxrefstr" PCDATA element. See the specification for more details.
- Type flattening
- Chaos uses a PCDATA element "type" in both feature and feature_relationship. In Chado, types are represented as a foreign key into the cvterm table In Chaos the type string is implicitly mapped to cvterm with the same name as the type, from the Sequence Ontology (SO) CV
- Organism flattening
- Chaos uses an "organismstr" PCDATA element to represent the normalised chado table "organism". See the specification for more details.
Chaos-XML can be seen as a lightweight alternative to Chado-XML. The two XML formalisms are intended to be complementary rather than competing. They were developed independently, with different aims. Conversion between the two is simple and well-defined, involving no ad-hoc code, since they both map to the same semantic model
Chaos-XML contains several denormalisations with respect to the chado relational schema, detailed above. This makes the representation more tractable, whilst at the same time making it harder to access certain kinds of data. This is because Chaos-XML is aimed primarily at bioinformatics data mining, whereas Chado-XML is aimed at keeping a high-fidelity representation of normalised database structures. Chaos-XML users may be working solely with file-based databases and datastores, whereas Chado-XML users will typically be working with a Chado database.
The chado relational schema contains a bridge layer to the chaos model. For more details, see the chado distribution, look in