Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Angelina Espinoza
Carlos Fernández
UPM
1. Introducción OWL
2. Componentes para procesamiento semántico
2
Índice
1. Introducción OWL
2. Componentes para procesamiento semántico
3
Introducción OWL [1]
[1] http://www.w3.org
4
Introducción OWL [1]
Variantes de OWL
OWL-Full
OWL-DL OWL Full
OWL-Lite
OWL DL
OWL Lite
[1] http://www.w3.org
5
Protégé 4.0.2 [1][2]
[1] http://protege.stanford.edu
6
[2] Matthew Horridge, A Practical Guide To Building OWL Ontologies Using
Protégé 4 and CO-ODE Tools, Edition 1.2, The University Of Manchester
Protégé 4.0.2
7
Interfaz de Protégé
8
Entities Tab
9
Classes Tab
Introducción a conceptos de OWL
Clases nombradas
PowerSystemResource
Jerarquía de clases
Herencia múltiple
Individuos pueden ser de varias clases
Equipment
CompositeSwitch
10
Classes Tab
Introducción a conceptos de OWL
Clases equivalentes
Determina las condiciones necesarias y suficientes que indican que un
individuo cualquiera que las satisfaga es miembro de la clase
11
Classes Tab
Introducción a conceptos de OWL
Superclases
Determina las condiciones necesarias que un individuo perteneciente a la
clase debe satisfacer
12
Classes Tab
Introducción a conceptos de OWL
Tipos de restricciones para definir Equivalent Classes y Superclasses
Restricciones Existenciales (some)
13
Classes Tab
Introducción a conceptos de OWL
Restricciones de valor(value)
nonEquipment
Complemento de una clase
Equipment
14 PowerSystemResource
Classes Tab
Introducción a conceptos de OWL
Superclasses inferidas
Son las restricciones “heredadas” de sus superclases
Miembros
Lista de individuos que pertenecen a la clase.
15
Classes Tab
Introducción a conceptos de OWL
Clases disjuntas
Axiomas de cobertura
16
Object/Data Properties Tab
Dominio y Rango
Las propiedades pueden tener un dominio y un rango especificados
Las propiedades enlazan individuos del dominio con individuos del
rango
¡Cuidado! En OWL los dominios y rangos no deben verse como
restricciones
Propiedades equivalentes
Sirve para definir propiedades equivalentes a la que se está definiendo
Superproperties
La propiedad que se está definiendo será subclase de todas las que se
indiquen aquí
17
Object/Data Properties Tab
Propiedades inversas
Si una propiedad es inversa a otra P, entonces siempre que se de
una relación P de un individuo a con otro b, existirá la relación
inversa de b con a.
Propiedades disjuntas
Si un objeto usa una propiedad, entonces no podrá usar
propiedades definidas como disjuntas a ella.
Cadenas de propiedades
Indica relaciones transitivas entre diferentes propiedades
Prop1 o Prop2 -> Prop3 => a Prop1 b, b Prop2 c, -> a Prop3 c
18
Object Properties Tab
Funcional
Solo se puede relacionar, como máximo, con otro individuo a
través de esta propiedad.
¡Cuidado!
Funcional inversa
Indica que la propiedad inversa es funcional.
19
Object Properties Tab
Transitiva
Si P es una propiedad transitiva y el individuo a está relacionado
con el individuo b y el a su vez el individuo b con el individuo c
entonces se puede inferir que a está relacionado mediante P
con c.
20
Object Properties Tab
Simétrica
Si P es una propiedad simétrica y a se relaciona mediante P con
b, entonces b también estará relacionado con a mediante P
Antisimétrica
Si P es una propiedad antisimétrica y a se relaciona mediante P
con b, entonces b no puede relacionarse mediante P con a
21
Object Properties Tab
Reflexiva
Una propiedad es reflexiva cuando siempre relaciona a los
individuos con ellos mismos
Irreflexiva
Una propiedad es irreflexiva cuando no puede relacionar a un
individuo consigo mismo
22
Individuals Tab
23
OWL Viz
Disponible mediante un plugin
Basado en Graphviz
24
DL Query
Herramienta de consulta
Forma parte de Protégé desde la versión 4.
Sirve para realizar consultas simples o pruebas con las clases
25
Índice
1. Introducción OWL
2. Componentes para procesamiento
semántico
26
Objetivos en Energos
Facilitar la extracción automática de conocimiento sobre la
operación y el comportamiento de los distintos aspectos de
una red eléctrica.
27
Componentes Técnicos
3.4 – 4.0
28
Razonador – Definición
Def. Aplicación capaz de inferir consecuencias lógicas a partir de un
conjunto de hechos establecidos o axiomas del modelo y en reglas.
Características:
Realiza procedimientos decidibles a partir del nivel de expresividad
del lenguaje de ontologías utilizado (OWL-DL).
Soporte en Ingeniería del Conocimiento:
Proporciona servicios básicos de inferencia: consistencia,
satisfactibilidad, classificación, realización.
Apoyo en la construcción/mantenimiento de jerarquías de clases con
herencia múltiple, útil en ontologías muy extensas
Algunos proporcionan apoyo en la depuración de ontologías
Algunos proveen APIs de programación para acceder a los servicios
proporcionados por el razonador.
29
Razonadores
Reasoner Description License
CEL LISP-based non-commercial use
HermiT Based on the hypertableaux calculus open source, plug-in for Protégé 4
30 Jena(framework) Includes semantic reasoning modules free open source
Pellet 2.2.2
Pellet
Razonador OWL-DL( expresividad SHOIN(D) )
Poco soporte para realizar verificación de consistencia para
OWL-Full
Proporciona servicios básicos de inferencia: consistencia,
satisfactibilidad, classificación, realización.
Proporciona soporte a reglas SWRL (sólo para Core Built-ins)
Razonamiento Incremental (versión 2.2.2)
Soporte para queries conjuntivos sobre el ABox: SPARQL,
RDQL
31
Pellet 2.2.2
Pellet
Arquitectura: Principales Componentes
32
Razonador – Servicios de Inferencia
1. Verificación de Consistencia: Garantizar que una ontología
no contiene ningún hecho contradictorio.
Operación para comprobar la coherencia entre un ABox y un
TBox.
ABox TBox
Base de
Conocimiento
(Ontología OWL )
Afirmaciones sobre
Afirmaciones sobre clases:
individuos:
-Axiomas de herencia
-Propiedad-Valor
-Equivalencia
-Igualdad/desigualdad (not
-Disjuntividad, etc
33 UNA)
Razonador – Servicios de Inferencia
2. Satis-factibilidad (Satisfiability): Verificar si es posible que
una clase tenga instancias, a partir de sus restricciones
Calculo de todos los individuos de una clase usando la herencia
de clases.
34
Razonador – Servicios de Inferencia
3. Clasificación: Crear la jerarquía de clases completa, a partir
de la jerarquía de clases nombradas.
35
Razonador – Servicios de Inferencia
3. Clasificación: Crear la jerarquía de clases completa, a partir
de la jerarquía de clases nombradas.
36
Razonador – Servicios de Inferencia
4. Realización: Calcula los tipos directos de cada uno de los
individuos.
37
SWRL Jess®7.0p2
+
SWRL: OWL + RL
SWRL
38
Sintaxis
Tanto el Antecedente como el Consecuente son conjunciones
de atomos (A1 ^ A2 ^ A3… ^ An)
Conjunción: ^
Implicacion: =>
A1 ^ A2 ^ A3… ^ Ai => A1 ^ A2 ... ^ Aj
Variables son marcadas con un signo de ‘?’ como prefijo.
Se puede utilizar referencias URI, para identificar una
regla
Se puede utilizar individuos nombrados (“Red”, “Italy”, etc)
39
Ejemplos Serialización XML
< swrl:Imp rdf:about="#example1"/>
< swrl:body>
<swrl:AtomList>
<rdf:first>
<swrl:individualPropertyAtom swrlx:property="hasParent">
< swrl:Variable r rdf:about= “x1”>
< swrl:Variable r rdf:about= “x2”>
</swrlx:individualPropertyAtom>
parent(?x,?y) ^ brother(?y,?z) </rdf:first>
<rdf:rest>
=> uncle(?x,?z) <swrl:individualPropertyAtom swrlx:property="hasBrother">
< swrl:Variable r rdf:about= “x2”>
< swrl:Variable r rdf:about= “x3”>
</swrlx:individualPropertyAtom>
</rdf:rest>
</swrl:AtomList>
</ swrl :body>
< swrl :head>
<rdf:first>
<swrl:individualPropertyAtom swrlx:property="hasUncle">
< swrl:Variable r rdf:about= “x1”>
< swrl:Variable r rdf:about= “x3”>
</swrl:individualPropertyAtom>
</rdf:first>
</ swrl :head>
40
Built-ins
Incrementan dramáticamente la expresividad – la mayoría de la
reglas OWL, no son syntactic sugar
41
Jess®7.0p2
Jess
Motor de reglas, posee un lenguaje nativo para definir las reglas.
Integrable con Jena y Protége
SWRL Tab: Bridege entre Jess - Protégé 3.4.4:
Ventana consola en Protégé
Mapea instancias SWRL a Jess facts.
Funciones para operaciones en la base de conocimiento
Mapea definiciones Jess a bases de conocimiento en Protégé (OWL)
Soporte para la edición y ejecución de reglas SWRL
Soporte para la edición y ejecución de reglas SWRL con SQWRL
(Semantic Query Web Rule Language)
42
SQWRL
Semantic Query-enhanced Web Rule Language (SQWRL)
está construido sobre SWRL
Los antecedentes en SWRL son tratados como una
especificación de patrones de un query
La regla consecuente es reemplazada por especificaciones
propias de recuperación de datos: select, orderBy, etc.
Es posible usar los built-ins de SWRL en el consecuente de la
regla
Serialización en XML de las reglas con SQWRL: forma
estándar utilizada para reglas con SWRL.
43
Ejemplos
Person(?p) ^ hasAge(?p,?age) ^ swrlb:greaterThan(?age,17)
→ Adult(?p)
tbox:isDatatypeProperty(?p) ^ tbox:isDirectSubPropertyOf(?sp,?p) -
> sqwrl:select(?p) ^ sqwrl:count(?sp)
44
Ejercicio
45
0WA – Open World Assumption 1
(hasChild >= 1)(?x) → Parent(?x)
46
0WA – Open World Assumption 1
Negación:
Retracción ó modificación
48
Contacto
aespinoza at syst.eui.upm.es
cfernandez at syst.eui.upm.es
49