/model

Primary LanguagePythonMIT LicenseMIT

Join the chat at https://gitter.im/omni4d/model

An Omni4d Model

An omni4d model contains signs which refer to objects in the real world. There are four types of sign:

  • Individual - Refers to an object which has constant identity over time

  • Class - Refers to a set of objects

  • Event - Refers to an object with extension across space at a point in time

  • Tuple - Refers to a relationship between multiple objects

Every sign must have a namespaced, unique id and tuples must contain a list of objects to which they refer.

This Project

The intention of this repository is to produce a set of YAML files which are omni4d models. These can then be used as the basis for further implementations probably involving various database systems and programming languages.

Each file contains a model 'fragment' and they can be found in the fragments directory of this repository.

org.omni4d.core.yaml contains the core model fragment and org.omni4d.identification.yaml the fragment describing the identification of individuals.

These two fragments are then used within org.omni4d.example.yaml to represent the author of this repository.

Acknowledgments

This work was inspired by the idea of a 4D spatio-temporal object paradigm described by Chris Partridge in his book Business Objects: Re-Engineering for Re-Use.

Those ideas are, in turn, based upon the work of:

  • Aristotle, the founding father of human attempt to model the world who gave us the 'Substance Paradigm'
  • Georg Cantor, who gave us Set Thoery
  • Gottlob Frege, who used Set Theory to expand Aristotle's work and gave us the 'Logic Paradigm' with its notion of strong reference between signs within a model and real-world objects
  • Albert Einstein, who realised that time is relative and gave us the 4D notion of spacetime
  • Willard van Orman Quine, who realised that Einstein's ideas could be used to expand Frege's work and give us the '4D Spatio-Temporal Object Paradigm'

and countless others.