The idea is to develop kind of data structure, with parts nested compounding a whole, and the inner parts of the structure knows, in reverse order, the containing tree of elements or structure around it.
1: Definitions:
- superPart: Part containing one or more parts.
- part: Inside a superPart. Can contain subParts.
- subPart: Inner unit inside a part.
- NID: Nesting level ID (deep level entities are in a nested/tree structure)
XML Example:
<superPart NID="0"> <part NID="1"> <subPart NID="2"> </part> <! -- end NID 1 --> </superPart> <! -- end NID 0 --> - SeqID: Sequence ID (symbol sequencing and identification)
Symbols sequencing and identification begins with first occurrence of a symbol in a structure, begining with 0, next symbol is tagged with 1. If next symbol appeared before, then the tag used before to identify it is used.
- OccID: Occurrence ID
Times element appeared in a sequence. First time same element occurs is 0, then 1, etc.
- CID: Count ID (0, 1, 2,...)
Sequential count, begining with 0, of elements in determinate context (Nesting level, Sequence, etc.)
- MvtID: Movement ID
Signals start (S), inside (I), outside (O) or end (E) movement in a statement chain.
2. Example:
- Linear Form:
- XML Example:
- Another Example:
Combining CID, NID, SeqID and OccID, other IDs for easier retrieval of elements in statement can be achieved.
For example: NID + OccID = CID (Count of elements inside a specific nesting level)
( head ( face ( ( head ) ( eyes ( face ( head ) ) ) ) ) NID: 0 1 2 2 3 4 SeqID: 0 1 0 2 1 0 OccID: 0 0 1 0 1 2 CID: 0 1 2 3 4 5 OrderID: (0. 0) (1. 0) (2. 0) (2. 1) (3. 0) (4. 0)4. Terms (Parts) Relationships and Roles:
In specific context of container part, another part plays a role or function in the context of container part. This is the semantics of the containment relationship, for example: John, inside a specific Team, is a player, more specificaly, a goalkeeper.
Parsing Example:
[previusElement]:[role/type] => [actualElement]:[role/type] => [nextElement]:[role/type]5. Measurement units: superUnit (eg. : Kilometer) unit (eg. : Meter) subUnit (eg. : Centimeter) Ratio: superUnit (1) => unit (1/n) => subUnit (1/n : n)