<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Validation of building models against legislation using SHACL</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Emma Nuyts</string-name>
          <email>emma.nuyts@ugent.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jeroen Werbrouck</string-name>
          <email>jeroen.werbrouck@ugent.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ruben Verstraeten</string-name>
          <email>ruben.verstraeten@ugent.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Louise Deprez</string-name>
          <email>louise.deprez@ugent.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Automated Compliance Checking, Linked Data, SHACL</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Architecture and Urban Planning, Ghent University</institution>
          ,
          <addr-line>Ghent</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <fpage>164</fpage>
      <lpage>175</lpage>
      <abstract>
        <p>Building information is commonly available in a machine-readable format, whereas normative knowledge is represented in a human-readable way, making human intervention mandatory. A solution for this manual checking procedure is Automated Compliance Checking (ACC). Commercial systems rely on hard-coded requirements, which are almost as error-prone and time-consuming as manually checking the compliance, or focus solely on one specific software package. Hence, this research focuses on Semantic Web technologies to enable a faster and more transparent rule-checking process. The requirements from the legislation will be defined using the Shapes Constraint Language (SHACL). This language facilitates defining constraints in the Terse RDF Triple Language (Turtle), making one set of constraints both human- and machine-readable. Additionally, SHACL enables compliance checking to be combined with quality constraints, ensuring that all necessary data is present in the building project. The proposed methodology is applicable to any type of prescriptive building legislation, provided that the data is defined in the building graph.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <sec id="sec-2-1">
        <title>2.1. Semantic Web and Linked Data</title>
        <p>
          In 1990, Tim Berners-Lee envisioned the use of the World Wide Web as one central data storage
platform for use in CERN [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. However, the Web evolved from a static and informative Web 1.0 to
an interactive Web 2.0. While this version of the Web mainly focused on human user experience,
a new development has taken place with Web 3.0: this most recent version entails an integrated
web experience where machines can understand data in a similar way as humans [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. This
version of the Web is often referred to as the Semantic Web, of which the concept of Linked Data
lies at its core. The World Wide Web Consortium (W3C) defines Linked Data as ‘the collection
of interrelated datasets on the Web’, which is used for large-scale integration of, and reasoning
on, data across the Web [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. To achieve full interoperability, the machine-readable description
is standardized in the Resource Description Framework (RDF). Furthermore, Semantic Web
technologies like the SPARQL Protocol and RDF Query Language (SPARQL) [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] and the Shapes
Constraints Language (SHACL) [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] can be used to respectively query and validate RDF graphs.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Linked Data in the AEC industry</title>
        <p>
          While the open and neutral file-format Industry Foundation Classes (IFC) has improved
interoperability in the AEC industry, it has some downsides when used in the context of the Semantic
Web: (a) the used EXPRESS and XSD languages lack methods for defining formal semantics,
making it dificult for reasoning and querying purposes, (b) it is complex to link the building
data stored in an IFC file to related data on the web and (c) the IFC schema is large and rather
complex, making it a challenge to implement it correctly [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>
          To address these limitations, new methods were developed with the Semantic Web in mind,
like ifcOWL and Linked Building Data (LBD). ifcOWL was developed as an ontology equivalent
to the original IFC schema but made available as a Semantic Web ontology. However, since this
ontology lies close to the original schema and contains a large amount of information, it has
some negative consequences: many of the EXPRESS-specific semantic constructs are maintained
and result in complex and counterintuitive constructs, and the resulting graphs are at least as
complex and large as the original IFC model [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Since the AEC industry needed a simplified
method for handling IFC models, LBD was introduced. For this, the IFC file is first converted
to ifcOWL, after which the topological ifcOWL classes are mapped to the related Building
Topology Ontology (BOT) classes [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Furthermore, the LBD Community Group proposes three
levels of modeling complexity (L1-L3) for properties. The complexity is defined depending on
the number of steps needed to navigate from an element to its property via the RDF graph [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Steps in the ACC process</title>
        <sec id="sec-2-3-1">
          <title>2.3.1. Interpretation of normative knowledge</title>
          <p>
            To use the normative data for compliance checking, it must first be processed. There are a few
methods for doing this, such as using Natural Language Processing (NLP), mark-up language,
or proposing a new methodology or framework.
There is ongoing research [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] on how deep learning NLP techniques can extract Decision
Model and Notation (DMN) from text. The Object Management Group (OMG) introduced DMN
as a tool to model, communicate and execute operational decisions [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] and to be able to define
diferent criteria and present decision options more clearly than the Business Process Model
and Notation (BPMN) standard. These visual programming Languages have the advantage that
the checking process can be displayed graphically, which significantly increases readability [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ].
Furthermore, research [
            <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
            ] has shown BPMN and DMN are promising approaches for the
representation of guideline content. Especially since these notations are already used in the
AEC industry in the context of Information Delivery Manuals (IDMs).
          </p>
          <p>
            Another option for processing normative data is using mark-up language, such as Requirement
Applicabilities Selection and Exceptions (RASE) [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ]. This is a promising methodology for use in
the AEC industry. This concept was specifically developed to transform normative documents
into a set of well-defined constraints which can be implemented in model-checking software.
RASE uses four tags with corresponding colors to diferentiate sentences in legislation. However,
the biggest limitation is that the mark-up is done manually, meaning it is still laborious and
error-prone. The eficiency of the mark-up also heavily relies on sentence structures.
          </p>
          <p>
            A final possibility for processing normative data is by proposing a new methodology or
framework. This approach involves updating the building legislation to a machine-readable
format, by using a restricted set of grammar rules and vocabulary. These restrictions reduce the
ambiguity and complexity of natural language and improve human readability and machine
processability [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ].
          </p>
          <p>Since the main scope of this paper is to evaluate SHACL for use in compliance checking, and
not the full automation of the process, the manual RASE mark-up language will be used in this
paper to structure the normative data.</p>
        </sec>
        <sec id="sec-2-3-2">
          <title>2.3.2. Mapping applicabilities to ontologies</title>
          <p>
            Each article of the regulation applies to a building element, called the ‘applicability’ of that
article. These applicabilities need to be mapped to the corresponding definition in the used
ontologies, to be able to create machine-readable constraints. For example, a stair with
properties like a riser height and tread length need to be mapped to a beo:StairFlight with
a props:riserHeightIfcStairFlight and a props:treadLengthIfcStairFlight. This can be done
automatically, for example using the npm package nlp.js [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ], as demonstrated in the LD-BIM web
application developed by Rasmussen &amp; Schlachter [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ], where a user can search for doors, and
the webpage highlights all ifc:IfcDoors in the 3D building model. However, such automatic
mapping of terms lies out of scope of this paper, hence it will be done manually.
          </p>
        </sec>
        <sec id="sec-2-3-3">
          <title>2.3.3. Creating machine-readable constraints</title>
          <p>
            After processing the normative knowledge, these requirements need to be converted into
machine-readable constraints. Pauwels &amp; Zhang [
            <xref ref-type="bibr" rid="ref18">18</xref>
            ] have defined three strategies for this
conversion: using hard-coded requirements, rule-checking by querying or using a dedicated
rule language such as the Semantic Web Rule Language (SWRL), N3Logic or the Drools Rule
Language (DRL). However, another method could be applied, by using the Shapes Constraint
Language (SHACL). While this language was originally developed to check the completeness of
graphs [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ], it can also be used to check the contents of the graph. Using SHACL for compliance
checking has been researched previously: Oraskari et al. [
            <xref ref-type="bibr" rid="ref20">20</xref>
            ] showed that SHACL allows
checking procedures on building models converted to LBD ontologies, by creating MVD views
ensuring the expected information is present in the graph. Furthermore, Elshani et al. [
            <xref ref-type="bibr" rid="ref21">21</xref>
            ]
argue that augmenting Building and Habitats object Model (BHoM) Knowledge Bases (KBs)
with Semantic Web rules, like SWRL or SHACL, would increase the usage of KBs in the AEC
industry. Moreover, Zentgraf et al. [
            <xref ref-type="bibr" rid="ref22">22</xref>
            ] demonstrate how quality assurance of properties can be
conducted using SHACL shapes. Lastly, Kovacs &amp; Micsik [
            <xref ref-type="bibr" rid="ref23">23</xref>
            ] give an example of using SHACL
for compliance checking, by showing the shape for checking the thermal transmittance of a
window.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Building validation using SHACL</title>
      <sec id="sec-3-1">
        <title>3.1. Research Question</title>
        <p>
          While the use of SHACL for compliance checking has been evaluated in existing literature, the
examples provided have focused on relatively simple constraints. This study aims to assess
the suitability of SHACL for more complex constraints, including those that involve checking
relationships between building elements, performing calculations, and creating conditional
statements. The main research question is therefore: Can SHACL be used to evaluate more
complex constraints for compliance checking purposes?
In this paper, three diferent types of constraints (value, relational and mathematical) will be
proposed in the Terse RDF Triple Language (Turtle) format, as well as methods for combining
these diferent types. The illustrative examples in this paper will make use of the prefixes listed
in Listing 1 and are made available on GitHub1. The examples will assume an L2 modeling
complexity of the Linked Building Data graph, as proposed in Bonduel et al. [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. It is important
to note that this methodology focuses on the semantic information of a building, rather than its
geometric representation. For example, a ramp will be characterized by its numerical height and
length, leading to a calculated slope, rather than determining the geometrical angle between
the sloped surface and the ground plane.
        </p>
        <p>Listing 1: Prefixes used in this paper
1https://github.com/NuytsE/Validation-of-building-models-against-legislation-using-SHACL</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Use case on accessibility</title>
        <p>
          The Flemish regulation on accessibility is chosen as a use case for this paper, not only because
of the striking results of Inter [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] but also because it uses all types of constraints proposed
in this paper. However, the constraints can be applied to each kind of prescriptive building
code. The three types of constraints will be created using the steps explained in Section 2: the
normative knowledge will first be structured using the RASE mark-up language, after which
the applicabilities will be mapped to the corresponding classes and properties defined in the
ontology. The last step is to create machine-readable constraints using SHACL.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Ensuring model quality</title>
        <p>
          To ensure all the necessary data is available in the building graph, thus prohibiting ‘false
compliance’, the Information Delivery Specification (IDS) can be used. This computer-interpretable
document defines Exchange Requirements of model-based exchange, defining how objects,
classifications, properties, and units need to be delivered and exchanged [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. However, since
this standard is not fully implemented in the AEC industry, it is defined that every path used in
the SHACL shapes should have exactly one value. In the case of the regulation on accessibility,
we want to ensure that each door has a specified door height. This property should occur exactly
one time since a door with either zero or more than one door height is not desired, as shown in
Listing 2.
        </p>
        <p>Listing 2: Example of a quality constraint
ex:DoorProperties
a sh:NodeShape ; #apply the shape to a focus node
sh:targetClass beo:Door ; #target all nodes with class 'Door'
sh:property [ #target a property of each 'Door'
sh:path props:overallHeightIfcDoor ; #target the height predicate
sh:property ex:DoorHeightProperty ; #name the object of this predicate path
sh:minCount 1 ; #each 'Door' should have at least one height property
sh:maxCount 1 ; #each 'Door' should have at most one height property
sh:message "Each door should have exactly one overallHeightIfcDoor" ; ] .
ex:DoorHeightProperty
a sh:PropertyShape ; #target a property of the focus node
sh:path schema:value ; #target the value predicate
sh:minCount 1 ; #each 'overallHeightIfcDoor' property should have at least one value
sh:maxCount 1 ; #each 'overallHeightIfcDoor' property should have at most one value
sh:message "Each doorheight should have exactly one value" .</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Value constraints</title>
        <p>The first type of constraint is a so-called value constraint. This type allows checking if a property
is more/less than or equal to a given value. First, the interpretation of the normative knowledge
is done using the RASE mark-up on a (translated) paragraph of the Flemish regulation on
accessibility, shown in Listing 3. The second step is to map the applicabilities of the regulation
to the ontologies used in the building graph. Table 1 shows the corresponding classes and
properties of the running example.
For &lt;a&gt;entrances or doorways&lt;/a&gt;, a &lt;a&gt;clear passage height&lt;/a&gt; of &lt;r&gt;at least 2.09
meters&lt;/r&gt; must be guaranteed after finishing.</p>
        <p>Art.20 §4</p>
        <p>Art.20 §3
The last step is to create a machine-readable rule, using SHACL. As shown in Listing 4, the
shape targets the class and property derived from the normative data and specifies that this
door height should be at least 2.09 meters, using sh:minInclusive. For other examples of value
constraints, sh:minExclusive, sh:maxInclusive, or sh:maxExclusive can be used in an analogous
way. This type of constraint has the limitation that the units of measurement in the SHACL
shape and the building data should be the same, to prohibit false compliance. To overcome this
challenge, the units can be checked in a quality constraint, or the general agreement is made
that the International System of Units (SI) is used.</p>
        <p>Listing 4: Example of a value constraint
ex:Door
a sh:NodeShape ; #apply the shape to a focus node
sh:targetClass beo:Door ; #target all nodes with class 'Door'
sh:property [ #target a property of each 'Door'
sh:path props:overallHeightIfcDoor ; #target the height predicate
sh:property ex:DoorHeight ; ] . #name the object of this predicate path
ex:DoorHeight #the named object is now a subject
a sh:PropertyShape ; #target a property of the focus node
sh:path schema:value ; #target the value predicate
sh:minInclusive "2.09"^^xsd:double ; #the object should be more than 2.09 m
sh:message "Art.22.1: For entrances or doorways, a clear passage height of at least
2.09 meters must be guaranteed after finishing" .</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5. Relational constraints</title>
        <p>The second type of constraint is a relational constraint. Relational constraints are defined to
check if a building element is present in relation to another building element in the project.
The interpretation of the normative knowledge using the RASE mark-up language is shown in
Listing 5. The second step is to map the applicabilities to classes and properties defined in the
ontology, as shown in Table 1.
A &lt;a&gt;railing&lt;/a&gt; should be fitted on &lt;r&gt;both sides&lt;/r&gt; of the &lt;a&gt;stair&lt;/a&gt; ...
The third step is to create a machine-readable SHACL shape. Listing 6 shows that the ‘Stair’ class
is targeted, after which it is defined that this ‘Stair’ should have two subelements of the type
‘Railing’, using sh:qualifiedValueShape en sh:qualifiedMinCount. Similarly, sh:qualifiedMaxCount
can be used for other paragraphs of the regulation. It should be noted that this shape does not
check the relative placement of the railings and the stair. The assumption is made that multiple
railings cannot be placed on the same side of the stair.</p>
        <p>Listing 6: Example of a relational constraint
ex:Stair
a sh:NodeShape ; #apply the shape to a focus node
sh:targetClass beo:Stair ; #target all nodes with class 'Stair'
sh:property [ #target a property of each 'Stair'
sh:path bot:hasSubElement ; #target the subelement predicate
sh:qualifiedValueShape [sh:class beo:Railing] ; #target the class 'Railing'
sh:qualifiedMinCount 2 ; #two elements of this class should be present
sh:message "Art.20.4: A railing should be fitted on both sides of the stair" ; ] .</p>
      </sec>
      <sec id="sec-3-6">
        <title>3.6. Mathematical constraints</title>
        <p>The last type of constraint is a mathematical constraint, which uses SHACL-SPARQL, the
extension of SHACL-Core. This type allows the evaluation of formulas, of which the result
can be checked in a separate value constraint. The interpretation of the normative knowledge
is shown in Listing 7. The second step is to map the applicabilities to classes and properties
defined in the ontology, as shown in Table 1.</p>
        <p>Listing 7: Article 20 §3 of the Flemish regulation on accessibility
... the &lt;r&gt;sum of twice the &lt;a&gt;riser&lt;/a&gt; and once the &lt;a&gt;tread&lt;/a&gt; of each step must
be between 57 cm and 63 cm&lt;/r&gt; ...</p>
        <p>The last step is creating the SHACL shape. A mathematical constraint is created using a
sh:SPARQLFunction, which consists of a declaration of the parameters, which are the riser and
the tread in this case, and a return type. Listing 8 shows the shape of the running example.</p>
        <p>Listing 8: Example of a mathematical constraint
ex:StairFormula
a sh:SPARQLFunction ; #define a function
sh:parameter [ #declare the first parameter
sh:path ex:riser ; #first parameter is the riser height
sh:datatype xsd:double ; #the riser is a decimal
] ;
sh:parameter [ #declare the second parameter
sh:path ex:tread ; #second parameter is the tread length
sh:datatype xsd:double ; #the tread is a decimal
] ;
sh:returnType xsd:double ; #the returned value is a decimal
sh:select """ #start a SPARQL select query</p>
        <p>SELECT ( (2 * $riser + $tread) AS ?result)
WHERE {
}
""" .</p>
        <p>The function can now be used in a value constraint, to evaluate the result, as shown in Listing 9.
This is done by a sh:expression and specifying the function parameters in the same order as they
were defined in the creation of the SPARQLfunction. For this example, an additional function
‘LessThan’ needs to be implemented.</p>
        <p>Listing 9: Example of a value constraint using predefined functions
ex:StairSlope
a sh:NodeShape ; #apply the shape to a focus node
sh:targetClass beo:StairFlight ; #target all nodes with class 'StairFlight'
sh:message "Art.20.3: the sum of twice the riser and once the tread of each step
must be higher than 0.57 m." ;
sh:expression [
ex:LessThan ( #refer to the LessThan(a,b) function
0.57 #first parameter of LessThan
[ #second parameter of LessThan
ex:StairFormula ( #refer to the StairFormula(riser, tread) function
[sh:path (props:riserHeightIfcStairFlight schema:value)]
[sh:path (props:treadLengthIfcStairFlight schema:value)])])] .</p>
      </sec>
      <sec id="sec-3-7">
        <title>3.7. Conditional statements</title>
        <p>To be able to combine the constraints, some conditional statements (if...then...) have to be
created. In SHACL, this can be mainly done using sh:node, which enables defining that each
value node conforms to a given node shape. To properly define the conditional statements, some
logical constraint components like sh:and, sh:not, sh:or and sh:xone are also needed. Listing 10
shows a conditional statement of the regulation on accessibility, defining that if the slope is less
than 10%, an additional constraint should also be fulfilled.</p>
        <p>Listing 10: Example of a conditional statement
ex:Slopes
a sh:NodeShape ; #apply the shape to a focus node
sh:targetClass beo:RampFlight ; #target all nodes with class 'Rampflight'
sh:message "Art.19.1: The slope of a rampflight is maximally ten percent for level
differences of up to 0.10 m" ;
sh:and ( #both constraints should be fulfilled
[sh:expression [ #first constraint: the slope is less than 10%
ex:LessThan (
[ex:Slope (
[sh:path (props:heightIfcRampFlight schema:value)]
[sh:path (props:lengthIfcRampFlight schema:value)])]
10)]]
sh:node ex:SlopeConstraint) . #if the slope is less than 10%, check the next
constraint</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Proof of concept</title>
      <sec id="sec-4-1">
        <title>4.1. Conversion workflow</title>
        <p>
          To be able to check the compliance of the building design, the IFC file should be converted to an
RDF graph. To accomplish this, diferent converters exist, like IFCtoLBD [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. This converter
ifrst transforms the file to a temporary ifcOWL graph, which is then converted to an LBD graph.
The converter follows the graph traversal, using path templates. The newly created instances
get the right LBD OWL classes by using LBD modular ontologies like BOT, PRODUCT, and
PROPS. If a higher modeling complexity is chosen by the user, new instance nodes for the
properties are created [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Implementation</title>
        <p>
          A proof of concept application is created using npm and pySHACL [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ], since there is no
JavaScript implementation of SHACL-SPARQL available at the time of writing. The User
Interface (UI) is created using React, where a user can upload an LBD graph in Turtle syntax,
after which it is evaluated against the rulebook, containing both quality and accessibility shapes.
Figure 1 shows the validation report, where transparency to the user is key: apart from the
message containing the building legislation, both the source shape and the focus node are
returned, meaning it is easily checked exactly which building element does not comply with
which shape. Moreover, the identifier of the element is returned, ensuring that the building
element can be easily found and altered in the native modeling software.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion</title>
      <sec id="sec-5-1">
        <title>5.1. Evaluation of SHACL for use in compliance checking</title>
        <p>
          To evaluate the suitability of SHACL for use in compliance checking, the four key requirements
for automated code checking as defined by Greenwood et al. [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] can be used:
• The computer-programmed rules must be easily understood by the regulation authors;
• The lifecycle of the rule base must be independent of software and schema updates;
• All development must comply with Open Standards;
• Consideration must be given to the industry processes of model authoring.
While the first requirement is quite subjective, the Turtle syntax is generally seen as the most
human-readable syntax for RDF [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]. However, regulation authors without any knowledge of
programming, SHACL, or the ontology definitions will not understand this. Though, while the
regulation is specifically written to be understandable by architects (and is apparently not), this
rulebook is written to check compliance automatically. The user will have some understanding
of what is being checked, but a full understanding of the underlying structures is less necessary.
The RDF shapes can however be converted into a human-friendly interface if needed. The second
requirement is achieved by implementing LBD, which is independent of software packages since
it is derived from the open and neutral IFC schema. The third requirement is fulfilled by using
Semantic Web technology like SHACL, which is a W3C recommendation. The last requirement
is partially avoided by implementing quality constraints. This does not improve the quality
of the building model but does check if all the necessary data is present before applying the
constraints.
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Limitations and future work</title>
        <p>When using SHACL for compliance checking, the main challenge is that the shapes are dependent
on the level of modeling complexity of the RDF graph. This means that the same constraint
can result in three diferent SHACL shapes, depending on the level of complexity (L1-L3).
Additionally, low-level functions like ‘LessThan’ are necessary to check the outcome of a
SHACL-SPARQL function, which can result in complex value constraints. It is uncertain if this
method will be scalable for more complex regulations. Furthermore, the proposed methodology
is only suitable for evaluating prescriptive regulations, meaning that it may not be appropriate
for assessing acoustical codes, daylight regulations, or energy calculations. It is important to
note that a consistent unit system must be used in both the regulation and the building graph
to ensure accurate compliance checking.</p>
        <p>
          Possible future work can be done on developing a methodology for checking the compliance
of geometry or the relative positioning of building elements, whereas this paper focused on the
properties defined in the semantics of the building graph. For example, to be able to check the
layout of a sanitary cell for wheelchair-users, or to ensure there are no obstructing elements
(like a radiator or fire hose reel) that diminish the passage width. Furthermore, the automation
of the SHACL shapes from the building legislation would be a big improvement, since this
was done manually in this research. It would also be beneficial to create some form of visual
programming SHACL shapes creator, as proposed in Senthilvel &amp; Beetz [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ], so constraints can
be customized or additional constraints can be created, depending on the needs of a specific
building project.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>The methodology consisted of three main decisions: using RASE to structure the normative
data, using LBD to create the building graph, and using SHACL to define the constraints. While
the RASE mark-up proved to be an efective way to manually structure the legislation, it is
quite laborious and the eficiency is highly dependent on sentence structures. Representing the
building data in an LBD graph was successful since this graph is easy to query and understand.
Furthermore, SHACL constraints can easily be defined on the semantic data in an LBD graph,
although low-level functions were needed for the implementation, and the scalability of the
methodology requires further research.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>The authors would like to acknowledge the support of the DigiChecks project, which has
received funding from the European Union’s Horizon Research and Innovation Program under
grant agreement no. 101058541 and by the Research Foundation Flanders (FWO), as a Strategic
Basic Research grant (grant no. 1S99020N).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Inter</surname>
          </string-name>
          , Evaluatieonderzoek Vlaamse Toegankelijkheidsverordening,
          <source>Final Report, Agentschap Toegankelijk Vlaanderen</source>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hendler</surname>
          </string-name>
          ,
          <string-name>
            <surname>O. Lassila,</surname>
          </string-name>
          <article-title>The semantic web</article-title>
          ,
          <source>Scientific american 284</source>
          (
          <year>2001</year>
          )
          <fpage>34</fpage>
          -
          <lpage>43</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Rudman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bruwer</surname>
          </string-name>
          ,
          <source>Defining Web 3</source>
          .
          <article-title>0: opportunities and challenges</article-title>
          ,
          <source>The Electronic Library</source>
          <volume>34</volume>
          (
          <year>2016</year>
          )
          <fpage>132</fpage>
          -
          <lpage>154</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <issue>W3C</issue>
          ,
          <string-name>
            <surname>Data</surname>
          </string-name>
          ,
          <year>2015</year>
          . URL: https://www.w3.org/standards/semanticweb/data.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <source>[5] W3C, SPARQL 1.1 Overview</source>
          ,
          <year>2013</year>
          . URL: https://www.w3.org/TR/sparql11-overview/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>[6] W3C, Shapes Constraint Language (SHACL</article-title>
          ),
          <year>2017</year>
          . URL: https://www.w3.org/TR/shacl/.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bonduel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Oraskari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pauwels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Vergauwen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Klein</surname>
          </string-name>
          ,
          <article-title>The IFC to Linked Building Data Converter - Current Status</article-title>
          ,
          <source>in: Proceedings of the 6th Linked Data in Architecture and Construction Workshop</source>
          , London, UK,
          <year>2018</year>
          , pp.
          <fpage>34</fpage>
          -
          <lpage>43</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>P.</given-names>
            <surname>Pauwels</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Roxin,
          <article-title>SimpleBIM: From full ifcOWL graphs to simplified building graphs</article-title>
          ,
          <source>in: 11th European Conference on Product and Process Modelling</source>
          , Limasol, Cyprus,
          <year>2016</year>
          , pp.
          <fpage>11</fpage>
          -
          <lpage>18</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M. H.</given-names>
            <surname>Rasmussen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lefrançois</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. F.</given-names>
            <surname>Schneider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pauwels</surname>
          </string-name>
          ,
          <string-name>
            <surname>BOT:</surname>
          </string-name>
          <article-title>The building topology ontology of the W3C linked building data group</article-title>
          ,
          <source>Semantic Web</source>
          <volume>12</volume>
          (
          <year>2020</year>
          )
          <fpage>143</fpage>
          -
          <lpage>161</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Goossens</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. De Smedt</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Vanthienen</surname>
          </string-name>
          ,
          <article-title>Extracting Decision Model and Notation models from text using deep learning techniques</article-title>
          ,
          <source>Expert Systems with Applications</source>
          <volume>211</volume>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>OMG</surname>
          </string-name>
          ,
          <string-name>
            <surname>Decision</surname>
            <given-names>Model</given-names>
          </string-name>
          <source>and Notation</source>
          ,
          <year>2021</year>
          . URL: https://www.omg.org/spec/DMN/1.4/ Beta1/PDF.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Häußler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Esser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Borrmann</surname>
          </string-name>
          ,
          <article-title>Code compliance checking of railway designs by integrating BIM, BPMN and DMN, Automation in Construction 121 (</article-title>
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.</given-names>
            <surname>Dimyadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Amor</surname>
          </string-name>
          ,
          <article-title>Regulatory knowledge representation for automated compliance audit of BIM-based models</article-title>
          ,
          <source>in: 30th International Conference on Applications of IT in the AEC</source>
          , Beijing, China,
          <year>2013</year>
          , pp.
          <fpage>68</fpage>
          -
          <lpage>78</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>E.</given-names>
            <surname>Hjelseth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Nisbet</surname>
          </string-name>
          ,
          <article-title>Capturing normative constraints by use of the semantic mark-up RASE methodology</article-title>
          ,
          <source>in: Proceedings of the CIB W78-W102</source>
          , Sophia Antipolis, France,
          <year>2011</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>P.</given-names>
            <surname>Xue</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Poteet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Mott</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Braines</surname>
          </string-name>
          ,
          <source>Constructing Controlled English for Both Human Usage and Machine Processing</source>
          ,
          <source>International Web Rule Symposium</source>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>A. G. O. S. S.A.</surname>
          </string-name>
          , nlp.js,
          <year>2020</year>
          . URL: https://github.com/axa-group/nlp.js.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>M. H.</given-names>
            <surname>Rasmussen</surname>
          </string-name>
          , Schlachter, LD-BIM,
          <year>2023</year>
          . URL: https://ld-bim.web.app/.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>P.</given-names>
            <surname>Pauwels</surname>
          </string-name>
          ,
          <string-name>
            <surname>S. Zhang,</surname>
          </string-name>
          <article-title>Semantic Rule-checking for Regulation Compliance Checking: An Overview of Strategies and Approaches</article-title>
          ,
          <source>in: 32nd CIB W78 Conference</source>
          , Eindhoven, Netherlands,
          <year>2015</year>
          , pp.
          <fpage>619</fpage>
          -
          <lpage>628</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J.</given-names>
            <surname>Werbrouck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Senthilvel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Beetz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pauwels</surname>
          </string-name>
          ,
          <article-title>A Checking Approach for Distributed Building Data</article-title>
          , in: 32.
          <string-name>
            <surname>Forum</surname>
            <given-names>Bauinformatik</given-names>
          </string-name>
          , Proceedings, Berlin, Germany,
          <year>2019</year>
          , pp.
          <fpage>173</fpage>
          -
          <lpage>181</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>J.</given-names>
            <surname>Oraskari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Senthilvel</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Beetz,</surname>
          </string-name>
          <article-title>SHACL is for LBD what mvdXML is for IFC, in: The 38th CIB W78 conference on Information and Communication Technologies for AECO</article-title>
          , Luxembourg,
          <year>2021</year>
          , pp.
          <fpage>693</fpage>
          -
          <lpage>702</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>D.</given-names>
            <surname>Elshani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lombardi</surname>
          </string-name>
          , A. Fisher,
          <string-name>
            <given-names>S.</given-names>
            <surname>Staab</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hernández</surname>
          </string-name>
          ,
          <article-title>Inferential Reasoning in CoDesign Using Semantic Web Standards alongside BHoM</article-title>
          , in: 33.
          <string-name>
            <surname>Forum</surname>
            <given-names>Bauinformatik</given-names>
          </string-name>
          , München, Germany,
          <year>2022</year>
          , pp.
          <fpage>89</fpage>
          -
          <lpage>97</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>S.</given-names>
            <surname>Zentgraf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Hagedorn</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>König, Multi-requirements ontology engineering for automated processing of document-based building codes to linked building data properties</article-title>
          ,
          <source>IOP Conference Series: Earth and Environmental Science</source>
          <volume>1101</volume>
          (
          <year>2022</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>A. T.</given-names>
            <surname>Kovacs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Micsik</surname>
          </string-name>
          ,
          <article-title>BIM quality control based on requirement linked data</article-title>
          ,
          <source>International Journal of Architectural Computing</source>
          <volume>19</volume>
          (
          <year>2021</year>
          )
          <fpage>431</fpage>
          -
          <lpage>448</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24] buildingSMART,
          <string-name>
            <surname>Information Delivery Specification</surname>
            <given-names>IDS</given-names>
          </string-name>
          ,
          <year>2023</year>
          . URL: https://technical. buildingsmart.org/projects/information-delivery
          <string-name>
            <surname>-</surname>
          </string-name>
          specification-ids/.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>J.</given-names>
            <surname>Oraskari</surname>
          </string-name>
          , IFCtoLBD,
          <year>2023</year>
          . URL: https://github.com/jyrkioraskari/IFCtoLBD.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>A.</given-names>
            <surname>Sommer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Car</surname>
          </string-name>
          , pySHACL,
          <year>2022</year>
          . URL: https://github.com/RDFLib/pySHACL.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>D.</given-names>
            <surname>Greenwood</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lockley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Malsane</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Matthews</surname>
          </string-name>
          ,
          <article-title>Automated compliance checking using building information models</article-title>
          ,
          <source>in: The construction, Building and Real Estate Research Conference of the Royal Institution of Chartered Surveyors</source>
          , Dauphine Université, Paris,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hogan</surname>
          </string-name>
          ,
          <source>The Web of Data</source>
          , Springer International Publishing, Cham,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>M.</given-names>
            <surname>Senthilvel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Beetz</surname>
          </string-name>
          ,
          <article-title>A Visual Programming Approach for Validating Linked Building Data</article-title>
          ,
          <source>in: EG-ICE 2020 Workshop on Intelligent Computing in Engineering</source>
          , Berlin, Germany,
          <year>2020</year>
          , pp.
          <fpage>403</fpage>
          -
          <lpage>411</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>