<!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>Developing an ontology-based system for retrieving and contextualizing petroleum production data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fabrício H. Rodrigues</string-name>
          <email>fabricio.rodrigues@inf.ufrgs.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marcos T. Leipnitz</string-name>
          <email>mtleipnitz@inf.ufrgs.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Haroldo R. S. Silva</string-name>
          <email>hrssilva@inf.ufrgs.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rafael H. Petry</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nicolau O. Santos</string-name>
          <email>nicolau.santos@inf.ufrgs.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Régis K. Romeu</string-name>
          <email>regis.romeu@ufrgs.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mara Abel</string-name>
          <email>marabel@inf.ufrgs.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>João Netto</string-name>
          <email>netto@inf.ufrgs.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Informatics Institute, Federal University of Rio Grande do Sul (INF-UFRGS). Av. Bento Gonçalves</institution>
          ,
          <addr-line>9090 - Agronomia, Porto Alegre - RS, 91540-000</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Eficient access to relevant information is crucial for various data-driven operations within organizations. However, this process often involves significant time investment and the need for often manual and non-reusable mappings to utilize the available data properly. Ontologies ofer a solution by enabling upfront integration and contextualization of data, facilitating the access to integrated and semantically enriched information. In this paper, we report on the process of developing an ontology-based system for the domain of petroleum production. We present its conceptual structure, architecture, and implementation, discussing some of the decisions and trade-ofs imposed by the practical setting of the application.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;ontology</kwd>
        <kwd>ontology-based systems</kwd>
        <kwd>knowledge-based systems</kwd>
        <kwd>data contextualization</kwd>
        <kwd>petroleum production</kwd>
        <kwd>oil and gas industry</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Much like any other large and complex application domain, the oil and gas industry relies on many
systems to manage and serve data efectively. From cataloging parts to organizing sensor series and
present measurements, data systems serve from the most time-critical operational activities to research
and analytic tasks. In particular, production surveillance requires many service companies to collect
data on distinct parts and functions of the plant installation. Many systems are built to store and process
these data without considering the original context and meaning or how it relates to other elements
within the physical system. The delivered data demands a large efort in real-time human processing to
become a uniform, indexed data collection organized to support production decisions, besides requiring
highly specialized users to select data from the right source and combine them with correct semantics.
To address this issue, engineers often assign semantics to data to provide context and facilitate retrieval.
Whether categorizing data by geographical area, production plant, or administrative division, these
semantic approaches aid humans in finding the information they need. However, when it comes to
automated systems searching for data, a clear and definite method of organizing this data is essential.
This is where ontologies come into play.</p>
      <p>Ontologies serve as crucial tools in information system development, ofering standardized and
semantically rich vocabularies for knowledge representation. Integrating ontology into system
development enhances data consistency, interoperability, and eficient knowledge sharing and retrieval
within a defined domain. Utilizing an existing domain ontology – in our case about ofshore petroleum
production equipment – can facilitate data retrieval in information systems. Such systems enable
stakeholders to access relevant data eficiently while ensuring consistency across diferent applications
within cross functional domains of expertise.</p>
      <p>In this paper, we report on the process of creating, from the ground up, an ontology-based system for
the domain of petroleum production. We describe aspects of its conceptual structure, architecture, and
implementation, discussing some of the decisions and trade-ofs imposed by the real-world nature of
the application.</p>
      <p>The remainder of the paper is structured as follows: section 2 provides some context about how
data is used in the domain; section 3 exposes how we conceived a proposed semantic infrastructure to
meet the needs discussed in section 2; section 4 describes how the proposed semantic structure was
efectively implemented; section 5 place our work in the context of related ones; finally, section 6 brings
our concluding remarks.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Semantic Requirements</title>
      <p>Recognizing the various aspects of the domain is the first step in creating a semantic definition capable
of representing the data and assets involved in ontology-based systems. Thus, we need to understand
how users interact with their daily tools.</p>
      <p>
        During this discussion, we approach the decisions while considering the perspective of a petroleum
engineer, whose time is mostly consumed by tasks of data search and conversion [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. These engineers
rely on tagged data collected from digital signals and measurement instruments, which record various
asset properties like pressures, temperatures, and flow rates. This data is stored in historian systems,
which are databases built for eficient storage of time-based information and based on the retrieval
of data through a unique identifier, its tag. The engineers frequently need to access specific data sets
related to the wells’ properties or connected facilities to perform tasks such as forecasting a well’s oil
production or identifying anomalies. However, locating and interpreting these tags is susceptible to
errors due to the lack of semantic context of the tags, making it challenging to understand and utilize
the data correctly.
      </p>
      <p>In this context, the purpose of a semantic layer is to ease this process by incrementing a system with
expert knowledge. Figure 2 shows a prototypical example of an interaction the application is intended
to support. There, we have a user who wants a full description of the profile of a given petroleum well,
consisting of the values for all the properties of all its components. From this scenario, we can identify
some requirements that an ontology-based application for the petroleum production domain should
fulfill.</p>
      <p>Users have their own domain of expertise. Petroleum production is a multidisciplinary area
involving professionals from a wide range of domains, such as reservoir engineers, production engineers,
and maintenance engineers. As is usual in highly technical fields, these professionals rely on considerable
amounts of data to carry out their duties. Still, data is just a tool for their work, not their object of
inquiry – they are experts in petroleum, not in data. Therefore, demanding from them an accurate
knowledge of where and how the data is stored is not reasonable. Instead, they should be able to
rely on their domain knowledge to get the data they need. Given that, the application should shield
professionals from data management details by ofering means to search data that reflect the semantics
of the domain.</p>
      <p>Pieces of data are useless in isolation. Typically, users do not access a system by chance simply to
see what they can find. Instead, they resort to an information system to solve an issue or carry out some
task. In petroleum production, this involves checking a single piece of data and analyzing it with respect
to several other data items that characterize the broader context of the issue at hand. An example would
be monitoring the behavior of a plant by checking a set of alarms designed to indicate the occurrence of
anomalies. Usually, those alarms are rather simple, triggering when the value of some variable (e.g., the
pressure of some pipeline section) crosses a given threshold. In this case, the task is not simply verifying
whether the variable meets the alarm threshold. Instead, it would require analyzing a diverse set of
equipment properties to determine whether the alarm went of due to a genuine anomalous behavior or
if it is a false-positive. Therefore, an application for this domain should focus its semantic capabilities
on gathering meaningful packages of contextualized information, releasing the user from the burden of
having to figure out what pieces of information must be gathered to support a given activity.</p>
      <sec id="sec-2-1">
        <title>Sometimes, we need to figure out the question itself. Finally, as with any complex and dynamic</title>
        <p>ifeld, the problems that arise in petroleum production are not always well-structured or predictable.
Sometimes, part of the job is first finding out the precise nature of the problem and determining what
is needed to solve it. In such cases, having a fixed set of predetermined queries is insuficient. With
that, the application should ofer means for the user to explore the data freely without being tied to any
particular workflow.</p>
        <p>Based on these requirements, the next section describes the semantic infrastructure we conceived to
address this scenario. Also, we discuss some decisions we took during the process and some of the
considered options to conform the solution to the constraints imposed by the practical setting.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Semantic Infrastructure</title>
      <p>In the context of a database storing historical property measurements, the concept of time is paramount.
However, integrating such temporal notions into the ontology can introduce a significant complexity.
To address this challenge, our approach focused on taking all time series data provided by sensor
measurements in the plant, each represented by a unique identifier, and instantiating this identifier
in the knowledge base as an Information Content Entity (ICE). For those ICEs, we set an annotation
property with the identifier value, so that from an atemporal vision of the production plant (present
time), one can find the data that describes all readings of a property of an element. The relation between
the ontology, the physical entities, and the necessary infrastructure that will be explained in this section
is illustrated by Figure 2.</p>
      <sec id="sec-3-1">
        <title>3.1. Employed ontologies</title>
        <p>
          Our solution needed a domain ontology to tie sensor data from the oil plant to the actual pieces of
equipment. We used the Ofshore Petroleum Production Plant Ontology (O3PO) [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], which provides the
formal vocabulary for this application. O3PO uses BFO as a top-level ontology and also uses IOF-Core
[
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] and GeoCore [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] as middle-level ontologies.
        </p>
        <p>The ontology besides formally defining the main entities in an oil plant, also enables accessing the
properties of equipment, the components of the facilities, and following the oil path from the reservoir
to the platform through fluid connections defined as object properties.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Instantiation</title>
        <p>To efectively use the employed ontologies, it is necessary for the modeled ICEs, containing the reference
to the data, material entities, and properties for which such information is about, to be instantiated
in the model. When working with preexisting data, doing so requires some description of the data
and relevant assets to enable the creation of the instances. Furthermore there is a choice to be made
regarding how to represent the data in the model, by either assigning the value directly to a property or
by representing an identifier to the "location" of a property’s respective data. The first option implies in
inserting the values directly in the model, thus increasing the number of instances (consequentially
increasing the complexity of the model) by an amount equal to the number of samples of data. This
is not viable when working with time series, whose number of samples may surpass the thousands
per data, as observed in our use case. As such, we determined that the best approach would be to
utilize ICEs to represent the agglomeration of all samples of a piece of data (a time series) and utilize
annotation properties to store the identifier of such data, enabling its retrieval from where it is stored.</p>
        <p>The instantiation process can be done either manually or automatically, depending on how the
necessary data is stored. Approaches for automatic instantiation start with the formalization of R2RML1
by the W3C2 as a language for describing how data in a relational database is related to entities in an
ontological artifact. This and similar solutions require that the data is suficiently structured in a way
1https://www.w3.org/TR/r2rml/
2https://www.w3.org/
compatible with the ontological definition of the domain, limiting its applicability to cases in which the
schema of the data carries all the semantics related to the underlying taxonomy.</p>
        <p>
          When working with the time-based information from historian systems, there is no guaranteed
manner for representing such semantics. This system can represent as little as just a time series and its
unique identifier and may provide some auxiliary description, as is the case with the OSI PI system.
The taxonomical relations are extracted from the PI Asset Framework, which represents the hierarchical
relations between the various involved assets but does so as a provider for a certain "target audience",
not creating a general, consistent model [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. As detailed before, this use case illustrates a shortcoming
of the automatic approach to instantiation and is why we have decided on manual instantiation.
        </p>
        <p>For the instantiation process, an ontology engineer who understands the domain will look at the
available descriptions to determine to which asset the data is related, creating not only the instance of
the ICE but also the instances of the related asset and its properties and all relevant relations between
entities.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Approach to Dealing With a Complex Model</title>
        <p>
          Reasoning is an important part of working with ontologies, being a tool during its formalization phase
for logical consistency checking and in its implementation phase for inferencing. For its importance,
we must choose carefully what reasoner to utilize for the domain ontology. In our implementation, we
have utilized the Hermit reasoner, mainly for its overall good performance when working with OBO
ontologies [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], like BFO and IOF-Core.
        </p>
        <p>
          Another important choice in regards to reasoning is how to utilize the reasoner during the
implementation phase (that is when a system is utilizing the ontology) as inferencing can change drastically how
the information is presented after instantiation, after all "A reasoner is a program that infers logical
consequences from facts, assertions, and axioms" [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] and instantiation is the act of incrementing the
model with new assertions and axioms. Although it is desirable to infer at the most complete state of
the model, the act of inference is computationally intensive and time-consuming. For this reason, it is
not applicable to constantly run the reasoner during the system’s uptime when dealing with complex
ontologies. Such a limitation and the fact that the real data is not present in the model corroborated the
need only to run the reasoner when the model itself needs to change, which means when there is a
change to the disposition of the assets.
        </p>
        <p>Ontology artifacts described in the RDF language (and derivated languages, like OWL) are represented
by triples in the shape “subject-predicate-object”, such that entities are represented in subjects and
objects, while predicates are relations between entities. This structural characteristic resulted in using
purpose-built databases, namely triple-stores (extended to quad-stores for working with named graphs),
to store ontological definitions. These purpose-built databases are not only for storage but also for the
retrieval of triples through semantic queries, normally utilizing SPARQL3 as their query language.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Abstracting Information From The Knowledge Base</title>
        <p>Once the instances have been created and the reasoner’s inferences have been materialized, the ontology
is ready to be used. Doing so requires retrieving the triples described in the ontological artifact, either
using local files and APIs or through a semantic query language and an available endpoint.</p>
        <p>One option is developing a specific API providing a list of methods for certain types of semantic queries
(e.g., retrieving the class that a given individual instantiates, all individuals linked via a given relation).
Based on that, other services would consume such methods when needing to retrieve information.
This approach has the advantage of establishing a clear separation of concerns between the diferent
services of the system. It shields a front-end service from the technological details of how the model is
implemented and queried, thus preventing changes to the model (like changes to the IRIs of entities)
from reflecting in changes to the front-end.</p>
        <p>For applications that require simple queries on their knowledge base, an API with a small and easily
learned set of methods for semantic query would be enough. However, this approach would lead
to dificulties if the application requires numerous and complex queries. An API with a large list of
methods covering all required semantic queries would result in a hard-to-maintain implementation.
An alternative would be sticking with a small API with a simple, basic set of methods that could be
algorithmically combined to retrieve data that would only be retrievable via more complex queries. The
downside of this approach is that the meaning of the query would be implicit in the algorithms that
combine the API’s methods. In addition, dynamic scenarios in which new functionalities are constantly
being added would require constant expansion of the API, worsening the mentioned problems. With
that, instead of a formal and standard method of expressing and processing queries, we would have ad
hoc algorithmic solutions, which compromise their understandability, the evaluation of their correctness,
and their overall maintainability.</p>
        <p>In contrast, the direct use of SPARQL serves two purposes: being standardized enough to work on
several possible storage implementations and being flexible enough to allow the service to choose how
it wants the data to be presented. Furthermore, the abundance of reference material on SPARQL creates
an easier environment for understanding and long-term service maintenance.</p>
        <p>Even though triple-stores are very eficient databases that expose an endpoint for semantic querying,
some environments may impose restrictions on their use, be it for enterprise norms or very strict
architectural styles. In this situation it is still possible to create an architecture agnostic to the storage
method of the ontological artifact by using SPARQL. This query language is supported by most
triplestores and by many APIs, enabling the creation of a self-implemented endpoint (one such implementation
is discussed in section 4).</p>
        <p>
          When working with SPARQL, the service that needs the data must first know what it needs. The
service may always know this or may result from interaction with another service or the user. The
application Ontology Explorer described by [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] is a good example of this aspect.
        </p>
        <p>By making a query with the knowledge known by the service, it is possible to present the asset
information to the user, who, by navigating such information, will present to the system what information
he/she needs, generating a new query. In terms of implementation, this means having some queries
ready to retrieve the base amount of information the service knows it will need and various “template
queries” with certain gaps to retrieve information the service might need when the gaps are filled.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Software System Architecture</title>
      <p>The infrastructure we used to deploy the application prototype consists of a cluster of 16 computers,
9 of which are servers connected to the internal network of the UFRGS Informatics Institute. The
prototype is a web application with a microservices architecture. This software design pattern structures
an application as a collection of small, low-coupling, and independently deployable services. Each
microservice is responsible for specific and well-defined functionality, with communication being
carried out via lightweight protocols, usually HTTP or message queues like MQTT. This approach
contrasts with monolithic architectures, where an application is created as a single, cohesive unit.
Microservices ofer several advantages over monolithic architectures:
• Scalability: Each microservice can be scaled independently, allowing more eficient use of
resources and better management of variable workloads.
• Flexibility: Teams can develop, deploy, and maintain each service independently, allowing faster
development cycles and easier integration of new technologies.
• Resilience: The failure of a microservice is less likely to afect the entire system, as the services
are isolated from each other.
• Reuse: Components can be shared and reused in diferent or similar applications, promoting
modular design and reducing code duplication.</p>
      <p>However, the microservices architecture presents some challenges, such as increased complexity,
the need for eficient coordination of microservices, and the possibility of increased communication
latency between them. Therefore, it is essential to evaluate the most appropriate way to implement
this type of architecture according to the application’s requirements. We used the Docker Engine 4
containerization technology to deploy the application components, which is responsible for packaging
software artifacts and their dependencies in containers, i.e., portable units that can run consistently in
diferent computing environments. Unlike virtual machines, containers share the kernel and libraries of
the host operating system, resulting in lower resource usage and faster start-up times. For this reason,
using containers has become common practice in software development and distribution, especially in
microservice architectures, where each service can be packaged and deployed as a separate container.
This practice reduces the complexity of deploying the application and allows for a more appropriate
sizing of the necessary resources.</p>
      <p>The Kubernetes 5 platform is responsible for managing the execution of the deployed containers
on the provisioned computing infrastructure. Kubernetes is an open-source container orchestration
platform - maintained by the Cloud Native Computing Foundation (CNCF) - that automates container
deployment, sizing, and management in distributed computing environments. The platform aims to
make it more flexible to manage workloads distributed across several nodes, which can be physical or
virtual machines in a cloud or on-premise environment. In Kubernetes, the smallest and most basic
deployment unit is called a Pod, representing a single instance of a process running in the cluster. A Pod
encapsulates one or more containers, storage resources, a unique IP address, and other configuration
options.</p>
      <sec id="sec-4-1">
        <title>4.1. Components and Technologies</title>
        <p>
          The application’s front end consists of a single container that exposes a web application developed
in JavaScript with the React6 library. This component, called Data Explorer, allows users to access a
graphical interface for building and visualizing dashboards for analyzing production data (time series)
collected from the historian system, using a domain ontology as a guide for navigating through the
modeled physical plant. A more detailed front-end description is published at [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. In addition, users can
create annotations on specific points in the time series and save them in a document database for later
retrieval. For this, the back end exposes HTTP endpoints to query the knowledge base built from the
ontology and to access time series data and annotations. We used the Nginx7 web server to expose the
application to external trafic.
4.1.2. Back End
The back end comprises two REST API services developed in Python with the FastAPI8 framework
and deployed in separate containers: Data Hub and Knowledge Base. Both services use the Uvicorn9
web server to expose HTTP endpoints to access resources. The Data Explorer consumes the Data
4https://www.docker.com/get-started/
5https://kubernetes.io/pt-br/
6https:/react.dev/
7https://www.nginx.com/
8https://fastapi.tiangolo.com/
9https://www.uvicorn.org/
Hub service, which exposes endpoints that allow contextualized access to data (time series) retrieved
by a web API based on the attributes of the entities represented in the ontology. Given the tags and
timestamps, endpoints allow querying the knowledge base and searching for the time series in the
historian system. The Data Hub service also exposes endpoints for CRUD operations on a document
database to persist user profiles, configurations, and annotations associated with the dashboards built
into the web application.
        </p>
        <p>On the other hand, the Knowledge Base service is directly consumed only by the Data Hub. It creates
an in-memory triplestore from the ontology’s OWL file retrieved from an external repository like Git.
The prototype’s knowledge base is materialized as a knowledge graph, which includes the O3PO classes,
other imported ontologies, and the instances corresponding to the domain entities. A reasoning tool
generates this graph and performs logical inferences about the instances, then exported as a single RDF
ifle. Finally, we use the RDFLib 10 package to import the RDF file, which allows access to the knowledge
base via SPARQL queries on the graph, as can be seen in Figure 4.1. Consequently, the Knowledge Base
service exposes a SPARQL endpoint to query the semantic structure of the knowledge base generated
from the ontology and retrieve the material entities and the informational entities (tags) associated
with the instances of the material entities included in the ontology.</p>
        <p>Given the tags retrieved by SPARQL queries on the Knowledge Base, the time series data can be
obtained through the data provider endpoints, as seen in Figure 4.1. In our deployment, these endpoints
are from the WEB API, but they can be from other historian systems providing sensor data or even
from more complex data platforms like the OSDU11.
4.1.3. Storage
We used two services for data storage: MongoDB12 and Redis13. MongoDB is a document-oriented
database that stores user profiles, configurations, and annotations associated with the dashboards built
into the web application. Redis is a service that makes it possible to create in-memory databases. We
10https://rdflib.dev/
11https://osduforum.org/
12https://www.mongodb.com/
13https://redis.io/
used Redis to cache the time series data retrieved by the data provider endpoints. The aim is to reduce
latency in accessing previously retrieved data and reduce the load on the WEP API endpoint with
redundant requests.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.1.4. Data Security</title>
        <p>We used the open-source platform Istio14 to connect, protect, and manage the microservices in a unified
way by including reverse proxies (Envoy) alongside the containers that implement the application’s
microservices, namely the Data Explorer and the Data Hub and Knowledge Base services. Therefore,
each Pod created in the Kubernetes cluster comprises two containers: one for deploying the microservice
and the other for intercepting all the requests that arrive or leave the microservice.</p>
        <p>The control layer ofered by Istio configures the reverse proxies to keep communication between
microservices encrypted with the Transport Layer Security (TLS) security protocol, with Istio acting as
the certificate authority for a data layer that uses mutual TLS. In this way, microservices are relieved
of having to provide the security layer. They can focus solely on executing their functions. Moreover,
Istio allows the implementation of a mesh of microservices with support for a range of features and
functionalities to improve the observability, reliability, and security of container-based applications
following the distributed computing model. Additionally, we used the Keycloak15 as the Identity
And Access Management (IAM) tool to provide OAuth 2.0-based authentication for the application
prototype.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Related Work</title>
      <p>
        In the context of oil and gas, where dealing with large ammounts of complex data is the norm, the idea
of leveraging ontology-based solutions for dealing with correctness and timelyness of data retrieval is
proeminent [
        <xref ref-type="bibr" rid="ref10 ref11 ref9">9, 10, 11</xref>
        ].
      </p>
      <p>
        While these focus on the necessary semantic infrastructure, others concern with the diferent ways of
articulating query interfaces and presenting the data properly to user [
        <xref ref-type="bibr" rid="ref8 ref9">9, 8</xref>
        ]. Hill et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] used ontologies
for dealing with real-time sensor data for event detection in oil and gas production. Kharlamov et al.
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] address the challenge of data gathering in large, data-intensive corporations like Equinor through
a semantic data access system based on the Ontology Based Data Access (OBDA) approach. Our work
encopasses the problem from beginning to end, from the semantic definitions to the implementation of
the defined architecture, which provides a valuable contribution to future industrial ontology-based
applications.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Concluding Remarks</title>
      <p>This paper discusses a case study on an ontology-based information system developed to provide
coherent and contextualized data across various applications within an ofshore petroleum production
plant. The system’s architecture is outlined through a description of the components employed in the
application.</p>
      <p>Future work will expand the description of events and experiment on the temporalization of the
model. Additionally, support to real-time data will be added to the application which is a necessity in
terms of an efective digital twin.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>The authors acknowledge CAPES-Brazil Finance Code 001, the Brazilian Agency CNPq, and the Petwin
Project, supported by FINEP, Libra Consortium (Petrobras, Shell Brasil, Total Energies, CNOOC, CNPC).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>T.</given-names>
            <surname>Brewer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Knight</surname>
          </string-name>
          , G. Noiray,
          <string-name>
            <given-names>H.</given-names>
            <surname>Naik</surname>
          </string-name>
          ,
          <source>Digital Twin Technology in the Field Reclaims Ofshore Resources</source>
          , volume Day 1 Mon, May
          <volume>06</volume>
          ,
          <year>2019</year>
          of OTC Ofshore Technology Conference ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>N. O.</given-names>
            <surname>Santos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. H.</given-names>
            <surname>Rodrigues</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. K.</given-names>
            <surname>Romeu</surname>
          </string-name>
          , G. Nascimento,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Abel, O3PO: A domain ontology for ofshore petroleum production plants</article-title>
          ,
          <source>Expert Systems with Applications</source>
          <volume>238</volume>
          (
          <year>2024</year>
          )
          <fpage>122104</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Drobnjakovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kulvatunyou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ameri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Will</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <article-title>The industrial ontologies foundry (iof) core ontology</article-title>
          ,
          <source>in: FOMI 2022: 12th International Workshop on Formal Ontologies Meet Industry, September 12-15</source>
          ,
          <year>2022</year>
          , Tarbes, France,
          <year>2022</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>13</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L. F.</given-names>
            <surname>Garcia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Abel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Perrin</surname>
          </string-name>
          , R. dos Santos Alvarenga,
          <article-title>The geocore ontology: A core ontology for general use in geology</article-title>
          ,
          <source>Computers &amp; Geosciences</source>
          <volume>135</volume>
          (
          <year>2020</year>
          )
          <fpage>104387</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Martin-Recuerda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Perry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Cameron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Fjellheim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Waaler</surname>
          </string-name>
          ,
          <article-title>Towards semantically enhanced digital twins</article-title>
          ,
          <source>in: 2018 IEEE International Conference on Big Data (Big Data)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>4189</fpage>
          -
          <lpage>4193</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>B.</given-names>
            <surname>Glimm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Stoilos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <surname>Hermit:</surname>
          </string-name>
          <article-title>An owl 2 reasoner</article-title>
          ,
          <source>Journal of Automated Reasoning</source>
          <volume>53</volume>
          (
          <year>2014</year>
          )
          <fpage>245</fpage>
          -
          <lpage>269</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Khamparia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pandey</surname>
          </string-name>
          ,
          <article-title>Comprehensive analysis of semantic web reasoners and tools: a survey</article-title>
          ,
          <source>Education and Information Technologies</source>
          <volume>22</volume>
          (
          <year>2017</year>
          )
          <fpage>3121</fpage>
          -
          <lpage>3145</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>N. O.</given-names>
            <surname>Santos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. C.</given-names>
            <surname>Rivera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. H.</given-names>
            <surname>Petry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. H.</given-names>
            <surname>Rodrigues</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. S.</given-names>
            <surname>Nascimento</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Comba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Abel</surname>
          </string-name>
          , Ontology Explorer:
          <article-title>An Ontology-Based Visual Analytics System for Exploring Time Series Data in Oil and Gas</article-title>
          , IOS Press,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Soylu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Giese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Schlatte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Jimenez-Ruiz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Özçep</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Neuenstadt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Brandt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bikakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. G.</given-names>
            <surname>Stavropoulos</surname>
          </string-name>
          , G. Meditskos,
          <article-title>Querying industrial stream-temporal data: An ontology-based visual approach</article-title>
          ,
          <source>J. Ambient Intell. Smart Environ</source>
          .
          <volume>9</volume>
          (
          <year>2017</year>
          )
          <fpage>77</fpage>
          -
          <lpage>95</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hovland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. G.</given-names>
            <surname>Skjaeveland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Bilidas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Jiménez-Ruiz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Xiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Soylu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lanti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rezk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zheleznyakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Giese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ioannidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kotidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Koubarakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Waaler</surname>
          </string-name>
          ,
          <article-title>Ontology based data access in statoil</article-title>
          ,
          <source>Journal of Web Semantics</source>
          <volume>44</volume>
          (
          <year>2017</year>
          )
          <fpage>3</fpage>
          -
          <lpage>36</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hovland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Jiménez-Ruiz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lanti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pinkel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rezk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. G.</given-names>
            <surname>Skjaeveland</surname>
          </string-name>
          , E. Thorstensen,
          <string-name>
            <given-names>G.</given-names>
            <surname>Xiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zheleznyakov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          ,
          <article-title>Ontology based access to exploration data at statoil</article-title>
          ,
          <source>in: ISWC</source>
          <year>2015</year>
          ,
          <year>2015</year>
          , pp.
          <fpage>93</fpage>
          -
          <lpage>112</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hill</surname>
          </string-name>
          , M. Campbell,
          <string-name>
            <given-names>Y.-C.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Iyengar</surname>
          </string-name>
          ,
          <article-title>Event detection in sensor networks for modern oil ifelds</article-title>
          ,
          <source>in: Int. Conf. on Distributed Event-Based Systems, DEBS</source>
          ,
          <year>2008</year>
          , p.
          <fpage>95</fpage>
          -
          <lpage>102</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Skjaeveland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hovland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Mailis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Jimenez-Ruiz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Xiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Soylu</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Waaler</surname>
          </string-name>
          ,
          <article-title>Finding data should be easier than finding oil</article-title>
          ,
          <source>in: 2018 IEEE International Conference on Big Data (Big Data)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>1747</fpage>
          -
          <lpage>1756</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>