Physical access path
Physical access path is a sequence of identity segments where each next segment is specified relative to the previous segment. This sequence of identity segments specifies a path in the hierarchical address system to the target data element. Physical access path is used to access data using their permanent addresses rather than properties and in this sense it is opposed to logical access path. In other words, if logical access path uses the multi-dimensional structure obtained from order relation then physical access path relies on the orthogonal hierarchical structure produced by inclusion relation.
Identity segments are modelled by identity class of the concept while nesting is modelled by concept inclusion relation. For example, if banks have accounts then each account element is identified with respect to the bank where it has been created. In this case concept
Account is included in concept
CONCEPT Account IN Bank IDENTITY CHAR(10) accNo ENTITY ... CONCEPT Bank IDENTITY CHAR(10) iban ENTITY ...
The result of such inclusion is that accounts are identified by complex references consisting of two segments where the first high segment is the bank identifier and the second low segment is the relative account number. These two segments represent a physical access path which means that to access an account we have to go to the bank and then from this bank go to the account.
If we add a special segment which denotes the parent (like '..' in file systems) then physical access paths provide a mechanism for navigating through the hierarchical structure of the model.
Operations of projection and de-projection can be also used in the context of physical access path. For that purpose we can use a special dimension name 'super'. For example, given a set of banks we can get all their accounts satisfying certain conditions:
(Banks b | b.address.city == 'Moscow') <- super <- (Account a | a.balance > 100)
This query uses de-projection along physical inclusion. If we specified some real dimension instead of 'super' then this query would use logical access path.