Ara3D.BimOpenSchema
1.0.1
dotnet add package Ara3D.BimOpenSchema --version 1.0.1
NuGet\Install-Package Ara3D.BimOpenSchema -Version 1.0.1
<PackageReference Include="Ara3D.BimOpenSchema" Version="1.0.1" />
<PackageVersion Include="Ara3D.BimOpenSchema" Version="1.0.1" />
<PackageReference Include="Ara3D.BimOpenSchema" />
paket add Ara3D.BimOpenSchema --version 1.0.1
#r "nuget: Ara3D.BimOpenSchema, 1.0.1"
#:package Ara3D.BimOpenSchema@1.0.1
#addin nuget:?package=Ara3D.BimOpenSchema&version=1.0.1
#tool nuget:?package=Ara3D.BimOpenSchema&version=1.0.1
BIM Open Schema
BIM Analytics via Parquet and DuckDB
BIM Open Schema is an open formal specification of BIM data that is designed for modern analytics tools and optimized for columnar data formats like Parquet and DuckDB.
The official specification is in the form of valid C# code.
🌐 Platform and Language Agnostic
The schema is optimized for columnar data formats, but it is not tied to any one particular serialization format, and can be easily converted to many different formats for fast inspection in your tool of choice.
This project comes with C# code which acts as the official specification, but the schema is platform independent and language agnostic.
We welcome code contributions in any language.
🎯Target Workflows
- ETL pipe : Revit/IFC → Parquet/DuckDB → downstream BI/ML.
- Quick inspection : Open the Parquet/DuckDB database with SQL, PowerBI or Python/Pandas.
- Inter‑tool hand‑off : Share a small, self‑contained bundle instead of heavyweight RVT/IFC when geometry is not required.
🧑🤝🧑Target Users
Data scientists, BI analysts and application developers who need properties, relationships, and additional BIM data without geometry.
📐 Design Principles
- Column‑oriented storage: Each list maps cleanly to a Parquet column chunk or a DuckDB table.
- String & point interning: Repeated values are stored once and referenced by a typed index, keeping files small.
- EAV‑flavoured parameters: A minimal core (Entity, Descriptor) plus type‑specific value tables yields flexibility while preserving strong types.
- Relation set: A single EntityRelation edge list expresses most graph‑like BIM relationships found in Revit or IFC.
🤔 What is ETL?
ETL (Extract, Transform, and Load) is a three-phase computing process where data is extracted from an input source, transformed (including cleaning), and loaded into an output data container.
📝Serialization Formats (Readers and Writers)
We provide tools and examples to convert BIM Open Schema to/from:
- DuckDB - A simple, fast, open-source database system optimized for in-process analytical work.
- Parquet - an efficient, open source, column-oriented data file format with wide tooling support.
- JSON - A lightweight and ubiquitous human-readable format for exchanging data over the web.
🔗 Related Projects
Some open-source projects which are related:
👥 Contributors and Supporters
Supporting and contributing to this project is as simple as providing feedback.
Some of the people who have contributed are (in alphabetical order):
- Ahmad Saleem Z - AnkerDB
- Christopher Diggins - Ara 3D
- Daryl Irvine - DG Jones and Partners
- Karim Daw - Gensler
- Tomo Sugeta - Cundall
- Yskert Schindel - Vyssuals
We have an active Discord server and discussion forum that you can also join.
💼 Commercial Support and Services
If you are interesting in professional help in leveraging the format and learning what you can do with it, reach out to us at info@ara3d.com.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Ara3D.SDK (>= 1.4.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Ara3D.BimOpenSchema:
Package | Downloads |
---|---|
Ara3D.BimOpenSchema.IO
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.1 | 333 | 7/21/2025 |