Bueno pues, esta semana he podido leerme unos cuantos estudios interesantes sobre distintas tecnologías semánticas que he podido encontrar por la red. Los estudios más interesantes que he encontrado brujuleando por la red han sido estos tres:

Todos son interesantes y cada uno de ellos explica las distintas ventajas de utilizar sus sistemas de razonamiento, voy a empezar describiendo el estudio de Reasoning in Semantic Web Using Jena

Reasoning in Semantic Web Using Jena

Este estudio es muy reciente, concretamente pertenece a la revista Computer Engineering and Intelligent Systems , Volumen 5, Nº 4 (2014) accesible desde la web http://www.iiste.org/Journals/index.php/CEIS/issue/view/1025.

En este estudio crean una aplicación en eclipse usando el framework Jena para el desarrollo de web semántica. La aplicación desarrollada consiste en crear clases y propieddes. Jena ofrece soporte de tres operaciones distintas en el modelo que se muestran creando dos schemas apropiados. Las capacidades de razonamiento de Jena se demuestran aplicando un razonador de OWL a la aplicación mediante una inferencia adicional.

En cuanto al trabajo relacionado mencionan DARPA Agent Markup Language (DAML) que utilizan DAMJessKB para los hechos y reglas que producirán inferencias.

Otro trabajo usa datos y base de conocimiento codificada usando un motor de inferencias F-OWL basado en F-logic, describe un marco basado en sistemas lógicos.

El razonador que usan en esta investigación es OWLReasoner, que es uno de los que están incluidos en Jena.

Jena es un framework de Web Semántica de código abierto para Java. Tiene una API que extrae datos y escribe grafos RDF y ontologías OWL. Los modelos representan un grafo en Jena. Se pueden crear modelos usando datos desde URLs, ficheros, bases de datos o combinando distintas fuentes. Para realizar consultas se usa SPARQL.

Después de esta introducción, detallan distintas clases existentes en Jena y cómo utilizar en definitiva Jena. Me ha parecido un paper muy interesante, sobre todo para aquella persona que desconozca el funcionamiento de Jena, es muy práctico y enseña cómo hacer uso del motor de inferencia añadiendo reglas y creando modelos nuevos mediante intersecciones, uniones y diferencia entre distintas clases de una ontología.

Os dejo algunas imágenes que se pueden ver en el paper:

El pase de diapositivas requiere JavaScript.

DLEJena: A Practical Forward-Chaining OWL2 RL Reasoner Combininb Jena and Pellet

Esta investigación proviene de “Department of Computer Science, Aristotle University of Thessaloniki, Thessaloniki, Greece” fue publicado el 17 de Octubre de 2009 , fue publicado en:

Web Semantics: Science, Services and Agents on the World Wide Web archive
Volume 8 Issue 1, March, 2010
Pages 89-94
Elsevier Science Publishers B. V. Amsterdam, The Netherlands, The Netherlands

Este estudio me sorprendió, porque muestra la combinación de dos tipos de razonadores funcionando a la vez, por un lado el motor Jena y por otro el razonador Pellet DL.

En muchas aplicaciones prácticas se suele utilizar un vocabulario terminológico compartido TBox en el que la se definen los individuales de la ontología ABox. Los TBox normalmente no son modificados por la aplicación, sin embargo la parte extensible está enriqueciéndose continuamente con nuevos individuales.

Por ejemplo, las conferencias Europeas e Internacionales sobre Web Semántica (European and the International Semantic Web conferences) publican metadatos que cubren la información relevante de los papers, horarios, asistentes, etc. Estos metadatos se definen sobre vocabularios terminológicos compartidos como la ontología SWRC y cada año se añaden nuevos individuales.

En este tipo de escenarios, el vocabulario ontológico es particionado, es decir, por una parte tendríamos el vocabulario de clases y propiedades y por otro los individuales. El objetivo principal del framework DLEJena es el de realizar una ejecución eficiente de los individuales relacionados mediante las reglas de inferencia basadas en triples RDF combinando el razonador DL y una producción del motor de reglas, se pretenden combinar en definitiva:

  • Grado de exhaustividad TBox: Se basa en reglas de inferencia en la forma de reglas basadas en triples RDF para TBox y ABox, siguiendo el modelo teórico RDF. Se basan en reglas y tienen algunas limitaciones. Por ejemplo, si no podemos deliverar que dos propieddes pq son equivalentes si p y xiqi son ambas inversas propiedades de g, porque ellos no implementan la regla correspondiente. El framework DLE en vez de usar reglas para el razonamiento TBox, usa un razonador DL para completar el razonamiento TBox.
  • Rendimiento del razonamiento ABox: Este procedimiento de razonar ABox en DLE está basado en instanciar reglas de inferencia de individuales relacionados. La evaluación del experimento de DLE con un número de motores de reglas muestra que las regalas instanciadas son ejecutadas más rápidas y con menos requerimientos de memoria, comparados con la ejecución predefinida de reglas genéricas en el mismo motor de reglas.

Este estudio describe la implementación del framework DLE para el perfil OWL 2 RL usando el razonador Pellet DL y el motor de reglas de Jena. La elección de estos dos sistemas está justificada por su API existente para la integración que provee la infraestructura de comunicación necesaria entre los dos sistemas.

DLEJena combina el paradigma del razonamiento que está basado en la ejecución de reglas vinculadas con triples RDF en el motor de reglas  de encadenamiento progresivo y la transformación de una ontología en un conjunto de reglas vinculadas a instancias inicializadas. La inicialización de estas reglas está basada en el razonamiento de TBox para permitir que Jena pueda manejar un número arbitrario de vinculaciones más allá del perfil OWL 2 RL.

La clasificación de reglas OWL2 RL/RDF está basada básicamente en tres categorías dependiendo de las condiciones semánticas:

  1. Reglas terminológicas
  2. Reglas híbridas
  3. Reglas excepcionales

En cuanto a la arquitectura de DLEJena, posee los siguientes elementos:

dlejena

 

  1. Cargador de Ontología: módulo encargado de la separación de TBox desde los axiomas ABox de la ontología cargada. Desde DLEJena se aplican diferentes procedimientos de razonamiento de tipo TBox  y ABox. Este módulo hace uso de OWLAPI, creando dos modelos de Jena para los triples TBox y ABox respectivamente. Estos dos modelos sirven como base para los dos procedimientos separados de razonamiento de ontología.
  2. Razonador TBox: Además de la existencia de las implementaciones basadas en reglas que usan reglas de inferencia para el razaomiento TBox, en DLEJena el razonador TBox funciona gracias al razonador Pellet DL, sin implementar una regla terminológica OWL 2 RL/RDF.
  3. Razonador ABox: se define sobre el motor de reglas “Jena’s RETE-based rule engine”, basado en un híbrido de reglas ABox para conseguir la escalabilidad donde apuntan los perfiles OWL 2 RL. Categorías híbridas y reglas excepcionales.

A raíz de esto aparecen distintos experimentos y pruebas que realizaron.

JOINT: Java Ontology Integrated Toolkit

En cuanto a JOINT, es una herramienta que pretende mejorar la creación de ontologías y reglas y facilitar al desarrollador todo el trabajo, a continuación tenéis un vídeo con más información al respecto:

 

 

Imagen | PHDComics.com