Skip to main content
Challenge

Build a bSDD Real Estate Classification Compliance Checker

Inspect Industry Foundation Classes models against the buildingSMART Data Dictionary standard. Verify mandatory classification references and provide gap reports for architectural submittals.

EngineeringHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Inspect Industry Foundation Classes models against the buildingSMART Data Dictionary standard. Verify mandatory classification references and provide gap reports for architectural submittals.

BIM procurement coordinator

Ingest IFC property records and component classification references.

Query mock bSDD endpoints using classification code keys.

Compare model classifications against required project standards.

Render compliance audit cards highlighting unclassified assets.

Web portal showing classification trees, matched dictionary terms, and missing requirement alerts.

Utilize sample bSDD dictionary responses available in open bSDD documentation or create local JSON mocks. Starter examples below are synthetic. They are not downloaded records.

IfcOpenShell Leverages the bsdd library specification in IfcOpenShell to query classification references against data dictionaries.

dspy, fastapi. DSPy compiles robust prompt pipelines that accurately map arbitrary IFC classification text to standardized bSDD keys. Local or cloud LLM supported by DSPy for semantic classification matching.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Matches IFC element classifications to simulated bSDD dictionary URIs.

Identifies elements lacking required standard classification codes.

Generates non-blocking warnings for unmapped custom properties.

```json [ { "input": { "model_id": "MOD-101", "elements": [ { "guid": "1abc", "type": "IfcDoor", "classification": { "system": "OmniClass", "code": "23-17 11 00" } } ] }, "expected_output": { "compliant": true, "total_checked": 1, "matched_entries": [ { "guid": "1abc", "system": "OmniClass", "code": "23-17 11 00", "uri": "https://identifier.buildingsmart.org/uri/omniclass/23-17-11-00" } ], "unresolved_elements": [] } }, { "input": { "model_id": "MOD-102", "elements": [ { "guid": "2def", "type": "IfcWindow", "classification": null } ] }, "expected_output": { "compliant": false, "total_checked": 1, "matched_entries": [], "unresolved_elements": [ { "guid": "2def", "reason": "Missing classification reference" } ] } } ] ```

Read-only inspection of model metadata; no direct modification of original IFC files. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Read-only inspection of model metadata; no direct modification of original IFC files. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Matches IFC element classifications to simulated bSDD dictionary URIs. Identifies elements lacking required standard classification codes. Generates non-blocking warnings for unmapped custom properties.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Ingest IFC property records and component classification references. Query mock bSDD endpoints using classification code keys. Compare model classifications against required project standards. Render compliance audit cards highlighting unclassified assets.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Matches IFC element classifications to simulated bSDD dictionary URIs. Identifies elements lacking required standard classification codes. Generates non-blocking warnings for unmapped custom properties.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

Web portal showing classification trees, matched dictionary terms, and missing requirement alerts.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Read-only inspection of model metadata; no direct modification of original IFC files.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Ingest IFC property records and component classification references.

  • Query mock bSDD endpoints using classification code keys.

  • Compare model classifications against required project standards.

  • Render compliance audit cards highlighting unclassified assets.

Resources and assets

Reference links and supporting material

Dataset notes

Utilize sample bSDD dictionary responses available in open bSDD documentation or create local JSON mocks. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

DSPy

Prompt and LM program optimization framework.

Evaluated output

No output checks are configured.

Evaluation checks
  • Ingest IFC property records and component classification references. Query mock bSDD endpoints using classi...
  • Matches IFC element classifications to simulated bSDD dictionary URIs. Identifies elements lacking required...
  • Web portal showing classification trees, matched dictionary terms, and missing requirement alerts.
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 3 configured tools

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • DSPy · Optional
Training Infra
  • DSPy · Optional
Orchestration
  • DSPy · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build a bSDD Real Estate Classification Compliance Checker