The problem of many roots
IFC4 has 59 root classes: ['IfcActorRole', 'IfcAddress', 'IfcApplication', 'IfcAppliedValue', 'IfcApproval',
'IfcBoundaryCondition', 'IfcConnectionGeometry', 'IfcConstraint', 'IfcCoordinateOperation', 'IfcCoordinateReferenceSystem',
'IfcDerivedUnit', 'IfcDerivedUnitElement', 'IfcDimensionalExponents', 'IfcExternalInformation', 'IfcExternalReference',
'IfcGridAxis', 'IfcIrregularTimeSeriesValue', 'IfcLightDistributionData', 'IfcLightIntensityDistribution',
'IfcMaterialClassificationRelationship', 'IfcMaterialDefinition', 'IfcMaterialList', 'IfcMaterialUsageDefinition',
'IfcMeasureWithUnit', 'IfcMonetaryUnit', 'IfcNamedUnit', 'IfcObjectPlacement', 'IfcOrganization', 'IfcOwnerHistory',
'IfcPerson', 'IfcPersonAndOrganization', 'IfcPhysicalQuantity', 'IfcPresentationItem', 'IfcPresentationLayerAssignment',
'IfcPresentationStyle', 'IfcPresentationStyleAssignment', 'IfcProductRepresentation', 'IfcProfileDef', 'IfcPropertyAbstraction',
'IfcRecurrencePattern', 'IfcReference', 'IfcRepresentation', 'IfcRepresentationContext', 'IfcRepresentationItem',
'IfcRepresentationMap', 'IfcResourceLevelRelationship', 'IfcRoot', 'IfcSchedulingTime', 'IfcShapeAspect',
'IfcStructuralConnectionCondition', 'IfcStructuralLoad', 'IfcTable', 'IfcTableColumn', 'IfcTableRow', 'IfcTimePeriod',
'IfcTimeSeries', 'IfcTimeSeriesValue', 'IfcUnitAssignment', 'IfcVirtualGridIntersection’]
Trim down to suitable “top-level” definitions:
Objects, Types, Relationships, Properties, Representations,
Resources
For example for representation in SQLite or ArangoDB