Ontologías
Una ontología es una especificación de una conceptualización, esto es, un marco común o una estructura conceptual sistematizada y de consenso no sólo para almacenar la información, sino también para poder buscarla y recuperarla. Una ontología define los términos y las relaciones básicas para la compresión de un área del conocimiento, así como las reglas para poder combinar los términos para definir las extensiones de este tipo de vocabulario controlado.
Se trata de convertir la información en conocimiento mediante unas estructuras de conocimiento formalizadas (las ontologías) que referencien los datos, por medio metadatos, bajo un esquema común normalizado sobre algún dominio del conocimiento. Los metadatos no sólo especificarán el esquema de datos que debe aparecer en cada instancia, sino que también podrán contener información adicional de cómo hacer deducciones sobre ellos, es decir, cómo establecer axiomas que podrán, a su vez, aplicarse en los diferentes dominios que trate el conocimiento almacenado.
De esta forma, los buscadores podrán obtener información al compartir los mismos esquemas de anotaciones web y los agentes de software no sólo encontrarán la información precisa, sino que podrán realizar inferencias de forma automática buscando información relacionada con la que se encuentra situada en las páginas web y con los requerimientos de las consultas realizadas por los usuarios. Además, los productores de páginas y servicios web podrán intercambiar sus datos siguiendo estos esquemas comunes consensuados e, incluso, podrán reutilizarlos.
Los beneficios de utilizar antologías se pueden resumir de la siguiente forma:
- proporcionan una forma de representar y compartir el conocimiento utilizando un vocabulario común
- permiten usar un formato de intercambio de conocimiento
- proporcionan un protocolo específico de comunicación
- permiten una reutilización del conocimiento
Las ontologías se componen de:
- conceptos: son las ideas básicas que se intentan formalizar. Los conceptos pueden ser clases de objetos, métodos, planes, estrategias, procesos de razonamiento, etc.
- relaciones: representan la interacción y enlace entre los conceptos de un dominio. Suelen formar la taxonomía del dominio. Por ejemplo: subclase-de, parte-de, parte-exhaustiva-de, conectado-a, etc.
- funciones: son un tipo concreto de relación donde se identifica un elemento mediante el cálculo de una función que considera varios elementos de la ontología. Por ejemplo, pueden aparecer funciones como: asignar-fecha, categorizar-clase, etc.
- instancias: se utilizan para representar objetos determinados de un concepto.
- reglas de restricción o axiomas: son teoremas que se declaran sobre relaciones que deben cumplir los elementos de la ontología. Por ejemplo: “Si A y B son de la clase C, entonces A no es subclase de B”, “Para todo A que cumpla la condición B1, A es C”, etc. Los axiomas, junto con la herencia de conceptos, permiten inferir conocimiento que no esté indicado explícitamente en la taxonomía de conceptos.
Las posibles aplicaciones y usos de las ontologías son:
- Repositorios para la organización del conocimiento
- Servir de herramienta para la adquisición de información
- Servir de herramientas de referencia en la construcción de sistemas de bases de conocimiento que aporten consistencia, fiabilidad y falta de ambigüedad a la hora de recuperar información
- Crear una red de relaciones que aporte especificación y fiabilidad
- Permitir compartir conocimiento
- Posibilitar el trabajo cooperativo al funcionar como soporte común de conocimiento entre organizaciones, comunidades científicas, etc.
- Permitir la integración de diferentes perspectivas de usuarios
- Permitir el tratamiento ponderado del conocimiento para recuperar información de forma automatizada
- Permitir la construcción automatizada de mapas conceptuales y mapas temáticos
- Permitir la reutilización del conocimiento existente en nuevos sistemas
- Permitir la interoperatividad entre sistemas distintos
- Establecer modelos normativos que permitan la creación de la semántica de un sistema y un modelo para poder extenderlo y transformarlo entre diferentes contextos
- Servir de base para la construcción de lenguajes de representación del conocimiento
Herramientas
Protégé
Protégé es una plataforma libre, de código abierto que proporciona una comunidad de usuarios cada vez mayor con un conjunto de herramientas para la construcción de modelos de dominio y las aplicaciones basadas en el conocimiento con las ontologías.
OWL
El Web Ontology Language OWL está diseñado para usarse cuando la información contenida en los documentos necesita ser procesada por programas o aplicaciones, en oposición a situaciones donde el contenido solamente necesita ser presentado a los seres humanos. OWL puede usarse para representar explícitamente el significado de términos en vocabularios y las relaciones entre aquellos términos. Esta representación de los términos y sus relaciones se denomina una ontología.
Jena
Apache Jena es un framework Java para construir aplicaciones basadas en ontologías.
Jena se desarrolló en HP Labs en el 2000, en 2009 HP cedió el proyecto a la fundación Apache que decidió adoptarlo en noviembre de 2010.
Su Arquitectura incluye:
- API para trabajar (leer, procesar, escribir) ontologías RDF y OWL
- Motor de inferencia para razonar sobre ontologías RDF y OWL
- Estrategias de almacenamiento flexible para almacenar tripletas RDF en memoria o fichero
- Motor de queries compatible con especificación SPARQL
Ejemplo de código
Fuseki server
Apache Jena Fuseki es un servidor SPARQL. Puede funcionar como un servicio del sistema operativo, como una aplicación web Java (archivo WAR), y como un servidor independiente. Se proporciona seguridad y tiene una interfaz de usuario para el control y la administración del servidor.
Proporciona SPARQL 1.1 protocolos para la consulta y actualización de datos.
Sparql
SPARQL es un acrónimo recursivo del inglés SPARQL Protocol and RDF Query Language. Es un lenguaje estandar para recuperacion de informacion en W3C. La importancia de SparQL radica en gran parte en su capacidad de expresar sus consultas en un lenguaje de alto nivel sin importar el formato en que estos datos han sido almacenados. Tim Berners Lee lo explica asi:
“Pretender usar la Web Semantica sin SparQL es como pretender usar una base de datos relacional sin SQL”, “SparQL hace posbile consultar informacion desde bases de datos y otros origenes de datos en sus estados primitivos a traves de la web”.
Referencias
OWL
http://www.hipertexto.info/documentos/owl.htm
Ontologías
http://www.hipertexto.info/documentos/ontologias.htm
Protégé
http://protegewiki.stanford.edu/wiki/Main_Page
Jena
https://unpocodejava.wordpress.com/2012/07/27/que-es-apache-jena/
Servidor Fuseki
https://jena.apache.org/documentation/fuseki2/
Sparql
https://es.wikipedia.org/wiki/SPARQL
https://ontoguate.wordpress.com/2009/01/25/utilizacion-de-sparql-para-consultas-a-ontologias/