buildingSMART / buildingSMART/IDS
Conditional PartOf specifications
- Dominant language
- C#
- Stars
- 318
- Forks
- 90
- PR merge metrics
- No merged PRs in 30d
Description
### Discussed in https://github.com/buildingSMART/IDS/discussions/341
Originally posted by **andyward** September 12, 2024
I'd like to write a specification that implements the requirement that **All spaces belonging to a BuildingStorey '01' should have their space names matching '01-.*'** (or the converse requirement: **Spaces named like '01-.*' must be part of a BuildingStorey with Name '01'** )
I'm struggling to see how I could do this in IDS1.0. I was hoping to be able to do this with the _partOf_ facet and using **RelAggregates** but there's no obvious way to apply a requirement to the 'child' side of the relationship.
e.g.
```xml
IFCBUILDINGSTOREY
Name
01
IFCSPACE
```
Any ideas? or is this a usecase to consider for a future IDS? I'd imagine similar use cases for things like ensuring components are in the correct IfcSystem (by classification, name etc).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with discussion 341 and the IDS 1.0 partOf example in this issue; the payload names no source file, test, or implementation entry point. Review the current partOf semantics and relationship requirements, then define the expected conditional behavior and acceptance cases for a future IDS version.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- xml
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100