buildingSMART Forums

bSDD Next Gen : Exchange entire Classification

I’d like to request an api method that publishes a classification schema (or reference with sub elements) to an IFC snippet, such as a representative extract below. This would be a lot more efficient than having to traverse an entire classification using hundred or thousands of api calls.

        <IfcClassificationReference Identification="Table 1" Name="Table 1 - Elements">
        <IfcClassificationReference Identification="(2-)" Name="Primary elements, Carcass">
            <IfcClassificationReference Identification="(21)" Name="External walls">
                <IfcClassificationReference Identification="(21.0)" Name="External walls, general" />
                <IfcClassificationReference Identification="(21.1)" Name="External walls, non-load bearing">
                    <IfcClassificationReference Identification="(21.10)" Name="External walls, non-load bearing, general" />
                    <IfcClassificationReference Identification="(21.11)" Name="External walls, non-load bearing, massive walls" />
                <IfcClassificationReference Identification="(21.2)" Name="External walls, load bearing">
                    <IfcClassificationReference Identification="(21.20)" Name="External walls, load bearing, general" />
                    <IfcClassificationReference Identification="(21.21)" Name="External walls, load bearing, massive walls" />

You mean, implementing GraphQL for the next gen bSDD?

Hi Sylvain, hope you’re great.
Maybe, I’m not experienced with GraphQL. The requirement I’m looking for, is to bulk download a classification without multitudes of Rest API calls. For example, NL_SfB has in the order of 2000 classification codes. I haven’t been patient enough to be able to extract the entire classification yet.
In my opinion a single API call to get a published classification would be a great enhancement. Something similar for updating would also be nice.



Hi John,
Thanks for the detailed use case.
GraphQL typically addresses these requirements but it might be too much of an architecture change now that bSDDNexGen is in alpha? Formalizing the intended use cases is very valuable nonetheless.
An alternative could be some “depth” parameter passed to the REST call, used by the server to crawl relationships internally before returning an array of linked concepts?
We’ll see this afternoon what Léon has in mind :slight_smile:


Please use for issues and feature requests for the 2020 bSDD prototype