buildingSMART / buildingSMART/bSDD

Struggling to filter properties

Open
#131 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
193
Forks
45
PR merge metrics
No merged PRs in 30d

Description

The usecase is that the user has an object (say an IfcWall) and he wants to know what properties he can apply to it. He has one or more dictionaries active / relevant to his project.

Option 0: /api/TextSearch/v2 - I can get properties, but cannot get the pset name. Search keyword is also mandatory so that won't work. Also cannot filter by IfcWall.

Option 1: /api/Dictionary/v1/Properties - great! I can get a full list of possible properties, and also search using a keyword. But I cannot filter by IfcWall, so I get tons of irrelevant properties :( I also have no idea what pset they are part of, so I need to make additional calls before I can actually add it to my object.

Option 2: /api/Dictionary/v1/Classes (i.e. with GroupsOfProperties) and then /api/Class/Properties/v1 - great! I can filter by IfcWall, and I can search using a keyword, and I also know what pset they are part of. What's not so great is that I need to make 1x call per class to /api/Class/Properties/v1. So if I ever want to query the IFC dictionary itself, that's nearly 800 HTTP requests! It's unusable compared to IfcPropertySetTemplate.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by comparing the documented /api/TextSearch/v2, /api/Dictionary/v1/Properties, /api/Dictionary/v1/Classes, and /api/Class/Properties/v1 behaviors described in the issue. Define the desired class, keyword, dictionary, and property-set filtering flow, then confirm what API response and request changes would make the query usable without hundreds of requests.

Written by the indexing model from the issue text.

Assessment

Domain
api, backend-api-design
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.