Session 2.5
Graph Representation and Analytics on BIM data based on IFC
Synopsis:
Representing BIM/IFC files as graphs opens up new possibilities for connecting data-silos and delivering valuable data-driven insights in AEC projects. After providing the context of what we describe as a Linked Common Data Environment (L-CDE), we‘ll go deeper into the process of producing, storing and analyzing such graphs.
Learning Objectives:
1. Using Python and IfcOpenShell to parse IFC files
2. Represent and storing IFC files as graphs
3. Perform graph analytics on IFC to deliver insights
Body:
“AEC is undergoing a wave of digitalization where old processes are reconsidered and new workflows are coming slowly into the surface. What we contemplate as the cornerstone of this ongoing transformation is the establishment of an open information-exchange culture, where data is not ‘trapped’ within monolithic software applications, but can be accessed, transformed, analyzed and used in various contexts, delivering clear business benefits. The ubiquitous presence of the internet and the digitalization of many aspects of our lives has brought with it, besides the constantly and heatedly discussed market power of a few companies, a silent but powerful change: a change in how software can be developed and used today.
Today, a big portion of the data that circulates within most AEC projects is heavily document-based. Documents (especially in the case of proprietary file formats) act as an opaque layer that first needs to be opened up in order to look into the content. Users need to manually open a file in a dedicated software in order to read or write information. When such processes are scaled up to the size of a real project, you end up with an arguably inefficient setup that is very slow-moving, involves a lot of redundant work, and is error-prone. This is why we believe that before any new suggestion on how to bring the AEC industry in sync with the latest technological advancements that are happening in other domains, we need to address the issue of shifting from a document-based to a data-driven style of work. If not, there is always the risk that we repeat past problems with contemporary tools. It’s not unrelated that in common practice, many CDE solutions which deal with these problems, are actually used as a combination of cloud storage and top-level coordination view of a project, instead of really integrated data environments that drive automation and intelligent decisions.
Trying to contribute toward this direction, we‘re working on what we call as Linked Common Data Environment (L-CDE). L-CDE is not supposed to be another CDE solution that is “battery included”, but rather a modular stack of continuously developed open-source components, that revolves around three main topics:
-Information extraction from various data sources that are involved in AEC projects (BIM models, PDF reports, schedule etc.),
-Information linking and persistence into a Knowledge Graph architecture with regulated access control,
-Advanced and predictive analytics which will provide new project insights, supported by data dashboards and 3d viewer.
We consider L-CDE flexible enough to act both as a project-oriented solution, as well as a company-oriented one. The former is bringing different stakeholders together by exchanging data and information around a specific project, while the latter is more of a portfolio-view for a single company that can be integrated with other internal data sources. The concept of the L-CDE differs from most CDEs offered on the market as these are usually offered as cloud applications, which means that you lose data sovereignty.
What is essential for working with the L-CDE, however, is that one can simultaneously query BiM building models PLUS unstructured and semi-structured data PLUS structured data by merging them into one system. As we will continue to have many documents and different models, this is one great way to recognize important relations and make inconsistencies visible.
Our conceptualization of the L-CDE involves various components that can be orchestrated together toward specific needs. In the current presentation, we would like to focus on one aspect which is related to the processing of BIM models. Today an important part of an AEC project’s information is captured in BIM models, which more or less act as self-contained data repositories. They contain geometric, topological and attribute-level information, which are exchanged through proprietary or open formats between different parties, with IFC being the industry’s open standard that is mostly used as a ‘neutral’ file format for software interoperability. In common practice BIM information is not directly accessible and many times is incomplete or contains inaccuracies. Therefore we consider crucial that we are able to access and analyse these data regardless of specific software.
We would like to showcase the use graph representation techniques on BIM models through IFC and the potential that it opens. Using open-source tools like IfcOpenShell we are going to set up a Jupyter-Python working environment and focus on:
Parsing and representing native IFC-STEP files to property graphs.
Storing IFC graphs in graph databases in a lossless way.
Visualizing IFC files, as well as their graph representation.
Coding graph transformations to convert the IFC graph to more ‘useable’ shapes (eg space adjacency graph or its BOT ontology equivalent)
Perform simple to advanced graph analytic techniques on the extracted graph.”