buildingSMART / buildingSMART/IDS

How to define Property requirements in an unknown/unstated PropertySet

Open
#189 0 comments 0 reactions 0 assignees View on GitHub
audit tool discuss & decide
Dominant language
C#
Stars
318
Forks
90
PR merge metrics
No merged PRs in 30d

Description

The Property facet specifies the Property Set and Name are both required parameters - which initially makes sense to avoid ambiguity etc. However it's relatively common to find EIR specifications where the name of Property is specified but the PropertySet is not explicitly defined. For instance this [UK BIM Framework template](https://airtable.com/app7Bi3gdgWKqIlxT/shrE5VIeY2lD3AAgy/tblglbsNcnpKUiK0U/viw0wetM2MnMUm6Vt?blocks=bip3c28ynDQBnRija&backgroundColor=yellow) does not state the Pset, just the Property. E.g. "Building [GrossFloorArea]" is requiring a property named of 'GrossFloorArea' on all IfcBuildings.

How is it intended this kind of use case should be defined in IDS?

You might think you can create a Regex Constraint using a wildcard like this:

```xml




IFCDOOR











AcousticRating


[snip]
```

... but if the element has multiple related PSets and the required property is only in one of them, verification will fail if we're correctly implementing for this test case https://github.com/buildingSMART/IDS/blob/master/Documentation/testcases/property/fail-all_matching_property_sets_must_satisfy_requirements_2_3.ids (which basically says the property must be in **all** matching PSets)

So the question is, how can a user define a requirement where they don't yet know / don't care what PropertySet a property is provided in.

Possible answers:

1. Is the property/fail-all_matching_property_sets_must_satisfy_requirements_2_3.ids test (and _3_3.ids) even correct / appropriate?
2. Would it be appropriate to specify the property cardinality as `minOccurs="1" maxOccurs="unbounded"`?
3. Is there a case to make PropertySet not required?
4. Do we have to special-case this wildcard scenario to enable this use case (what we've currently done)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.