Object Exchange Model

The Object Exchange Model (OEM) is a model for exchanging semi-structured data between object-oriented databases. It serves as the basic data model in numerous projects of the Stanford University Database Group, including Tsimmis, Lore, and C3.

Slight variations of OEM have evolved across different Stanford projects. In Lore, labels are actually on parent-child "links" rather than objects. For example, if an OEM object has multiple parents, different parent objects may use different labels to identify that object. An atomic value encoding a person's name might be included in one complex object using the label "Author" and in another complex object using the label "Editor." In C3, additional attributes are required for each object to annotate the changes to the object that have occurred over time.

OEM representations
Textual OEM interchange format used in Lore – The goals of this interchange format were to have textual encodings of OEM to be easy to read, easy to edit, and easy to generate or parse by a program.