=Paper= {{Paper |id=Vol-3213/paper08 |storemode=property |title=Towards Describing Version History of BCF Data in the Semantic Web |pdfUrl=https://ceur-ws.org/Vol-3213/paper08.pdf |volume=Vol-3213 |authors=Jyrki Oraskari,Oliver Schulz,Jakob Beetz |dblpUrl=https://dblp.org/rec/conf/ldac/OraskariSB22 }} ==Towards Describing Version History of BCF Data in the Semantic Web== https://ceur-ws.org/Vol-3213/paper08.pdf
Towards describing version history of BCF data in the
Semantic Web
Jyrki Oraskari1 , Oliver Schulz1 and Jakob Beetz1
1
    Department of Design Computation, RWTH Aachen University, Aachen, Germany


                                         Abstract
                                         The buildingSMARTs BIM Collaboration Format (BCF) is a vendor-neutral standard to communicate
                                         BIM-based issues. The aspirations are well in line with open BIM and the Linked Building Data (LBD)
                                         community to use open data standards in Architecture, Engineering and Construction industry. Our
                                         previous research introduced the bcfOWL ontology to express BCF data using the open standards of
                                         the World Wide Web Consortium (W3C) as part of the LBD. The current server-based BCF-approach
                                         (BCF API) expresses changes in the model as event logs that are indirectly described. bcfOWL does not
                                         yet provide an equivalent implementation. This paper presents four different approaches for expressing
                                         these temporal changes as Linked Data. Two RDF-star approaches and a state construction inspired by
                                         the Ontology for Property Management (OPM) are introduced. Moreover, we show an event system
                                         method that is close to the original BCF API. To compare the approaches, queries to get the current data
                                         and search the history are provided on an external repository. Finally, the results and their adaptation
                                         are assessed.

                                         Keywords
                                         BCF, RDF-star, States, Version history, Linked Data




1. Introduction
The traceability of editions and design choices made over time is an integral part of the Archi-
tecture, Engineering and Construction (AEC) industry. Time after time, construction projects
end up in court, where the responsibility for issues in the building or the planning process is
litigated.
    The BIM Collaboration Format (BCF) is mainly used in the AEC industry to communicate
issues in the digital models. In the standard, an issue is described by a problem description
(Topic) and an arbitrary number of Comments and virtual camera positions (Viewpoints) that
locate the problem. It helps users assign responsibilities for issues and monitor their completion
status. As buildingSMART stated in [1], BCF can be used to document quality assurance and
quality checking for inter-domain coordination, annotating design alternatives, bidding items,
expressing cost- or supplier information, reporting facility changes, and saving owner notes.
    The bcfOWL ontology [2] was previously developed by the authors. It enables expressing BCF
information in the Linked Building Data (LBD) context. The aspiration was to create a proposal

LDAC 2022: 10th Linked Data in Architecture and Construction Workshop, May 29, 2022, Hersonissos, Greece
$ Jyrki.Oraskari@dc.rwth-aachen.de (J. Oraskari); schulz@dc.rwth-aachen.de (O. Schulz);
j.beetz@caad.arch.rwth-aachen.de (J. Beetz)
 0000-0002-4723-3878 (J. Oraskari); 0000-0002-4722-4621 (O. Schulz); 0000-0002-9975-9206 (J. Beetz)
                                       © 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
    CEUR
    Workshop
    Proceedings
                  http://ceur-ws.org
                  ISSN 1613-0073
                                       CEUR Workshop Proceedings (CEUR-WS.org)




                                                                                                          87
for an ontology for the core concepts of the BCF standard to represent the information in the
Semantic Web using the best practices available. Thereby, bcfOWL is not intended to replace
current integrations of the standard but rather to provide a data model that is self-documenting,
queryable, machine-readable and extensible. With bcfOWL, it is still possible to have a web
service that connects to the graph and provides the data via JSON responses.
   In its server-based format (BCF API1 ), BCF comes with Event Services (REST API endpoints)
that list changes made to the Topics and Comments. Since it was regarded as out of scope,
bcfOWL does not yet provide an equivalent implementation.
   In this paper, we study different approaches for including ways to express the history and
evolution of issues in bcfOWL. The focal points are in expressing the source or provenance data,
i.e. traceability of changes, changes made, the ability to reason behind the changes and enable
queries on the history data. Although we concentrate on the BCF Topic - the core concept for
describing issues in the standard - the study results should also apply to other BCF concepts.
As non-repudiation is an essential aspect when describing the history of the data, it is one of
this work’s goals that the existing data content - once created - is not changed. Therefore, the
constraint arises that the structure should only be based on addition, not removal operations.
   This paper is organized as follows: Section 2 focuses on the current research around relating
work. In Section 3, we introduce the different approaches for describing the history of BCF
Topics and provide sample graphs. The following Section compares the approaches and provides
measurements to evaluate their complexity. In Section 5 we discuss the results and the final
Section concludes the work and gives an outlook for future work.


2. Related Work
2.1. BCF Events
In 2016, the BCF group discussed adding an array of history items to the BCF specifications
2 . They decided only to add an Event System to the BCF API, and since version 2.1, the API

has defined four endpoints to query data modifications concerning Topics and Comments. The
Topics are the central concept of an Issue, containing attributes - such as a status, an author, and
a due date. The Comments are a messaging concept within the format used to communicate
with other stakeholders in a BCF Project.
    The overall structure of these endpoints services is mainly the same. With queries containing
globally unique identifiers of Topics or Comments, the user can fetch all Events related to
those identifiers. The returned Event contains the author, the date and which parameters were
changed. The BCF API returns all its responses in a JSON serialization.
{"events": [{
           "type": "status_updated",
           "value": "Active"
           }]}


                   Listing 1: JSON snippet of the timed action in the Events System.

    1
        BCF API: https://github.com/buildingSMART/BCF-API accessed 06.03.2022
    2
        BCF history discussion: https://github.com/BuildingSMART/BCF-XML/issues/97 accessed 21.04.2022




                                                      88
   The JSON body contains a list of timed actions, where every action represents an interaction
with a Topic. Every action contains a list of Events that display which Topic attribute (the
type) was changed to a new value (listing 1). The actions attributes are not sharing the types
of the original Topics and Comments concepts but are represented in a combined string (e.g.
"status_updated"). In total there are three different types of events: created, updated, and deleted.
   The theory behind this data structure is that every time a Topic related data is created or
edited, the server creates a log entry concerning the Topic change. Therefore, It is not enough
to query only the Topic attributes to discover the complete picture of the history. All its Events
have to be queried too.

2.2. Reification in RDF
Reifications are constructed by linking a node (the reification node) with the subject, predicate,
and object of a statement in concern. The RDF reification mechanism, defined in the RDF
Primer [3], is a known attempt to express statements about RDF assertions. Still, as Watkin
and Nicole mentioned in [4], the reification is only indirectly related to the original statement.
Instead of using reification, Watkin and Nicole suggested using Named Graphs introduced in
[5]. It was also presented how secure digests (signed check-sums of the triple contents) can
be used to affirm the author and integrity of the graph. Cassidy and Ballantine extended the
use of reifications to express RDF Patches in the TriG syntax [6]. An RDF Patch is a group of
reifications to describe changes in the model.
   RDF-star [7] is an alternative, less wordy approach to describe reification in the Turtle syntax
and SPARQL query language. It can be combined with standard reification and differs from the
RDF pattern treating a triple as a subject. RDF-star introduces the concept of "Quoted Triples",
which allows using an RDF Term (subject predicate object) as a subject or object of a triple.3

2.3. Describing States in Linked Building Data
Bonduel proposed a level system for the W3C Linked Building Data Community Group (W3C
LBD CG)4 consisting of three layers of complexity [8], whereas the third layer can describe states
of things. The Ontology for Property Management (OPM) is also founded on this architecture
and is based on a three-layer modelling. With OPM, changes of properties can be described
with the help of states [9].
   The Ontology for Managing Geometry (OMG) [10] builds on top of this level system so that
either a thing can be:

    • directly linked to the geometry description by a datatype or an object property (level 1).
    • linked to one or many geometry nodes that are pointing to the description values (level
      2), thereby adding the possibility to have many different geometric descriptions of the
      same thing.
    • linked to a geometry node (as in level 2), but with an additional node in between. This
      allows the description of different states for the individual geometries (level 3).
    3
        RDF-star and SPARQL-star https://w3c.github.io/rdf-star/cg-spec accessed 21.04.2022
    4
        LBD Community Group: https://www.w3.org/community/lbd/ accessed 06.03.2022




                                                        89
2.4. Version Control and Versioning
Kiryakov and Ognyanov stated in [11] that a triple (or assertion) is the smallest changeable
unit in an RDF graph. It implies that a change in a model can only be made by applying sets of
triple removals and additions. However, in [12], atomic graphs - i.e. the surroundings of the
blank notes - are the smallest unit to describe changes to avoid duplicating blank nodes. In
this work, the context is how to express changes using bcfOWL, which is not relying on blank
nodes. Therefore, no explicit blank nodes are needed.
   In the light of the definition of Ball et al. [13], a version control system is a way to store and
reconstruct past versions of data. Here we explore methods to express BCF data in RDF so that
both aspects (store and reconstruct) are achievable. Other factors of version control, like the
capability to undo and merge changes and synchronization, are out of this study’s scope. On a
graph level, versioning is also implemented by the different vendors. For example, GraphDB
offers a "Data history and versioning" plugin 5 that can be queried for changes in the triples.
However, this feature is not implemented in every graph storage and does not allow versioning
on the RDF file level. Therefore, we decided to investigate how to express changes on the graph.


3. Approaches
The data models that we consider in this work are designed to reflect the design work respon-
sibilities. Hence, each approach is crafted to remove no assertions from the model, but every
modification adds new triples to the data model. We provide four different approaches for
describing the data:
   1. Event approach (Section 3.1)
   2. States approach (Section 3.2)
   3. Statements of Statements RDF-Star approach (Section 3.3.1)
   4. Object Property Annotations RDF-Star approach (Section 3.3.2)
   Further, a common scenario was chosen to ensure comparability between the variants. The
use-case is described in Fig. 1.
   We have chosen the example because it displays 1) how a single attribute that is always
"updated" in the context of BCF (e.g. the status) can be handled and 2) how lists (the labels) are
to be treated that can contain at every stage different values. These circumstances are common
in issue management scenarios, where an issue can be marked as closed, but other participants
disagree and reopen the issue. Although we focus exclusively on the Topic in this paper, the
same types of changes also appear in the context of Comments. The third central concept of
BCF - the Viewpoint - is not considered because it should never be changed according to the
current definition of the buildingSMART standard. The alternative approaches are presented in
the following subsections. The complete graphs of the approaches and example queries can be
retrieved from our GitHub repository6 .
     5
       GraphDB Documentation: https://graphdb.ontotext.com/documentation/9.8/standard/data-history-and-
versioning.html accessed 05.03.2022
     6
       GitHub repository with sample queries and graphs: https://github.com/Design-Computation-RWTH/
LDAC2022_Dataset




                                                  90
                  Initial Topic                                Updated Topic                         Final Topic
        Author:            Jyrki                 Author:              Jyrki                Author:          Jyrki
        Creation Date: 03/11/2021                Mod. Author:         Oliver               Mod. Author:   Jyrki
        Status:            Active                Creation Date:       03/11/2021           Creation Date: 03/11/2021
        Label:           Architecture            Mod. Date:           04/11/2021           Mod. Date:      05/11/2021
        Label:           Heating                 Status:              Closed               Status:         Active
                                                 Label:                Architecture        Label:          Architecture
        Added Modified Removed
                                                 Label:                Heating             Label:          Documentation
        Unchanged


Figure 1: Jyrki creates a new Topic, which is the most current version of it now. The Topic contains
parameters such as the creation date, a title, two labels (Architecture and Heating) and a status set to
"Active". On the next day, Oliver sets the Topic’s status to "Closed" and removes the label "Heating".
Another day later, the Topic gets reopened (set to "Active") by Jyrki and the label "Documentation" gets
added.


3.1. Event approach


                    1)
                                                                 hasCreationDate
                                                Topic
                                                Event


                                                                                        hasOperationType
                    hasCreationDate                   a                   hasAuthor


                                               hasTopic            hasEventOperation   hasLabel
                   hasCreationAuthor




                    2)




                    hasCreationDate
                                                  Topic           hasCreationDate
                                                  Event


                   hasCreationAuthor                       a                            hasOperationType
                                                                          hasAuthor
                                           hasTopic

                                                                   hasEventOperation   hasLabel


                         Object Resource         Literal          Class


Figure 2: The Event System approach is based on the BCF API. A Topic Event points to the related Topic
and its operations that specifically define what type of interactions have happened. For example, if a
property was removed, updated or created. Next to the type of operation, the attribute’s value is stated.




                                                                    91
   In the BCF API, the Topic Events Service is a log of changes for the Topic. It lists creations,
updates, and removals of specific Topic event types. In the Events approach, we describe this
logbook-like behaviour by creating a new log entry with all operations created as soon as an
interaction with the Topic happens.
   In the BCF APIs Event Service, the Events coexists next to the Topics and Comments. This
behaviour mainly comes from the fact that the BCF standard does not describe how the data is
saved but is a way of communicating it. With bcfOWL, we have, on the one hand, a data format
(RDF) and, on the other hand, the SPARQL query language for communicating the information
from and to the graph. This is where the structure of the bcfOWL Events differs from the BCF
API by not creating “redundant” data and allow using the Events to infer the Topics information.
   An Event is described by the class of “bcfOWL:TopicsEvent” that states its author, the creation
date and which Topic it belongs to. Furthermore, the object-type property “bcfOWL:hasEvent-
Operation” links the Event to the different operations that occur in it (see Fig. 2). These
operations state if it is an update, a creation or a deletion, and state the property’s current value.
So if the status of a Topic was set from “Active” to “Closed”, this would be described as an
“Update” operation, and the current value would be “Active”. The event approach comes with a
change to the overall structure of bcfOWL. The Topics are now not responsible for providing
all the attributes. Everything that can be changed in the context of BCF has now to be inferred
from the Events. The newest value for an attribute is also its current value. One exception has
to be made here because the property “bcfOWL:hasLabel” usually provides a list. Therefore, it
is not enough to select the newest Event, but the query has to consider if a label was removed
at one point in time or not.

3.2. States approach
The “States” approach is splitting the attributes of the “bcfOWL:Topic” class into two parts and
is transferring all the attributes that can change throughout the project to “bcfOWL:TopicState”.
This approach is similar to OPM and OMG (Section 2.3), but due to the structure of the Topics,
it requires only two levels. Every State provides the whole picture of its current status, meaning
it provides all attributes, even if just one value of a new state has changed. A State comes
with a creation author and a creation date. These are equivalent to the “Modified Author” and
“Modified Date” of the BCF API. When retrieving the current values of a Topic, the State with
the newest date has to be queried. (see Fig. 3)

3.3. RDF-star approaches
RDF-star can be used to make statements about triples and thereby attach meta information to
them (Section 2.2). The following two approaches use RDF-star to express all interaction- and
change-related content. To describe a change, we need to state when something was changed,
who authored it, and semantics about whether it was an addition or removal. Since RDF-star
allows many possible approaches, we decided to provide two different examples, 1) by using
statements of statements and 2) by using object properties linking to annotation triples.




                                                 92
                  1)
                                         Topic



                                             a
                                                                       hasCreationAuthor
                   hasCreationDate


                                                     hasTopicState
                  hasCreationAuthor                                                        hasCreationDate
                                                                              hasLabel




                  2)
                                         Topic

                                                 a


                   hasCreationDate


                                                     hasTopicState
                   hasCreationAuthor                                    hasCreationAuthor


                                                                                   hasCreationDate



                                                                              hasLabel
                       Object Resource           Literal       Class



Figure 3: The different states are referenced by the Topic with the property “bcfOWL:hasTopicState”.
The states provide the complete picture of the Topic during a specific time. In order to find the current
version of a Topic we have to query for the newest date. An example query is provided on the GitHub
repository.


3.3.1. Statements of Statements RDF-star approach
By using RDF-star with statements of statements (shown in Fig. 4) we can describe with
the first statement when e.g. the triple for a "bcfOWL:hasTopicStatus" was added by using
"bcfOWL:wasAdded" and a time string. This statement then gets annotated with its author.
Since attributes can change many times - a status can change from "Active" to "Closed" and back
again to "Active" - these annotations are constantly added as soon as a triple is interacted with.
The annotation with the newest date should always be considered the Topic’s current state.
Same as in the previous sections, the bcfOWL:hasLabel is an exception here, and all the labels
should be treated as current as long as they were not annotated as removed in their current
state.

3.3.2. Object Property Annotations RDF-star approach
The other RDF-star approach adds only one level of statements. There, every change-related
property of the Topic is annotated by the „bcfOWL:change“ (Fig. 5) object property, which
points to a sub-graph that states the author, the date and a state (added or removed).




                                                                 93
                 1)
                                Topic


                                    a


                                                                        hasCreationAuthor
                                        hasLabel         wasAdded




                 2)
                                Topic


                                    a



                                        hasLabel


                                                         wasRemoved


                                                                      hasCreationAuthor




                      Object Resource         Literal   Class



Figure 4: Statements can be marked as “added” or “removed” with a time-stamp. The author of this
change is added as a statement of the first statement. Even though the word itself states a “deletion”,
resources are never removed from the graph to allow retrieval of the complete history of the Topics.


4. Results
The evaluation criteria were chosen to attempt to measure the expected simplicity of the various
integration approaches. Therefore, we measured the triple counts, the maximum reasoning
steps needed, diameters of the models, and the number of variables needed to query the models
using SPARQL. We expect that shorter RDF path lengths imply simplicity for writing queries.
The same applies for more concise graphs. A lower number of triples in the graphs and the
variables for the queries were considered "good".
   All four handcrafted alternative data sets express the same information. The initial triple
counts of the data and the added triples that describe the changes were counted using the
Apache Jena API. They are shown in Table 1 and the counted triples are listed in separate files
at the GitHub repository (Section 3).
   The States approach had the lowest initial triple count and had the second-lowest number of
added triples. The Statements of Statements approach performed best regarding the final triple
count.
   Although reification is not present in the triple counts of RDF-star, the reification triples are
implicitly present in the SPARQL-star functions: SUBJECT, PREDICATE, OBJECT. Therefore, it




                                                         94
                 1)
                            Topic


                                a

                                                                     hasAuthor

                                    hasLabel                change
                                                                                 hasDate



                                                                      hasState




                 2)
                            Topic


                                a




                                    hasLabel


                                                                     hasAuthor
                                                   change
                                                                                 hasDate



                                                                     hasState
                      Object Resource          Literal      Class


Figure 5: Object property annotations only contain one level of statements and point to an object that
contains all change-related information.


is possible to make the approaches comparable by making the relations explicit in the graph. So,
instead of many connected sub-graphs in the Apache Jena data presentation, as shown in Table
1, the alternative models have only a single connected sub-graph. It means they are traversable
from any node in the model to any node as an undirected graph. Thus, it allows having an idea
of the complexity of the graph. For example, the diameter of the model and the maximum steps
from a Topic to a value can be evaluated and compared.
   Three SPARQL queries were written for each alternative approach to estimating how easy
the model is to query. The queries were to fetch 1) the current Topic data, 2) a state at a single
point of time, and 3) the initial values for the Topic data. The needed numbers of SPARQL
variables were counted (see Table 1). The Event system needed more variables to handle the
two different object type cases: direct literal values and a list of enumerated type objects. The
complete data is shown in the repository.


5. Discussion
Overall, the results were well in line with our experience when handcrafting the different
approaches.
  The Event approach (Section 3.1) is closely tailored to mirror the structure of the BCF API




                                                              95
Table 1
Comparison of the approaches.
       Approach                               Events        States        RDF-Star:            RDF-Star: Object
                                                                          Statements of        Property
                                                                          Statements           Annotations
       Initial triples in the data model               29            14                   21                  24
       Triples added in the first update               12             8                    7                  13
       Triples added in the final update               15             9                    7                  17
       Triples at the end                              57            31                   35                  54
       Max. steps to a leaf.                            3             2                    3                   3
       Initial graph: model diameter                    4             3                    4                   4
       Final graph: model diameter                      6             4                    5                   6
       Final graph: The number of connected
       sub-graphs in Jena Model                         1             1                   23                      8
       SPARQL variables needed to query:
       - the current state                              9             6                    6                      6
       - state at a specific time                       9             6                    6                      6
       - state at initial time                          6             3                    4                      5
       blue - good, red comparatively bad



data model. So, the graph is never depicting the current state directly since it has to be inferred
out of the different Event Operations, making the graph harder to query.
   The State approach (Section 3.2) is related to current developments in the LBD group and is
following their examples. We would argue that it is easy to implement in bcfOWL and ontologies
in general. Moreover, as its name says, it always expresses the complete data snapshot of a Topic,
even though sometimes just a single value has changed. It is relatively space-saving compared
to the other methods (Table 1), although there is a risk of storing redundant parameters in the
graph due to the complete state description. It lacks the granularity of the other approaches
since it is impossible to see how a single parameter has changed from one state to the next
without calculating the differences between the data sets.
   However, with RDF-star, it is possible to describe states and track granular changes. Thus,
in a way, it represents a middle ground between the other two methods. Both variants, which
are based on RDF-star, are non-invasive to the original structures of the ABox statements. A
legacy bcfOWL graph could thus easily be annotated, which could then describe the history
of the triples. The RDF-star approach is not exclusive to BCF but could be a valuable addition
in general. Because there is no deletion in our model, there will not be any dangling nodes in
the system. While we cannot enforce non-deletion, each quoted triple in RDF-star is a separate
assertion and thus, should not be considered dangled even if the referred node would be deleted.
   Since timestamps are used in the Statements of Statements approach (Section 3.3.1), it has
the limitation that the annotations could not be distinguished in the hypothetical case when an
exactly simultaneous annotation of a triple would be made. This limitation does not exist with
the Object Property Annotation approach (Section 3.3.2).
   The RDF-star approach’s drawback is that it is not yet supported by all the graph database
providers and Linked Data tools. If the scope of a project depending on RDF-star is limited to a
graph database supporting this feature, no issues should be expected. Nevertheless, suppose the
goal is to federate the data over multiple and distributed graphs where there is no control over
the chosen database type. In that case, it can lead to compatibility issues. Furthermore, it is not




                                                        96
yet clear where statements made about statements can end. Without a clear structure, these
statements can be chained endlessly, adding complexity to the graphs.


6. Conclusion and Future Work
In this work, we have shown four different approaches to describe the history of changes in
BCF Topics. All four versions display the same information, only using different structures.
   As the change information is an integral part of the issue management, our focus has been on
how to make the version data available as a semantic web. So, instead of addressing the change
management at a higher level, e.g. the named graph level or trying to use GIT, we have focused
on the RDF graph level. We hypothesise that the approach allows better to trace editions and
design choices made over time to the data.
   We have pointed out that information should never be removed from the graph or changed,
although enforcing this requirement may be challenging. Hence, in future work, we want to
study the options for signing changes in the graph to assure the stakeholders that the values
have not been altered. It should also be evaluated how the different approaches would perform
in distributed and container-based environments. Also, one engaging direction is to study how
provenance data can be expressed and used in the BCF context. The provenance indicated in the
graphs in this paper is currently only a placeholder, as the provenance of the data in bcfOWL
has not yet been explicitly considered. Here the PROV ontology [14] is an interesting candidate.
It can be studied how to use the ontology to express the ownership of the data, who played a
role or contributed creating it, and how the content has been changed.
   RDF-star performed reasonably well in our studies, so we think it should be further inves-
tigated for use in the LBD domain. Nevertheless, although RDF-star can be easily integrated
into existing graph structures, we have not yet found examples of how this approach could be
described in a Tbox statement for reasoning. An ontology extension for bcfOWL using RDF-star
could help us tackle the complexity of statements made about statements.
   The results of the study serve as a basis for further development for the bcfOWL ontology.
For example, the shortest graph diameter and the shortest maximum path from a Topic to a
value node can imply if the model is a good candidate as data representation for the BCF change
data. In order to verify the results, we further have to simulate these approaches using larger
data sets, covering a more considerable amount of changes and history data.


7. Acknowledgments
The EU had funded this research through the H2020 project BIM4REN.


References
 [1] buildingSMART International, Ltd., Bim collaboration format (bcf) - an introduction, 2022.
     URL: https://technical.buildingsmart.org/standards/bcf/.




                                              97
 [2] O. Schulz, J. Oraskari, J. Beetz, bcfowl: A bim collaboration ontology, 2021. URL: https:
     //www.cibw78-ldac-2021.lu/, international Workshop on Linked Data in Architecture and
     Construction, LDAC ; Conference date: 11-10-2021 Through 15-10-2021.
 [3] F. Manola, E. Miller, B. McBride, RDF Primer (2004). URL: https://www.w3.org/TR/rdf-
     primer/.
 [4] E. R. Watkins, D. A. Nicole, Named graphs as a mechanism for reasoning about provenance,
     in: Asia-Pacific Web Conference, Springer, 2006, pp. 943–948.
 [5] J. J. Carroll, C. Bizer, P. Hayes, P. Stickler, Named graphs, provenance and trust, in:
     Proceedings of the 14th international conference on World Wide Web, 2005, pp. 613–622.
 [6] C. Bizer, R. Cyganiak, The trig syntax. 2007, URL http://sites. wiwiss. fu-berlin.
     de/suhl/bizer/TriG/Spec/TriG-20070730 (2007).
 [7] O. Hartig, Foundations of rdf* and sparql*:(an alternative approach to statement-level
     metadata in rdf), in: AMW 2017 11th Alberto Mendelzon International Workshop on
     Foundations of Data Management and the Web, Montevideo, Uruguay, June 7-9, 2017.,
     volume 1912, Juan Reutter, Divesh Srivastava, 2017.
 [8] B. Mathias, Towards a PROPS ontology, 2018. URL: https://github.com/w3c-
     lbd-cg/lbd/blob/a76232b682a979ff707ad0150c9336ff5b7b0f8e/presentations/props/
     presentation_LBDcall_20180312_final.pdf.
 [9] M. Holten Rasmussen, M. Lefrançois, M. Bonduel, C. Anker Hviid, J. Karlshøj, Opm: An
     ontology for describing properties that evolve over time, in: CEUR Workshop Proceedings,
     volume 2159, CEUR Workshop Proceedings, 2018, pp. 24–33.
[10] A. Wagner, M. Bonduel, P. Pauwels, R. Uwe, Relating geometry descriptions to its deriva-
     tives on the web, in: Proceedings of the 2019 European Conference for Computing in
     Construction, European Council on Computing in Construction (EC3), 2019, pp. 304–313.
     URL: http://hdl.handle.net/1854/LU-8633667. doi:10.35490/ec3.2019.146, iSSN: 2684-
     1150.
[11] D. Ognyanov, A. Kiryakov, Tracking changes in rdf (s) repositories, in: Proceedings of the
     13th International Conference on Knowledge Engineering and Knowledge Management.
     Ontologies and the Semantic Web, 2002, pp. 373–378.
[12] S. Auer, H. Herre, A versioning and evolution framework for rdf knowledge bases, in:
     International Andrei Ershov Memorial Conference on Perspectives of System Informatics,
     Springer, 2006, pp. 55–69.
[13] T. Ball, J.-M. Kim, A. A. Porter, H. P. Siy, If your version control system could talk, in:
     ICSE Workshop on Process Modelling and Empirical Studies of Software Engineering,
     volume 11, Citeseer, 1997.
[14] P. Missier, K. Belhajjame, J. Cheney, The w3c prov family of specifications for modelling
     provenance metadata, in: Proceedings of the 16th International Conference on Extending
     Database Technology, 2013, pp. 773–776.




                                              98