Skip to content

Pragmatic BIM Data Contract

To provide a simple, implementation-ready BIM data model for integration, querying, costing, and analysis workflows, this schema defines a pragmatic, graph-first LinkML structure that is IFC-aware and extensible across classification schemes.

URI: https://schema.pragmaticbim.ch

Name: pragmatic_bim_data_contract

Artifacts

Format File
JSON Schema pragmatic-bim.schema.json
SHACL pragmatic-bim.shacl.ttl
CSV pragmatic-bim.csv
Pydantic pragmatic-bim.pydantic.py
Docs (Markdown) pragmatic-bim.docs.md

Graph classes

Class Description
Entity Common base class for everything in the project graph. Has identity, lifecycle, and status.
        Agent Abstract base class for human and software actors in workflow and communication roles.
                Person Individual stakeholder, contributor, assignee, or responsible party represented in the schema. Instances may contain personal data; privacy slots govern lawful processing, consent, retention, and redaction.
                Company Organization, company, or legal entity participating in the project or asset lifecycle.
                SoftwareAgent Automated actor (integration, bot, or pipeline) acting in workflow roles.
        Decision Decision entity for workflow traceability and governance. Entity.status covers lifecycle; decision_status uses workflow vocabulary URIs.
        Task Task entity for implementation and follow-up workflows. Entity.status covers lifecycle; task_status uses action status vocabulary URIs. Links to related entities via applies_to_entities.
        Process Running BPMN process instance in the project graph. Use process_definition_uri for the BPMN definition key or artifact. When orchestration state lives in an external engine, set external_instance_uri to that system of record.
        Message Message entity for coordination and traceability. Links to related entities via applies_to_entities.
        Artifact External project artifact (text document, model, or plan) at storage_link. Used for provenance (Requirement.source_artifact). Not a modeled building element.
        Contract Commercial agreement entity for project scope, parties, and governance. Links to a signed artifact and related model entities via applies_to_entities. Entity.status covers record lifecycle; contract_status uses workflow vocabulary URIs.
        Project Business delivery scope for spatial context, systems, and workflow entities.
        Program Portfolio or capital program scope grouping related projects.
        Product Commercial product or service offering sold by a company.
        Deliverable Outcome or handover item produced within a project.
        PhysicalElement Base class for physical elements that can be placed in built asset/level context.
                Separator Abstract base class for elements that separate spaces or zones.
                        SeparatorWall Wall-based separating element.
                        SeparatorSlab Slab-based separating element (for example floor/roof/base slab separators).
                ConnectionPhysical Physical connector providing functional connection between spaces (for example door, window, duct, pipe, cable).
                Boundary Physical element acting as a boundary treatment (for example covering).
                Equipment Endpoint or device element (for example terminal, unit, control device, sensor) located in a space and assigned to a system.
        VirtualEntity Abstract base class for non-physical, conceptual, or informational entities.
                SpatialContext Context node used to represent perimeter, legal site, built asset, level, or zone.
                        PerimeterContext Spatial context node constrained to perimeter semantics.
                        LegalSiteContext Spatial context node constrained to legal site semantics.
                        BuiltAssetContext Abstract spatial context for built assets such as buildings and civil structures.
                                BuildingContext Spatial context node constrained to building semantics.
                                CivilStructureContext Spatial context node constrained to civil structure semantics.
                        LevelContext Spatial context node constrained to level/storey semantics.
                        ZoneContext Spatial context node constrained to zone semantics.
                Space Spatial container used for occupancy, circulation, service, or analysis.
                System Building service system grouping that serves spaces or zones.
                ConnectionVirtual Logical or topological connection between spaces and/or physical elements.
                TimeRecord Planned work record with baseline and actual dates, optionally linked to model entities and a time plan. — Set milestone_at to mark as a zero-duration checkpoint. — Populate component_time_items to act as a plan container.
                CostRecord Cost record for estimation, catalog pricing, and calculation. Use cost_record_role to distinguish catalog cost/price (on Product) from project estimate/actual lines. Populate component_cost_items to act as an assembly (aggregated unit price).
                Material Material definition that can be associated with one or more entities.
        Requirement Prescriptive requirement entity (content_kind requirement). Applies to model entities via applies_to_entities. Domain is discriminated by concrete subclass (PerformanceRequirement, SpatialRequirement, DeliverableRequirement, etc.), not a separate slot.
                PerformanceRequirement Performance target requirement (U-value, fire rating, airflow, acoustic, etc.). Boolean targets use target_value_boolean with requirement_property_key aligned to entity slot names where applicable (for example is_heated on Space). Application pipelines compare the subject entity slot to the requirement target and record the outcome as MatchChange (match_status met, unmet, or unknown).
                SpatialRequirement Spatial constraint requirement (min area, min height, adjacency, etc.).
                RegulatoryRequirement Regulatory reference requirement (building code, norm, standard).
                BriefRequirement Client or programme requirement, including free-standing brief items.
                DeliverableRequirement Deliverable or documentation requirement (model LOD, O&M manual, export format, etc.).
                ScheduleRequirement Schedule obligation requirement (deadline, milestone, or start/finish window).
                CostRequirement Cost or budget requirement (unit-cost cap, total budget limit, etc.).
                MaterialRequirement Material or product specification requirement for matching against assigned materials.
Change Audit record observing the project graph moving between revisions. Not an Entity and not a graph node — it watches the graph. Use change_type together with the concrete subclass for interpretation.
        PropertyChange Attribute, PropertySet, schema slot, or document field change.
        GeometryChange Geometry or representation change for a subject.
        RequirementChange Change to a requirement entity or its fields.
        MatchChange Entity match status against a requirement changed (previously met / no longer meets).
        AdditionChange New entity introduced in to_revision.
        DeletionChange Entity removed in to_revision.

Embedded value types

Structured records stored inline on parent graph nodes (inlined: true). Not standalone project entities — no independent id or lifecycle.

Class Description
Classification Generic classification entry from any scheme (for example IFC, Uniclass, OmniClass, custom).
GeometryRepresentation Minimal geometry reference for an entity, separating representation from encoding format.
QuantityValue Minimal quantity record for costing and analysis.
MetadataEntry Generic metadata entry for storing IFC attributes, PropertySet fields, or project-specific key-value data.
PerformanceProperty Normalized performance/property record derived from raw IFC PropertySet values with source traceability and strong typing through domain-specific subclasses.
        FireProperty Normalized fire-related property.
        AcousticProperty Normalized acoustic-related property.
        ThermalProperty Normalized thermal-related property.
        StructuralProperty Normalized structural-related property.
        SecurityProperty Normalized security-related property.
        MaterialProperty Normalized material-related property.
PostalAddress Structured postal or physical address for an agent.
ContactPoint Structured communication endpoint or profile for an agent.
ConsentRecord Record of lawful basis, scope, and lifecycle for processing personal data on a Person.
PersonRelationship Typed link from a person to another agent or to a topic concept. The predicate is expressed as a Classification referencing AbstractPersonRelationshipType. Exactly one of related_person, related_company, or related_topic must be set; see the target-kind mapping for predicate-to-slot rules.
LocalizedText Localized text value for a specific language tag.
TimeLink Inline typed precedence link from a TimeRecord to one successor. Not a VirtualEntity — no id, no mixin. Owned by the predecessor record.

Slots

Slot Description
acceptance_criteria Criteria that define when the deliverable is accepted.
actual_finish_at Actual finish timestamp for the time record where known.
actual_start_at Actual start timestamp for the time record where known.
address_country Country name.
address_country_code Optional ISO 3166-1 alpha-2 or alpha-3 country code.
address_locality Locality, city, or town.
address_region Region, state, canton, or province.
adjacency_kind Adjacency semantics when this spatial requirement involves another subject.
affected_geometry_role Geometry role affected for GeometryChange records.
affected_requirement Requirement entity affected by this change.
affected_subject Optional typed reference to the changed graph entity when the subject is in the project graph.
affected_subject_id Identifier of the changed subject (entity id, document id, or external key).
affected_subject_path Optional JSON-pointer-style path for nested targets (for example localized_descriptions[de], section.4.2.paragraph_1).
affected_subject_type LinkML class name of the changed subject (for example Space, SeparatorWall, Artifact).
applies_to_entities Model entities this record applies to (requirements, cost items, schedule items, etc.).
artifact_kind Kind of external artifact (text document, model, or plan).
artifact_storage_link Artifact location when the subject is an Artifact entity or embedded field diff.
assignee Responsible agent.
availability_notes Optional notes about availability, office hours, or response expectations.
belongs_to_company Optional company that the person belongs to.
birthday Date of birth. Personal data; governed by personal_data_processing_state, consent_records, and retain_until.
boundary_type Classification of boundary element (e.g., covering).
bounded_by Physical elements that bound a space.
bounded_space Space bounded by this boundary element.
catalog_cost_records Catalog cost and price records for this product (cost_record_role cost or price).
change_severity Optional severity independent of change type.
change_source URI identifying the tool or pipeline that produced this change record.
change_type Category of change detected between two revisions.
classification_code Classification code inside the scheme.
classification_label Optional human-readable classification label.
classification_scheme Name of the classification scheme (for example ifc, uniclass, omniclass, custom).
classification_source Source authority or dataset for this classification.
classification_uri Optional URI/CURIE that identifies the classification concept in an external registry.
classification_version Optional scheme/version identifier.
classifications Classification entries from IFC and other schemes.
clause_ref Clause, article, or section reference within the norm.
client Owning client organization.
completed_at Timestamp when the process instance completed or terminated, when applicable.
component_cost_items Cost records aggregated into this assembly record.
component_time_items Time records contained in this plan; set milestone_at on a record to mark it as a checkpoint.
connection_functional_types Functional connection role(s) between spaces (for example access, visual, ventilation, heating). Multiple values allowed (for example glazed door as access plus visual).
connection_physical_requirement_drivers Performance requirement drivers for this physical connection element. Multiple values are allowed because one connection may need to satisfy several requirements.
connection_physical_type IFC-derived physical connector form (for example door, window, duct, pipe, cable). Semantic role is expressed via connection_functional_types.
connection_virtual_requirement_drivers Main requirement drivers for this virtual connection.
connection_virtual_type Classification of virtual connection semantics (for example structural_joint, adjacency, access).
connects_physical_elements Physical elements connected by this virtual connection (for example wall-wall, wall-slab).
connects_spaces Spaces connected by this virtual connection.
consent_notes Optional notes about how or where consent was captured.
consent_records Audit trail of lawful basis and consent for processing personal data. When lawful_basis is consent and state is active, at least one non-withdrawn record should be present.
contact_channel_type Communication channel type such as email, phone, website, linkedin, whatsapp, signal, slack, teams, or telegram.
contact_points Structured communication channels and profiles associated with this agent.
contact_uri URI for the contact endpoint or profile where applicable.
contact_value Human-readable contact value such as an email address, phone number, handle, or username.
contained_entities Generic containment for associated entities.
content_kind Entity type discriminator for adapter projection and querying. Must be a ContentKind value.
context_type Classification of context entity (perimeter, legal_site, building, civil_structure, level, zone).
contract_parties Agents party to the contract (for example client, contractor, consultant).
contract_reference Human-readable contract number or external reference.
contract_status Contract status expressed as a URI/CURIE (for example draft, signed, active, terminated, superseded).
contract_type Contract type expressed as a URI/CURIE from a controlled vocabulary (for example design, construction, supply).
cost_category Cost category label kept intentionally open pending classification-backed modeling.
cost_quantity_type Quantity type used as basis for this cost calculation.
cost_quantity_unit Unit of the cost quantity value.
cost_quantity_value Quantity magnitude used as basis for this cost calculation.
cost_record_role Role of this cost record (catalog cost, catalog price, project estimate, or actual).
cost_records Cost records associated with this entity.
created_at Creation timestamp for this entity record.
currency ISO 4217 currency code (for example EUR, USD).
data_categories Personal data categories covered by this consent or processing record.
data_controller Organization accountable as data controller for this person record.
decided_at Timestamp when the decision was made.
decided_by Agent responsible for the decision.
decision_status Decision status expressed as a URI/CURIE (for example proposed, accepted, rejected, superseded).
decision_type Decision type expressed as a URI/CURIE from a controlled vocabulary.
deliverable_code External or internal deliverable identifier within a project.
deliverable_format Required deliverable format or encoding (for example IFC4, PDF, COBie).
deliverable_kind Deliverable type label (for example coordination model, O&M manual, as-built record).
dependency_type FS
description Default description text.
detected_at Timestamp when this change was detected.
due_at Due timestamp for task completion.
earliest_start_at Earliest permitted start when a schedule requirement defines a start window.
effective_from Start of contractual validity.
effective_until End of contractual validity when applicable.
elevation Storey elevation relative to project datum (metres).
elevation_unit Unit for elevation (default m).
equipment_type Classification of equipment (for example HVAC, electrical, plumbing).
external_instance_uri URI of the corresponding process instance in an external workflow engine when applicable.
frame_material Material of the frame or casing surrounding the opening. Applies to opening-type connectors (door, window).
from_revision Source revision number for this change.
from_value Prior value serialized as text. Absent or null for new subjects or fields.
geometry_format Optional serialization/encoding format (for example ifc, gltf, wkt, geojson), independent of representation kind.
geometry_reference URI/path/hash/pointer to geometry payload.
geometry_representation Representation kind/dimension (for example body_3d, footprint_2d, point), independent of file format.
geometry_representations Geometry references associated with the entity. A single element may link to multiple geometry representations to serve different intents (authoring, coordination, analysis, visualization) without duplicating the element itself.
granted_at Timestamp when consent was given. Required when lawful_basis is consent.
group_members Zone members; may include spaces, separations, systems, etc.
id Unique local identifier.
ifc_attribute_name IFC attribute name when property_path_kind is ifc_attribute (for example Name, GlobalId).
ifc_global_id IFC GlobalId of the mapped entity.
infill_material Material of the opening infill within the frame (for example glazing for windows, door leaf or panel for doors). Applies to opening-type connectors (door, window).
intent_verdict Intent stability verdict from an automated judge (for example iterthink STABLE/NEW).
is_above_ground Whether the space is above ground level. When unset, consumers may derive from parent_level elevation relative to project datum.
is_cooled Whether the space is designed to receive cooling (air conditioning).
is_heated Whether the space is designed to receive heating.
is_preferred Indicates whether this is the preferred contact point.
jurisdiction Jurisdiction or authority scope for the regulatory requirement.
lag_days
language_tag IETF BCP 47 language tag (for example en, de, pt-BR).
lawful_basis Lawful basis for processing the scoped personal data categories.
lifecycle_status Whether the person is active, retired, or deceased. Orthogonal to privacy processing state and workflow QA status.
localized_descriptions Localized variants of description.
localized_names Localized variants of name.
mapping_version Mapping specification version used to derive the normalized property.
match_status Whether the subject met the requirement at the target revision.
material_category Material category label kept intentionally open pending classification-backed modeling.
material_specification Material grade, specification, or product description.
materials Material definitions associated with this entity.
meaning_uri Optional semantic URI for linking the entity instance to an external ontology concept.
media_format Encoding or format label (for example IFC4, PDF, DWG).
message_body Human-readable message content.
message_subject Optional subject or headline for the message.
message_type Message type expressed as a URI/CURIE from a controlled vocabulary.
metadata Generic metadata container for IFC attributes/properties and project-specific extensions.
metadata_key Metadata key, for example IfcWall.FireRating or Pset_WallCommon.Reference.
metadata_value Metadata value serialized as text.
metric_code skos:notation of the concept in the matching abstract metric or ratio scheme.
metric_scheme Vocabulary scheme identifier for the measured concept: AbstractBuildingMetric or AbstractBuildingRatio.
metric_uri Concept URI from building-metrics.skos.ttl or building-ratios.skos.ttl.
milestone_at Target timestamp for a zero-duration milestone checkpoint.
min_area Minimum required area in square metres.
min_clear_distance Minimum clear distance in metres when adjacency_kind is min_clear_distance.
min_height Minimum required height or clear height in metres.
modified_at Last modification timestamp for this entity record.
name Default display name.
norm_uri URI identifying the norm, standard, or building code.
operated_by Organization accountable for this software agent.
parent_building Parent building context reference.
parent_legal_site Parent legal site context reference.
parent_level Parent level/storey context reference.
parent_perimeter Parent perimeter context reference.
parent_process Optional BPMN process instance that owns or spawned this task.
parent_program Parent program reference.
parent_project Parent project reference.
parent_space Parent space where the equipment is located.
parent_system Parent systems that the equipment belongs to.
parent_zone Parent zone context reference.
performance_properties Normalized, strongly typed domain properties (fire/acoustic/thermal/structural/ security/material) extracted from raw IFC PropertySet values.
person_relationships Typed social, professional, commercial, and interest relationships to other agents or topic concepts. May be populated manually or extracted from CRM stories via LLM; use relationship_source for provenance (for example a Message id). May constitute personal data; governed by personal_data_processing_state, consent_records, retain_until, and related privacy slots on this Person.
personal_data_processing_state Privacy handling state for personal data on this person, orthogonal to workflow QA status.
planned_finish_at Planned finish timestamp for the time record.
planned_start_at Planned start timestamp for the time record.
post_office_box_number Post office box number where applicable.
postal_addresses Structured postal or physical addresses associated with this agent.
postal_code Postal or ZIP code.
priced_for_customer Optional customer for a customer-specific catalog price when cost_record_role is price.
privacy_policy_uri URI of the current or default privacy policy or notice applicable to this person record.
process_definition_uri URI identifying the BPMN process definition (for example engine definition key or BPMN artifact URI).
process_participants Agents participating in this BPMN process instance (for example assignees mapped from lane roles).
process_status Process instance status expressed as a URI/CURIE (for example active, suspended, completed, terminated).
processing_purpose Human-readable purpose for which the personal data categories are processed.
processing_purposes High-level purposes for processing personal data (for example project coordination, contract administration).
product_code External or internal product catalog identifier.
program_code External or internal program identifier.
programme_ref URI or identifier for a programme or brief document.
project_code External or internal project identifier.
property_key Canonical key inside the domain; constrained via subclass slot_usage to a domain-specific enum.
property_path Canonical path to the changed field. Examples: Pset_WallCommon.FireRating, IfcWall.Name, description, section.4.2.requirement_3, body:char_offset:1204-1389.
property_path_kind Classification of the property path for downstream diff interpretation.
property_unit Normalized unit where applicable (for example min, dB, W/m2K).
property_unit_uri Optional URI that identifies the normalized property unit in an external vocabulary such as QUDT.
property_value_boolean Boolean value when property_value_type is boolean.
property_value_number Numeric value when property_value_type is number.
property_value_string String value when property_value_type is string.
property_value_type Value type discriminator for normalized storage (for example string, number, boolean).
quantity_type Controlled quantity type.
quantity_unit Unit of the quantity value.
quantity_unit_uri Optional URI that identifies the quantity unit in an external vocabulary such as QUDT.
quantity_value Numeric quantity value.
quantity_values Quantities associated with the entity.
rationale Human-readable rationale that explains why the decision was made.
recipients Agents that received the message.
redacted_at Timestamp when identifying personal data was redacted on this record.
redaction_reason Reason for redaction (for example external model export, erasure request, retention expired).
related_company Target organization for org and commercial predicates such as works_at, worked_at, is_key_account_manager_for, client_of, or vendor_of.
related_decision Optional reference to a decision that informs or drives this task.
related_entity Entity or space subject for adjacency or distance constraints.
related_material Optional Material entity template this requirement must match or satisfy.
related_person Target person for social and professional predicates such as knows, was_colleague_of, reports_to, or has_key_account_manager.
related_product Optional catalog product this deliverable implements or this cost record is priced from.
related_requirement Requirement entity for match_change records.
related_time_record Optional TimeRecord plan item this schedule requirement aligns with or must satisfy.
related_topic Topic of interest. classification_scheme must be AbstractTopicClassification; classification_uri references the SKOS topic concept.
relationship_notes Optional free-text context for this relationship record.
relationship_source Optional provenance label (for example manual, crm:manual, llm:story-msg-0042, LinkedIn).
relationship_type Relationship predicate. classification_scheme must be AbstractPersonRelationshipType; classification_code and classification_uri reference the SKOS concept.
requirement_property_key Canonical performance key for the target (for example u_value, resistance_rating). Aligns with performance property keys where applicable.
retain_until Storage-limit deadline after which personal data should be deleted or redacted.
revision Integer revision counter for change tracking.
sender Agent that sent the message.
sent_at Timestamp when the message was sent.
separates_levels Level context nodes separated by this slab separator.
separates_spaces Spaces separated by this separator element.
separator_requirement_drivers Performance requirement drivers for this separator. Multiple values are allowed because one separator may need to satisfy several requirements.
separator_slab_type Classification of slab-based separator element (for example floor/roof/base slab).
separator_wall_type Classification of wall-based separator element.
serves_spaces Spaces served by this system.
serves_zones Zone context nodes served by this system.
service_endpoint Optional URI of the running service or integration endpoint.
signed_artifact Optional signed contract artifact at storage_link.
signed_at Timestamp when the contract was signed.
software_version Optional deployed version label for the software agent.
source_artifact Optional source artifact backing this requirement.
source_property Original property name inside the source PropertySet (for example FireRating).
source_pset Original IFC PropertySet name (for example Pset_WallCommon).
source_value_raw Raw source value before normalization.
space_name_type Normalized abstract room name type (for example office, kitchen, corridor). Project-specific labels remain on name. When set, adapters may derive a BuildingSpaceActivityClassification entry in classifications[] via the room-name-to-activity mapping bridge.
space_type Classification of space (void, circulation, usable, service).
started_at Timestamp when the process instance started.
statement Free-text requirement statement from client or programme.
status Lifecycle or QA status.
storage_link URI/URL/path to the stored artifact location.
street_address Street name and house number or equivalent address line.
substitutes_allowed Whether equivalent or substitute materials are permitted.
successors Forward precedence links to successor records. Reverse lookup (find all predecessors of X) requires scanning all TimeRecord.successors — acceptable for document exchange, not for live graph queries.
system_discipline Classification of system discipline (electrical, sanitary, ventilation, heating).
system_type Classification of system role (unit, network, terminal).
tags Optional free-form labels for filtering/grouping.
target_item The successor TimeRecord.
target_operator Comparison operator for the requirement target.
target_unit Unit for numeric targets (for example W/m2K, min, dB).
target_unit_uri Optional URI identifying the target unit (for example QUDT).
target_value_boolean Boolean target value when applicable.
target_value_number Numeric target value when applicable.
target_value_string Textual target value when applicable.
task_notes Additional notes or implementation details for the task.
task_status Task status URI/CURIE aligned with action status vocabularies.
task_type Task type expressed as a URI/CURIE from a controlled vocabulary.
text_value Localized text value.
time_plan Parent time plan this record belongs to.
time_records Time records associated with this entity.
to_revision Target revision number for this change.
to_value New value serialized as text. Absent or null for deleted subjects or fields.
transport_medium Primary transport medium carried or enabled by the connector (for example human_access, air, liquid, electricity).
triggered_process BPMN process instance that this change triggered or should trigger.
triggered_task Task entity that this change triggered or should trigger.
unit_cost Unit cost for this cost item.
usage_context Optional usage context such as work, personal, support, billing, or emergency.
valid_from Optional start of the relationship period (for example employment start for worked_at).
valid_to Optional end of the relationship period (for example employment end for worked_at).
vendor Company that sells or offers this product.
withdrawn_at Timestamp when consent was withdrawn, if applicable.
zone_type Optional zone classification; intended for SpatialContext nodes where context_type is zone.

Enumerations

Enumeration Description
AcousticPropertyKey Canonical acoustic-related keys derived from IFC PropertySets.
ArtifactKind Kind of external project artifact referenced by storage_link.
BoundaryType
ChangeIntentVerdict Intent stability verdict from an automated judge (for example iterthink STABLE/NEW).
ChangeSeverity Optional severity of a change independent of change type.
ChangeType Category of change detected between two revisions.
ConnectionFunctionalType Functional classification of physical connections between spaces by transported medium or passage role.
ConnectionPhysicalType Classification of physical connector elements that connect spaces.
ConnectionRequirementDriver Main requirement drivers for connection element performance.
ConnectionVirtualType Classification of virtual connection semantics using schema-internal meanings because no stable 1:1 IFC mapping exists for these concepts.
ContentKind Entity type discriminator for adapter projection and querying — not a module router.
ContextType
CostRecordRole
DependencyType Precedence logic between two time records (FS finish-to-start, SS start-to-start, FF finish-to-finish, SF start-to-finish).
EquipmentType
FirePropertyKey Canonical fire-related keys derived from IFC PropertySets.
GeometryRepresentationType Classification of geometric representation dimension/style.
LawfulBasis Lawful basis for processing personal data, aligned with GDPR Article 6 and similar regimes.
MatchStatus Whether an entity satisfies a related requirement at the target revision.
MaterialPropertyKey Canonical material-related keys derived from IFC PropertySets and material metadata.
PerformancePropertyValueType Type discriminator for normalized performance property values.
PersonalDataCategory Category of personal data covered by consent or processing scope.
PersonalDataProcessingState Privacy handling state for personal data on a Person record, orthogonal to workflow QA status.
PersonLifecycleStatus Life stage of a person in CRM context, orthogonal to privacy processing state and workflow QA status.
PropertyPathKind Classification of a property path for diff interpretation across IFC and text sources.
QuantityType
RequirementTargetOperator Comparison operator for numeric or textual requirement targets.
SecurityPropertyKey Canonical security-related keys derived from IFC PropertySets.
SeparatorRequirementDriver Main requirement drivers for separator performance.
SeparatorSlabType Classification of slab-based separator elements.
SeparatorWallType Classification of wall-based separator elements.
SpaceNameType Normalized abstract room name type for IfcSpace; finer-grained than space activity classification.
SpaceType Classification of space semantics used by modeling and downstream conversion.
SpatialAdjacencyKind Spatial adjacency semantics for spatial requirements.
StatusType Lifecycle or QA gate status used for model progression and approvals.
StructuralPropertyKey Canonical structural-related keys derived from IFC PropertySets.
SystemDiscipline Discipline of a building service system.
SystemType Role of an MEP-related element or grouping in the service chain.
ThermalPropertyKey Canonical thermal-related keys derived from IFC PropertySets.
TransportMedium Primary medium transported through or enabled by a physical connector.
ZoneType Classification of zone purpose and organizational intent.

Types

Type Description
Boolean A binary (true or false) value
Curie a compact URI
Date a date (year, month and day) in an idealized calendar
DateOrDatetime Either a date or a datetime
Datetime The combination of a date and time
Decimal A real number with arbitrary precision that conforms to the xsd:decimal specification
Double A real number that conforms to the xsd:double specification
Float A real number that conforms to the xsd:float specification
Integer An integer
Jsonpath A string encoding a JSON Path. The value of the string MUST conform to JSON Point syntax and SHOULD dereference to zero or more valid objects within the current instance document when encoded in tree form.
Jsonpointer A string encoding a JSON Pointer. The value of the string MUST conform to JSON Point syntax and SHOULD dereference to a valid object within the current instance document when encoded in tree form.
Ncname Prefix part of CURIE
Nodeidentifier A URI, CURIE or BNODE that represents a node in a model.
Objectidentifier A URI or CURIE that represents an object in the model.
Sparqlpath A string encoding a SPARQL Property Path. The value of the string MUST conform to SPARQL syntax and SHOULD dereference to zero or more valid objects within the current instance document when encoded as RDF.
String A character string
Time A time object represents a (local) time of day, independent of any particular day
Uri a complete URI
Uriorcurie a URI or a CURIE

Subsets

Subset Description