# Ontology-Based Representation and Reasoning in Building Construction Cost Estimation in China
## 3 The Building Cost Estimation Ontology Model
### Reasoning Mechanism  
As an ontology representation language, OWL (Web Ontology Language) is a Semantic Web language that was designed to represent rich and complex knowledge about things, groups of things, and relationships between things. However, OWL has limits in the amount of expressivity that it can offer users. One solution to this issue is to keep the OWL recommendations unchanged and introduce the inclusion of rules to expand the expressive capability [48]. In addition, OWL can only represent property restrictions of a single individual, but the rules of the building construction cost estimation ontology always contain many individuals, which is beyond the representation capability of OWL. Hence, the reasoning rules should be added to the ontology reasoning. The reasoning mechanism developed in this research aims to reason about the cost estimation ontology by means of the domain rules expressed by SWRL [52]. SWRL (Semantic Web Rule Language), which is based on OWL, allows users to define rules to reason about OWL individuals and new knowledge [53].  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Object Property** & **Domain** & **Range** & **Note** \\ \hline isPartOf & IFC & BIM & The relationship between BIM and IFC. \\ \hline controls & Actor & Resource & The relationship between actors and resources that it controls. \\ \hline hasMaterialFeature & Building\_Product & Material\_Feature & The relationship between a building product and material feature \\ \hline hasOpening & Building\_Product & Building\_Product & The relationship among building products, and its space relationship between building product and building product. \\ \hline decompose & Construction\_Condition & Concept\_Model & The relationship between a construction condition and the concept that it involves. \\ \hline isSimilarTo & Building\_Product & IfcBuildingProduct & The relationship between a building product and IFC entities IfcBuildingProduct \\ \hline hasQuantity & Work\_Item & Quality\_Specification & The relationship between work items and quality specification. \\ \hline responsibleFor & Actor & Knowledge & The relationship between an actor and what it is responsible for. \\ \hline hasSectionShape & Building\_Product & Geometry\_Feature & The relationship between a building product and a geometry feature. \\ \hline hasCostItem & Building\_Product & Cost\_Item & The relationship between a building product and a cost item. \\ \hline \hline \end{tabular}
\end{table}
Table 2: Examples of object properties of the cost estimation ontology.  
Figure 7: General integration architecture of the cost estimation model.  
According to the cost estimation ontology integration architecture, the classes and their relationships of the cost estimation ontology are related by SWRL. Axiom, the constraint condition of the class, is coded by SWRL and can then be reasoned with by the Jess inference engine. Axioms are used to assert conditions on classes to restrict the individuals that it contains or what properties its individuals can have. Through the definition of encoding regulation in GB 50500, the classes and properties of the cost estimation ontology are related by virtue of SWRL. The SWRL rule is shown in _Rule 1_.  
_Rule 1: Building_Product(?x) \(\wedge\) Material_Feature(?y) \(\wedge\) Building_Material(?z) \(\wedge\) havingMaterialFeature(?x,?y) \(\wedge\) consistsOf(?y,?z) \(\wedge\) included material(?x,?z) \(\rightarrow\) includesBuildingMaterial(?x,?z)_  
In SWRL rules, \"\(\wedge\)\" is an operator for the logical AND between conditions, \"\(\rightarrow\)\" is an operator for drawing the conclusion. Thus, the above rule means that if object property \"_havingMaterialFeature_\" of the building product \"\(x\)\" is \"\(y\)\", and object property \"_consistsOf_\" of \"\(y\)\" is material \"\(z\)\", then object property \"_includesBuildingMaterial_\" of the building product \"\(x\)\" is material \"\(z\)\" can be reasoned out.