<!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>
      <journal-title-group>
        <journal-title>Linked Data in Architecture and Construction Workshop, May</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Mapping Federated AEC projects to Industry Standards using dynamic Views</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jeroen Werbrouck</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pieter Pauwels</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jakob Beetz</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Erik Mannens</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </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>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Electronics and Information Systems, Ghent University - imec</institution>
          ,
          <addr-line>Ghent</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Department of the Built Environment, TU Eindhoven</institution>
          ,
          <addr-line>Eindhoven</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Faculty of Architecture, RWTH Aachen</institution>
          ,
          <addr-line>Aachen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>29</volume>
      <issue>2022</issue>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>Web-based construction projects are rapidly becoming commonplace. Domain-specific collaboration platforms, the so-called Common Data Environments (CDEs), facilitate complex interactions between the various stakeholders participating in a project. CDEs are developed and maintained by the large BIM companies allowing deep integration with BIM authoring tools. Notwithstanding the benefits such integration ofers, usage of proprietary tools, data models and platforms holds the risk of a vendor lock-in and creates dependencies on platform APIs as the sole funnels trough which project data can be accessed - even when using open data formats. Recently, technologies for re-decentralising the Web are under increasing interest, as they allow decoupling data storage from applications. The Solid initiative bundles these technologies in a domain-independent way. In previous work we have already discussed data patterns for the AEC industry, using these technologies - the LBDserver. In this paper, we demonstrate how these very generic data organisation patterns can be aligned with organisational structures of some common industry standards: ISO 19650, ISO 21597 and the BCF API specifications. To achieve full alignment with all three standards will be out of scope for this paper. Rather the aim is to demonstrate a Linked Data-based, federated environment such as the LBDserver is compatible with existing (centralised) approaches while maintaining the benefits of organising digital projects in a federated way.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;BIM Level 3</kwd>
        <kwd>Solid</kwd>
        <kwd>DCAT</kwd>
        <kwd>Linked Data Platform</kwd>
        <kwd>Common Data Environment</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <sec id="sec-1-1">
        <title>1.1. Context</title>
        <p>In recent years, the construction industry has been digitising rapidly. One of the driving
forces behind this digitisation are advancements in Web-based collaboration, another one
is data interoperability - achieved through usage of open standards. Nowadays, Web-based
collaboration is often managed via centralised platforms, called Common Data Environments
(CDEs). The most widely used CDEs are commercial platforms, tightly integrated with traditional
(proprietary) BIM authoring tools. This integration ofers an as seamless-as-possible workflow,
but also holds the risk of a vendor lock-in, both regarding the use of proprietary formats and
the storage of project data on centralised platforms. Only reachable via specific API endpoints,
the possible interactions of project stakeholders with their own models lies in the hands of
third-party software vendors.</p>
        <p>
          At the same time, domain-agnostic Web technologies aim towards a re-decentralisation of
data on the Web. Essentially this means that there is no one-on-one relationship between an
application and the data it uses: data can be federated on the Web, aggregated by a client that
knows how to discover, retrieve and combine this information in a meaningful way. Important
here is the Solid project [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] and the Solid specifications 1, which rely on the Semantic Web
and its core standard the Resource Description Framework (RDF)2 to accomplish this. In Solid,
every agent (human or digital) has its own ‘decentral’ identity on the Web (‘WebID’), and a data
storage point (‘Pod’) where access-regulated information can be disclosed to specific people
(using their WebIDs) or made public3. A WebID is a URL that resolves to an RDF document
(the ‘card’) which contains public information about the agent and which can be used as a
‘decentral username’ on the Web, thereby facilitating decentral authentication and authorisation
mechanisms. A global perspective on applying the Solid specifications on the needs of the (very
‘federated’) AEC industry is given in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], while data patterns for a ‘federated CDE’ based on
Solid are discussed in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], in context of the LBDserver project.
        </p>
        <p>
          Aligning digital project organisation with the federated nature of the industry is only one of
the advantages commonly associated with the application of Semantic Web technologies for the
AEC industry. The large majority of research in this area is concerned with data interoperability
and linking cross-domain information on a data level [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Specific domain models for the
AEC industry are the oficial RDF-based representation of the Industry Foundation Classes
(IFC), ifcOWL [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], and the modular stack of ontologies covered by the W3C Linked Building
Data Community Group, among which the Building Topology Ontology (BOT)4, the Damage
Topology (DOT)5 and the Ontology for Property Management (OPM)6.
        </p>
        <p>
          However, using the Semantic Web for federated data storage is decoupled from using the
same technologies for structuring AEC datasets. This means that the benefits of federated
storage are available without disrupting a notoriously traditional and largely file-based industry:
it is perfectly possible to wire a federated network of heterogeneous project data (including
proprietary file formats) with a client still handling it as if the data is centralised [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. At the
same time, it is clear that ontology-based projects ease the integration and coupling with other
federated datasets: using scoped, modular domain ontologies like the ones mentioned above can
be rather easily connected to adjacent domain knowledge such as GIS, governmental datasets,
Facility Management information or historical knowledge - all most likely to live on the Web on
diferent servers (and hence part of a federated knowledge graph), in contrast with a centralised
approach.
        </p>
        <p>1Solid specifications, https://github.com/solid/solid-spec, visited 15/02/2022
2Resource Description Framework, http://www.w3.org/1999/02/22-rdf-syntax-ns#, visited 15/02/2022
3https://github.com/solid/webid-oidc-spec
4Building Topology Ontology, https://w3id.org/bot#, visited 16/02/2022
5Damage Topology Ontology, https://w3id.org/dot#, visited 16/02/2022
6Ontology For Property Management, https://w3id.org/opm#, visited 16/02/2022</p>
      </sec>
      <sec id="sec-1-2">
        <title>1.2. Research Questions and Paper Overview</title>
        <p>In this paper, we investigate compatibility of the federated data structures of the LBDserver
ecosystem (proposed in earlier papers) with existing industry practices. We will demonstrate by
example how a Linked Data-based, federated environment such as the LBDserver is compatible
with existing (centralised) approaches, while maintaining the benefits of organising digital
projects in a federated way. Hence, the research questions discussed in this publication can be
formulated as follows:
• RQ1: Does a metadata-based organisation of federated AEC project data allow flexible
mapping and filtering of this data in query-based ‘virtual views’?
• RQ2: Can such virtual views be used to present federated project data in
standardcompliant ways?</p>
        <p>In our handling of these research questions, we base upon established standards rather than
proprietary formats. National and international standards such as ISO 19650, ISO 21597, PAS
1192:2013 (UK) and the BCF API specifications 7 provide specifications for digital
collaboration in the Architecture, Engineering and Construction (AEC) industry, in an efort to enable
information exchange between disparate CDEs. This is achieved by devising common API
structures, containerisation of project files and shared data formats. After a brief overview of
related technologies (Section 2), we present a methodology for metadata-based generation of
virtual views on federated projects, which present project data to the client complying with
these standards. We evaluate and illustrate this methodology with virtual views on:
• The stages of data publication as defined in ISO 19650;
• Generating a project container based on ISO 21597 (ICDD);
• Exposing project issue data (‘Topics’) in a way compatible with the BCF API specifications)
.</p>
        <p>The former two can be achieved entirely client-side (Section 3), the latter focuses on how a
middleware service can be used to present the data in a standard-compliant way (Section 4).
The paper concludes with a discussion and overview of future work.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        In this section, we introduce the main technologies on which this work will rely. Describing
the basics of the Semantic Web is out of scope for this paper; for the reader in need we refer to
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], which gives an elaborate introduction to the topic. Regarding decentral access control in a
Solid-based environment, the comprehensive background is provided by the Solid and OpenID
Connect (OIDC)8 specifications, while pattern- and role-based extensions for the AEC industry
are described in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <sec id="sec-2-1">
        <title>7https://github.com/BuildingSMART/BCF-API 8OpenID Connect, https://openid.net/connect/, visited 16/02/2022</title>
        <p>In the following sections, we briefly cover resource containment with the Linked Data
Platform (LDP) (Section 2.1), metadata resources using the DCAT vocabulary (Section 2.2),
and the data patterns used in the LBDserver (Section 2.3), upon which this paper will base its
contribution.</p>
        <sec id="sec-2-1-1">
          <title>2.1. Linked Data Platform</title>
          <p>As the main specification for serving resources, Solid bases upon the Linked Data Platform
Specification (LDP) 9. In LDP, resources are aggregated (ldp:contains) in ldp:Container-s.
This containment structure can be used to mimic a folder-based structure in a RESTful API,
allowing a read/write Web of data. LDP has proven very useful as a straightforward mechanism
for organising data containers in Solid Pods. However, its expressive power is limited, which
means that other frameworks need to be used to express semantically rich metadata.</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>2.2. Metadata and Data Catalogs on the Web</title>
          <p>
            When we model a digital construction project as a federated multi-model, a data model is needed
to allow discovery and aggregation of its resources. The Data Catalog vocabulary (DCAT)10
ofers domain-independent definitions for this purpose. In DCAT, a dcat:Catalog references
‘datasets’ (dcat:Dataset); metadata descriptions of resources. Datasets may, in turn, have
multiple ‘distributions’ (dcat:Distribution), which contain the actual information. As
DCAT is RDF-based, catalogs can be federated - which makes them an ideal fit to describe
building datasets [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]. Listing 1 provides an example of such dataset description.
Listing 1: A dcat:Catalog can reference multiple dcat:Dataset-s; each dataset can have multiple
dcat:Distribution-s with specific properties
# c o n t e n t s of the / l o c a l / d a t a s e t s / c o n t a i n e r
&lt; p a r t i a l C a t a l o g 1 &gt; a dcat : Catalog ;
l b d s : D a t a s e t R e g i s t r y ; # see s e c t i o n 2 . 2
dcat : d a t a s e t &lt; d a t a s e t 1 / &gt; , &lt; d a t a s e t 2 / &gt; , &lt; d a t a s e t 3 / &gt; .
# c o n t e n t s of the / l o c a l / d a t a s e t s / d a t a s e t 1 / c o n t a i n e r
&lt; d a t a s e t 1 / &gt; a dcat : Dataset ;
dct : t i t l e " the t i t l e of the d a t a s e t " ;
dcat : keyword " damage " ;
dcat : d i s t r i b u t i o n &lt; d a t a s e t 1 # d i s t r i b u t i o n 1 &gt; ,
          </p>
          <p>&lt; d a t a s e t 1 # d i s t r i b u t i o n 2 &gt; .
&lt; d a t a s e t 1 # d i s t r i b u t i o n 1 &gt; a dcat : D i s t r i b u t i o n ;
dcat : mediaType &lt; h t t p s : / /www. iana . org / assignments / media − types / t e x t / t u r t l e &gt; ;
dcat : downloadUrl &lt; d a t a s e t 1 / d i s t r i b u t i o n 1 &gt; .</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>2.3. Project Discovery and Data Patterns of the LBDserver</title>
          <p>
            In [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ], data patterns are described to manage federated construction projects using Solid, LDP
and DCAT. A cascading structure of ‘aggregators’ allows the discovery of ‘project access points’,
i.e. containers referencing (lbd:aggregates the contributions of other stakeholders, each
one stored in (remote) container or lbds:PartialProject. Knowing the WebID of a project
partner is then enough to discover their projects and contributions in an access-controlled
          </p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>9Linked Data Platform, http://www.w3.org/ns/ldp#, visited 17/02/2022 10Data Catalog vocabulary, https://www.w3.org/TR/vocab-dcat-2/, visited 17/02/2022</title>
        <p>
          way, as illustrated by the SPARQL query in Listing 2. Using a query engine that supports link
traversal [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], dynamic data discovery is possible by sending an initial query to the stakeholder’s
WebID. However, the query can also be split up into separate sub-queries to discover relevant
datasets one by one, in a more classic approach.
        </p>
        <p>Listing 2: SPARQL query to discover LBDserver project access points and their constituent
partial projects.</p>
        <p>SELECT DISTINCT ? p a r t i a l WHERE {
# i n i t i a l source : http : / / l o c a l h o s t : 5 0 0 0 / t e s t / p r o f i l e / card #me
&lt; http : / / l o c a l h o s t : 5 0 0 0 / t e s t / p r o f i l e / card #me&gt; l b d s : h a s P r o j e c t R e g i s t r y ? reg .
# l i n k t r a v e r s e d source : ? reg
? reg ldp : c o n t a i n s ? p r o j .
# l i n k t r a v e r s e d source : ? p r o j
? p r o j l b d s : a g g r e g a t e s ? p a r t i a l .
}</p>
        <p>An lbds:PartialProject contains several registries, of which the ‘dataset registry’ is the
most important in this context: it contains a flat list of metadata containers, describing project
resources as dcat:Dataset-s. A query for discovering datasets is given in Listing 3. Filtering
project resources in Section 3 will be based on this flat list.</p>
        <p>Listing 3: SPARQL query to discover project datasets on a partial project.</p>
        <p>SELECT DISTINCT ? ds WHERE {
# a p a r t i a l p r o j e c t
&lt; http : / / l o c a l h o s t : 5 0 0 0 / t e s t / lbd /51 fdc267 −0 dfd −46b8 −902e −335 fb2e73ad0 / l o c a l / &gt;</p>
        <p>l b d s : h a s D a t a s e t R e g i s t r y ? dsreg .
# l i n k t r a v e r s e d source : d a t a s e t r e g i s t r y
? dsreg ldp : c o n t a i n s ? ds .
}</p>
        <p>A partial project may indicate an alternative endpoint (SPARQL, MongoDB, SQL ...) where
this data is served, as an alternative to the file-based approach common in current Solid
implementations (a ‘satellite’).</p>
        <sec id="sec-2-2-1">
          <title>2.4. Standards considered in this paper</title>
          <p>
            This paper tests the flexibility of LBDserver dataset storage by applying virtual views and
re-alignments on three existing industry standards. These standards are:
• ISO 19650: the main ISO standard for organising information about an asset during its
life cycle. It focuses on a file-based information exchange in a shared Common Data
Environment. In this paper, we will only focus on a very small part of the standard for
demonstrative purposes, which defines the stages of publication for a resource:
‘work-inprogress’, ‘shared’, ‘published’ and ‘archived’.
• ISO 21597: The Information Container for linked Document Delivery (ICDD) defines a
container format to exchange and archive heterogeneous ‘multi-models’ of a built asset,
based on RDF ontologies. ICDD containers, which can be considered a dump repository of
the project, consist of a root ‘index.rdf’ document, a subfolder with RDF-based resources
(‘Payload Triples’), one with non-RDF-based resources (‘Payload documents’) and finally
a subfolder containing the used ontologies (‘Ontology resources’). A comparative study
on the structures of ICDD and LDP is covered in [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ].
• BCF API: The BIM Collaboration Format (BCF) API11 is a member of the OpenCDE
Foundation API specification family, a buildingSMART-covered initiative for facilitating
information exchange between CDEs on the market. It defines a series of HTTP endpoints
to retrieve project issue data (‘Topics’) in a tree-like fashion, using standardised response
bodies.
          </p>
          <p>In Section 3, the metadata stored in LBDserver datasets will serve as the input to query
the federated project and generate views according to parameters put forward by the
abovementioned standards.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Client-side views on Federated Project Data</title>
      <p>When an LBDserver project has been discovered, a union of all partial projects forms the
knowledge graph of the project. Federated queries can be executed on this list of project
resources. Depending on the setup of the Solid Servers in the project, such queries can be
carried out completely client-side (using a client-side query engine and source discovery as
described in Section 2.3) or in a hybrid way - when partial projects are served via an access
controlled SPARQL endpoint (lbds:hasSparqlSatellite). In this section, these queries are
concerned with filtering and organising resources in a specific way, and hence have metadata
resources, i.e., DCAT datasets, as their main sources. We propose the use of Linked Data
Platform (LDP) Containers (ldp:Container) to exchange sets of project resources adhering
to the query - in other words, filters on the available datasets will be presented as if they were
default LDP Containers. Applications relying on Solid data structures will thus experience no
diference between query-based (virtual) containers and efectively hosted Solid containers. A
SPARQL CONSTRUCT query can immediately generate such virtual container. In the following
section, we illustrate the flexibility of this approach by remapping the LBDserver datasets
structure to common (standardised) data patterns. Note that this does not change the resources
themselves: they are only grouped (filtered) in an alternative way, as a list of resource URLs
aimed at discovery.</p>
      <sec id="sec-3-1">
        <title>3.1. UC 1: stages of publication according to ISO 19650</title>
        <p>The example in Listing 4 yields an ldp:Container that references all project resources labelled
as ‘shared’. This aligns with a first use case mapping, where the ISO 19650 stages of data
publication can be dynamically generated in a federated project: virtual containers can be
created for ‘work-in-progress’, ‘shared’, ‘published’ and ‘archived’ tags.</p>
        <p>Listing 4: SPARQL query to filter a project datasets and return their distributions as LDP
containers.</p>
        <p>CONSTRUCT { ? v i r t u a l C o n t a i n e r ldp : contains ?downloadURL }
WHERE {
# _____Dataset discovery s t a r t i n g from P r o j e c t Access Point____
# i n i t i a l source : p r o j e c t access point
? aggr lbds : aggregates ? p a r t i a l .
# l i n k t ra v er se d source : p a r t i a l p r o j e c t
11The BCF API, https://github.com/BuildingSMART/BCF-API, accessed 23/02/22</p>
        <p>BIND ( UUID ( ) as ? v i r t u a l C o n t a i n e r )
Listing 5: Example result of a dynamically generated LDP container, based on the query in
Listing 4. The project ID allows identification of the project on the diferent stakeholder
Pods. Short IDs are used in this listing to keep URLs brief.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. UC 2: Virtual view templates for ICDD containers (ISO 21597)</title>
        <p>A similar approach can be taken for generating an ICDD-compliant view of the project.</p>
        <p>Listing 6 illustrates the query to extract the resources for the ‘Payload Triples’ folder. The
query for ‘Payload Documents’ is identical, with the exception of the mediatype (‘?mt’) filter
being changed to ‘NOT IN’. The query to retrieve the ontologies is given in Listing 7.</p>
        <p>Listing 6: SPARQL query to discover project datasets on a partial project.</p>
        <p>CONSTRUCT { ? v i r t u a l C o n t a i n e r l d p : c o n t a i n s ? download }
WHERE {
[ . . . d a t a s e t d i s c o v e r y p a t t e r n s s t a r t i n g from P r o j e c t Access P o i n t ( c f . L i s t i n g 4 ) ]
? ds d c a t : d i s t r i b u t i o n ? d i s t .
? d i s t d c a t : downloadURL ? download ;</p>
        <p>d c a t : mediaType ?mt .</p>
        <p>FILTER ( ? mt IN (
&lt; h t t p s : / /www. i a n a . org / a s s i g n m e n t s / media − t y p e s / t e x t / t u r t l e &gt; ,
&lt; h t t p s : / /www. i a n a . org / a s s i g n m e n t s / media − t y p e s / a p p l i c a t i o n / r d f +xml &gt; ,
&lt; h t t p s : / /www. i a n a . org / a s s i g n m e n t s / media − t y p e s / a p p l i c a t i o n / l d + json &gt;
) )
BIND ( UUID ( ) as ? v i r t u a l C o n t a i n e r )
}</p>
        <p>Listing 7: SPARQL query to map the ontologies used on the project.</p>
        <p>CONSTRUCT { ? v i r t u a l C o n t a i n e r l d p : c o n t a i n s ? v o c a b u l a r y }
WHERE {</p>
        <p>[ . . . d a t a s e t d i s c o v e r y p a t t e r n s s t a r t i n g from P r o j e c t Access P o i n t ( c f . L i s t i n g 4 ) ]
}
? ds void : v o c a b u l a r y ? v o c a b u l a r y .</p>
        <p>BIND ( UUID ( ) as ? v i r t u a l C o n t a i n e r )</p>
        <p>
          Next is the linkset, which connects sub-document identifiers in an ICDD container. This
corresponds with the Reference Registry in the LBDserver, which is similar to ICDD but
incorporates metadata and distributions on the one hand and diferentiates between enrichment
of ‘real objects’ and enrichment of digital files on the other hand. As the LBDserver approach
for sub-document linking can be considered a superset of ICDD [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], mapping these to ICDD is
straightforward (Listing 8).
        </p>
        <p>Listing 8: SPARQL query to generate ICDD links from LBDserver references
CONSTRUCT {
? c o n c e p t a l s : Link ;</p>
        <p>l s : hasLinkElement ? l e .
? l e a l s : LinkElement ;
l s : hasDocument ? d i s t r i b u t i o n ;
l s : h a s I d e n t i f i e r ? i d .</p>
        <p>? i d l s : i d e n t i f i e r ? i d e n t i f i e r .
}
WHERE {
[ . . . r e f e r e n c e r e g i s t r y d i s c o v e r y p a t t e r n s ( l b d s : h a s R e f e r e n c e R e g i s t r y ) ]
sources and basic metadata (e.g. format, creation date, label and original file name) - information
that will be generally stored in the LBDserver metadata as well (Listing 9). Note that the result
of this query will not be an LDP container but a single resource directly following the ICDD</p>
        <p>Listing 9: SPARQL query (partial) to generate index.rdf for the ICDD container.
links.rdf patterns.</p>
        <p>CONSTRUCT {
? index c t : containsDocument ? d i s t ;
c t : c r e a t o r ? c r e a t o r ;
c t : d e s c r i p t i o n ? p r o j e c t D e s c r i p t i o n .
? d i s t a c t : InternalDocument ;
c t : d e s c r i p t i o n ? d s D e s c r i p t i o n ;
c t : format ? format ;
c t : f i l e n a m e ? f i l e n a m e .
}
WHERE {
[ . . . d a t a s e t d i s c o v e r y p a t t e r n s s t a r t i n g from P r o j e c t Access P o i n t ( c f . L i s t i n g 4 ) ]
# l i n k t r a v e r s e d s o u r c e : d a t a s e t r e g i s t r y
? d s r l d p : c o n t a i n s ? ds .
? ds d c t : c r e a t o r ? c r e a t o r ;</p>
        <p>r d f s : comment ? d s D e s c r i p t i o n ;
BIND ( UUID ( ) as ? index )
BIND ( r e p l a c e ( s t r ( ? mt ) , s t r ( " h t t p s : / /www. i a n a . org / a s s i g n m e n t s / media − t y p e s / " ) ,
s t r ( " " ) ) as ? format )</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Notes on virtual container views</title>
        <p>Of course, metadata can only be filtered when the triple patterns in the query are actually
available. However, requirements to metadata can be easily configured (standardised,
projectwide or stakeholder-specific) using RDF validation languages such as the SHApes Contstraint
Language (SHACL)12. Upon creation of datasets, adherence to these shapes should be validated.
A discussion on specific workflows for such validation-based resource posting is beyond the
scope of this paper.</p>
        <p>12SHACL, https://www.w3.org/TR/shacl/, visited 18/02/2022</p>
        <p>Although the use of LDP containers allows to deliver the data in a standardised format, it
is still up to the client to interpret this information, further modify it and present it to the
end-user in a meaningful way. However, the use of such containers goes beyond the interfacing
aspect. For example, a middleware API can use these mappings as an intermediary mapping to
expose the project as an ICDD dump to the outside world. Another example is dynamic access
rights management. For example, if a resource is still ‘work-in-progress’, a satellite on top of the
LBDserver can set the access rights so only employees of the producing ofice are allowed to view
it. When the publication status changes to ‘shared’, it can be opened to other stakeholders of
the project. The example in Section 4 will further discuss these middleware-oriented mappings.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Mapping LBDserver datasets to standardised APIs</title>
      <p>In the previous section, client-based views were constructed on LBDserver projects. Although
these views can be used for multiple purposes, such as generating a standard-compliant ICDD
archive or presenting project information to the user in a specific hierarchy, more can be done
when these views are constructed by intermediary agents - headless servers - to expose federated
project data as if the project were centralised (Figure 1). This way, backwards compatibility
with existing tools and standards can be more easily achieved.</p>
      <sec id="sec-4-1">
        <title>4.1. UC3: serving federated project data conform the BCF API</title>
        <p>
          The BCF API proposes a tree-like HTTP endpoint structure to retrieve project issue data.
Mirroring this tree to a Solid/LDP-based environment is the topic of [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. The approach in
[
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] eliminates the need for an intermediary API, but hard-wires the data storage patterns of
BCF into the Pod structures, based on the bcfOWL ontology, an RDF-based version of the BCF
data structures[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. In the below paragraphs we will explore an alternative approach, based on
virtual views. This will require an extra middleware service to be set up, but also allows for a
more independent way of storing project data. An intermediary service accesses project data
on the Pod (exposed via LDP) and remoulds this data in the desired shape via its own REST
API. Note that the service is not integrated with the Solid Server hosting the Pod - from this
perspective, it is both a client (fetching remote data) and a server (exposing data on the Web).
        </p>
        <p>Because the LBDserver allows storage of all kinds of project information, mapping to the
BCF API involves creating a subset of the available datasets: e.g., only those which are tagged
as bcfowl:Topic are relevant in this case. We will consider an exemplary request of the BCF
API specification, namely GET TOPICS. Other endpoints for the BCF API can be constructed in
a similar way. A standard BCF API response for this request is given in Listing 10.
Listing 10: Example response for a GET TOPICS request according to the BCF API (from
https://github.com/BuildingSMART/BCF-API)
GET / b c f / { v e r s i o n } / p r o j e c t s / { p r o j e c t _ i d } / t o p i c s
[ . . . o t h e r T o p i c s ,
{
" guid " : " A211FCC2 −3A3B−EAA4−C321 −DE22ABC8414 " ,
" s e r v e r _ a s s i g n e d _ i d " : " ISSUE − 0 0 0 7 8 " ,
" c r e a t i o n _ a u t h o r " : " Architect@example . com " ,
" t i t l e " : " Example t o p i c 2 " ,
" l a b e l s " : [ " A r c h i t e c t u r e " , " Heating " , " E l e c t r i c a l " ] ,
" c r e a t i o n _ d a t e " : "2014 −11 −19 T14 : 2 4 : 1 1 . 3 1 6 Z "</p>
        <p>Additionally, the BCF API relies on JSON for serving its information. The JSON-based RDF
format JSON-LD allows us to attach a context to a JSON object, which means that the response
can be at the same time compliant to the (contextless) BCF API and avoid losing semantic
information. Upon request for ‘/topics’, a BCF server that relies on an LBDserver ecosystem for
data storage thus first queries the project with the query listed in Listing 11 and then easily
converts the resulting RDF graph to JSON-LD using the context given in Listing 12. If required,
further alignment can rely on JSON-LD framing and the JSON-LD framing API13. As in this
use case the focus does not lie on discovery, but on presenting actual information, the use of
‘virtual’ LDP containers (cf. Section 3) is omitted. An alternative approach is to just filter the
datasets that are bcfOwl:Topic-s, using the LDP containers indeed, and then retrieve the
entire dataset as JSON-LD.</p>
        <p>Listing 11: SPARQL query retrieve bcfowl:Topic-s in the federated project.
CONSTRUCT {
? ds d c t : i d e n t i f i e r ? i d e n t i f i e r ;
dc : c r e a t o r ? c r e a t o r ;
d c t : t i t l e ? t i t l e ;
r d f s : l a b e l ? l a b e l ;
d c t : c r e a t e d ? c r e a t i o n D a t e .
} WHERE {
[ . . . d a t a s e t d i s c o v e r y p a t t e r n s s t a r t i n g from P r o j e c t Access P o i n t ( c f . L i s t i n g 4 ) ]
? ds a bcfOwl : Topic ;
d c t : i d e n t i f i e r ? i d e n t i f i e r ;
dc : c r e a t o r ? c r e a t o r ;
d c t : t i t l e ? t i t l e ;
r d f s : l a b e l ? l a b e l ;
d c t : c r e a t e d ? c r e a t i o n D a t e .
}
{
Listing 12: Context to make the results compatible with BCF API response without losing
semantics.
" @context " : {
" guid " : " h t t p : / / p u r l . org / dc / terms / i d e n t i f i e r " ,
" c r e a t i o n _ a u t h o r " : {
" @id " : " h t t p : / / p u r l . org / dc / terms / c r e a t o r " ,
" @type " : " @id "
13JSON-LD framing, https://w3c.github.io/json-ld-framing/, visited 07/03/2022</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion and Conclusion</title>
      <p>In this paper, we showed how datasets on multiple Solid Pods (the LBDserver ecosystem) can be
re-structured to be backwards compatible with existing industry standards. This was done using
a programming language-agnostic approach, relying on the properties of SPARQL, RDF and
JSON-LD. As illustrated by the use cases, these mappings can serve a mere interface-oriented
purpose, e.g. to allow diferent views on the same datasets (through the use of virtual LDP
containers), or a more infrastructural one, hiding LBDserver complexities behind a middleware
service layer. We have demonstrated that the data storage patterns of the LBDserver are
lfexible enough to support basic mappings to divergent standards. However, future research
should determine the limits of more complex mappings, e.g., involving the relationships of
LBDserver datasets with other datasets. For example: when a BCF Topic references its Comments
and Viewpoints, all these instances may be separate LBDserver datasets hosted on diferent
stakeholder Pods. In this case, the use of the LBDserver Reference Registry (not covered in this
paper) is expected to ofer solace - but this should be tested more thoroughly. Additionally, in
such situations, the diference between metadata and actual content is more ambiguous: isn’t
an issue always metadata on some larger subject? This as well should be clarified in future
research.</p>
      <p>Nevertheless, this research shows that data storage on Solid Pods does not need to exactly
follow a specific storage pattern: the LDP-compliant REST API as implemented in Solid may be
only the first layer in a series of mappings. When resources are described by their metadata
and their URLs bear no implicit semantics or tags, as is the case in the LBDserver, URLs will be
much more stable as they do not need to reflect an ever-changing folder structure (a common
challenge for Solid Pods in general). The flattened list of project resources in an LBDserver
can be considered ‘pluripotent’, since creating a new view or folder-structure upon this data or
structure is not the responsibility of the Pod (or the LDP resource tree) anymore: these views
are just a virtual layer that can be applied at every point in the flow of data exchange. By
illustrating this concept holds for multiple industry standards, we hope this research can lower
the threshold for further integration of Web- and data-based Building Information Management
practices.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>This research is funded by the Research Foundation Flanders (FWO), by means of the Strategic
Basic Research Grant (grant no. 1S99020N).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>E.</given-names>
            <surname>Mansour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Sambra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hawke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zereba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Capadisli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ghanem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Aboulnaga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <article-title>A demonstration of the solid platform for social web applications</article-title>
          ,
          <source>in: Proceedings of the 25th International Conference Companion on World Wide Web</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>223</fpage>
          -
          <lpage>226</lpage>
          . doi:
          <volume>10</volume>
          .1145/2872518.2890529.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Werbrouck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pauwels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Beetz</surname>
          </string-name>
          ,
          <string-name>
            <surname>L. van Berlo</surname>
          </string-name>
          ,
          <article-title>Towards a decentralised common data environment using linked building data and the solid ecosystem</article-title>
          ,
          <source>in: 36th CIB W78 2019 Conference</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>113</fpage>
          -
          <lpage>123</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Werbrouck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pauwels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Beetz</surname>
          </string-name>
          , E. Mannens,
          <article-title>Lbdserver - a federated ecosystem for heterogeneous linked building data</article-title>
          ,
          <source>Semantic Web Journal (submitting).</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Pauwels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , Y.-
          <string-name>
            <given-names>C.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <article-title>Semantic Web Technologies in AEC industry: A Literature Overview</article-title>
          ,
          <source>Automation in Construction</source>
          <volume>73</volume>
          (
          <year>2017</year>
          )
          <fpage>145</fpage>
          --
          <lpage>165</lpage>
          . doi:
          <volume>10</volume>
          .1016/ j.autcon.
          <year>2016</year>
          .
          <volume>10</volume>
          .003.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Pauwels</surname>
          </string-name>
          , W. Terkaj,
          <article-title>EXPRESS to OWL for Construction Industry: Towards a Recommendable and Usable ifcOWL Ontology, Automation in Construction 63 (</article-title>
          <year>2016</year>
          )
          <fpage>100</fpage>
          --
          <lpage>133</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.autcon.
          <year>2015</year>
          .
          <volume>12</volume>
          .003.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Verborgh</surname>
          </string-name>
          ,
          <article-title>Reflections of knowledge: Designing web apis for sustainable interactions within decentralized knowledge graph ecosystems</article-title>
          ,
          <year>2021</year>
          . URL: https://ruben.verborgh.org/ blog/2021/12/23/reflections-of-knowledge/.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hendler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Gandon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Allemang</surname>
          </string-name>
          ,
          <article-title>Semantic Web for the Working Ontologist: Efective Modeling for Linked Data, RDFS, and</article-title>
          <string-name>
            <surname>OWL</surname>
          </string-name>
          , Morgan &amp; Claypool,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Werbrouck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Taelman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Verborgh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pauwels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Beetz</surname>
          </string-name>
          , E. Mannens,
          <article-title>Pattern-based access control in a decentralised collaboration environment</article-title>
          ,
          <source>in: Proceedings of the 8th Linked Data in Architecture and Construction Workshop</source>
          , CEUR-WS. org,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bonduel</surname>
          </string-name>
          ,
          <article-title>A framework for a linked data-based heritage bim</article-title>
          ,
          <year>2021</year>
          . URL: https: //lirias.kuleuven.be/handle/123456789/674476.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>R.</given-names>
            <surname>Verborgh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Taelman</surname>
          </string-name>
          ,
          <article-title>Guided link-traversal-based query processing</article-title>
          , arXiv preprint arXiv:
          <year>2005</year>
          .
          <volume>02239</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Senthilvel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Oraskari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Beetz</surname>
          </string-name>
          ,
          <article-title>Implementing information container for linked document delivery (icdd) as a micro-service</article-title>
          ,
          <source>in: EG-ICE 2021 Workshop on Intelligent Computing in Engineering</source>
          , Universitätsverlag der TU Berlin,
          <year>2021</year>
          , p.
          <fpage>66</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Oraskari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Schulz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Werbrouck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Beetz</surname>
          </string-name>
          ,
          <article-title>Enabling interoperable issue management in a federated building and construction sector</article-title>
          ,
          <source>in: EG-ICE 2022 Workshop on Intelligent Computing in Engineering</source>
          , submitting.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>O.</given-names>
            <surname>Schulz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Oraskari</surname>
          </string-name>
          , J. Beetz,
          <article-title>bcfowl: A bim collaboration ontology (</article-title>
          <year>2021</year>
          )
          <fpage>142</fpage>
          -
          <lpage>153</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>