buildingSMART / buildingSMART/IDS

Conditional PartOf specifications

Open
#379 5 comments 0 reactions 0 assignees View on GitHub
discuss & decide please contribute schema
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.