Almacenamiento, consulta y razonamiento


Recuperación y organización de la información

Definición

Jena es un API para Java, es decir, un entorno para el desarrollo de aplicaciones en el lenguaje de programación Java para la web semántica. Framework desarrollado por HB Labs para manipular metadatos desde una aplicación Java. En la actualidad existen dos versiones:

  • Jena 1: Principalmente soporte para RDF y con Capacidades de razonamiento limitadas.
  • Jena 2: Incluye además una API para el manejo de ontologías y soporta el lenguaje OWL.

Características Generales

Jena permite gestionar todo tipo de ontologías (añadir hechos, borrarlos y editarlos), almacenarlas y realizar consultas contra ellas. Soporta RDF, DAML y OWL y es independiente del lenguaje. Los recursos no están ligados estáticamente a una clase java particular.

Los dos principales problemas que presenta Jena son los siguientes:

  • Puede que el recurso no cambie, pero la clase Java para modelarlo sea otra.
  • No se puede modificar una clase dinámicamente.

Incluye varios componentes:

  • ARP: un parser de RDF.
  • API RDF.
  • API de Ontologías para OWL, DAML y RDF Schema.
  • Subsistema de razonamiento.
  • Soporte para persistencia.
  • RDQL: Lenguaje de consultas de RDF.

API RDF de Jena

Permite crear y manipular modelos RDF desde una aplicación Java. Además, proporciona clases java para representar:

  • Modelos: son conjuntos de statements.
1. Creación de modelos.
2. Escritura y lectura de modelos.
3. Carga en memoria de modelos.
4. Navegar un modelo a partir de la URI de un recurso.
5. Consultar un modelo: se podrá buscar información sobre el modelo y realizar consultas avanzadas.
6. Operacions sobre modelos: unión, intersección y diferencia.
  • Recursos.
  • Propiedades.
  • Literales.
  • Statements.

Validador de OWL

Existe la posibilidad de realizar una validación básica de OWL. Esta validación sólo comprueba la sintaxis, no infiere ni razona. Para validaciones más complejas existe Jena 2, que ofrece soporte para inferencias y detecta la violación de las restricciones definidas en el schema por las instancias.

Jena Inference Support

Inferir es deducir información adicional. Al código que realiza la tarea de inferir se le llama razonador (Reasoner). Jena ofrece mecanismos para añadir nuevos razonadores e incluye un conjunto básico de éstos:

  • OWL Reasoner
  • DAML Reasoner
  • RDF Rule Reasoner
  • Generic Rule Reasoner

Para hacer inferencias debemos crear un modelo inferido a partir de un razonador y a partir de ahí, todas las consultas que se le hagan al modelo inferido devolverán información inferida.

RDQL (RDF Data Query Language)

Es un lenguaje de consultas para RDF desde un enfoque totalmente declarativo.
Considera un modelo RDF como un conjunto de tripletas: (Objeto, Propiedad, Valor).
Permite especificar patrones que son mapeados contra las tripletas del modelo para retornar un resultado.
Se pueden realizar consultas en RDQL desde una aplicación Java. Para ello se usan las siguientes clases: Query, QueryExecution, QueryEngine, QueryResults, ResultBinding.

Modelos Persistentes

Jena permite crear modelos persistentes: son mantenidos de forma transparente al usuario en una base de datos relacional. Jena 2 soporta MySQL, Oracle, PostgreSQL.

Sesame y Jena Descárgate la información completa en formato *.doc

Sesame y Jena Descárgate la información completa en formato *.ppt

No olvides enlazarme en tu página. Gracias !!!

Nombre del link: Almacenamiento, consulta y razonamiento