observe the existing classes, properties, and attributes
to store the compatibility knowledge between a prod-
uct and a Car type object. In the second step, we used
the initial ontology v0 proposed in (Sant’Anna et al.,
2020). In this step, we used the tool Prot
´
eg
´
e to visual-
ize and understand how the ontology was structured.
As a result of understanding current KG, we have a
set of properties and attributes in the ontology v0.
In the third step, like the previous step, we used
the Prot
´
eg
´
e tool to understand the relationships pre-
sented in the initial ontology, which contains the fol-
lowing classes: Compatibility(FullCompatibility and
NoCompatibility), ConsumerItem, Product and Car.
Where the Product class represents a product in an e-
commerce system, ConsumerItem is an abstract class
representing an item that is related to the product, this
relationship is given by the Compatibility class, either
of the FullCompatibility and NoCompatibility types.
As a result of understanding relationships in ontology,
we have a set of relations of ontology v0.
In the fourth step, we defined the domain or do-
mains that cover the current KG. In this case, the cur-
rent domain is Automobile, which was represented
by the Car class, keeping the following attributes:
hasYear, hasBrand and hasModel, which represent
the year, brand, and model of an object Car.
4.1.2 Result in Identifying New Domain
GoBots collected a set of pairs of questions and an-
swers related to a product that human attendants an-
swered. This collection is stored in a MongoDB
database. Figure 4 shows the process of identifying
the new domain to be inserted in the new version of
the KG. For the first step, we identified all the ques-
tions that the current KG cannot answer, so we do not
consider the questions related to the domain of Au-
tomobiles. This task was carried out with a Python
script that connects directly to the GoBots dataset to
extract the question collection within a delimited date
range. In this experiment, the date range was two
months. As a result of the first step is a collection
of questions that the KG did not answer.
In the second step, we identified the relations that
are not mapped in the ontology and, therefore, are im-
possible to answer by the KG. In this step, we an-
alyzed the structure of the questions and compared
them with the properties contained in the GoBots KG
v0. Among them, we have questions like ”Is it com-
patible with LSE09 220v?”, where LSE09 refers to
a Washing Machine (Appliance domain) that works
with a voltage of 220V. This example shows that the
KG cannot store this knowledge using the Car class
defined in the ontology v0. As a result of the sec-
ond step, we have a set of relationships that were not
mapped by the current ontology.
In the third step, we created a script in Python
to identify the domains (categories) with the largest
number of questions sorted descending; the three do-
mains with the most questions and answers were Ap-
pliances, Home and Furniture, and Tools. In the next
steps, we present the insertion of the domain Appli-
ances to the new version of the ontology and later to
KG.
4.1.3 Result in Restructuring the Ontology
The ontology v0 is limited to the Automobiles do-
main, which does not allow receiving queries from
other domains. That is why when applying our UpKG
framework, the need to insert the “Appliances” do-
main was identified to cover a large part of the ques-
tions not answered by the current KG. In addition, we
decided to maintain the Compatibility intent between
a product and an object from the Automobile domain.
The ontology obtained from applying our framework
was denoted as v1, which can cover two domains of
questions users ask in an e-commerce system.
Figure 5 shows the process of restructuring the
GoBots ontology to accept the Appliance domain.
The first step is to perform an ontology search; in our
case, they are appliances. A search for publicly avail-
able product ontologies was carried out because it is
intended to expand the KG to several e-commerce cat-
egories. We explored Schema.org
6
, which provides a
list of properties in Product and allows us to identify
the properties needed for the new domain. For this
reason, in the second step, we selected Schema.org as
the base for our ontology.
The third step is to identify the new properties nec-
essary for our ontology. In this case, we used standard
properties present in Schema.org regarding Product,
such as Model, Brand, and Material. We also created
new properties that were not found in Schema.org.
These are created from human reasoning to map the
relationships presented in the questions about Appli-
ances: Voltage and Volume.
The fourth step was to combine the properties; in
this step, we used the Prot
´
eg
´
e tool to combine our
property list with the existing GoBots ontology v0.
The final result of this step is an ontology that accepts
two domains: Automobiles and Appliances. We de-
noted this ontology as v1.
We added an Appliance class that is a subclass of
ConsumerItem just like the Car class to our initial on-
tology, in which we added all the attributes mapped
as: hasVolume and hasVolts.
Figure 9 shows in Prot
´
eg
´
e tool visualization all
6
https://schema.org/Product
KEOD 2023 - 15th International Conference on Knowledge Engineering and Ontology Development
90