<!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>An a´lise de Desempenho de Ferramentas para Persisteˆncia de Dados Ontol o´gicos em Triplas: Experimentos e Resultados</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Felipe Luzzardi da Rosa</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Roger da Silva Machado</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tiago Thompsen Primo</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Adenauer Correˆa Yamin</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ana Marilza Pernas</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Universidade Federal de Pelotas (UFPel)</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>The use of ontologies for knowledge representation in several areas has become increasingly common. One of the reasons for the growing interest in using these structures is the capacity of knowledge representation and reasoning, especially when there is a high amount of data. However, few papers reffer to persistence and management of this kind of data, mostly focusing on modeling aspects. That being said, the motivation of this paper is to extend the research related to the persistence of this kind of data. For this, performance tests were made to compare the AllegroGraph, GraphDB, MarkLogic, Stardog, and Virtuoso tools using the WatDiv benchmark. In the tests performed, the Virtuoso tool presented the best performance in the vast majority of the queries, considering one, five, and ten milion triples. Resumo. A utilizac¸ a˜o de ontologias para representac¸ a˜o de conhecimento em diversas a´reas vem sendo cada vez mais comum. Um dos motivos para o crescente interesse no uso dessas estruturas e´ a capacidade de se realizar infereˆncia no conhecimento armazenado, derivando novo conhecimento, especialmente quando a quantidade de dados e´ alta. Entretanto, observa-se pouca atenc¸a˜o relacionada a` forma de se persistir e gerenciar esses dados, sendo as pesquisas mais focadas em sua modelagem. Desta forma, este artigo tem como motivac¸a˜o ampliar a pesquisa relacionada a persisteˆncia destes dados. Para isso, foram realizados testes de desempenho visando comparar as ferramentas AllegroGraph, GraphDB, MarkLogic, Stardog e Virtuoso utilizando o benchmark WatDiv. Nos testes realizados a ferramenta Virtuoso apresentou o melhor desempenho na grande maioria das consultas considerando um, cinco e dez milho˜es de triplas.</p>
      </abstract>
      <kwd-group>
        <kwd>ffldrosa</kwd>
        <kwd>rdsmachado</kwd>
        <kwd>tiago</kwd>
        <kwd>primo</kwd>
        <kwd>adenauer</kwd>
        <kwd>marilzag@inf</kwd>
        <kwd>ufpel</kwd>
        <kwd>edu</kwd>
        <kwd>br</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduc¸a˜ o</title>
      <p>
        Um dos diversos exemplos da utilizac¸ a˜o de ontologias para a modelagem de
dados e´ a modelagem de contexto de alunos para auxiliar um ambiente de aprendizagem
ub´ıqua (u-learning) [
        <xref ref-type="bibr" rid="ref6">Gonza´lez et al. 2016</xref>
        ]. Tais ambientes frequentemente fazem uso de
      </p>
      <p>
        Objetos de Aprendizado1, necessitando de um modelo ontolo´gico para acompanhar os
mesmos ao longo de seu ciclo de vida [
        <xref ref-type="bibr" rid="ref5">Gluz and Vicari 2014</xref>
        ]. Ale´m disso, ontologias de
metadados de Objetos de Aprendizado tambe´m sa˜o parte relevante nos projetos desta a´rea
[Behr et al. 2016].
      </p>
      <p>
        Embora diversas propostas apresentadas neste aˆmbito fac¸am uso de tais
informac¸o˜es, poucas versam sobre a maneira de garantir a persisteˆncia das
mesmas [
        <xref ref-type="bibr" rid="ref13">Pierin and Sichman 2018</xref>
        ,
        <xref ref-type="bibr" rid="ref10">Lunardi et al. 2018</xref>
        ], usualmente mantendo as mesmas
em arquivos texto, sendo necessa´rio carregar esses arquivos para a memo´ria a cada
manipulac¸a˜o.
      </p>
      <p>
        Percebe-se ainda que alguns trabalhos utilizam reposito´rios relacionais para tal fim
[
        <xref ref-type="bibr" rid="ref16">Santos et al. 2018</xref>
        ,
        <xref ref-type="bibr" rid="ref3">Fujimmoto and Canedo 2018</xref>
        ], os quais na˜o sa˜o considerados
modelos satisfato´rios para persisteˆncia de dados ontolo´gicos. Uma forma mais eficiente de
manter a persisteˆncia destes dados e´ utilizando um modelo de armazenamento em triplas
RDF (Resource Description Framework).
      </p>
      <p>
        O modelo de armazenamento em triplas pode ser dividido em treˆs categorias com
base na arquitetura de sua implementac¸ a˜o: em memo´ria; nativo; e externo. No
armazenamento em memo´ria, todo o conjunto de triplas e´ mantido na memo´ria principal do
dispositivo para manipulac¸a˜o, o que o torna ineficiente quando o volume de dados e´ grande
[
        <xref ref-type="bibr" rid="ref11">Maharajan 2012</xref>
        ].
      </p>
      <p>
        O modelo de armazenamento nativo fornece persisteˆncia com o uso de uma base
de dados projetada para esta funcionalidade. As ferramentas que implementam este
modelo oferecem seus pro´prios recursos de manipulac¸a˜o da base de dados, utilizando
linguagens como a SPARQL para acessa´-lo. Na categoria de armazenamento externo, as triplas
sa˜o persistidas, por exemplo, em bases relacionais, as quais na˜o sa˜o apropriadas para o
armazenamento de triplas [
        <xref ref-type="bibr" rid="ref1">Can et al. 2017</xref>
        ].
      </p>
      <p>Nota-se que o armazenamento nativo de triplas possui um bom desempenho,
melhorando a capacidade de racioc´ınio do sistema como um todo, e proporcionando assim
uma base de dados apropriada para o modelo de triplas (RDF) [BioOntology 2011].
Apesar disso, poucos trabalhos presentes na literatura tratam efetivamente sobre a persisteˆncia
e a manipulac¸a˜o dos dados provenientes de ontologias, sendo que a manipulac¸a˜o eficiente
desses dados tem impacto direto nos servic¸os oferecidos, podendo tornar o processo de
tomada de decisa˜o mais eficiente.</p>
      <p>Visando contribuir para a pesquisa na a´rea, este artigo apresenta uma ana´lise de
desempenho de cinco ferramentas populares para armazenamento nativo de triplas:
AllegroGraph, GraphDB, MarkLogic, Stardog e Virtuoso. Com base nesta ana´lise sera´ poss´ıvel
identificar aquela mais apta para ser utilizada em sistemas que dependem de informac¸o˜es
provenientes de ontologias.</p>
      <p>Para realizar a ana´lise de desempenho foi utilizado o benchmark WatDiv
[Aluc¸ 2014], o qual disponibiliza um nu´mero diverso de consultas para teste,
possibilitando uma ana´lise criteriosa das ferramentas. Os experimentos foram realizados em duas
1Unidade de instruc¸a˜o/ensino reutiliza´vel. Podem ser definidos por ”qualquer entidade, digital ou na˜o
digital, que possa ser utilizada, reutilizada ou referenciada durante o aprendizado suportado por
tecnologias”.
dimenso˜es, na primeira foi analisada a escalabilidade de cada ferramenta, considerando
diferentes tamanhos da base de dados. Na segunda os desempenhos fornecidos pelas
ferramentas foram comparados entre si. O objetivo do experimento e´ o de identificar a
ferramenta que apresenta a melhor relac¸a˜o entre escalabilidade e desempenho.</p>
      <p>O restante do artigo esta´ dividido como segue. A Sec¸a˜o 2 apresenta trabalhos
relacionados ao gerenciamento de dados no formato de triplas. A Sec¸a˜o 3 versa sobre
as ferramentas de gerenciamento de dados nativas em formato de triplas, mostrando um
breve resumo sobre as cinco ferramentas analisadas. A Sec¸a˜o 4 mostra o benchmark
WatDiv, enquanto a Sec¸a˜o 5 apresenta a ana´lise de desempenho das ferramentas com este
benchmark. Por fim, sa˜o apresentadas as considerac¸o˜es finais e os trabalhos futuros na
Sec¸a˜o 6.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Trabalhos relacionados</title>
      <p>Os trabalhos de [Bizer and Schultz 2009] e [Aluc¸ 2014] apresentam propostas de
benchmarks para ferramentas de gerenciamento nativo em formato RDF, utilizando consultas na
linguagem SPARQL para medir os tempos de execuc¸a˜o de diversas ferramentas. Os dois
trabalhos apresentam resultados de ana´lises de desempenho utilizando os benchmarks
propostos em diversas ferramentas de armazenamento em triplas. Pore´m, devido ao fato
de que o principal objetivo destes trabalhos e´ apresentar os benchmarks propostos, e´ dado
pouco foco a` ana´lise de desempenho em si, sendo dada mais atenc¸a˜o a apresentac¸ a˜o das
caracter´ısticas te´cnicas dos benchmarks. Ale´m disso, como os artigos em questa˜o
foram escritos na e´poca do lanc¸amento de seus benchmarks, diversas das ferramentas de
armazenamento apresentadas neles esta˜o atualmente obsoletas ou possuem verso˜es mais
atuais.</p>
      <p>
        Em [
        <xref ref-type="bibr" rid="ref14">Rajabi et al. 2015</xref>
        ] e [
        <xref ref-type="bibr" rid="ref1">Can et al. 2017</xref>
        ] o armazenamento de dados em
formato de triplas RDF e´ apontado como mais eficiente do que o armazenamento em um
modelo relacional nos contextos tratados pelos trabalhos. Os artigos, ale´m de comparar
o desempenho de seus estudos de caso com armazenamento no formato RDF e no
modelo relacional, discutem diferenc¸as de suas vocac¸o˜es. Como o foco destes trabalhos e´
a inclusa˜o do modelo de armazenamento em triplas em seus respectivos contextos, na˜o
e´ dada atenc¸a˜o especial a`s diversas ferramentas dispon´ıveis para realizar tal
armazenamento, apresentando ana´lises de desempenho simples entre uma ferramenta que utiliza o
modelo relacional e outra que utiliza o modelo de triplas.
      </p>
      <p>
        Em [
        <xref ref-type="bibr" rid="ref4">Gluz et al. 2017</xref>
        ] sa˜o realizados experimentos para analisar ferramentas de
gerenciamento de triplas RDF para testar e avaliar a efica´cia e desempenho do mesmos.
Foram analisadas as ferramentas RDF4J [
        <xref ref-type="bibr" rid="ref15">RDF4J 2019</xref>
        ] e Apache
        <xref ref-type="bibr" rid="ref9">Jena [Jena 2019</xref>
        ],
utilizando a metodologia Berlin de benchmarks, a qual na˜o obriga que os dados estejam
conforme uma representac¸a˜o ontolo´gica. Os testes foram realizados com base na simulac¸a˜o
de clientes do banco de dados, executando consultas SPARQL para busca de informac¸o˜es.
Nos testes analisados a ferramenta Jena obteve o melhor desempenho.
      </p>
      <p>
        Dois dos trabalhos relacionados identificados, [
        <xref ref-type="bibr" rid="ref14">Rajabi et al. 2015</xref>
        ] e
[
        <xref ref-type="bibr" rid="ref1">Can et al. 2017</xref>
        ], limitam-se a comparar o desempenho de uma determinada
alternativa a este modelo com opc¸ o˜es tradicionais baseadas no modelo relacional. Outros dois
trabalhos, [Bizer and Schultz 2009] e [Aluc¸ 2014], tratam efetivamente do desempenho
de ferramentas de gerenciamento, pore´m encontram-se desatualizados e tendem a focar
mais na concepc¸a˜o de um benchmark do que nas ana´lises de desempenho em si.
      </p>
      <p>
        Ja´ o trabalho de [
        <xref ref-type="bibr" rid="ref4">Gluz et al. 2017</xref>
        ] tem como foco uma avaliac¸a˜o baseada em
desempenho de duas ferramentas de gerenciamento no formato de triplas. Apesar de realizar
esta avaliac¸a˜o, o mesmo compara somente duas ferramentas, e, ainda, e´ analisado somente
a execuc¸ a˜o de duas consultas SPARQL. Ale´m disso, na˜o sa˜o realizados nenhum tipo de
teste estat´ıstico para validac¸a˜o dos testes realizados.
      </p>
      <p>Dito isso, este trabalho possui o diferencial de tratar especificamente de uma
ana´lise de desempenho de ferramentas de gerenciamento de triplas para suporte a
racioc´ınio e infereˆncia. Esta ana´lise e´ baseada no tempo de execuc¸a˜o de diferentes
consultas SPARQL, sendo analisadas cinco ferramentas populares para gerenciamento de triplas.
Ademais, e´ apresentado uma validac¸a˜o dos resultados com o uso de um teste estat´ıstico.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Ferramentas de gerenciamento de dados nativo em triplas</title>
      <p>
        Os bancos de dados de armazenamento nativo em triplas foram constru´ıdos para o
armazenamento e recuperac¸ a˜o de dados no formato RDF. Para a ana´lise desenvolvida, foram
escolhidas cinco ferramentas para armazenamento nativo de triplas, com base
principalmente em sua popularidade. As cinco ferramentas escolhidas esta˜o entre as dez primeiras
no ranking da
        <xref ref-type="bibr" rid="ref2">DB-Engine [DB-Engines 2019</xref>
        ] e sa˜o descritas a seguir.
      </p>
      <p>AllegroGraph [Allegrograph 2019] e´ uma estrutura de banco de dados e aplicac¸a˜o
de alto desempenho para o armazenamento e consulta de dados no formato de triplas.
Pode ser implantada como um servidor de banco de dados independente e oferece
interfaces para acesso remoto, onde a comunicac¸a˜o entre os processos de servidor e cliente e´
realizada pela Web.</p>
      <p>
        GraphDB (antigamente conhecido como OWLIM) [Graph
        <xref ref-type="bibr" rid="ref2">DB 2019</xref>
        ] e´ uma
ferramenta para armazenamento de dados no formato de triplas. Possui a possibilidade de
realizac¸a˜o de infereˆncia semaˆntica, permitindo aos usua´rios criar novos fatos semaˆnticos
com base em dados existentes. Tanto as consultas como as infereˆncias realizadas sobre os
dados armazenados podem ser realizadas em tempo de execuc¸a˜o.
      </p>
      <p>
        <xref ref-type="bibr" rid="ref12">MarkLogic [Marklogic 2019</xref>
        ] e´ um sistema gerenciador de dados na˜o relacional
multimodelo, capaz de armazenar nativamente documentos JSON e triplas RDF. Ale´m de
possuir um modelo de dados flex´ıvel, o MarkLogic possui uma arquitetura distribu´ıda que
permite trabalhar com uma grande quantidade de dados, mantendo consisteˆncia entre as
transac¸o˜es.
      </p>
      <p>
        <xref ref-type="bibr" rid="ref17">Stardog [Stardog 2019</xref>
        ] e´ um sistema gerenciador de banco de dados gra´fico
semaˆntico, implementado em Java. Ele possui suporte para RDF e OWL Web Ontology
Language, fornecendo capacidades de racioc´ınio e utilizando SPARQL como linguagem
de consulta. Ele possui disponibilidade de acesso aos dados utilizando a web, e plugins
que possibilitam a utilizac¸a˜o de outros frameworks.
      </p>
      <p>
        <xref ref-type="bibr" rid="ref18">Virtuoso [Virtuoso 2019</xref>
        ] e´ um sistema gerenciador de banco de dados que
combina a funcionalidade de um banco de dados relacional, XML e RDF, sendo projetado
para tirar vantagem do suporte de segmentac¸a˜o do sistema operacional e mu´ltiplos
processadores. O armazenamento de dados e´ realizado utilizando uma qua´drupla onde, ale´m
de armazenar a tripla ba´sica (sujeito, predicado e objeto), tambe´m e´ armazenado o grafo
relacionado. Com isso o Virtuoso consegue trabalhar com mu´ltiplos grafos de forma
simultaˆnea.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Benchmark utilizado</title>
      <p>O benchmark escolhido para os testes desenvolvidos neste artigo foi o Waterloo SPARQL
Diversity Test Suite (WatDiv), desenvolvido pela Universidade de Waterloo [Aluc¸ 2014].
Dentre os principais crite´rios de escolha deste benchmark, destacam-se os diferentes tipos
de consulta disponibilizados e o fato de ele ser baseado realmente em triplas. Desta forma,
permitindo que o benchmark identifique problemas de desempenho sobre ferramentas de
gerenciamento de triplas existentes que na˜o sa˜o detectados por outros benchmarks. O
WatDiv fornece um gerador de datasets com um fator de escala varia´vel, permitindo assim
a gerac¸a˜o de datasets de diversos tamanhos.</p>
      <p>Acompanha o pacote do benchmark um gerador de consultas SPARQL. As
consultas sa˜o geradas em quatros grupos: “Lineares” (L), mais simples e diretas; “Estrela” (S)
consultas que referenciam diversos nodos em um formato de estrela; “Floco de Neve”(F),
consultas que referenciam va´rios nodos que por sua vez referenciam outros nodos; e
“Complexas” (C), consultas que utilizam uma mistura dos formatos anteriores. Ao todo
sa˜o disponibilizadas vinte consultas, as quais sa˜o divididas entre os grupos da seguinte
forma: cinco Lineares; sete Estrelas; cinco Flocos de neve; e treˆs Complexas.</p>
      <p>A Figura 1 apresenta um exemplo de consulta do tipo Linear, mostrando a consulta
L1 em seu formato grafo e em sua representac¸a˜o SPARQL. Ja´ na Figura 2, e´ apresentado
um exemplo de uma consulta do tipo Estrela, apresentando a consulta S1, tambe´m em
suas formas de grafo e de consulta SPARQL. Por sua vez, a Figura 3 mostra um exemplo
de consulta do tipo Floco de neve, mostrando a consulta F2 tambe´m em seu formato de
grafo e representac¸a˜o SPARQL. Por fim, a Figura 4 apresenta um exemplo de consulta do
tipo Complexa, mostrando a consulta C2 tanto em seu formato de grafo quanto em sua
representac¸a˜o SPARQL.</p>
      <p>(a) L1 em formato de grafo</p>
      <p>(b) L1 SPARQL</p>
      <p>Figura 1. Exemplo de consulta do tipo Linear</p>
      <p>E´ importante observar que variac¸ o˜es no tamanho de uma base RDF na˜o devem
refletir significativamente no desempenho de seu acesso. O mesmo na˜o e´ va´lido para as
diferenc¸as de tempo de acesso entre consultas pertencentes aos diferentes grupos.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Testes e resultados</title>
      <p>Para realizac¸ a˜o da ana´lise das ferramentas apresentadas na Sec¸ a˜o 5, foram gerados
datasets com 1, 5 e 10 milho˜es de triplas, os quais foram inseridos nas cinco ferramentas
analisadas. Com o intuito de analisar o desempenho das ferramentas optou-se pela execuc¸a˜o
de doze consultas, sendo treˆs de cada grupo.</p>
      <p>(a) S1 em formato de grafo</p>
      <p>(b) S1 SPARQL</p>
      <p>Figura 2. Exemplo de consulta do tipo Estrela
(a) F2 em formato de grafo</p>
      <p>(b) F2 SPARQL</p>
      <p>Figura 3. Exemplo de consulta do tipo Floco de neve</p>
      <p>Desta forma, considerando todos os valores permitidos para cada varia´vel, teria-se
um conjunto de 180 estudos de caso, cada um representado por Pi = (d; f; c), onde:
d: informa o tamanho do dataset utilizado (1, 5 ou 10 milho˜es);
f : identifica a ferramenta utilizada (Alegrograph, GraphDB, Stardog, Virtuoso e</p>
      <p>MarkLogic);
c: informa a consulta utilizada, sendo treˆs de cada grupo ( Linear - L1, L4 e L5,
Estrela - S2, S5 e S7, Floco de neve - F2, F4 e F5 e Complexa - C1, C2 e C3 )
Devido a limitac¸o˜es de sua licenc¸a gratuita, os testes com 10 milho˜es de triplas
na˜o foram realizados na ferramenta AllegroGraph. Com isso, ha´ duas possibilidades para
d (1, 5), cinco para f e doze para c, mais os executa´veis de quatro ferramentas para d com
valor de 10 milho˜es. Desta forma, chega-se ao total de P = fP1; P2; :::P168g executa´veis.
Cada combinac¸a˜o dos valores permitidos foi executada 30 vezes, desta forma, permitindo
realizar a ana´lise dos dados coletados com uma maior precisa˜o. Assim, foram coletados
168 30 = 5040 tempos de execuc¸o˜es individuais.</p>
      <p>(a) C2 em formato de grafo
(b) C2 SPARQL</p>
      <p>Figura 4. Exemplo de consulta do tipo Complexa</p>
      <p>Os tempos me´dios de execuc¸ a˜o em segundos para cada tipo de consulta,
“Lineares” (L), “Estrela” (S) ,“Floco de Neve”(F) e “Complexas” (C) sa˜o apresentados na
respectivamente nas figuras 5, 6, 7 e 8.</p>
      <p>Figura 5. Tempo de execu c¸a˜ o das consultas do tipo L.</p>
      <p>Os desempenhos com a ferramenta MarkLogic na˜o sa˜o apresentados pois, ale´m de
ter um desempenho muito inferior a`s demais ferramentas, o desvio padra˜o se apresentou
muito elevado.</p>
      <p>Com os resultados apresentados, e´ poss´ıvel concluir que a ferramenta Virtuoso
apresentou os melhores resultados de desempenho na grande maioria das consultas.
Tambe´m e´ poss´ıvel observar que as ferramentas Virtuoso e Stardog apresentaram boa
escalabilidade, com baixa variac¸a˜o de tempo de execuc¸ a˜o entre os diferentes tamanhos de
base de dados, enquanto que as ferramentas AllegroGraph e GraphDB apresentaram uma
escalabilidade tambe´m boa, pore´m inferior as duas ferramentas anteriormente
mencionadas.</p>
      <p>Esta conclusa˜o foi validada aplicando o teste t de Student com intervalo de
confianc¸a de 95% entre as cinco ferramentas, em cada um dos 3 tamanhos e em cada
Figura 6. Tempo de execu c¸a˜ o das consultas do tipo S.</p>
      <p>Figura 7. Tempo de execu c¸a˜ o das consultas do tipo F.
uma das 12 consultas. Como resultados destes testes foram detectados que os
resultados da consulta C1 com o tamanho 5M entre Stardog e AllegroGraph e entre Stardog
e GraphDB na˜o obtiveram diferenc¸as estat´ısticas significativas. Ainda, a consulta C3
para o tamanho 1M entre Stardog e GraphDB tambe´m na˜o obteve diferenc¸as estat´ısticas
significativas. Os demais resultados apresentaram diferenc¸as estat´ısticas significativas,
assegurando os resultados obtidos e apresentados nas figuras 5, 6, 7 e 8.</p>
      <p>Tambe´m pode ser notado que o Stardog obteve resultados muito similares em
todos os testes realizados, tendo sido a ferramenta com menor alterac¸a˜o de desempenho
entre tamanhos diferentes de base de dados. Ale´m dos testes entre as ferramentas, foi
analisado se o tamanho da base impactava no desempenho das mesmas. Para isso, foi
realizado o teste t entre as me´dias de execuc¸a˜o de cada ferramenta comparando o tamanho</p>
      <p>Figura 8. Tempo de execu c¸a˜ o das consultas do tipo C.
1M com 5M e 5M com 10M.</p>
      <p>As consultas que na˜o apresentaram diferenc¸as significativas sa˜o apresentadas na
Tabela 1. Pode-se observar que a ferramenta AllegroGraph foi a que apresentou menor
n u´mero de consultas com diferenc¸as na˜o significativas. No entanto, relembra-se que nesta
ferramenta na˜o foi poss´ıvel realizar consultas em uma base de tamanho de 10M. A
ferramenta que apresentou maior n u´mero de diferenc¸as na˜o significativas foi a MarkLogic,
pois ale´m de apresentar tempos de execuc¸a˜o altos, tambe´m apresentou valores muito altos
para os desvios padr o˜es anotados.</p>
      <p>Embora o motivo de a ferramenta Virtuoso ter apresentado os melhores
desempenhos em todos os testes na˜o tenha sido um foco do trabalho, uma hip o´tese bastante
prova´vel para este fato e´ sua estrate´gia de armazenamento em qua´drupla. Com essa
estrate´gia, a ferramenta armazena na˜o apenas a tripla ba´sica (sujeito, predicado, objeto) mas
tambe´m o grafo relacionado da mesma. O armazenamento deste grafo permite que o
Virtuoso acesse o mesmo diretamente quando deseja realizar uma consulta, fazendo com que
o tempo para a construc¸a˜o do mesmo, gasto pelas demais ferramentas, seja economizado.</p>
      <p>Tabela 1. Consultas que na˜ o apresentaram diferen c¸as significativas</p>
      <p>Com a ana´lise dos testes realizados, e´ poss´ıvel constatar que a ferramenta que
apresenta a melhor escalabilidade em relac¸ a˜o tanto ao tamanho da base de dados quanto
as diferentes consultas foi a Stardog. Pore´m, destaca-se que apesar da ferramenta Virtuoso
variar um pouco mais que a Stardog, ela obteve os melhores resultados na grande maioria
dos testes realizados, sofrendo pouca variac¸ a˜o no desempenho com o aumento no tamanho
da base de dados.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Considerac¸o˜ es finais</title>
      <p>Este trabalho realizou, primariamente, uma identificac¸a˜o de ferramentas para
armazenamento de dados em formato de triplas, um formato altamente apropriado para o
armazenamento de dados ontolo´gicos. Em conjunto, o trabalho tambe´m realizou uma comparac¸a˜o
de desempenho relacionada ao tempo de execuc¸a˜o de consultas SPARQL entre cinco
ferramentas de armazenamento em formato de triplas: AllegroGraph, GraphDB,
MarkLogic, Stardog e Virtuoso. Foi apresentada uma descric¸a˜o de cada ferramenta analisada e
tambe´m do benchmark utilizado para a execuc¸a˜o dos testes, o WatDiv. Os testes
consideraram o tempo de execuc¸ a˜o, em segundos, de doze diferentes consultas em treˆs tamanhos
de bases de dados.</p>
      <p>Ao fim dos testes foi poss´ıvel concluir que a ferramenta Virtuoso foi a que
mostrou o melhor desempenho geral, apresentando o tempo de execuc¸a˜o mais baixo na grande
maioria das consultas, apesar de apresentar uma flutuac¸a˜o no desempenho um pouco
maior que Stardog quando varia-se a quantidade de dados tratada.</p>
      <p>Estes resultados foram importantes nas deciso˜es de pesquisa a serem tomadas pelo
grupo, pois forneceram embasamento para a escolha da ferramenta mais adequada para
gerenciar o modelo de triplas implementado no middleware para Computac¸a˜o Ub´ıqua
desenvolvido pelo grupo. Esta escolha impacta diretamente nos servic¸os cientes de contexto
oferecidos, pois as aplicac¸ o˜es enviam continuamente requisic¸o˜es de consulta aos
contextos gerenciados pelo middleware para sua tomada de decisa˜o, sendo importante se ter o
menor tempo poss´ıvel de acesso aos dados. Ale´m disso, a identificac¸ a˜o e a utilizac¸a˜o da
ferramenta de armazenamento adequada para as ontologias utilizadas pelo grupo afetam
diretamente a capacidade de realizar infereˆncia nas mesmas, facilitando e agilizando a
tarefa.</p>
      <p>Como trabalhos futuros destaca-se a continuidade da pesquisa ligada a provimento
de servic¸os cientes de contexto, aplicando a ferramenta Virtuoso para acesso aos dados do
modelo de triplas. Onde esta ferramenta sera´ utilizada para gerenciar a persisteˆncia dos
dados providos pela ontologia utilizada em um ambiente u-learning, utilizando tambe´m
uma estrate´gia de aprendizado multimodelo.</p>
    </sec>
    <sec id="sec-7">
      <title>Agradecimentos</title>
      <p>O presente trabalho foi realizado com apoio da Coordenac¸a˜o de Aperfeic¸oamento de
Pessoal de N´ıvel Superior - Brasil (CAPES) - Co´digo de Financiamento 001 e da FAPERGS
(Programa Pesquisador Gau´cho - PqG).</p>
    </sec>
    <sec id="sec-8">
      <title>Refereˆncias</title>
      <p>Allegrograph (2019). Acesso em maio 2019. Dispon´ıvel em: franz.com/agraph/
allegrograph/.</p>
      <p>Aluc¸, G. (2014). Diversified Stress Testing of RDF Data Management Systems. Master’s
thesis, David R. Cheriton School of Computer Science, Waterloo, ON, Canada.
Behr, A., Primo, T., and Viccari, R. (2016). Towards educational metadata
interoperability on semantic web. In Brazilian Symposium on Computers in Education (Simpo´sio
Brasileiro de Informa´tica na Educac¸a˜o-SBIE), volume 27, page 1026.</p>
      <p>BioOntology (2011). Comparison of Triple Stores. Dispon´ıvel online em: &lt;https://
www.bioontology.org/wiki/images/6/6a/Triple_Stores.pdf&gt;.
acesso em novembro 2016.</p>
      <p>Bizer, C. and Schultz, A. (2009). The berlin sparql benchmark.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Can</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sezer</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bursa</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Unalir</surname>
            ,
            <given-names>M. O.</given-names>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>Comparing relational and ontological triple stores in healthcare domain</article-title>
          .
          <source>Entropy</source>
          ,
          <volume>19</volume>
          (
          <issue>1</issue>
          ):
          <fpage>30</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>DB-Engines</surname>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>DB-Engines Ranking of RDF Stores</article-title>
          .
          <article-title>Acesso em maio 2019</article-title>
          . Dispon´ıvel em: https://db-engines.com/en/ranking/rdf+store.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Fujimmoto</surname>
            ,
            <given-names>M. M. T.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Canedo</surname>
            ,
            <given-names>E. D.</given-names>
          </string-name>
          (
          <year>2018</year>
          ).
          <article-title>Modelo conceitual de dados baseado em ontologia: Estudode caso cgu</article-title>
          .
          <source>In ONTOBRAS.</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Gluz</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Machado</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , and Gala˜o,
          <string-name>
            <surname>M. C.</surname>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>Avaliac¸a˜o de tecnologias de bancos de dados semaˆnticos para a construc¸ a˜o de um sistema inteligente de gesta˜o de conteu´dos de aprendizagem: Experimentos e resultados</article-title>
          . In VI Congresso Brasileiro de Informa´
          <article-title>tica na Educac¸a˜o (CBIE</article-title>
          <year>2017</year>
          )
          <article-title>- XXVIII Simpo´sio Brasileiro de Informa´tica na Educac¸ a˜o (SBIE</article-title>
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Gluz</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Vicari</surname>
            ,
            <given-names>R. M.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Rumo a uma plataforma semaˆntica de conteu´dos educacionais digitais: o modelo ontolo´gico. In Brazilian Symposium on Computers in Education (Simpo´sio Brasileiro de Informa´tica na Educac¸a˜o-SBIE)</article-title>
          , volume
          <volume>25</volume>
          , page 993.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Gonza</surname>
          </string-name>
          ´lez, G., Dura´n, E., and
          <string-name>
            <surname>Amandi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2016</year>
          ).
          <article-title>Context ontologies in ubiquitous learning environments</article-title>
          . In Montes y Go´mez,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Escalante</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. J.</given-names>
            ,
            <surname>Segura</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            , and
            <surname>Murillo</surname>
          </string-name>
          , J. d. D., editors,
          <source>Advances in Artificial Intelligence - IBERAMIA</source>
          <year>2016</year>
          , pages
          <fpage>391</fpage>
          -
          <lpage>403</lpage>
          , Cham. Springer International Publishing.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>GraphDB</surname>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>Acesso em maio 2019. ontotext</article-title>
          .com/.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>A. J. G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Groth</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loizou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Askjaer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brenninkmeijer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Burger</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chichester</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Evelo</surname>
            ,
            <given-names>C. T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goble</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harland</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pettifer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thompson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Waagmeester</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>A. J.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Applying linked data approaches to pharmacology: Architectural decisions and implementation</article-title>
          . Semant. web,
          <volume>5</volume>
          (
          <issue>2</issue>
          ):
          <fpage>101</fpage>
          -
          <lpage>113</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Jena</surname>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>Acesso em maio 2019</article-title>
          . Dispon´ıvel em: http://jena.apache.org/.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Lunardi</surname>
            ,
            <given-names>G. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Machado</surname>
            ,
            <given-names>G. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Machado</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and de Oliveira,
          <string-name>
            <surname>J. P. M.</surname>
          </string-name>
          (
          <year>2018</year>
          ).
          <article-title>Um modelo ontolo´gico probabil´ıstico para assistir pessoascom decl´ınio cognitivo</article-title>
          .
          <source>In ONTOBRAS.</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Maharajan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>Performance of native SPARQL query processors</article-title>
          .
          <source>Master's thesis</source>
          , Department of Information Technology, Uppsala University.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Marklogic</surname>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>Acesso em maio 2019</article-title>
          . Dispon´ıvel em: https: //www.marklogic.com/product/marklogic-database-overview/ database-features/semantics/.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Pierin</surname>
            ,
            <given-names>F. L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sichman</surname>
            ,
            <given-names>J. S.</given-names>
          </string-name>
          (
          <year>2018</year>
          ).
          <article-title>Integraweb: uma arquitetura baseada em mapeamentossemaˆnticos</article-title>
          .
          <source>In ONTOBRAS.</source>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Rajabi</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sicilia</surname>
          </string-name>
          , M.-A., and
          <string-name>
            <surname>Sanchez-Alonso</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2015</year>
          ).
          <article-title>Interlinking educational resources to web of data through IEEE LOM</article-title>
          .
          <source>Computer Science and Information Systems</source>
          ,
          <volume>12</volume>
          (
          <issue>1</issue>
          ):
          <fpage>233</fpage>
          -
          <lpage>255</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>RDF4J</surname>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>Acesso em maio 2019</article-title>
          . Dispon´ıvel em: http://rdf4j.org/.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Santos</surname>
            ,
            <given-names>L. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miranda</surname>
            ,
            <given-names>G. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campos</surname>
            ,
            <given-names>S. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barcellos</surname>
            ,
            <given-names>M. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Souza</surname>
            ,
            <given-names>V. E. S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Almeida</surname>
            ,
            <given-names>J. P. A.</given-names>
          </string-name>
          (
          <year>2018</year>
          ).
          <article-title>Using an ontology network for data integration: A case in the public security domain</article-title>
          .
          <source>In ONTOBRAS.</source>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Stardog</surname>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>Acesso em maio 2019</article-title>
          .
          <article-title>Dispon´ıvel em: stardog</article-title>
          .com/.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Virtuoso</surname>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>Acesso em maio 2019. openlinksw</article-title>
          .com/.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>