DBOWL: Persistencia y Escalabilidad de Consultas y Razonamientos en la Web Semántica



Documentos relacionados
Base de datos relacional

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

CAPITULO 1 INTRODUCCIÓN. Puesta en Evidencia de un circulo virtuoso creado por los SRI entre los Mercados Financieros y las Empresas

Curso: Arquitectura Empresarial basado en TOGAF

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)

BASE DE DATOS RELACIONALES

ISO 17799: La gestión de la seguridad de la información

Conclusiones. Particionado Consciente de los Datos

App para realizar consultas al Sistema de Información Estadística de Castilla y León

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

NUEVAS SOLUCIONES y CAMBIOS EN LA GESTION DEL NEGOCIO. JOSE LUIS LENCE Socio Director de Gesfarm Consultoria Farmacias

A. Subcampos basados en el contenido.

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

MODELOS DE RECUPERACION

Sistema de Mensajería Empresarial para generación Masiva de DTE

Propuesta de Proyecto de Trabajo de Grado. Tema: Herramienta de Soporte a la Ingeniería de Requerimientos para Aplicaciones Web

5.1. Organizar los roles

QUÉ ES Y QUÉ ESTUDIAR PARA SER PROGRAMADOR WEB? ITINERARIO DE FORMACIÓN, PLAN DE ESTUDIOS O DE CARRERA. (CE00302D)

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES)

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos

Cómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000

coie UNIVERSIDAD COMPLUTENSE DE MADRID

forma de entrenar a la nuerona en su aprendizaje.

TRABAJO COOPERATIVO EN ROBOTS

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

AMBIENTALIZACION DE LOS PROYECTOS DE ARQUITECTURA

FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B

PROGRAMAS OFICIALES DE POSGRADO

PARA COMERCIANTES Y AUTÓNOMOS. INFORMACIÓN SOBRE TARJETAS DE CRÉDITO.

Introducción a los certificados digitales

Artículo V522. Introducción a Google Analytics

La siguiente generación de soluciones de FP&A basadas en la nube Sencillez, colaboración y tiempo real

Diseño y desarrollo de una aplicación informática para la gestión de laboratorios

Es una persona que ayudará a que los derechos de las personas con discapacidad se hagan realidad

PROGRAMA DE REFUERZO EDUCATIVO EN PRIMARIA

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

Antoni Miró. Experiencia previa y formación

QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A)

Licenciatura en Computación

3º Grado Educación Infantil Bilingüe Números. Método Singapur y F. Bravo E R

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Análisis de esquemas XML [1]

6. LOS PROCEDIMIENTOS Y CRITERIOS DE EVALUACIÓN, PROMOCIÓN DEL ALUMNADO Y TITULACIÓN DEL ALUMNADO.

El proceso de edición digital en Artelope y CTCE

DIAGRAMA DE CLASES EN UML

Revisión del Universo de empresas para la Estimación de los Datos Del Mercado Español de Investigación de Mercados y Opinión.

Caso práctico de Cuadro de Mando con Tablas Dinámicas

Diferencias entre nivel 2 y nivel 3 y una estrategia de implantación

La Dirección Comercial

LA REVOLUCIÓN DE LOS SISTEMAS DE INFORMACIÓN (S.I.) Introducción PORQUÉ SISTEMAS DE INFORMACIÓN? El Competitivo Entorno de los Negocios

Colegio Alexander von Humboldt - Lima. Tema: La enseñanza de la matemática está en un proceso de cambio

Bioética y toma de decisiones en políticas públicas

El cuadrante del éxito en la Empresa

GUÍA PARA LA FORMULACIÓN PROYECTOS

LOS ANCIANOS Y LA SOLEDAD

INTRODUCCIÓN A LA CONTABILIDAD DE COSTOS DEFINICIÓN

SELECCIÓN N Y DISEÑO DEL PRODUCTO Y SERVICIO

Para llegar a conseguir este objetivo hay una serie de líneas a seguir:

Capítulo 8 - Reglas adicionales para ISO9001: 2008

RIESGO Y RENTABILIDAD DE LA EMPRESA (Riesgo y Rendimiento) Qué es lo que determina el rendimiento requerido de una inversión?

CAPITULO I INTRODUCCIÓN

Siempre fue importante saber donde estábamos, donde estaban los lugares importantes, nuestra casa Antes, el hombre usaba las estrellas para orientarse

Encuentran nuevas propiedades ópticas que podrían revolucionar el mundo de la tecnología

VALORES CORPORATIVOS GRIFOLS

1. Introducción al evaluación de proyectos

Gabinete Jurídico. Informe 0183/2009

La carta de Domain Renewal Group. Entre la estafa y la tomadura de pelo. (CR00106A)

AHORRO ENERGÉTICO DOMÉSTICO. NIVEL DE IMPLANTACIÓN.

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Congreso de Colegios Católicos, Una pasión que se renueva. Pontificia Universidad Católica de Chile. Septiembre 2015.

Transparencia Salamanca: Portal de Transparencia en pequeños municipios.

Actualización de versión a Bizagi 10.x

ESPÍRITU EMPRESARIAL EN ESPAÑA, EUROPA Y ESTADOS UNIDOS

Cuestionario sobre marketing 2.0

Complejo Deportivo UCA. República Saharaui s/n Puerto Real (Cádiz) Tel Fax

DATOS IDENTIFICATIVOS:

QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros.

Mejorando las ventas utilizando el conocimiento sobre nuestros clientes

Lección 24: Lenguaje algebraico y sustituciones

Problemas y ventajas de medir con BIM

MÁSTER EN PROFESORADO DE EDUCACIÓN SECUNDARIA

Construcción social de la masculinidad

Nota 2. Luis Sierra. Marzo del 2010

Una de cada dos empresas españolas reconoce tener hasta un 10% de trabajadores presentistas

Las razones financieras ayudan a determinar las relaciones existentes entre diferentes rubros de los estados financieros

La ventana de Microsoft Excel

IMPAKTO CONSULTORA EN RECURSOS HUMANOS. Consultora en RRHH enfocada en proyectos de Desarrollo Organizacional,

Biografía lingüística

Informe de Seguimiento nº. 01/2011 del expediente nº. 583

Análisis del Informe de la Unión de Consumidores de Málaga: El sistema tarifario del ciclo del agua en la ciudad de Málaga

TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS

SEGUIMIENTO EDUCATIVO. Comunicaciones

LA ESTRATEGIA NACIONAL DE BOSQUES Y CAMBIO CLIMÁTICO

Base de datos en la Enseñanza. Open Office

Esperanzas de vida en salud

ENCUESTA DE SATISFACCIÓN I ED. MÁSTER DE UNIDADES CLÍNICAS

INTrodUCCIÓN El museo Como recurso EdUCATIvo

8. RESULTADOS PREVISTOS

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

PROYECTO DE CALIDAD TURÍSTICA

Transcripción:

DBOWL: Persistencia y Escalabilidad de Consultas y Razonamientos en la Web Semántica Maria del Mar Roldán-García, Jose F. Aldana-Montes Universidad de Málaga, Departamento de Lenguajes y Ciencias de la Computación, Málaga 29071, España, (mmar,jfam)@lcc.uma.es, WWW home page: http://khaos.uma.es Resumen En este artículo presentamos DBOLW, un razonador persistente para ontologías OWL. El objetivo de esta propuesta es proporcionar a los desarrolladores de aplicaciones en la Web Semántica un razonador que les permita consultar y razonar sobre ontologías de gran tamaño (ontologías con grandes cantidades de instancias), y que proporcione escalabilidad a dichos razonamientos y consultas. Por tanto, nuestra investigación está más enfocada a la implementación de razonamientos sobre instancias. DBOWL utiliza una base de datos relacional para almacenar las ontologías y para implementar los razonamientos, en contraposición a los razonadores de lógicas de descripciones que utilizan memoria principal. Por otro lado, se usa un razonador de lógicas de descripciones para inferir información sobre la estructura de la ontología y almacenarla en la base de datos. Nuestro objetivo es demostrar que se puede implementar un razonador para OWL que sea de utilidad en aplicaciones reales, por ejemplo, en aplicaciones biológicas. 1. Descripción del problema La aparición del concepto de Web Semántica ha revolucionado la investigación en diversos campos, siendo los más destacables las Bases de Datos y la Inteligencia Artificial (AI). Las ontologías juegan un papel fundamental en el desarrollo de esta nueva generación de aplicaciones, y hasta el momento, en el campo de la Inteligencia Artificial y Representación del Conocimiento (KR) se ha estudiado la representación del conocimiento mediante ellas y se han definido mecanismos de razonamiento correctos y completos que permiten inferir nuevo conocimiento a partir del conocimiento representado explícitamente. Las lógicas de descripciones [1] son el formalismo utilizado para representar el conocimiento mediante ontologías. Son varios los problemas que aparecen al intentar aplicar los resultados obtenidos por esta comunidad a la Web Semántica. En primer lugar, los algoritmos de razonamiento están orientados a memoria principal y no tienen en cuenta grandes volúmenes de información, es decir, grandes cantidades (millones) de instancias, y por tanto, no son escalables. Por otro lado, la mayoría del esfuerzo durante las últimas décadas se ha dedicado al desarrollo de algoritmos de razonamiento sobre la estructura de la ontología (lo que se denomina

2 en lógica de descripciones la Tbox). Sin embargo, las aplicaciones en la Web Semántica necesitan un método de recuperación de instancias y consultas, que además de permitir recuperar el conocimiento, sea capaz de inferir información no sólo sobre la estructura de la ontología, sino también sobre las instancias (lo que en lógica de descripciones se denomina Abox). Esta información inferida debe poder utilizarse para mejorar el resultado de las consultas. Es lógico pensar, que en el momento en que se habla de grandes volúmenes de información y de consultas, los resultados obtenidos por la comunidad de base de datos no puede ser obviados. Durante las últimas décadas esta comunidad se ha dedicado al estudio de sistemas que almacenen de forma persistente grandes cantidades de información, y a consultarla mediante lenguajes de consulta eficientes y escalables. Las aplicaciones en la Web Semántica que necesitan manejar ontologías con grandes cantidades de instancias, como pueden ser las aplicaciones biológicas, no disponen, hasta el momento, de un razonador que permita razonar sobre una Abox de este tamaño. Más aún, los razonadores basado en Lógicas de Descripciones, como RACER o PELLET no permiten ni siquiera cargar ontologías de estas dimensiones. Por tanto, proponemos implementar un razonador para el lenguaje OWL [4] que sea persistente y escalable, y que implemente los razonamientos y las consultas sobre este lenguaje utilizando tecnología de bases de datos. 2. Objetivos El objetivo principal de este trabajo es implementar razonamientos usando tecnología de bases de datos. Para conseguirlo, debemos proporcionar mecanismos optimizados de almacenamiento persistente para las ontologías, de forma que garanticemos tanto la persistencia del conocimiento como la escalabilidad de los razonamientos y consultas. Es necesario, por tanto, integrar la tecnología de bases de datos con los resultados obtenidos de la investigación en lógicas de descripciones con el fin de implementar un razonador lo más completo posible que permita razonar y consultar grandes Aboxes en el entorno de la Web Semántica. Finalmente, debemos combinar razonamiento y consultas para ofrecer a las aplicaciones un mecanismo para la utilización real de las ontologías. Por otro lado, los razonadores basados en lógica de descripciones son sistemas monolíticos que evalúan siempre todos los razonamientos que implementan. Nosotros creemos que muchas aplicaciones en la Web Semántica no van a necesitar que el razonador implemente razonamientos excesivamente complicados, pero si que necesitan, debido al tamaño de sus aboxes, que aquellos que se implementen se evalúen de forma eficiente. Por tanto, otro de los objetivos de este trabajo es analizar el compromiso que existe entre eficiencia y completitud cuando hablamos de razonamientos en la Web Semántica, proporcionando resultados de eficiencia según los razonamientos que se ofrezcan de forma que los desarrolladores de aplicaciones puedan decidir qué razonamientos quieren que se implementen en función de las necesidades de las aplicaciones.

3 3. Metodología de investigación Para el desarrollo de este trabajo y para la consecución de los objetivos planteados se están siguiendo las siguientes fases. Definición del lenguaje de consultas que implementará el razonador. Para ello, se estudiarán los razonadores de lógicas de descripciones y los distintos lenguajes de consulta para OWL que se han propuesto, y basándonos en ese estudio definiremos los razonamientos, tanto sobre la Tbox como sobre la Abox que implementaremos. También definiremos la expresividad de las consultas que evaluará nuestro sistema. Implementación de un repositorio persistente para almacenar ontologías OWL, que permita implementar los razonamientos de la forma más eficiente posible. Implementación del razonador usando tecnología de bases de datos. Obtención de medidas de rendimiento y definición de la completitud (o incompletitud) del razonador. Para ello, definiremos una extensión del benchmark LUMB. Análisis del compromiso entre eficiencia y completitud de los razonamientos en la Web Semántica, proporcionando resultados de eficiencia dependiendo de los razonamientos que se implementen. Por tanto, el razonador permitirá decidir los razonamientos que se evaluarán y los que no. Implementación de una aplicación real, en el dominio de la biología, que utilice el razonador y que valide los resultados obtenidos. 4. Trabajos relacionados Debido a que nuestro objetivo es implementar un razonador persistente para OWL, debemos partir de los razonadores que se han desarrollado para lógicas de descripciones. El sistema RACER [3] es el razonador basado en lógica de descripciones más representativo. Según sus autores y según podemos observar en la literatura, en la actualidad es uno de los sistemas más completo. No sólo implementa mecanismos de razonamiento sobre la Tbox, sino que además proporciona un lenguaje de consultas, el nrql (new Racer Query Language) [11] que permite realizar consultas conjuntivas. Además, también implementa, en su última versión, mecanismos de razonamiento sobre la Abox. Sin embargo, el sistema no ofrece persistencia y los mecanismos de razonamiento se implementan mediante complejas técnicas de reducción a satisfabilidad. Esto implica que ontologías con grandes cantidades de instancias no puedan ser cargadas. Además, cada vez que se inicia el sistema debemos cargar de nuevo la ontología y procesarla. Por otro lado, RACER es en la actualidad una herramienta comercial, y por tanto, el razonador PELLET [12] está ganado poco a poco más popularidad, ya que es una herramienta de libre disposición. Pellet ofrece la misma funcionalidad que RACER, y presenta exactamente sus mismos problemas.

4 La comunidad de AI & KR comenzó hace unos años a estudiar posibles lenguajes de consulta para los sistemas que se habían desarrollado. Estos estudios dieron como resultado diversas propuestas para realizar consultas conjuntivas sobre bases de conocimiento descritas mediante lógicas de descripciones [8]. Posteriormente, con la aparición de OWL se comenzó a desarrollar un lenguaje de consultas específico para este lenguaje, que pretende convertirse en estándar, el lenguaje OWL-QL [9] y recientemente se comenzó a desarrollar SPARQL [10] para consultar RDF. El problema del almacenamiento persistente de ontologías ha sido también estudiado recientemente por algunos investigadores en bases de datos. Se han comenzado a desarrollar sistemas que almacenan ontologías de forma persistente y lenguajes de consulta para RDF, como RDQL [6], y Squish [15] entre otros. Sin embargo, estos sistemas están muy enfocados a proporcionar persistencia a las ontologías y un lenguaje de consultas al estilo de las bases de datos, pero tienen una cuenta pendiente con los mecanismos de razonamiento, sobre todo, con los mecanismos para inferir conocimiento a partir de instancias. Instance Store [14] almacena las instancias de la ontología en una base de datos y utiliza un razonador de lógicas de descripciones para inferir información de la Tbox y almacenarla en la base de datos. Sin embargo, el lenguaje de definición de ontologías no permite relaciones binarias por lo que presenta una limitación, a nuestro juicio importante, de expresividad. Además, el sistema sólo permite los razonamientos de subsunción de conceptos y de clases equivalente. La implementación de estos razonamientos consiste en reducirlos a razonamientos terminológicos y evaluarlos usando el razonador de lógica de descripciones. Por otro lado, el sistema QuOnto [16] restringe el lenguaje de definición de ontologías a DL-Lite [17], una lógica de descripciones que es un fragmento de OWL-DL. De esta forma, se garantiza la corrección y la completitud de los razonamientos. De nuevo el sistema sólo implementa la subsunción de conceptos, aunque incorpora como razonamiento la evaluación de consultas conjuntivas. Finalmente, el sistema DLDB-OWL [7] extiende una base de datos relacional con inferencias propias de OWL. Esta propuesta sigue la misma filosofía de Instance Store (uso de una base de datos y un razonador DL), pero el esquema de la base de datos es algo más completo. Aunque sólo implementa la subsunción de conceptos (al menos en la versión que está pública en la Web de los autores), especifica un método para resolver dicho razonamiento usando únicamente la información almacenada en la base de datos, sin usar el razonador DL después de la fase de almacenamiento de la ontología. Nuestra propuesta pretende combinar todos estos resultados, y solucionar los problemas que presentan los trabajos desarrollados hasta ahora. Nuestro objetivo es ofrecer más razonamientos sobre instancias, no sólo la subsunción de conceptos, y además, queremos evaluar estos razonamientos usando la información almacenada en la base de datos. Además, pretendemos ofrecer un lenguaje de descripción de ontologías expresivo, por lo que nuestras ontologías se definirán usando OWL-DL. Finalmente, pretendemos ofrecer la posibilidad de evaluar consultas más complejas que las consultas conjuntivas.

5 5. Arquitectura de DBOWL Como resultado inicial, hemos desarrollado un prototipo de razonador persistente y escalable para OWL. La herramienta ofrece dos servicios diferenciados, el sistema de almacenamiento (Figura 1) y el sistema de razonamiento y consulta (Figura 2). A continuación describiremos el funcionamiento de cada uno de estos servicios. 5.1. Sistema de almacenamiento para OWL Este servicio permite almacenar una ontología OWL en una base de datos relacional. Para ello, se ha definido un esquema relacional específico para ontologías OWL y se usa un razonador de lógicas de descripciones, FaCT [2], para precomputar la jerarquía de clases y propiedades y para obtener toda la información necesaria sobre la estructura de la ontología, por ejemplo, los dominios y rangos de las propiedades. Usamos un razonador existente porque, como hemos mencionado anteriormente, estos razonadores están muy optimizados para los razonamientos sobre la Tbox, e implementan algoritmos complicados que no tiene mucho sentido intentar replicar. Sin embargo, una vez obtenida toda la información de la ontología, nosotros la almacenamos en la base de datos. Por tanto, la siguiente vez que queramos razonar sobre la Tbox, accederemos directamente a la base de datos, evitando tener que cargar y procesar de nuevo la ontología y evaluando de forma más eficiente dichos razonamientos. Los únicos razonamientos en la Tbox que no hemos implementado sobre la base de datos son la clasificación y la consistencia de conceptos. 5.2. Sistema de consulta y razonamiento para OWL El funcionamiento del razonador es el siguiente: El usuario envía una consulta al procesador de consultas. Si se trata de un razonamiento en la Tbox, el planificador de consultas lo envía al razonador en la Tbox que evalúa la consulta sobre la base de datos y devuelve el resultado al planificador. Si se trata de una consulta conjuntiva, entonces el planificador usa el razonador sobre la Abox para inferir todas las instancias de las clases y propiedades que intervienen en la consulta y que no están explícitamente definidas en la ontología. El razonador sobre la Abox evalúa los razonamientos accediendo a la base de datos y devuelve los resultados al planificador. El planificador evalúa la consulta mediante la traducción de ésta a SQL. Finalmente, se devuelven los resultados al usuario. Inicialmente, nuestro prototipo evalúa consultas conjuntivas e implementa todos los mecanismos de razonamiento sobre la Tbox (bien usando la base de datos, bien usando FaCT) y los mecanismos de subsunción de conceptos y propiedades. Para evaluar tanto la completitud de los resultados como la eficiencia de la herramienta hemos usado el benchmark LUMB [13]. Este benchmark define 14 consultas sobre una ontología OWL que describe universidades. Estas consultas se han evaluado en RACER y en nuestro sistema, obteniéndose los mismo resultados en ambos casos, lo que demuestra que actualmente el sistema es tan

6 Figura 1. Sistema de almacenamiento para OWL Figura 2. Sistema de consulta y razonamiento para OWL

7 completo como RACER. Además, los resultados de eficiencia son bastante satisfactorios. Somos conscientes de que los resultados de eficiencia pueden ser algo engañosos, ya que RACER evalúa todos los mecanismos para la Abox, sea cual sea la consulta que recibe, mientras que nosotros sólo implementamos dos de ellos, pero consideramos que esta mejoría es suficiente para demostrar que el uso de tecnología de bases de datos para implementar los razonamientos sobre OWL es viable. 6. Resumen y plan de trabajo futuro Nuestra propuesta consiste en implementar un razonador para OWL utilizando para ello tecnología de bases de datos. El objetivo fundamental de la propuesta es permitir a aplicaciones que utilicen ontologías con Aboxes muy grandes (del orden de millones de instancias) razonar sobre dichas ontologías. En resumen, Las ontologías se definen mediante el lenguaje OWL, concretamente, el razonador admite ontologías OWL-DL Las consultas permitidas son consultas conjuntivas definidas para OWL Los razonamientos sobre la Tbox y sobre la Abox se implementan mediante funciones que encapsulan dichos razonamientos Todas las implementaciones se hacen usando una base de datos relacional Se definen correspondencias entre OWL y el modelo relacional y entre el lenguaje de consultas y SQL. Una vez validada la propuesta mediante la implementación del prototipo inicial, debemos terminar de implementar el lenguaje de consultas/razonamiento, implementando el resto de los razonamientos en la Abox y continuaremos con las fases de trabajo especificadas en la metodología. Además, estudiaremos la posible implementación de consultas más complejas, no sólo consultas conjuntivas, aprovechando las características de las bases de datos relacionales. 7. Agradecimientos Este trabajo ha sido desarrollado gracias al proyecto del MEC TIN2005-09098-C05-01. Referencias 1. A. Borgida, M. Lenzerini, and R. Rosati. The Description Logic Handbook: Theory, Implementation and Applications. Cambridge University Press, 2003. 2. Horrocks, I. The FaCT system. In de Swart, H., editor, Automated Reasoning with Analytic Tableaux and Related Methods: International Conference Tableaux 98, number 1397 in Lecture Notes in Artificial Intelligence, pages 307-312. Springer- Verlag, Berlin, 1998.

8 3. Haarslev, V., Möller, R. RACER System Description. Proceedings of International Joint Conference on Automated Reasoning, IJCAR 2001, R. Goré, A. Leitsch, T. Nipkow (Eds.), Siena, Italy, Springer-Verlag, Berlin,pp. 701-705, 2001. 4. OWL Web Ontology Language Reference. W3C Working Draft, 10 february 2004. http://www.w3.org/tr/owl-ref/, 2004. 5. Broekstra, J., Kampman, A., Harmelen, F. (2002). "Sesame: a Generis Architecture for Storing and Querying RDF and RDF Schema". 1st Internacional Semantic Web Conference (ISWC2002). Sardinia, Italy, 2002 6. RDQL - A Query Language for RDF W3C Member Submission 9 January 2004. http://www.w3.org/submission/2004/subm-rdql-20040109/, 2004. 7. Pan, Z and Heflin, J. DLDB: Extending Relational Databases to Support Semantic Web Queries. In Workshop on Practical and Scaleable Semantic Web Systms, ISWC 2003, pp. 109-113, 2003 8. Horrocks, I. and Tessaris, S.. A conjunctive query language for description logic aboxes. In National conference on artificial intelligence (AAAI 2000), pages 399-404, 2000. 9. Fikes, R., Hayes, P. and Horrocks, I. OWL-QL - A Language for Deductive Query Answering on the Semantic Web. Knowledge Systems Laboratory, Stanford University, Stanford, CA, 2003. 10. Prud hommeaux, E. and Seaborne, A.. SPARQL Query Language for RDF. W3C Candidate Recommendation 6 April 2006. http://www.w3.org/tr/rdf-sparqlquery/, 2006 11. Haarslev, V., Möller, R., van der Straeten, R. and Wessel, M.. Extended Query Facilities for Racer and an Application to Software-Engineering Problems. In Proceedings of the 2004 International Workshop on Description Logics (DL-2004), Whistler, BC, Canada, June 6-8, pages 148-157, 2004. 12. Evren Sirin, Bijan Parsia, Bernardo Cuenca Grau, Aditya Kalyanpur and Yarden Katz. Pellet: A practical OWL-DL reasoner, Journal of Web Semantics, 5(2), 2007. 13. Y. Guo, Z. Pan, and J. Heflin. LUBM: A Benchmark for OWL Knowledge Base Systems. In Journal of Web Semantics, Vol 3, Issue 2, 2005 14. Horrocks, I., Li, L., Turi, D., Bechhofer, S.. The Instance Store: Description Logic Reasoning with Large Numbers of Individuals, 2004. 15. Libby Miller. RDF Squish query language and Java implementation. Latest version: http://ilrt.org/discovery/2001/02/squish/, 2004. 16. Acciarri, A. Calvanese, D. De Giacomo, G. Lembo, D. Lenzerini, M. Palmieri, M. Rosati, R. QuOnto: Querying Ontologies. Proceedings of the National Conference on Artificial Intelligence 2005, VOL 20; PART 4, pages 1670-1671, 2005. 17. D. Calvanese, G. De Giacomo, M. Lenzerini, R. Rosati, and G. Vetere. DL-Lite: Practical reasoning for rich DLs. proceedings of DL 2004. CEUR Electronic Workshop Proceedings, http://ceur-ws.org/vol-104/, 2004.