Display part
References
Information about attributes, technical implementation...are available here : Attributes Dictionary
Goal
The goal here is to display 2 arrays with all distribution keys by parts, for a speficic condo. (All concept are described in Graph section below)
The common structure of the arrays is :
- rows contain parts being
source - column contain the
targetcommon for a list ofsource - values are the numerator existing in the relationship see below Graph
A specific array will display the values for "owns" and another one the "pays" values.
Graph
The following graph shows the different relationships existing between the different parts constituting the condo. For description of Part and partRelationship, see displayPart diagram
Concept
The graph expresses relationships according to the following :
a relationship is between a
sourceand atarget. The source is "using" the target. for instance below, Unit 2 is using the elevator. The arrow is then from the Unit (source) to the elevator (target).specific parts (type = 2) are "bearing" distribution key(s) see Attributes Dictionary. Distribution keys are represented below by the text described within a link. for instance, we can see, in the relationship between Unit 2 and Elevator : O:250/1000 P:500/1000
- the letter "O" stands for "owns". This means that the Unit 2 is owner of a portion of the elevator, for 250 /1000. Remaining 750 /1000 are held by other parts
- the letter "P" stands for "pays". This means that the Unit 2 is using the elevator (with other units). Therefore, it has to pay a portion of the maintenance for 500 /1000 (e.g.)
Description
The graph contains :
- At the top, the "property", which represent a global part including all others. Property always exist, and is always from type = 0.
- In the present example, property includes 2 buildings, from type = 1
- Then 4 units. Units are private parts (see Attributes Dictionary), and always from type = 2. Units have distribution key(s), see above
- Elevator used by Unit 2, 3 and 4 is type = 3
- and finally 2 parkings, type = 4
dotted lines : a source uses a target, but without any "owns" and "pays"
Path
From the condo::PersonCondo (PersonAbstract_0014), query for the regulationContract::ContractRegulation (ContractAbstract_0004). Both ‘from’ and ‘to’ point to the condo::PersonCondo. There is one and only one regulationContract per condo;
From the regulationContract::ContractRegulation (ContractAbstract_0004), retrieve all the relatedParts::Part:
Part/Part_0000, type:0
Part/Part_0001, type:1
Part/Part_0002, type:1
Part/Part_0003, type:2
Part/Part_0004, type:2
Part/Part_0005, type:2
Part/Part_0006, type:2
Part/Part_0007, type:3
Part/Part_0008, type:3
Part/Part_0009, type:4
- These parts represent the entry points to the requested table: a line represents a part of a certain type that is participating in a PartRelationship where it is source, the column, being the common target to the related sources. For example:
From type 2:
Part/Part_0000, type:0 - X
Part/Part_0001, type:1 - X
Part/Part_0002, type:1 - X
Part/Part_0003, type:2 - 500/1000
Part/Part_0004, type:2 - 300/1000
Part/Part_0005, type:2 - 100/1000
Part/Part_0006, type:2 - 100/1000
Part/Part_0007, type:3 - X
Part/Part_0008, type:3 - X
Part/Part_0009, type:4 - X
To type 0 with ‘pays’ relationship : Part/Part_0000, type:0
Sketchup
Here is an example of what "ideal" arrays could look like. Please note that the figures are the same from an array to the other, but only for the sake of demos.
