The Agents in Construction (AiC) ontology is a lightweight semantic model for coordinating on-site production in construction. It represents construction agents (human workers, robots, and other autonomous hardware) and their state as they operate on a site: the processes they carry out, the elements they modify, the resources they handle, and the operational modes and metrics used to assess their performance and impact. To express how agents' operations evolve over time, AiC introduces meta-properties that specify when a statement holds (at an instant or over an interval), what dimension of information it represents (planned, simulated, or performed), and who generated it. The ontology emphasizes generic, trade-agnostic concepts to ensure broad applicability across project types and delivery methods.
The namespace for AiC terms is https://w3id.org/aic#
The suggested prefix for the AiC namespace is aic
The AiC ontology is a deliverable of the research project
Smart Mobile Factory for Infrastructure Projects (SMF4INFRA).
The AiC is designed to formalize and describe how various agents execute work during construction. Its primary objective is to enable a consistent digital representation of agents on the site (human workers, robots and other autonomous machines), their states and their interactions with other entities. These interactions may be physical, such as handling materials or equipment and occupying work zones, or non-physical, such as requesting materials or directing attention toward a specific element, material, or task.
Figure 1 illustrates a typical construction-site situation and exemplifies the type of information that the AiC ontology is intended to capture. In this example, two workers are preparing rebar and mounting components for a concrete wall. Their internal state can be represented as follows: Worker 1, shown on the left, is in a “transporting” mode, while Worker 2, shown on the right, is in a “working” mode. Their interactions with other entities are also represented. Worker 1 is using a wheelbarrow, with its operational focus on the material instance “ConduitRoll-32” and the element “Wall_3_F8”. Worker 2 is using a ladder to position rebar beams, with its operational focus directed toward the same element, “Wall_3_F8”.
| aic | <https://w3id.org/aic#> |
| owl | <http://www.w3.org/2002/07/owl#> |
| rdf | <http://www.w3.org/1999/02/22-rdf-syntax-ns#> |
| rdfs | <http://www.w3.org/2000/01/rdf-schema#> |
| terms | <http://purl.org/dc/terms/> |
| vann | <http://purl.org/vocab/vann/> |
| xml | <http://www.w3.org/XML/1998/namespace> |
| xsd | <http://www.w3.org/2001/XMLSchema#> |
| No. | Competency question | Reason for posing this question |
| Questions about statements valid irrelevant of time | ||
| 1.1 | What are the mode sets used to describe agent ABC? How do the modes from different mode sets correspond to each other? | Understand different ways to formally express the operation of an agent. |
| 1.2 | Which metric measures the performance of agent ABC when in operation mode XYZ? | Understand how the performance of an agent operating in a particular mode can be expressed. |
| 1.3 | Which metric is describing the performance of process 456? | Understand how the performance of a process can be expressed. |
| Questions about statements at a point in time | ||
| At time T1, ... | ||
| 2.1 | … what is the mode of agent ABC and since when has it been operating in that mode? | Find out the operation mode of the agent at any given point in time. |
| 2.2 | ... what element is agent ABC focusing on and since when has it been focusing on that? | Find out the physical elements that an agent is focusing on at any given point in time. |
| 2.3 | ... what process is agent ABC focusing on and what is the state of the process? | Find out the process and its process state that an agent is focusing on at any given point in time. |
| 2.4 | ... where is agent ABC operating, and since when has it been operating there? | Find out the location of the agent at any given point in time. |
| 2.5 | ... which process is assigned to agent ABC? | Find out what an agent has to work on at any given point in time. |
| 2.6 | ... what resources / zone is agent ABC requesting, and since when has it been requesting them? | Find out what an agent needs to execute its work at any given point in time. |
| 2.7 | ... what equipment is agent ABC working with and since when has it been working with it? | Find out the equipment usage of the agent at any given point in time. |
| 2.8 | … what is the value of the process metric of process 456? | Find out the dynamic performance of a process at any given point in time. |
| Questions about statements spanning periods of time | ||
| In the period up until time T2, ... | ||
| 3.1 | ... what material and in what quantity has agent ABC consumed already and when has agent ABC consumed it? | Find out how much material an agent has consumed that is not available anymore up until a given point in time. |
| 3.2 | ... what reusable material and in what quantity has agent ABC already provided, and when? | Find out how much material an agent has provided, which is available once again up until a given point in time. |
| In the period between time T3 and time T4, … | ||
| 3.3 | … in which modes was agent ABC operating, and for which time periods? | Find out the operation mode history of an agent in a specific period. |
| 3.4 | … what is the total time that agent ABC was operating in mode XYZ? | Quantify the agent's operating time in a specific mode. |
| 3.5 | … how often and how long was agent ABC requesting resource 123? | Quantify the frequency and duration of an agent's resource requests within a specific period. |
| 3.6 | … what is the total time that agent ABC was working with equipment 789 and focusing on process 456? | Find out the equipment usage of an agent dedicated to a particular process. |
Figure 2 provides an overview of the classes and properties of the AiC ontology. They are organized into three groups that describe how agents operate on the site, execute processes and handle resources. An additional set of classes and properties is included to capture meta-information essential for representing the dynamic aspects of construction information.
The AiC ontology formalizes statement-level metadata management through the class aic:InformationID, which acts as a reification construct linking factual assertions to contextual and provenance information. Each aic:InformationID instance links to a reified RDF statement via aic:reifiesStatement, where the statement itself follows standard RDF 1.1 reification using rdf:Statement with its rdf:subject, rdf:predicate, and rdf:object properties (see Figure 3, top). The AiC ontology supports statement-level metadata in a way that remains compatible with both RDF 1.1 toolchains and emerging RDF 1.2 features. RDF 1.2 introduces triple terms (quoted triples, previously known as ‘RDF-star’), which allow a triple to be referenced directly as the object of another triple. At the time when this version of the AiC ontology was released, RDF 1.2 had reached ‘Candidate Recommendation Snapshot’ status, but had not yet become an official W3C standard [RDF12-CONCEPTS]. While preserving a systematic mapping to RDF 1.2 quoted triples using rdf:reifies where supported (see Figure 3, bottom), the AiC ontology also allows aic:reifiesStatement to serve as a stable attachment point for statement-scoped metadata in RDF 1.1.
aic:InformationID class
Expressing temporal validity is central to the AiC ontology. The object properties aic:validAt, aic:validFrom and aic:validUntil allow each assertion to be qualified by an instant or interval during which it holds.
aic:validAt - an instant at which the statement is valid.aic:validFrom - the start of an interval during which the statement is valid.aic:validUntil - the end of that interval.
For instance, a statement that a construction agent aic:operatatesIn a particular aic:Zone might be valid only for a certain period. Several construction agents can focus on the same process at different times and in different ways. Because these temporal constraints attach to aic:InformationID rather than to aic:ConstructionAgent or aic:Process, AiC supports multiple concurrent temporal perspectives on the same underlying entities (e.g., overlapping assignments, interruptions, or revisions) without duplicating domain-level structures.
Another important design feature of the AiC ontology is its explicit separation of domain semantics from epistemic and lifecycle context. Rather than introducing dimension-specific predicates for planned or performed data, AiC annotates reified assertions using aic:hasInformationDimension, classifying the underlying statement as aic:Planned, aic:Simulated, or aic:Performed. This preserves semantic continuity across viewpoints: identical classes and properties capture intent, prediction, and observation, while the dimension annotation makes each assertion’s contextual status explicit. By externalizing perspective as metadata, the approach supports reusable query patterns, simplifies mappings, and reduces schema drift across lifecycle stages. Provenance is captured through aic:generatedBy (to an aic:Creator) and aic:generatedOn, enabling the graph to retain traceable origins for statement-level claims.
For example, this metadata can be used to express more context about the situation shown in Figure 1: The statements “Worker 2 is in the operation mode transporting” and “Worker 2 uses Wheelbarrow 2” are valid only from 08:13 to 08:15, were generated by an on-site computer vision system, and describe the situation as it was “performed”.
IRI: https://w3id.org/aic#Activity
IRI: https://w3id.org/aic#AgentCapability
IRI: https://w3id.org/aic#ConstructionAgent
IRI: https://w3id.org/aic#ConsumableMaterial
IRI: https://w3id.org/aic#Creator
IRI: https://w3id.org/aic#Element
IRI: https://w3id.org/aic#Equipment
IRI: https://w3id.org/aic#Indicator
IRI: https://w3id.org/aic#InformationDimension
IRI: https://w3id.org/aic#InformationID
IRI: https://w3id.org/aic#Material
IRI: https://w3id.org/aic#ModeMetric
IRI: https://w3id.org/aic#ModeSet
IRI: https://w3id.org/aic#OperationMode
IRI: https://w3id.org/aic#Process
IRI: https://w3id.org/aic#ProcessMetric
IRI: https://w3id.org/aic#ProcessState
IRI: http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement
IRI: https://w3id.org/aic#Resource
IRI: https://w3id.org/aic#ResourceQuantity
IRI: https://w3id.org/aic#ResourceType
IRI: https://w3id.org/aic#ReusabeMaterial
IRI: https://w3id.org/aic#Task
IRI: https://w3id.org/aic#WorkPackage
IRI: https://w3id.org/aic#Zone
IRI: https://w3id.org/aic#belongsTo
has characteristics: asymmetric
IRI: https://w3id.org/aic#consumes
has characteristics: asymmetric
IRI: https://w3id.org/aic#containsActivity
has characteristics: asymmetric
IRI: https://w3id.org/aic#containsTask
IRI: https://w3id.org/aic#correspondsTo
has characteristics: symmetric, transitive
IRI: https://w3id.org/aic#focusesOnElement
has characteristics: asymmetric
IRI: https://w3id.org/aic#focusesOnProcess
has characteristics: asymmetric
IRI: https://w3id.org/aic#focusesOnResource
has characteristics: asymmetric
IRI: https://w3id.org/aic#generatedBy
has characteristics: asymmetric
IRI: https://w3id.org/aic#hasCapability
has characteristics: asymmetric
IRI: https://w3id.org/aic#hasElement
IRI: https://w3id.org/aic#hasInformationDimension
has characteristics: asymmetric
IRI: https://w3id.org/aic#hasModeMetric
has characteristics: asymmetric
IRI: https://w3id.org/aic#hasPredecessor
has characteristics: transitive
IRI: https://w3id.org/aic#hasProcessMetric
has characteristics: asymmetric
IRI: https://w3id.org/aic#hasQuantity
has characteristics: asymmetric
IRI: https://w3id.org/aic#hasResourceType
has characteristics: asymmetric
IRI: https://w3id.org/aic#hasSuccessor
has characteristics: transitive
IRI: https://w3id.org/aic#isAssignedTo
has characteristics: asymmetric
IRI: https://w3id.org/aic#isDescribedBy
has characteristics: asymmetric
IRI: https://w3id.org/aic#isInOperationMode
has characteristics: asymmetric
IRI: https://w3id.org/aic#isInProcessState
has characteristics: asymmetric
IRI: https://w3id.org/aic#isLocatedIn
IRI: https://w3id.org/aic#isOperatingIn
has characteristics: asymmetric
IRI: http://www.w3.org/1999/02/22-rdf-syntax-ns#object
IRI: http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate
IRI: https://w3id.org/aic#reifiesStatement
has characteristics: functional, asymmetric
IRI: https://w3id.org/aic#releasesReusableMaterial
has characteristics: asymmetric
IRI: https://w3id.org/aic#requestsResource
has characteristics: asymmetric
IRI: https://w3id.org/aic#requestsZone
has characteristics: asymmetric
IRI: https://w3id.org/aic#requiresCapability
has characteristics: asymmetric
IRI: https://w3id.org/aic#requiresResource
IRI: http://www.w3.org/1999/02/22-rdf-syntax-ns#subject
IRI: https://w3id.org/aic#supplies
has characteristics: asymmetric
IRI: https://w3id.org/aic#targets
IRI: https://w3id.org/aic#uses
has characteristics: asymmetric
IRI: https://w3id.org/aic#generatedOn
IRI: https://w3id.org/aic#hasUnit
IRI: https://w3id.org/aic#hasValue
IRI: https://w3id.org/aic#validAt
IRI: https://w3id.org/aic#validFrom
IRI: https://w3id.org/aic#validUntil
IRI: https://w3id.org/aic#Performed
IRI: https://w3id.org/aic#Planned
IRI: https://w3id.org/aic#Simulated
The following alignment modules provide mappings between the AiC Ontology and other relevant (AECO) ontologies. Each module can be used independently depending on the required interoperability context.
This work is supported by the Swiss National Science Foundation [grant no. 204852].
The authors would like to thank Silvio Peroni for developing LODE, a Live OWL Documentation Environment, which is used for representing the Cross Referencing Section of this document and Daniel Garijo for developing Widoco, the program used to create the template used in this documentation.