Ifc query language

IFC is mainly about explicit information and less about derived one, though the parametric geometries are kind of an in between.
Very often a query would be very handy to target certain element by their attributes, properties, relationships and locations.
A formal query language would be very useful, and some implementations (ifcopenshell, ifcsql) have developed their ways to accomplish this.
Dynamic group would be one nice way, also automatic classification or document assignment.
I can imagine two ways: one would be to let an IfcObjective “assert” that a formal rule is complied with.
Another would be - and I am not sure if such an approach is possible at all - the use of functions. Functions in the schema seem to be able to query and ensure certain rules, and it would be awesome if certain filters and rules could be constructed by using them.
Passing in some parameters into a function could return a set of elements or values that are added as a set to an attribute.
For example, assigning a certain classification to all load bearing elements made of concrete.
Most applications have such a feature; filters, search groups, etc. It would be great to standardize this.
Any thoughts or alternatives?

2 Likes

I think that whole Linked Data world is trying to do something like that? :thinking: State of ifcowl ecosystem - Users / IFC - buildingSMART Forums

Just remembered playing with LD-BIM - BIM meets Linked Data Idk if @MadsHolten visits buildingsmart forums though.

Not exactly what I mean. I was talking about a syntax to dynamically address certain elements or their properties/quantities without explicitly writing all the STEP IDs into a relationship entity (e.g grouping by common property, calculating sum of certain qto for a set of elements)

1 Like

Oh, you mean EXPRESS formal functions, right? Now I get it. Using them as means to standardize quantities or properties. :thinking: