Fundamentos de la Web Semántica Fundamentos de la Web Semántica Ontologías y OWL Fundamentos de la Web Semántica Ontologías Ontologías DL estructurales Pablo R. Fillottrani DL proposicionales Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur OWL Segundo Cuatrimestre 2013 Fundamentos de la Web Semántica Ontologías Fundamentos de la Web Semántica Ontologías Definición Definición Definición I I I I una ontología es una especificación formal de una conceptualización compartida de un dominio por ser formal I I I el significado es no ambiguo se expresa mediante un lenguaje formal permite razonamiento, haciendo explícita información implícita por ser una especificación I I I hace explícitas las suposiciones del dominio clarifica el significado y permite razonamiento balance entre información explícita e implícita por ser compartida I I debe establecerse mediante consenso facilita su uso Fundamentos de la Web Semántica Ontologías Fundamentos de la Web Semántica Ontologías Definición Usos Usos de una ontología I por ser una conceptualización de un dominio I I I trata sobre una concreta parte del mundo permite formar una idea del dominio en la mente de las personas (y de las máquinas) forman el esqueleto de la Web Semántica, definiendo vocabulario básico y permitiendo el razonamiento Fundamentos de la Web Semántica Ontologías I compartir conocimiento en común entre personas y agentes de software I permitir el reuso de información de un dominio I hacer explícitas el conocimiento supuesto del dominio I separar el conocimiento del dominio del conocimiento de una aplicación I analizar el conocimiento del dominio Fundamentos de la Web Semántica Ontologías Elementos Ingeniería de ontologías I clases grupos de individuos con características en común I generalmente con definición implícita I individuos son objetos particulares del dominio, que pueden ser instancias de clases I existe diferencia entre individuos y valores de tipos de datos I relaciones definen las posibles conexiones entre individuos y/o valores I generalmente son asociadas a las clases, junto con las propiedas sobre su instanciación I generalmente todo esto se especifica mediante un lenguaje gráfico I axiomas describen propiedades adicionales sobre el dominio, generalmente especificadas en un lenguaje lógico Ingeniería de ontologías I principios 1. no existe un única forma de modelar un dominio, siempre existen alternativas viables. La mejor solución siempre depende de las aplicaciones, y sus futuras extensiones 2. necesariamente el desarrollo de una ontología es un proceso iterativo 3. los conceptos deben ser cercanos a objetos físicos o lógicos, y las relaciones deben ser aquellas interesantes para el dominio Fundamentos de la Web Semántica Ontologías Fundamentos de la Web Semántica Ontologías Ingeniería de ontologías Pasos sugeridos 1. determinar el dominio y el ámbito de la ontología 2. considerar reusar ontologías existentes 3. enumerar términos importantes en la ontología 4. definir clases y su jerarquía Ingeniería de ontologías Caracterizando clases y su jerarquías I controlar que la jerarquía de conceptos respeta la relación es-un I analizar la relación entre hermanos en la jerarquía I analizar el uso de herencia múltiple I definir cuándo introducir un nuevo concepto o no 5. definir las propiedades de las clases (atributos y relaciones) I 6. definir las facetas de las propiedades I I 7. crear instancias de los conceptos importantes Fundamentos de la Web Semántica Ontologías tienen propiedades adicionales restringen en forma diferente los valores participan en relaciones diferentes Fundamentos de la Web Semántica Ontologías Ingeniería de ontologías Ingeniería de ontologías Caracterizando propiedades de las clases I nueva clase o nuevo atributo? I I I I si los conceptos con atributos diferentes se usan en restricciones en otras clases, entonces conviene crear una clase si la distinción es importante para el dominio, entonces conviene crear una clase la clase a la que un individuo pertenece no debería cambiar seguido una instancia o una clase? I I los individuos representan los conceptos más específicos disponibles si los individuos forman naturalmente una jerarquía, entonces conviene representarlos como clases I controlar propiedades inversas I definir valores por defecto I definir valores enumerados I definir rango de valores I definir cardinalidad máxima y mínima Fundamentos de la Web Semántica Ontologías Ontologías Ingeniería de ontologías Nombres I Ingeniería de ontologías Lógicas para la Descripción - OWL es conveniente definir una convención sobre nombres, y adherirse estrictamente a la misma I I I I I I I capitalización delimitadores prefijos y sufijos singular o plural tipos de los nombres no usar abreviaturas nombres de subclases Fundamentos de la Web Semántica DL estructurales I Fundamentos de la Web Semántica Ontologías DL estructurales DL proposicionales OWL Fundamentos de la Web Semántica DL estructurales las lógicas para la descripción son un formalismo lógico que unifica distintas herramientas de representación del conocimiento: I I I I I sistemas basados en marcos redes semánticas representaciones orientadas a objetos modelos de datos semánticos lenguajes de ontologías I son un fragmento estructurado de la lógica de predicados I proveen un lenguaje para expresar información estructurada y para razonar sobre la misma I aplicaciones I I I I I I I modelado conceptual optimización de consultas y mantenimiento de vistas (DB) semántica de lenguaje natural integración inteligente de información ontologías y terminología administración de proyectos de software planificación Fundamentos de la Web Semántica DL estructurales Fundamentos de la Web Semántica DL estructurales Ambigüedades I la lógicas para la descripción formalizan varias representaciones orientadas a objetos I por lo tanto, proveen mecanismos para desambiguar representaciones imprecisas I I I clases e instancias I clases vs información incompleta en instancias I relación de subclase o de instancia marcos u objetos clases slots o atributos I relaciones implícitas o explícitas I relaciones normales o relaciones especiales valores tipos restricciones I cuantificación I razonamiento no monótono formalizan I I I I I Fundamentos de la Web Semántica DL estructurales Fundamentos de la Web Semántica DL estructurales Falsos amigos I la familia de las lógicas para la descripción son un fragmento de FOL (lógica de predicados) I el significado de las representaciones orientadas a objetos e muy ambiguo I la representación es al nivel de predicados; no se usan variables en estos formalismos I es muy atractivo la naturaleza gráfica de la representación orientada a objetos I una teoría en una lógica para la descripción se divide en dos partes I a partir de esta representación, es fácil desarrollar algoritmos que ”simulan” razonar sobre la estructura, pero su comportamiento no tienen justificación I I I la definición de predicados TBox una aserción sobre constantes ABox cualquier lógica para la descripción es un subconjunto de L3 (el fragmento de FOL que usa a lo sumo tres variables) Fundamentos de la Web Semántica DL estructurales DL estructurales ¿Porqué no FOL? I si se usa FOL directamente sin restricciones adicionales entonces I I I se destruye la estructura del conocimiento, y no pude ser aprovechada para generar las inferencias el poder expresivo es muy alto: no se pueden definir problemas decidibles y con inferencia eficiente el poder expresivo es muy bajo: existen ciertos conceptos interesantes, decidibles que no pueden ser expresados en FOL Fundamentos de la Web Semántica DL estructurales Elementos en el lenguaje de TBox I conceptos denotan conjunto de entidades o clases; se representan mediante predicados unarios I ejemplos I Estudiante con semántica {x | alumno(x)} I Soltero con semántica {x | soltero(x)} I roles denotan propidades o relaciones; se representan mediante predicados binarios I Fundamentos de la Web Semántica ejemplos I Amigo con semántica {(x , y ) | amigo(x, y)} I Ama con semántica {(x , y ) | ama(x, y)} KL-ONE I el antecedente inmediato de las lógicas para la descripción es el sistema KL-ONE para redes semánticas y marcos (1985) I permitía la descripción estructurada de objetos, y razonaba sobre la misma I corresponde a la descripción de una compleja estructura relacional, construida usando un conjunto de constructores epistemológicamente adecuados I distinguía entre el conocimiento conceptual (terminología) y de las instancias (asercional) I el algoritmo para determinar subsunción cumplía un rol fundamental en la inferencia automática I sólo permitía razonamiento estricto, sin defaults Fundamentos de la Web Semántica DL estructurales Expresiones de conceptos I las lógicas para la descripción organizan la información en clases (conceptos) que agrupan datos homogéneos de acuerdo a una propiedad en común I ejemplo: Estudiante u ∃Amigo.Soltero I con significado {x | alumno(x )∧ ∃y .amigo(x , y )∧ soltero(y )} Fundamentos de la Web Semántica Fundamentos de la Web Semántica DL estructurales DL estructurales Clases I Objetos una clase en POO se representa directamente en una lógica para la descripción I {x | alumno(x )} = {x | persona(x ) ∧ s1 identifica a un alumno alumno(s1) ∧ nombre(s1,0 juan0 ) ∃y .nombre(x , y ) ∧ cadena(y ) ∧ ∃y .direccion(x , y ) ∧ cadena(y ) ∧ ∧direccion(s1,0 patagones0 ) ∃y .cursa(x , y ) ∧ carrera(y )} ∧cursa(s1, contador) ∧carrera(contador) . Estudiante = Persona u ∃Nombre.Cadena u∃Direccion.Cadena u∃Cursa.Carrera Fundamentos de la Web Semántica Fundamentos de la Web Semántica DL estructurales DL estructurales Redes semánticas I Cuantificadores definición de conceptos y relaciones I todas las ranas son también verdes ∀x .alumno(x ) → ∃y .cursa(x , y ) ∧ carrera(y ) Rana v ∃EsColor.Verde ∀x .docente(x ) → ∃y .ensena(x , y ) ∧ carrera(y ) ∀x .ayudanteB(x ) → alumno(x ) ∧ docente(x ) I todas las ranas son sólo verdes Rana v ∀EsColor.Verde Estudiante v ∃Cursa.Carrera I hay una rana cuyo color es sólo verde Docente v ∃Ensena.Carrera AyudanteB v Estudiante AyudanteB v Docente ⊥ @ Rana u ∀EsColor.Verde Fundamentos de la Web Semántica Fundamentos de la Web Semántica DL estructurales DL estructurales FL menos FL menos FL menos I I I la semántica de FL− presentaremos ahora la más simple de las lógicas para la descripción estructurales FL− I I I sintaxis C , D → A | C u D | ∀R .C | ∃R I siendo A un concepto atómico, R un rol atómico, C , D conceptos generales Fundamentos de la Web Semántica Fundamentos de la Web Semántica DL estructurales DL estructurales FL menos FL menos I I I el constructor u es la conjunción. Ejemplo: Adulto u Varon u Persona representa al conjunto de entidades que son al mismo tiempo adultas, de sexo masculino y personas en términos POO, esto nos dice que se permite la herencia múltiple el constructor ∀R .C permite definir una restricción en los valores de atributos Ejemplo: ∀Hijo.Doctor representa el conjunto de elementos tales que todos sus hijos son doctores, que incluye a quienes no tienen hijos(!). los conceptos representan clases, conjuntos de individuos los roles representan relaciones entre pares de individuos los conceptos atómicos son los nombres de los concepto primitivos (sin definición) los constructores constituyen la forma de definir conceptos más complejos I el constructor ∃R garantiza que existirá al menos un valor para el atributo R Ejemplo: Persona u ∃Hijo es el conjunto de personas que tienen al menos un hijo I la semántica formal se define en base a interpretaciones de dominios (conjuntos de elementos) Fundamentos de la Web Semántica DL estructurales Fundamentos de la Web Semántica DL proposicionales FL menos Subsunción I la subsunción C v D, o sea C es cubierto por D, es el principal problema de razonamiento I en términos de semántica, saber si es válido ∀xC (x ) → D (x ) I en FL− la subsumción no sólo es decidible, sino que además está en P I en FL− existe un algoritmo estructural (basado en la sintaxis de las expresiones que definen conceptos) que resulve el problema de subsunción en tiempo O (n2 ) donde n es la longitud de las expresiones Fundamentos de la Web Semántica DL proposicionales ALC A R > ⊥ ¬C C uD C tD ∀R .C ∃R .C AI ⊆ ∆ RI ⊆ ∆ × ∆ ∆ 0/ ∆\C I C I ∩ DI C I ∪ DI {x | ∀y .R I (x , y ) → C I (y )} {x | ∃y .R I (x , y ) ∧ C I (y )} concepto primitivo rol primitivo universo concepto vacío negación conjunción disyunción cuant. universal cuant. existencial Fundamentos de la Web Semántica DL proposicionales Ejemplos I la conjunción se interpreta como la intersección del conjunto de individuos I la disyunción se interpreta como la unión del conjunto de individuos I I la negación se interpreta como el complemento dle conjunto de individuos I I equivalencias I ∃R .> ⇐⇒ ∃R I ¬(C u D ) ⇐⇒ ¬C t ¬D I ¬(C t D ) ⇐⇒ ¬C u ¬D I ¬∀R .C ⇐⇒ ∃R .¬C I ¬∃R .C ⇐⇒ ∀R .¬C AyudanteB v Alumno t ¬Graduado t Docente condición necesaria . AyudanteB = Alumno t ¬Graduado t Docente condición necesaria y suficiente I en general, es posible tener expresiones complejas en los dos lados de la expresión I es un lenguaje cerrado con sus constructores Fundamentos de la Web Semántica Fundamentos de la Web Semántica DL proposicionales DL proposicionales Bases de conocimiento Servicios de razonamiento una base de conocimiento Σ es hTBox, ABoxi donde TBox es un conjunto de definiciones de conceptos, y ABox es un conjunto de aserciones sobre instancias I ejemplo de TBox I . Estudiante = Persona u ∃Nombre.Cadena u∃Direccion.Cadena u∃Estudia.Carrera ∃Ensena.Carrera v ¬Graduado t Docente I ejemplo de ABox I satisfacibilidad de conceptos Σ 6|= C ≡ ⊥, Estudiante u ¬Persona I subsunción Σ |= C v D, Estudiante v Persona I satisfacibilidad Σ 6|= ⊥, Estudiante = ¬Persona I control de instancia Σ |= C (a), Estudiante(juan) I recuperación {a | Σ |= C (a)} I realización {C | Σ |= C (a)} . Estudiante(juan), Estudia(juan, contador), Carrera(contador) Fundamentos de la Web Semántica DL proposicionales Fundamentos de la Web Semántica DL proposicionales Complejidad de razonamiento I todos estos servicios se pueden reducir a satisfacibilidad I existen algoritmos para decidir satisfacibilidad en A L C , y por lo tanto todos los demás tipos de razonamiento expresividad FL− ¬A, A L ∃R .C, A L E ¬C, A L C {a1 , . . .}, A L C O SH IQ Σ |= C v D Σ |= C (a) P P P P NP PSPACE PSPACE PSPACE PSPACE EXPTIME Fundamentos de la Web Semántica Fundamentos de la Web Semántica DL proposicionales OWL Algunas extensiones de A L C constructor concepto atómico universo vacío conjunción disyunción (U ) negación (C ) universal existencial (E ) cardinalidad (N ) card. calificada (Q ) enumeración sintaxis A semántica AI ⊆ ∆ > ⊥ C uD C tD ¬C ∀R .C ∃R .C ≥n R ≤n R ≥n R .C ≤n R .C {a1 , . . . , an } ∆ 0/ C I ∩ DI C I ∪ DI ∆\C I {x | ∀y .R (x , y ) → C (y )} {x | ∃y .R (x , y ) ∧ C (y )} {x | ]{y | R (x , y )} ≥ n} {x | ]{y | R (x , y )} ≤ n} {x | ]{y | R (x , y ) ∧ C (y )} ≥ n} {x | ]{y | R (x , y ) ∧ C (y )} ≤ n} {a1I , . . . , anI } Fundamentos de la Web Semántica OWL I RDF(S) tiene severas limitaciones expresivas I I I I I sólo relaciones binarias no tiene características para propiedades (inversa, transitiva, simétrica) no permite la definición de conceptos complejos no permite restricciones de cardinalidad no permite disyunción Fundamentos de la Web Semántica OWL I OWL extiende a RDF Schema para convertirse en un lenguaje para representación de conocimiento completo para la web I OWL permite I I I I I I conceptos complejos (conjunción, disyunción, negación) inecuaciones propiedades locales propiedades necesarias/opcionales tipos enumerados relaciones simétricas, inversas I objetivos de diseño para OWL I I I I I I I compartible modificable en el tiempo interoperable con detección de inconsistencias balance entre expresividad y complejidad facilidad de uso compatible con estándares existentes (XML, RDF) Fundamentos de la Web Semántica OWL Fundamentos de la Web Semántica OWL I I requerimientos I I I I I I las ontologías son objetos en la web es decir, deben contener información sobre sus metadatos (versiones, autores, etc) definen clases, propiedades, tipos de datos, rango/dominio, individuos (des)igualdad para clases e individuos restricciones de cardinalidad Fundamentos de la Web Semántica OWL no se tuvieron en cuenta I I I I I I valores por defecto razonamiento mundo cerrado combinación de propiedades aritmética y operaciones sobre cadenas importación parcial definición de vistas extensiones con reglas y procedurales Fundamentos de la Web Semántica OWL Variantes de OWL: OWL Full I OWL Full I I I I I no hay restricciones en el uso del vocabulario (sólo las impuestas por RDF) se pueden usar clases como instancias semántica basada en la teoría de modelos de RDF razonamiento usando motores FOL (no decidible) la semántica de ciertas KB se corresponde con la de OWL DL Variantes de OWL: OWL DL I OWL DL I I I I I I uso restringido del vocabulario clases no pueden usarse como instancias definido con una sintaxis abstracta semántica basada en la semántica de las lógicas para la descripción correspondencia directa con DLs razonamiento mediante motores DL Fundamentos de la Web Semántica Fundamentos de la Web Semántica OWL OWL Variantes de OWL: OWL Lite OWL y Lógicas para la descripción I I OWL Lite I I I I I I OWL Lite se corresponde con S H I F (D) I sin negación ni conjunción explícita restricciones de cardinalidad limitadas (0/1) sin enumerados (nominales) semántica basada en DL razonamiento basado en motores DL sólo una pequeña restricción sintáctica con respecto a OWL DL Fundamentos de la Web Semántica I OWL DL se corresponde con S H OI N (D) I I clases, propiedades, individuos, valores, intersección, unión(!), negación(!), existenciales, universales, restricciones de cardinalidad 0/1 sin calificar restricciones de cardinalidad para todo n, nominales OWL Full no se corresponde con ninguna lógica para la descripción Fundamentos de la Web Semántica OWL OWL Constructores OWL constructor Axiomas OWL DL ejemplo C1 u . . . u Cn Persona u Varon C1 t . . . t Cn Alumno t Docente ¬C ¬Varon {rojo, verde} + ∀R .C ∀Hijo.Doctor ∃R .C ∃Hijo.Abogado ∃P .{o} ∃CiudadanoDe.USA ≤n P .C ≤n Hijo.Abogado ≥n P .C ≥n Hijo.Varon tipos de datos XML Schema: int, string, real, etc... intersectionOf unionOf complementOf oneOf {a1 , . . . , an } allValuesFrom someValuesFrom value minCardinality maxCardinality I SubClassOf I EquivalentClasses I SubPropertyOf I EquivalentProperties I SameIndividual I DisjointClasses I DifferentIndividuals I InverseOf I Transitive I Symmetric Fundamentos de la Web Semántica OWL Sintaxis de OWL I RDF es la sintaxis oficial I I I sintaxis basada en UML I I I posiblemente ambigua gran comunidad de usuarios sintaxis XML I I I difícil de leer para humanos difícil de implementar para los parsers no es lo mismo que RDF más legible sintaxis abstracta, más orientada a humanos