Data Bundle
Data Bundle as a Bucket of (IFC) Entities
erDiagram
dataBundle
file
object
representation
propertySet
relationship
material ["material <: relationship"]
space ["space >: object"]
dataBundle ||..o{ dataBundle : "parent"
dataBundle ||--|{ file : "import or export storage"
bundleMembership
bundleMembership }|--|| dataBundle : member
bundleMembership }|--|| entity : member
entity ||..o| object : "is a"
entity ||..o| relationship : "is a"
entity ||..o| representation : "is a"
entity ||..o| propertySet : "is a"
entity ||..o| material : "contains"
entity ||..o| space : "is a"
A dataBundle (or a bundle for short) is the logical 'bucket' for all files and data related to a 'source' project (whether IFC or not).
When an IFC is provided, The bundle will keep track of the source file and of all transformations thereof (like e.g., an ifcJSON, a filtered ifCJSON, a derived IFC) and all the objects and the relationships originating from the source or added thereafter in the database.
An initial project may be complemented and enriched by new contributing source files. In that case, new information can be logically placed in a new bundle that will be a child of the initial bundle.
Data Bundle as a register of links between technical data and the 'Spatial Unit'
erDiagram
dataBundle
file
bundleUnit ["bundleUnit: Site, Building, Storey, Space, Zone, Spatial Zone"]
spatialUnit
spatialUnitBundle ["spatialUnitBundle: junction between spatialUnit and bundle"]
bundleUnit ||..o{ bundleUnit : "parent or group"
dataBundle ||..o{ dataBundle : parent
bundleUnit }|..|| dataBundle : ""
spatialUnitBundle |o..|| bundleUnit : ""
dataBundle ||..|{ file : storage
spatialUnitBundle ||--|| spatialUnit : providesRoot
In this view, the dataBundle (or bundle for short) provides a summary of the core hierarchy and groups via
bundleUnit
- and hierarchy thereof (parent -> children)
- site -> building(s)
- building -> storey(s)
- storey -> space(s)
- site -> spatialZone(s)
- building -> spatialZone(s)
- storey -> spatialZone(s)
- and assignments thereof (group -> member)
- zone -> zone(s)
- zone -> space(s)
and the link with Spatial Unit is maintained in spatialUnitRoot which gives the unit and/or group that relate to the Spatial Unit