buildingSMART / buildingSMART/NextGen-IFC

Normalize (combine) equal type instances to remove redundant information

Open
#30 6 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
TeX
Stars
64
Forks
4
PR merge metrics
No merged PRs in 30d

Description

Description of the proposal:
Establish an implementation requirement to avoid redundant information in IFC containers (like IFC files) by normalization of equal type instances.
Example:
Currently exist implementations with a separate window-type definition for each window instance:
n windows of same type T => n equal window-type definitions of same type T

Proposed implementation requirement:
n windows of same type T => one window-type definition of type T

Describe how it contributes to the objectives set in https://github.com/buildingSMART/NextGen-IFC/wiki/Towards-a-technology-independent-IFC:
Reduces processing time and document (file-) size in serialized data.
Encourages normalization in databases of CDE and authoring-software thereby improving the efficiency.

What do we win:
smaller document (file-) size
reduced processing time

What do we loose
redundancy that results in oversized documents (files)

Schema impact:
none

Instance model impact:
?

Backwards compatible:
YES

Automatic migration possible:
NA

Additional implications:

-
Note that not all points need to be satisfied!
Backwards compatibility and file size are not concerns.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the proposal and the linked “Towards-a-technology-independent-IFC” wiki page. Examine the stated effects on IFC containers, serialized data, databases, and the instance model; done means the normalization requirement and its compatibility and migration implications are clearly specified.

Written by the indexing model from the issue text.

Assessment

Domain
data, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.