Observation

A basic object expressing an information about observe data structure. On it's own the observation has little meaning, it server more like a metadata container. For example, we may want to express when the observation was made, who made the observation or a level of certainty.

Observations allow a user to attach information, with meaning specified by the predicate. Predicate also limit the possible subject and value of the observation.

Meta-model


// @lc-entity
// @lc-identifier dsc:Predicate
class Predicate<SubjectType, ObjectType> {}

// @lc-entity
// @lc-identifier dsc:Observation
class Observation {

  // @lc-property
  // @lc-identifier dsc:subject
  subject: SubjectType | null;

  // @lc-property
  // @lc-identifier dsc:predicate
  predicate: Predicate<SubjectType, ObjectType>;

  // @lc-property
  // @lc-identifier dsc:object
  object: ObjectType | null;

}