-Learning means building/updating/re-balancing the model (the hard
-part). Question answering is making (relatively simple) lookups
-(geometrical queries) against the model.
-** Mapping hypercube to object-oriented model and relational database
- :PROPERTIES:
- :CUSTOM_ID: mapping-hypercube-to-oo-model-and-rdb
- :ID: a117c11e-97c1-4822-88b2-9fc10f96caec
- :END:
-
-Object oriented programming is inspired by the way human mind
-operates. It allows programmer to express ideas to computer in a more
-human-like terms.
-
-It is actually also possible to map object model and relational
-database to geometrical hyperspace:
-
-+ Object or database table row is a point in hypercube arbitrary
- dimensional space. Each object member variable or database table
- column can be mapped to its own dimension in hypercube. That is: if
- class declares 4 variables for an object, then corresponding object
- can be stored as a single point inside 4 dimensional
- hypercube. Variable values translate to point coordinates in that
- hypercube. That is: numbers and string can be translated to linear
- value that can be used as a coordinate along particular dimension.
-
-+ Each object class or database table declares its own hypercube that
- contain instances (objects) of that class or rows of a table.
-
-** Mapping entity relations in hypercube
- :PROPERTIES:
- :CUSTOM_ID: mapping-entity-relations-in-hypercube
- :ID: b6b15bd2-c78b-4c51-a343-72843a515c29
- :END:
-
- Consider we want to create database of:
-+ Books.
-+ Authors.
-+ Effort: Amount of time contributed by every author to every book
- that he/she wrote.
-
-Information above can be represented as 3D cube where dimensions are:
-+ X: Book
-+ Y: Author
-+ Z: Effort