Has anyone ever worked to connect a Neo4j database with a 3D building information model (BIM)? I'm interested in learning how to connect a smart building model with lots of information/metadata to a graph database to track building information across a campus environment and use it for asset management.
Hi, I'm a PhD candidate researching how we could link all kinds of built environment data using graphs, and created multiple graphs for BIM data. The easiest way currently seems to be this:
- Create an IFC export of your BIM model.
- Use the IFCtoLBD converter to create an RDF turtle. (it uses the BOT ontology as main ontology, and PROPS and PRODUCT ontology to describe all elements) GitHub - jyrkioraskari/IFCtoLBD: IFCtoLBD converts IFC (Industry Foundation Classes STEP formatted files into the Linked Building Data ontologies.
- based on the PROPS level you get more complex graphs
- nice thing is to create sensor objects in revit, the exporter also exports these (so you can later link IoT data easily)
- Import the RDF turtle using the NSMTX import function in Neo4j. (much documentation here: neosemantics (n10s): Neo4j RDF & Semantics toolkit - Neo4j Labs)
You can easily connect your building graph to other data (e.g. geographic location, weather data, sensor data etc.) through APIs.
There's a group of researchers working on Linked Building Data for quite a long time (Pieter Pauwels, Jacob Beetz, many others), mainly using RDF, you might want to check their work.
Back to 2017 i published a paper about a workflow to convert IFC models to neo4j database. Hope this can hrlp you.