Skip to content

API Reference

Complete API documentation for the ifc-graph Python library.

Modules Overview

The library is organized into three main modules:

Module Description
element_filter IFC file loading and element extraction
neo4j_store Neo4j database operations
query_loader Cypher query file management

Quick Reference

Primary Functions

from ifc_graph import filter_physical_elements, save_to_neo4j
Function Description
filter_physical_elements() Extract elements from IFC file
save_to_neo4j() Save elements to Neo4j database
load_ifc_file() Load and validate IFC file
load_query() Load a Cypher query from file

Classes

from ifc_graph import IFCElementFilter, Neo4jConnection, QueryLoader
Class Description
IFCElementFilter OOP interface for element extraction
Neo4jConnection Database connection manager with retry logic
QueryLoader Cypher query file loader with caching

Exceptions

from ifc_graph import (
    IFCLoadError,
    IFCValidationError,
    DatabaseConnectionError,
    DatabaseOperationError,
)
Exception Description
IFCLoadError Error loading IFC file
IFCValidationError IFC file validation failed
DatabaseConnectionError Cannot connect to Neo4j
DatabaseOperationError Database operation failed

Detailed Documentation

For complete API documentation with method signatures and examples, see the individual module pages:

  • Element Filter - IFC file loading, validation, and element extraction
  • Neo4j Store - Database connection management and batch operations
  • Query Loader - Cypher query file management and caching

Import Examples

Import Everything

from ifc_graph import (
    # Element Filter
    IFCElementFilter,
    IFCLoadError,
    IFCValidationError,
    filter_physical_elements,
    load_ifc_file,
    extract_element_properties,
    extract_spatial_info,
    extract_material_info,
    extract_property_sets,
    # Neo4j Store
    Neo4jConnection,
    DatabaseConnectionError,
    DatabaseOperationError,
    save_to_neo4j,
    # Query Loader
    QueryLoader,
    load_query,
)

Import Only What You Need

# For simple processing
from ifc_graph import filter_physical_elements, save_to_neo4j

# For custom extraction
from ifc_graph import IFCElementFilter, Neo4jConnection

# For error handling
from ifc_graph import IFCLoadError, DatabaseConnectionError

Version Information

from ifc_graph import __version__

print(__version__)  # "0.1.0"

See Also