Este documento evalúa diferentes bases de datos RDF que soportan el lenguaje de consulta SPARQL. Describe las características y rendimiento de bases de datos como AllegroGraph, Jena, Open Anzo, Oracle Semantic Technologies y Sesame. Las pruebas de rendimiento muestran que Jena y Oracle Semantic Technologies cumplen mejor con los criterios definidos para el almacenamiento y recuperación eficiente de grandes conjuntos de datos RDF.
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Evaluación de base de datos rdf
1. Evaluación de Soluciones actuales bases de datos RDF
Los datos no estructurados segeneran,distribuyen y sealmacenan en todo el mundo cada vez a un mayor
ritmo, como carecen de XML, en expresar significados semánticos y coherencias, se ha mejorado estos
datos mediante el Resource Description Format (RDF) y el lenguaje de consulta SPARQL asociado.
En este contexto, se evalúa las bases de datos RDF existentes actualmente que soportan el lenguaje de
consulta SPARQL.
1. INTRODUCCIÓN
La producción de datos no estructurados, especialmente en el ámbito multimedia es angustiosa.La
anotación de datos no estructurados se ha convertido en una necesidad con el fin de aumentar la
eficiencia de recuperación durante la búsqueda. Extensible Markup Language (XML), debido a sus
características de interoperabilidad, se ha convertido en un estándar para el uso de formatos de
descripción en varios dominios. Variasbases dedatos XMLy lenguajes deconsulta, sehan introducido
con el fin de mejorar las capacidades dealmacenamiento y recuperación dedocumentos de instancia
XML.
La descripción basada en esquemas de XML tiene sus ventajas en la expresión de la información
estructural y descriptiva.Sin embargo,careceen la expresión decoherencias semánticasy significado
semántico en las descripciones de contenido.
La contribución principal es RDF y su casi lenguajedeconsulta SPARQL, ambos,son recomendaciones
de W3C, tal como XML.
Por lo tanto este contexto ofrece una evaluación de las bases de datos RDF que apoyan el lenguaje
de consulta SPARQL. La evaluación secentra en las característicasgenerales,como detalles sobreel
productor del software y la información de licencia.
2. TRABAJO RELACIONADO
2.1. Enfoques de representación de datos RDF y almacenamiento
Los datos RDF pueden ser representados en diferentes formatos:
- Notación 3 (N3): Es un lenguaje muy complejo con el fin de almacenar RDF-Triples.
- N-Triples: Es una recomendación de la W3C, y es un subconjunto de N3 a fin de reducir su
complejidad.
- Terse RDF TripleLanguage (Turtle): Fue inventado con el fin de ampliar laexpresividad deN-Triples.
- RDF / XML [18] define una sintaxis XML para la representación RDF-Triples.
Tres diferentes enfoques fundamentales de almacenamiento se pueden identificar en la actualidad:
- En memoria de almacenamiento:Asigna una cierta cantidad dela memoria principal disponiblepara
almacenar los datos RDF, está destinado a ser utilizado con pocos datos RDF.
- Almacenamiento nativo: Es una manera de ahorrar datos RDF de forma permanente en el sistema
de archivos.
- Almacenamiento de base de datos relacional: Hace uso de los sistemas de bases de datos
relacionales como por ejemplo PostgreSQL, para almacenar datos RDF de forma permanente.
2. 2.2. Bases de datos RDF
Para recuperar losdatos almacenados,sepueden utilizar,RDF Query Language(RQL),RDF Data Query
Language (RDQL) y, finalmente, la Recomendación del W3C Protocolo SPARQL.
2.3. Pruebas de rendimiento RDF
En esta sección se ofrece un resumen de tres puntos de referencia de rendimiento prometedores:
Berlín SPARQL Benchmark (BSBM), proporciona un punto de referencia utilizando SPARQL,incluyeun
generador de datos y una seriede pruebas.El generador de datos es capazdeconstruir una cantidad
escalable de datos de prueba en formato RDF / XML.
Lehigh University Benchmark (LUBM), especifica los datos de prueba por una ontología nombrados
Univ-Bench. Representa una universidad con profesores, estudiantes, cursos y así sucesivamente.
SP2B SPARQL Performance Benchmark (SP2B), consta de dos componentes principales. El primer
componente es un generador de datos, es decir crea automáticamente los datos de la evaluación,el
generador de datos utiliza varias ontologías conocidas, Friend of a Friend (FOAF). El segundo
componente consta de consultas SPARQL, que están diseñados específicamente para el caso de uso
DBLP.
3. PRESELECCIÓN DE LAS TECNOLOGÍAS EN EL ALCANCE
Todas las bases de datos deberán tener la capacidad de interpretar las consultas SPARQL, la
evaluación se basa en el enfoque de almacenamiento relacional.
4. CRITERIOS DE EVALUACIÓN
La evaluación delas bases dedatos RDF sebasa en tres categorías. La primera categoría se centra en
la información general acerca de las tecnologías:
El fabricantedel softwareproporciona detallesacercade la aplicación del marco.Licenciasasociadas,
la documentación del proyecto debe ser bastante completa, además que debe tener tutoriales
disponibles.
Los aspectos de la segunda categoría examinan aspectos arquitectónicos, como:
La extensibilidad quees un criterio muy importante para la integración delas nuevas características,
el panorama arquitectónico ofrece una visión de la estructura del marco y el lenguaje de
programación utilizado.
La tercera categoría se basa en la expresividad de consultas SPARQL. SPARQL se compone de cuatro
diferentes formas de consulta: SELECT, ASK, CONSTRUCT y DESCRIBE. Esta evaluación se limita a la
consulta de tipo SELECT.
5. EVALUACIÓN DE LAS BASES DE DATOS
Esta sección cubre la evaluación de AllegroGraph, Jena, Open Anzo, Oracle’s Semantic Technologies
y Sesame.
5.1. AllegroGraph
El desarrollador del software de AllegroGraph RDF Store es Franz Inc. Las licencias asociadas de
AllegroGraph son de dos tipos,versión pagada y gratuita,que se limita a un máximo de 50 millones
de triples. La documentación del producto es bastante completa. Varios ejemplos Java se pueden
encontrar en el sitio web junto con el Javadoc.
3. El soporte para AllegroGraph es ofrecido por FranzInc.de manera comercial ,ofrecen formación para
el software, seminarios y servicios de consultoría, que también incluye codificación específica de la
aplicación si es necesario.
AllegroGraph muestra una arquitectura cliente-servidor,El softwareestá desarrollado especialmente
para sistemas de 64 bits. El software se puede acceder utilizando Java, C #, Python o Lisp y existen
enlaces para Sesameo integración con Jena y también una opción para acceder AllegroGraph a través
de HTTP.
El lenguaje de consulta del software es SPARQL, los formatos de datos RDF interpretables de
AllegroGraph son RDF/XML y N-Triples.
5.2. Jena
Los desarrolladores de Jena son HP, Jena fue desarrollado durante la Investigación de la Web
Semántica. La licencia asociada del proyecto de Jena es completamente de código abierto. La
documentación de Jena sepuede encontrar en la página del proyecto y es ampliamentecompleta. La
documentación cubre las partes centrales de Jena proporcionando información básica sobre el
marco,Javadocs y varios tutoriales,respectivamente.La versión descargabledeJena también incluye
ejemplos de código.
El paquete de descarga deJena incluyelos archivosdeorigen detodo el proyecto Jena implementado
en Java. Los datos almacenados pueden ser recuperados a través de consultas SPARQL.Las consultas
SPARQL se pueden ejecutar utilizando aplicaciones Java o por el uso de la interfaz gráfica Joseki. La
API proporciona métodos para trabajar en ontologías de diferentes formatos, como OWL o RDFS.
Jena’s Core RDF Model API ofrece métodos para crear,manipular,navegar,leer, escribir o consultar
datos RDF.
Además de SPARQL, RDQL es un lenguajede consultas admitido.Jena utiliza lectores y escritores para
RDF/XML, N-Triples y N3, que son formatos de datos RDF.
5.3. Open Anzo
Open Anzo es el procesamiento de Boca y otros componentes producidos por IBM Semantic Layered
Research Platform. Tiene una buena documentación del producto, guías de programador y
documentos de diseño. También hay documentos disponibles quedescriben las característicasclave
de una próxima versión de Open Anzo. Open Anzo es de código abierto.
Open Anzo se puede utilizar con tres modos de funcionamiento. Es posible incrustar en una
aplicación, que se ejecute como un servidor remoto o usarlo localmente. El API Anzo es la basepara
describir la estructura de datos RDF. El componente gráfico permite al usuario acceder a los datos
RDF, la API AnzoClient encapsula condicionespreviasdetransacciones y eventos de conectividad a la
base de datos. Open Anzo admite consultas SPARQL y capacidades debúsqueda de texto completo,
que también utiliza un sistema de índice con el fin de mejorar el proceso de recuperación. Los
formatos de datos RDF compatibles son N3, N-Triples, RDF/XML y TriX.
5.4. Oracle’s Semantic Technologies
El desarrollador de software es Oracle, uno de los principales jugadores en el negocio de base de
datos.La Semantic add-on es el adaptador deJena 2.0 para bases dedatos Oracle. Implementa el API
de Jena para gráficos y modelo. La documentación del producto se puede encontrar en Oracle
Semantic Technologies Center y ofrece ejemplos de código, los escenarios de uso, material de
capacitación y documentación para los administradores, así como desarrolladores .
El soporte está disponible a través del foro de Oracle de forma gratuita, con excelentes tiempos de
respuesta. Oraclesoporta grandes gráficos de miles de millones de triples,que se pueden consultar
por SPARQL como sintaxis y / o SQL. El modelo de datos RDF incluye capacidades de inferencia
4. mediante RDFS, su subconjunto RDFS ++, OWL, sus subconjuntos OWLSIF y OWLPrime y reglas
definidas por el usuario.
5.5. Sesame
El desarrollador de software Sesame es Aduna, se inició como un prototipo del proyecto de la EU
project On-To-Knowledge y ahora es desarrollado por Aduna en una colaboración con la NLnet
Fundation.
Tiene licencia decódigo abierto.La documentación del producto de sesame está bien organizado.Los
usuarios pueden acceder a Javadocs y tutoriales validados con ejemplos de código, además
proporciona apoyo en forma deun foro activo accesibleen la página del proyecto y una lista decorreo
basado en SourceForge.
Para utilizar Sesame,serecomienda ApacheTomcat. El paquete de sesamecontiene dos aplicaciones,
web, el servidor de sesameque almacena los datos RDF y la OpenRDF como una interfazgráfica para
el servidor,mediante este, sepuede manejar repositorios, cargar losdatos RDF y ejecutar consultas.
Como alternativa a SPARQL Sesame es capazde interpretar el RDF Query Language Sesame (SeRQL)
integrado para mejorar la funcionalidad de RQL y RDQL.
Sesame ofrece programas de análisis para diversos formatos de RDF conocido N3, N-Triples,
RDF/XML, Turtle y dos nuevos formatos TriG y Trix.
6. LAS PRUEBAS DE RENDIMIENTO
Las pruebas de rendimiento de AllegroGraph, Jena, Open Anzo, Oracle’s Semantic Technologies y
Sesame se llevan a cabo de la siguiente manera. Con el fin de crear tiendas triples persistentes en
Jena y sesame, se utiliza PostgreSQL. Todas las pruebas de rendimiento se llevan a cabo con las
configuraciones estándar de los marcos y backends de bases de datos.
Las preguntas se pueden clasificar en dos grupos de acuerdo a la complejidad esperada.Por FILTRO,
OPCIONAL y UNIÓN, que son similares a los paradigmas de SQL conocidos (SELECT, UNIÓN). Que
tienen una menor influencia en el rendimiento de ejecución de la consulta.En cambio con DISTINCT,
esta afectará seriamente la ejecución de consultas
Los datos de la evaluación fueron creados en el formato de datos N3 con el SPB generador de datos.
Un conjunto de datos con cerca de100.000 tripletas (10.3 MB) con otros 1.000.000 tripletas (107 MB)
y una última con 5.000.000 tripletas (538 MB). Para importar los datos N3 en AllegroGraph, no fue
capaz de analizar el conjunto de datos con 5.000.000 triples .
Por lo tanto, este conjunto de datos no puede ser probado con AllegroGraph. La parte siguiente
muestra los resultados dela evaluación,quesecentra en la consulta y en su tiempo de ejecución, en
donde se toma en cuenta la ejecución dela consulta y la transferenciadel conjunto deresultados del
servidor al cliente.Los tiempos de ejecución muestran claramenteuna gran diferencia en la ejecución
de la consulta entre Jena, Open Anzo, Oracle’s Semantic Technologies, Sesame y AllegroGraph, los
cuales son similares a los tiempos de ejecución logrados para in-memory y almacenamiento nativo.
7. CONCLUSIÓN
Las pruebas de rendimiento muestran que AllegroGraph no está cumpliendo con los criterios
definidos, y no es extensible, ni los tiempos de ejecución son satisfactorios. Jena y Sesame son un
poco extensibles. OracleSemantic Technologies está utilizando el marco de Jena pero viene con los
procedimientos de bases de datos, los cuales tienen un impacto en el rendimiento. En contraste con
esto, Open Anzo sirve para los datos pequeños, pero no es muy bueno en el manejo de grandes
cantidades de datos RDF. En cuanto a Jena y Oracle Semantic Technologies, si cumplen con los
criterios elegidos.