buildingSMART / buildingSMART/NextGen-IFC

Data types

Open
#36 2 comments 0 reactions 0 assignees View on GitHub
Decision made enhancement
Dominant language
TeX
Stars
64
Forks
4
PR merge metrics
No merged PRs in 30d

Description

From the Rail project, suggested by @BenzclyZhang

Description of the proposal:

There are seven simple data types in EXPRESS as listed.
- NUMBER
- REAL
- INTEGER
- LOGICAL
- BOOLEAN
- STRING
- BINARY

All Simple data types defined in EXPRESS are converted to defined UML Primitive data types with the same names.

Remarks:
- Perhaps should consider to map them to predefined standard UML Primitive data types.
However, BINARY, NUMBER and LOGICAL do not have equivalents.
- As suggested by ISO 10303-25, LOGICAL can be mapped to a UML Enumeration data type with
three Enumeration Items: false, true and unknown.
- NUMBER can be mapped to Real, same as Real in EXPRESS. But do we really need to use
NUMBER in IFC? NUMBER is the underlying data type of two Defined data types:
TYPE IfcCountMeasure = NUMBER;
END_TYPE;
TYPE IfcNumericMeasure = NUMBER;
END_TYPE;

Can REAL be used in these two places instead?

Describe how it contributes to the objectives set in https://github.com/buildingSMART/NextGen-IFC/wiki/Towards-a-technology-independent-IFC:
It makes IFC more generic usable in UML and other languages without having strange hacks.

What do we win:
Faster adoption of IFC

What do we loose:
-

Schema impact:
Change data types

Instance model impact:
-

Backwards compatible:
no

Automatic migration possible:
yes

Additional implications:
?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the proposal text and its references to EXPRESS simple data types, UML Primitive data types, and ISO 10303-25. Review how the current IFC schema represents these types and determine the intended mappings, including the unresolved NUMBER, REAL, BINARY, and LOGICAL questions. Done means the type changes and their schema and migration implications are agreed.

Written by the indexing model from the issue text.

Assessment

Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.