comments of somebody:
1.
Entity is a name. the only meaning of a name is its connection to other names.
Connection(relationship) is the relationship of entities.
2.
"shared entity"(class, type, schema) could have many instances (rows)
"single entity" (instance, row, object) is just one entity, together with its own connections(relationship with other entities, class definition)
3.
"static entity"(class, type, schema, or just instance object) is defined before its life-cycle
"dynamic entity"(typically an instance object, or more generally an AST node) is dynamically defined/modified during its life-cycle.
4.
the path of (table_name->column_name->entity) and the path of (class_instance_object_name->method_name_or_field_name->entity) is similar. They represent a typical relationship of entities: the tree relationship.
The travelling of a tree relationship, is a specific form of travelling within the "network of entities". The process of travelling, is marked by the sequence of "name".
5.
Travelling is Searching. The "concatenation of name" (sequence of name) is the searching path within a state expansion space of the current "entity network realm". travelling by name(searching) eliminates the need for a much larger expansion space.
A language, is essentially the system of names provided for us to search/perform any desired entity within another system. (for example, using Java to use JVM, using commands to order a group of soldiers)
The better one language caters to the model our brain uses to search something, the better the language will be received by human beings.