SlideShare una empresa de Scribd logo
1 de 103
Descargar para leer sin conexión
Ontologías y
Web Semántica
Jose Emilio Labra Gayo
Departamento de Informática
Universidad de Oviedo
http://www.di.uniovi.es/~labra
Jose Labra
Universidad de Oviedo

¿Qué es una Ontología?
Una ontología = Formalización de un dominio
Utiliza: lenguajes formales
Para: definir vocabulario de un dominio
Compartir el significado entre aplicaciones
Inferir nuevo conocimiento a partir de definiciones

Otros términos relacionados:
Taxonomía: Clasficación jerárquica
Tesauro: Definiciones de términos
Jose Labra
Universidad de Oviedo

Ejemplos de dominios
Medicina
Biología
Aviación
Animales
Comida
…etc
Jose Labra
Universidad de Oviedo

Partes de una ontología
Define conjunto de términos (vocabulario)
Corazón, Sangre, Sistema circulatorio

Propiedades entre dichos términos
Ejemplo:
"el corazón es un órgano muscular que es
parte del sistema circulatorio"

Descrito en un lenguaje formal
Ejemplo (lógica):
x(Corazón(x)  OrganoMuscular(x) 
y (esParteDe(x,y) 
SistemaCirculatorio(y))
Jose Labra
Universidad de Oviedo

Ontología como rama del
conocimiento

Ontología, rama de la metafísica
Desde Aristóteles (metafisica, IV)
Onto=ser, logos=estudio de (estudio del ser)
Estudia los entes, sus categorías y relaciones

Representación del conocimiento
Ontología = formalización de un dominio
Un vocabulario compartido que describe un determinado
dominio
Un conjunto de supuestos sobre los términos de dicho
vocabulario, generalmente se utiliza un lenguaje
formal manipulable automáticamente.

Árbol de la naturaleza
y de la lógica
Ramón Llull (1235-1316)
Jose Labra
Universidad de Oviedo

Lógica
Lógica: Estudio de los razonamientos
Origen en Aristóteles (-342 a. de C.)
Desarrollo de la Lógica formal a finales s. XIX (De Morgan,
Fregge)
Lógica computacional (Hilbert, Church, Turing, Herbrand,
Tarski, …)
Varios sistemas de Lógica
Lógica proposicional
Lógica de predicados
Otras lógicas: lógica modal, lógica descriptiva, lógica borrosa, etc.
Jose Labra
Universidad de Oviedo

Lógica Proposicional
Cada frase que puede ser verdadera o falsa es una
proposicón o enunciado (p)
Varias conectivas:

Negación: p
Conjunción: p  q
Disyunción: p  q
Implicación: p  q
Equivalencia: p  q

“Si Juan juega al fútbol, se cansa y Juan juega al fútbol
Por tanto: Juan se cansa”
pq
p
q
Jose Labra
Universidad de Oviedo

Lógica proposicional
Existen sistemas de demostración que comprueban si
un razonamiento es correcto
Ejemplo: Deducción natural
Propiedades:
Consistente: todos los razonamientos que se demuestran son
correctos
Completo: todos los razonamientos correctos pueden
demostrarse
Complejidad: NP (es uno de los problemas NP clásicos)
Expresividad: Muy poca.
Ejemplo: “Todos los hombres son mortales, Sócrates es un
hombre, luego Sócrates es mortal”
Jose Labra
Universidad de Oviedo

Lógica de predicados
Extiende la lógica proposicional con predicados,
funciones y cuantificadores
Ejemplo de predicado: P(x,y) = x es padre de y
Ejemplo de función: m(x) = “madre de x”
Cuantificadores:
Existencial: xP(x)
Universal: xP(x)
Ejemplo: “Todos los hombres son mortales, Sócrates es
un hombre, luego Sócrates es mortal”
x(H(x)  M(x))
H(s)
M(s)
Jose Labra
Universidad de Oviedo

Lógica de Predicados
Existen varios sistemas de demostración en lógica de
predicados.
Propiedades:
Consistente: Todo lo que demuestran es correcto
Completo: Todos lo que es correcto es demostrable
Semidecidible: Si una fórmula es correcta, lo detectan, si no
lo es, pueden no detectarlo

Para resolver ese problema se han buscado
subconjuntos de lógica de predicados de primer
orden que sean decidibles:
Clausulas Horn
Lógica descriptiva
etc…
Jose Labra
Universidad de Oviedo

Complejidad
Los sistemas de demostración pueden ser muy complejos
Jerarquía de clases de complejidad
P  NP  PSPACE  EXPTIME  NEXPTIME  EXPSPACE
P = Problemas que resuelve una máquina de Turing determinista en tiempo polinómico
NP= Problemas que resuelve una máquina de Turing no determinista en tiempo polinómico
PSPACE= Problemas que resuelve una máquina de Turing determinista en espacio polinómico
EXPTIME=Problemas que resuelve una máquina de Turing determinista en tiempo O(2p(n))
NEXPTIME=Problemas que resuelve una máquina de Turing no determinista en tiempo O(2p(n))
EXPSPACE=Problemas que resuelve una máquina de Turing determinista en espacio O(2p(n))
Jose Labra
Universidad de Oviedo

Redes Semánticas
Redes Semánticas (Quillian, 68): Grafos dirigidos donde los vértices
son conceptos y los enlaces son relaciones entre conceptos
2 tipos especiales de relaciones: is-a (pertenencia) y ako (inclusión)

Sí

Sí
lactante

tienePelo
mamífero

ako
Gris

color

ako
elefante

perro

trompa
patas

4

1
is-a

4

patas

sonido

ladra

is-a
e1
e2
patas
3

nombre

pipo

nombre

pluto
Jose Labra
Universidad de Oviedo

Frames
Desarrollados para estructurar el conocimiento de las redes
semánticas
Un frame o marco = colección de atributos (slots) que describen una
entidad
Puede representar un concepto (o clase) y un individuo (o instancia)
Clase: Mamífero
tienePelo: Sí
lactante: Sí
Clase: Elefante
ako: Mamífero
patas: 4
trompa: 1
color: gris
Clase: Perro:
ako: Mamífero
patas: 4
sonido: ladra

Individuo: e1
isa: Elefante
patas: 3
nombre: Pipo

Individuo: e2
is-a: Perro
nombre: Pluto
Jose Labra
Universidad de Oviedo

Diagramas Entidad-Relación
Diagramas Entidad-Relación (Chen, 1976):
Representaciones gráficas utilizadas para capturar
modelos de dominio.
Utilizados en el desarrollo de Bases de Datos
trabajaEn

Elefante

nombre

patas

Circo

dueño
Jose Labra
Universidad de Oviedo

Mapas de Tópicos
(Topic Maps)

Mapas de tópicos (http://www.topicmaps.org/)
Estándar de definición de índices
XTM es un vocabulario para mapas de tópicos basado en XML

<topic id="pizzas"/> ...
<occurrence>
<instanceOf>
<topicRef xlink:href="#barbacoa"/>
</instanceOf>
<scope>
<topicRef xlink:href="#pizza"/>
</scope>
<resourceRef xlink:href="barbacoa.jpg"/>
</occurrence>
...
</topic>
Jose Labra
Universidad de Oviedo

Modelos Orientados a Objetos
Modelos Orientados a Objetos: Especificación de herencia y jerarquía
de objetos
Lenguajes de modelado. UML incluye diagramas de clase que
describen la estructura de objetos, atributos, operaciones, etc.
Jose Labra
Universidad de Oviedo

RDF Schema
Confianza
Demostración

Lógica unificadora
Consultas:
SPARQL

Ontologías
OWL

Reglas
RIF

RDF Schema
Intercambio de datos: RDF
XML
Unicode

URI
Jose Labra
Universidad de Oviedo

RDF Schema
Motivación

RDF permite establecer propiedades pero no dice
nada acerda de las propiedades
RDF Schema tiene varias clases y propiedades
predefinidas que permiten definir vocabularios.
Es permite definir:
Clases y propiedades
Jerarquías y herencia entre clases
Jerarquías de propiedades
Jose Labra
Universidad de Oviedo

RDF Schema
Clases e individuos

Hay que distinguir entre:
Cosas concretas (individuos) del dominio.

Ej. "Jose Labra", "Lógica"
Clases o conceptos = Conjuntos de individuos que comparten algunas propiedades
(rdfs:Class)

Ej. "Profesor", "Asignatura", "Estudiante", ...

rdf:type indica que un individuo pertenece a una clase
rdfs:subClassOf indica que una clase está incluida
en otra
Nota
rdf:type = <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
rdfs:Class = <http://www.w3.org/2000/01/rdf-schema#Class>
Jose Labra
Universidad de Oviedo

RDF Schema
Rango y Dominio

Pueden declararse restricciones de Rango y Dominio
Ejemplo: daClaseDe
rdfs:domain: Persona
rdfs:range: Asignatura

Persona

Asignatura

daClaseDe

domain

range
Jose Labra
Universidad de Oviedo

RDF Schema
Jerarquías

Las clases pueden organizarse en jerarquías
rdfs:subClassOf define que una clase es una
subclase de otra
A es una subclase de B si todo individuo de A
pertenece a B
Entonces, B es una superclase de A

Una clase puede tener múltiples superclases
Animal

Mamífero

Ave

Gallina

Elefante

Perro
Jose Labra
Universidad de Oviedo

RDF Schema
Jerarquía de Propiedades

Jerarquías entre propiedades subPropertyOf
Ej. Ser padre es una subpropiedad de ser progenitor
P es subpropiedad de Q  x P y  x Q y

esProgenitor

esPadreDe

esMadre

:juan :esPadreDe :ana  :juan :esProgenitorDe :ana
Jose Labra
Universidad de Oviedo

RDF Schema: Inferencias
RDF Schema tiene una semántica predefinida que permite
inferir nuevas declaraciones a partir de las existentes
En realidad, se genera un grafo nuevo a partir del grafo
anterior
Ejemplos:
X rdf:type A  A subClassOf B  X rdf:type B
A rdfs:subclassOf B  B rdfs:subClassOf C  A rdfs:subClassOf C
P rdfs:domain A  X P Y  X rdf :type A
P rdfs:range B  X P Y  Y rdf:type B
P rdfs:subPropertyOf Q  Q rdfs:subPropertyOf R  P
rdf s:SubpropertyOf R
P rdfs:subPropertyOf Q  X P Y  X Q Y
etc.
Jose Labra
Universidad de Oviedo

RDF Schema: Inferencias
rdfs:Class

rdf:Property

<rdf:type>

Capa de
Vocabulario

<rdf:type>
<rdf:type>

r:SerVivo

<rdf:type>

r:WebPage
r:nombre

<rdfs:subClassOf>
<rdf:type>

r:Persona

<rdf:type>

Capa de
RDF Schema

<rdfs:domain>

<rdf:type>
<r:nombre>

“Juan”

http://www.libros.net

<r:apellidos>
<dc:Author>

“López”

Capa de
RDF

_:1

<r:homePage>

http://www.juanlopez.com
Jose Labra
Universidad de Oviedo

Ejercicio Barcos
Modelar el siguiente conocimiento en RDF
Nombre

Primer
Viaje

Pisco

1953

Rambo

1979

Titanic

1912

Sauce

1980

Proximo
Viaje

Fecha
Baja

Fecha
Hundimiento

1978

Olmos

2012

Gallardo
1912

2013

Comandante

Smith
Torre

Expresar el siguiente conocimiento
Un barco está fuera de servicio si tiene fecha de baja o fecha de hundimiento.
Un barco que tenga previsto un próximo viaje está en servicio.
El comandante de un barco es un marinero.
Un marinero es una persona
La fecha fin de servicio es la fecha de baja o la fecha de hundimiento.
Jose Labra
Universidad de Oviedo

Ejercicio
Dominios y Rangos

En el ejercicio anterior declarar dominios y rangos de
propiedades
primerViaje: Barco  Fecha
proximoViaje: Barco  Fecha
fechaBaja: Barco  Fecha
fechaHundimiento: Barco  Fecha
tieneComandante: Barco  Marinero
...
Jose Labra
Universidad de Oviedo

Añadiendo información
Crear una nueva tabla con la siguiente información
Nombre

Cargo

Proximo
Viaje

Barco

Olmos

Comandante

Gallardo

Comandante

2013

Alba

Ana

Azafata

2012

Rambo

Juan

Camarero

2013

Sauce

Pisco

Preguntas:
Buscar todos los barcos
Añadir información de que Ana va a viajar en 2013 en Sauce
Buscar todos los próximos viajes de barcos o personas
Jose Labra
Universidad de Oviedo

Limitaciones de RDF Schema
RDF Schema sólo permite declarar información clases
y propiedades
Es un primer paso hacia las ontologías pero se queda
corto
Carece de expresividad para:
Información negativa
Los hombres no son mujeres

Cuantificadores
Para que alguien sea considerado padre debe tener al menos un hijo

Cardinalidad
Un buen estudiante tiene que tener aprobadas más de 3 asignaturas

No permite atributos de propiedades
Transitiva, simétrica, inversa, etc.
Jose Labra
Universidad de Oviedo

Problema de RDF Schema
RDF Schema es demasiado liberal permitiendo mezclar
clases con individuos y propiedades
Por ejemplo:
x rdf:type x
Pueden llegar a declararse paradojas en RDF Schema
Jose Labra
Universidad de Oviedo

OWL
Confianza
Demostración

Lógica unificadora
Consultas:
SPARQL

Ontologías
OWL

Reglas
RIF

RDF Schema
Intercambio de datos: RDF
XML
Unicode

URI
Jose Labra
Universidad de Oviedo

OWL
OWL = Web Ontology Language
Desarrollado a partir de iniciativa del W3c
Antecedentes: DAML, OIL
Se basa en lógica descriptiva
2004 - OWL 1.0 recomendación W3c
2009 - OWL 2.0 recomendación W3c
Jose Labra
Universidad de Oviedo

Ejemplos de Ontologías
Cyc (http://www.cyc.com).
Conceptos de sentido común para Inteligencia Artificial
Utiliza lógica de predicados mediante lenguaje CycL

Frame Ontology y OKBC Ontology
Disponibles en Ontolingua (http://www-ksl-svc.stanford.edu/)
Utiliza KIF (Knowledge Interchange Format)

Ontologías en campos concretos:
Lingüística: WordNet (http://www.globalwordnet.org/)
Medicina: GALEN (http://www.opengalen.org/)
etc.
Jose Labra
Universidad de Oviedo

Ejemplos de Ontologías
Dublin Core

Dublin Core Metadata Initiative (http://www.dcmi.org)
Utilizado para la catalogación de documentos
Espacio de nombres: http://purl.org/dc/elements/1.1/
Conjunto de elementos básicos cuyo significado es
compartido
Contenido: Coverage, Description, Type, Relation, Source, Subject, Title
Propiedad Intelectual: Contributor, Creator, Publisher, Rights
Instanciación: Date, Format, Identifier, Language

Cada elemento básico admite una serie de cualificadores
Refinamiento de elementos

Ejemplo: Date.created, Description.tableOfContents
Esquema de codificación

Ejemplos: Identifier.URI, Date.DCMIPeriod
Jose Labra
Universidad de Oviedo

Evolución de las Ontologías para la
Web

SHOE (Simple HTML Ontology Extensions) Univ.
Maryland, 1996
Permite definir ontologías en documentos HTML
Objetivo = Facilitar búsquedas y anotaciones de documentos

OIL (Ontology Inference Layer)
Sintaxis RDF(S) y primitivas de representación del conocimiento en marcos
Se basa en el uso de description logics

DAML (DARPA Agent Markup Language)
Proyecto americano de creación de lenguaje para ontologías

DAML-OIL. Proyecto conjunto que será la base de OWL
OWL (Web Ontology Language) desarrollado en W3C
(2004)
Jose Labra
Universidad de Oviedo

OWL
OWL (Web Ontology Language)
Desarrollado por el consorcio W3C (2004)
3 niveles:
OWL Full. Unión de sintaxis OWL y RDF (sin restricciones)

No se garantiza la eficiencia ni siquiera la decidibilidad
OWL DL (Description Logics). Limita la expresividad intentando conseguir
decidibilidad
Profiles. Subconjuntos de OWL DL: EL, QL, RL, etc.

Más eficientes, menos expresivos
Jose Labra
Universidad de Oviedo

OWL
OWL DL se basa en Lógica Descriptiva (Description
Logics)
En realidad equivale al formalismo SHOIN(Dn)
Características
Semántica bien definida
Propiedades formales (decidibilidad, complejidad)
Algoritmos de razonamiento conocidos
Varios razonadores (Pellet, HermiT, Quonto)
Incluye tipos de datos primitivos de XML Schema
Jose Labra
Universidad de Oviedo

Lógica Descriptiva
La lógica descriptiva consiste en:
Conceptos (o clases):
Ejemplo: Padre, Madre, Persona
Propiedades (o roles): Relaciones entre
conceptos
Ejemplo: tieneHijo, esPadreDe
Individuos: Elementos del dominio
Ejemplo: Juan, Sergio, …
Jose Labra
Universidad de Oviedo

Lógica Descriptiva
La lógica descriptiva es un subconjunto de la lógica de
primer orden
Características:
Sólo se usan predicados de un argumento (clases) y
dos argumentos (propiedades)
El uso de las variables está restringido
Jose Labra
Universidad de Oviedo

Lógica Descriptiva
La base de conocimiento contiene 2 niveles
Términos (TBox): Descripción de conceptos
Padre  Persona   tieneHijo Persona
Orgulloso  Persona   tieneHijo ReciénNacido
ReciénNacido  Persona

Aserciones (ABox): Descripción de individuos
ReciénNacido(Sergio)
tieneHijo(Jose,Sergio)
Persona(Jose)
Jose Labra
Universidad de Oviedo

Lógica descriptiva
Las expresiones en lógica descriptiva pueden
representarse en lógica de primer orden
Padre  Persona   tieneHijo Persona
x(Padre(x)  (Persona(x) y(tieneHijo(x,y)Persona(y)))
Orgulloso  Persona   tieneHijo ReciénNacido

x(Orgulloso(x)  (Persona(x) y(tieneHijo(x,y)RecienNacido(y)))
ReciénNacido  Persona
x(RecienNacido(x)  Persona(x))
Jose Labra
Universidad de Oviedo

Lógica Descriptiva
Definición de Conceptos

Definición de conceptos
Equivalencia: C  D
Ejemplo: Asturiano  NacidoEnAsturias
Subclase: C  D (C está incluido en D ó D subsume a C)
Ejemplo: Asturiano  Español
Intersección: C  D
Ejemplo: Mujer  Persona  Femenino
Unión: C  D
Ejemplo: Persona  Hombre  Mujer
Complemento:  C
Ejemplo: Masculino   Femenino
Concepto vacío: 
Clases Disjuntas: C  D 
Jose Labra
Universidad de Oviedo

Lógica Descriptiva
Cuantificadores

Descripción de Propiedades
Existencial ( R C)
x pertenece a  R C si existe algún valor y  C tal que R(x,y)
Ejemplo: Madre  Mujer   tieneHijo Persona

Universal ( R C)
x pertenece a  R C si para todo y, si R(x,y) entonces y  C
Ejemplo: MadreFeliz  Madre   tieneHijo Sano
Una Madre es feliz si todos sus hijos están sanos
NOTA: Si no tuviese hijos, también se cumpliría…
Jose Labra
Universidad de Oviedo

Lógica Descriptiva
Cardinalidades

Cardinalidad (P = n)
x pertenece a (P = n) si existen n y  C tales que R(x,y)
Ejemplo: Elefante  Animal  tienePatas = 4
Cardinalidad máxima (P  n)
x pertenece a (P  n) si existen n ó menos y  C tales que
R(x,y)
Ejemplo: MalEstudiante  Estudiante  tieneAprobada  3
Cardinalidad mínima (P  n)
x pertenece a (P  n) si existen n ó más y  C tales que R(x,y)
Ejemplo: BuenEstudiante  Estudiante  tieneAprobada  3
x(BuenEstudiante(x)  Estudiante(x) 
y1y2y3 (tieneAprobada(x, y1) 
tieneAprobada(x, y2) 
tieneAprobada(x, y3) 
y1  y2  y2 y3  y1 y3 ))
Jose Labra
Universidad de Oviedo

Lógica Descriptiva
Atributos de propiedades

Reflexiva: P es reflexiva  xP(x,x)
Ejemplo: viveCon es reflexiva

Irreflexiva: P es irreflexiva  xP(x,x)
Ejemplo: esPadreDe es irreflexiva

Simetría. Si P(x,y) entonces P(y,x)
Ejemplo: viveCon

Asimétrica. Si P(x,y) entonces P(y,x)
Ejemplo: esPadreDe

Transitividad. Si P(x,y) y P(y,z) entonces P(x,z)
Ejemplo: viveCon
Jose Labra
Universidad de Oviedo

Lógica descriptiva
Relaciones entre propiedades

Inversa: P es inversa de Q  P(x,y)  Q(y,x)
Ejemplo: daClaseDe es inversa de tieneProfesor

SubPropiedad: P subpropiedad de Q si P(x,y)  Q(x,y)
Ejemplo: esHijoDe es subpropiedad de esDescendienteDe
Jose Labra
Universidad de Oviedo

Lógica Descriptiva
Funcionalidad

Propiedad Funcional.
P(x,y) y P(x,z) entonces y = z
Ejemplo: edad
Propiedad Funcional inversa.
P(x,y) y P(z,y) entonces x = z
Ejemplo: dni

Claves. similares a las propiedades func. inversas
P(x,y) y P(z,y) entonces x = z.
Se definen en OWL 2 (específicas para una clase)
Ejemplo: dni
Jose Labra
Universidad de Oviedo

Lógica Descriptiva
Razonamiento

A partir de una base de conocimiento  se ofrecen varios
mecanismos de inferencia:
1.- Satisfacibilidad de conceptos: De  no se deduce que C  

Ejemplo: Orgulloso  ReciénNacido
2.- Subsunción: Deducir si un concepto está incluido en otro

CD
Ejemplo: Orgulloso  Padre
Padre  Persona   tieneHijo Persona
Orgulloso  Persona   tieneHijo ReciénNacido
ReciénNacido  Persona
Padre  ReciénNacido
ReciénNacido(Sergio)
tieneHijo(Jose,Sergio)
Persona(Jose)
Jose Labra
Universidad de Oviedo

Lógica Descriptiva
Razonamiento

3.- Instanciación:   a  C
Ejemplo: Orgulloso(Jose)
4.- Recuperación de Información
Dado un concepto C, obtener a tales que a  C
Ejemplo: ? Orgulloso
Jose
5.- Realización/Comprensión (realizability).
Dado un elemento a, obtener concepto más específico C tal que a  C
Padre  Persona   tieneHijo Persona
Ejemplo: ? jose
Orgulloso  Persona   tieneHijo ReciénNacido
Orgulloso
ReciénNacido  Persona
Padre  ReciénNacido
ReciénNacido(Sergio)
tieneHijo(Jose,Sergio)
Persona(Jose)
Jose Labra
Universidad de Oviedo

Lenguaje OWL
Jose Labra
Universidad de Oviedo

OWL
Definición de ontologías

Aunque OWL es un lenguaje basado en lógica
descriptiva, existen varias sintaxis:
RDF (N3 ó RDF/XML)
SIntaxis abstracta
Sintaxis Manchester
Espacio de nombres:
http://www.w3.org/2002/07/owl#
Cabecera
Declarar una URI de la clase owl:Ontology
@prefix : <http://ejemplo.org#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
<>

a

owl:Ontology .
Jose Labra
Universidad de Oviedo

OWL
Cabecera

En la cabecera pueden incluirse diversas anotaciones
Anotaciones posibles:
rdfs:label
Etiqueta del recurso
rdfs:comment
Comentario del recurso
owl:versionInfo
Información sobre la versión del recurso
rdfs:seeAlso
Indica otro recurso con más información
rdfs:isDefinedBy
Indica que otro recurso contiene la definición
owl:imports
Indica la URI de una ontología que se va a
incorporar a la ontología actual

@prefix : <http://ejemplo.org#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
:

a
owl:Ontology ;
rdfs:comment "Ejemplo de Ontologia" ;
owl:imports <http://paises.org> .
Jose Labra
Universidad de Oviedo

OWL
Definiciones básicas

:juan

a :Alumno ;
:nombre "Juan Manuel" ;
:apellidos "Gallardo" ;
:esAmigoDe :pepe .

:pepe

a :Alumno ;
:nombre "Jose Luis" ;
:apellidos "Torres" ;
:tieneProfesor :jj .

:jj

a
:Profesor ;
:nombre "Juan Jose" ;
:apellidos "Bravo" .
Jose Labra
Universidad de Oviedo

OWL
Subclases

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.

:Profesor rdfs:subClassOf :Persona .
:Alumno rdfs:subClassOf :Persona .

Existen 2 clases predefinidas:
owl:Thing
- Contiene a todos los individuos
owl:Nothing
- representa el conjunto vacío
Jose Labra
Universidad de Oviedo

OWL
Propiedades

2 tipos de propiedades:
ObjectProperty - relaciona individuos
Ejemplo: :daCLaseDe
DatatypeProperty - relaciona un individuo con un valor
Ejemplo: nombre, edad
Jose Labra
Universidad de Oviedo

OWL
Dominio y rango

Las definiciones de dominio y rango se toman de RDF
Schema
Dominio: Conjunto inicial
Rango: Conjunto final
:daClaseDe rdfs:domain :Profesor .
:daClaseDe rdfs:range :Asignatura .

Nota: Las definiciones de dominio y rango pueden introducir
poca flexibilidad en el modelo
Jose Labra
Universidad de Oviedo

Relaciones entre propiedades
rdfs:subPropertyOf: P es subpropiedad de Q, si P(x,y)
entonces Q(x,y)
:esPadreDe rdfs:subPropertyOf :esProgenitor .

owl:inverseOf: P es inversa de Q si P(x,y)  Q(y,x)
:esPadreDe owl:inverseOf :esHijoDe .
Jose Labra
Universidad de Oviedo

Propiedades disjuntas
P es disjunta de Q si P(x,y)  Q(x,y)
Puede definirse propiedad a propiedad:
:tienePadre owl:propertyDisjointWith :tieneMadre .

...o para varias propiedades a la vez:
[]

a owl:AllDisjointProperties ;
owl:members ( :tienePadre ,
:tieneMadre ) .
Jose Labra
Universidad de Oviedo

Tipos de propiedades
owl:SymmetricProperty: P(x,y)  P(y,x)
Ejemplo: viveCon
owl:ASymmetricProperty: P(x,y)  P(y,x)
Ejemplo: esPadreDe
owl:ReflexiveProperty: Para todo x, P(x,x)
Ejemplo: viveCon
owl:IrreflexiveProperty: Para todo x,  P(x,x)
Ejemplo: esPadreDe
owl:TransitiveProperty: P(x,y)  P(y,z)  P(x,z)
Ejemplo: viveCon
:viveCon a owl:SymmetricProperty,
owl:ReflexiveProperty,
owl:TransitiveProperty.
Jose Labra
Universidad de Oviedo

Propiedades funcionales
owl:FunctionalProperty: P(x,y) y P(x,z)  y = z
Ejemplo: tieneMadre

owl:InverseFunctionalProperty: P(x,y) y P(z,y)  x = z
– Ejemplos: esMadreDe, dni
:tieneMadre a owl:FunctionalProperty.

owl:hasKey: Define una clave para una clase.
Una clave es un conjunto de valores de propiedades
que identifican únicamente a un elemento.
:Persona owl:hasKey (:dni :nombre).
Jose Labra
Universidad de Oviedo

Restricciones de propiedades
Existencial

owl:someValuesFrom: Al menos un valor debe
pertenecer a una clase
:Padre owl:equivalentClass [
a
owl:Restriction ;
owl:onProperty
:tieneHijo ;
owl:someValuesFrom :Persona
].

Notación en lógica descriptiva: Padre  Persona   tieneHijo Persona

Notación en
lógica de predicados:

x(Padre(x)  (Persona(x) y(tieneHijo(x,y)  Persona(y)))
Jose Labra
Universidad de Oviedo

Restricciones de propiedades
Universal

owl:allValuesFrom: Todos los valores deben pertenecer
a una clase
[] a owl:Class ;
owl:intersectionOf ( :Person :Feliz) ;
owl:equivalentClass [ a owl:Restriction ;
owl:onProperty :hasChild ;
owl:allValuesFrom :Feliz ] .

Notación en lógica descriptiva:
Persona  Feliz   tieneHijo Feliz

Notación en
lógica de predicados:

x( Persona(x)  Feliz(x)  y(tieneHijo(x,y)  Feliz(y)))
Jose Labra
Universidad de Oviedo

Restricciones de propiedades
Valores

owl:hasValue: Debe contener un valor determinado

:HijosDeJuan owl:equivalentClass
[ a owl:Restriction ;
owl:onProperty :esHijoDe ;
owl:hasValue :Juan
].

Notación en
lógica de predicados:

x( HijosDeJuan(x)  esHijoDe(x,Juan))
Jose Labra
Universidad de Oviedo

Cardinalidades
owl:cardinality: N valores exactos
owl:minCardinality: Al menos N valores
owl:maxCardinality: N valores como mucho
:Persona owl:equivalentClass
[ a owl:Restriction ;
owl:onProperty :esHijoDe ;
owl:cardinality "2"^^xsd:nonNegativeInteger ;
].
Jose Labra
Universidad de Oviedo

Cardinalidades cualificadas
owl:qualifiedCardinality: N valores exactos de una clase
owl:minQualifiedCardinality: Al menos N valores de una
clase
owl:maxQualifiedCardinality: N valores como mucho de
una clase
:DosHijosDoctores owl:equivalentClass
[ a owl:Restriction ;
owl:onProperty :esPadreDe ;
owl:qualifiedCardinality "2"^^xsd:nonNegativeInteger ;
owl:onClass :Doctor
].
Jose Labra
Universidad de Oviedo

Conjuntos por enumeración
owl:oneOf define un conjunto de valores
:Estacion a owl:Class ;
owl:OneOf (
:Primavera
:Otonio
:Verano
:Invierno
).
Jose Labra
Universidad de Oviedo

Operaciones de conjuntos
owl:unionOf define la unión de varias clases
:Progenitor owl:equivalentClass
[ a owl:Class ;
owl:unionOf ( :Padre :Madre )
].

owl:intersectionOf define la intersección de unas clases
:Madre owl:equivalentClass [ a owl:Class ;
owl:intersectionOf ( :Progenitor :Mujer )
].

owl:complementOf
:PersonaSinHijos owl:equivalentClass
[ a owl:Class ;
owl:intersectionOf ( :Persona [ owl:complementOf :Progenitor] )
].
Jose Labra
Universidad de Oviedo

Clases disjuntas
owl:disjointWith
:Persona owl:disjointWith :Asignatura .
:Asignatura owl:disjointWith :Ciudad .
:Ciudad
owl:disjointWith :Asignatura .

owl:allDisjointClasses
[] a owl:AllDisjointClasses ;
owl:members (:Persona :Asignatura :Ciudad)
Jose Labra
Universidad de Oviedo

Equivalencia
owl:sameAs establece que 2 individuos son el mismo
owl:equivalentClass establece que 2 clases son la
misma
owl:equivalentProperty establece que 2 propiedades
son la misma
Jose Labra
Universidad de Oviedo

Individuos diferentes
owl:differentFrom
:Juan owl:differentFrom :Pepe .
:Juan owl:differentFrom :Luis .
:Luis owl:differentFrom :Pepe .

owl:AllDifferent
[] a owl:AllDifferent ;
owl:distinctMembers (:Juan :Pepe :Luis) .
Jose Labra
Universidad de Oviedo

Declaraciones negativas
owl:negativePropertyAssertion permite declarar que no
se cumple una propiedad
Hay que indicar la propiedad, el sujeto y el objeto.
Ejemplo: Declara que Juan no es padre de Ana
[] a owl:NegativePropertyAssertion ;
owl:sourceIndividual :Juan ;
owl:assertionProperty :esPadreDe ;
owl:targetIndividual :Ana .
Jose Labra
Universidad de Oviedo

Cadenas de propiedades
owl:propertyChainAxiom define una cadena de
propiedades
:esAbueloDe owl:propertyChainAxiom
( :esPadreDe
:esPadreDe
).
:esTioDe owl:propertyChainAxiom
( :esHermanoDe
:esPadreDe
).
Jose Labra
Universidad de Oviedo

Restricciones self
Define la clase de todos los individuos que se
relacionan consigo mismos mediante una propiedad
:Autonomo a owl:Class;
owl:equivalentClass [
a owl:SelfRestriction ;
owl:onProperty :alimentaA
].
Jose Labra
Universidad de Oviedo

OWL
Sintaxis XML
Jose Labra
Universidad de Oviedo

OWL
Sintaxis XML

OWL se basa en RDF (utiliza sintaxis XML de RDF)
También existen otras formas sintácticas más sencillas
Las ontologías comienzan por owl:Ontology
<owl:Ontology rdf:about=“http://www.uniovi.es/ontologia_1.1">
<rdfs:comment>Ejemplo de Ontología</rdfs:comment>
<owl:priorVersion
rdf:resource="http://www.uniovi.es/ontologia_1.0"/>
<owl:imports
rdf:resource="http://www.uniovi.es/personas"/>
<rdfs:label>Ontología de la Universidad</rdfs:label>
</owl:Ontology>

owl:imports es una propiedad transitiva
Jose Labra
Universidad de Oviedo

Clases en OWL
Las clases se definen mediante owl:Class
owl:Class es una subclase de rdfs:Class

Clases equivalentes mediante equivalentClass
<owl:Class rdf:ID="Profesor">
<owl:equivalentClass rdf:resource="#PersonalDocente"/>
</owl:Class>

owl:Thing es la clase más general
owl:Nothing es la clase vacía
Las clases disjuntas se definen mediante owl:dijointWith
<owl:Class rdf:about="#ProfesorAsociado">

<owl:disjointWith rdf:resource="#catedrático"/>
<owl:disjointWith rdf:resource="#titular"/>

</owl:Class>
Jose Labra
Universidad de Oviedo

Propiedades en OWL
2 tipos de propiedades
Propiedades de Objetos relacionan un objeto con otro objeto. ej.
“esHijoDe"
<owl:ObjectProperty rdf:ID="esHijoDe">
<owl:domain rdf:resource="#Persona"/>
<owl:range rdf:resource= "#Persona"/>

<rdfs:subPropertyOf rdf:resource="#esDescendienteDe"/>
</owl:ObjectProperty>

Propiedades de tipos de datos relacionan un objeto con valores de tipos de datos
(enteros, literales, etc.), ej. "edad"
Habitualmente, se utilizan los tipos de datos de XML Schema
<owl:DatatypeProperty rdf:ID="edad">
<rdfs:range

rdf:resource="http://www.w3.org/2001/XLMSchema#nonNegativeInteger"/>
</owl:DatatypeProperty>
Jose Labra
Universidad de Oviedo

Definición de Clases
Clases como restricciones de propiedades
<owl:Class rdf:about="#personalDocente">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#daClaseDe"/>
<owl:someValuesFrom rdf:resource="#Asignatura"/>
</owl:Restriction>
</rdfs:subClassOf>
personalDocente   daClaseDe Asignatura
</owl:Class>

owl:Class

type
personalDocente
subClassOf

type
onProperty
someValuesFrom

owl:Restriction
daClaseDe
Asignatura
Jose Labra
Universidad de Oviedo

Propiedades en OWL
Restricciones

allValuesFrom () indica que todos los valores deben ser de un
tipo
NOTA: Los que no tiene ningún valor, también cumplen la
condición
someValuesFrom () Al menos un valor de la propiedad debe
tener un tipo
Ejemplo: Un estudiante es una persona que cursa al menos
una asignatura
hasValue Al menos uno de los valores tiene un valor
minCardinality, maxCardinality restringen el número
máximo/mínimo de valores
Jose Labra
Universidad de Oviedo

Propiedades en OWL
Combinaciones booleanas

Combinaciones booleanas
complementOf, unionOf, intersectionOf
<owl:Class rdf:ID="personasUniversidad">
<owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#personalDocente"/>
<owl:Class rdf:about="#estudiantes"/>

<owl:Class rdf:about="#PAS"/>
</owl:unionOf>

</owl:Class>
Jose Labra
Universidad de Oviedo

Propiedades en OWL
Enumeraciones

oneOf permite realizar enumeraciones
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="#Lunes"/>
<owl:Thing rdf:about="#Martes"/>
<owl:Thing rdf:about="#Miércoles"/>
<owl:Thing rdf:about="#Jueves"/>
<owl:Thing rdf:about="#Viernes"/>
<owl:Thing rdf:about="#Sábado"/>
<owl:Thing rdf:about="#Domingo"/>
</owl:oneOf>
Jose Labra
Universidad de Oviedo

Individuos en OWL
Se declaran igual que en RDF
<rdf:Description rdf:ID=“jose">
<rdf:type rdf:resource= "#profesor"/>

</rdf:Description>
<personalDocente rdf:ID=“jose">
<uni:edad rdf:datatype="&xsd;integer">35<uni:edad>

</personalDocente>
Jose Labra
Universidad de Oviedo

OWL – Web semántica
No asume nombres únicos

Web = modelo abierto
Información incompleta
2 URIs diferentes podrían identificar el mismo objeto
No soporta UNA (Unique name assumption)
Permite inferir que 2 elementos son iguales
No está pensado para validar modelos

Ejemplo
Persona  tienePadre = 1
tienePadre(luis,jose)
tienePadre(luis,pepe)
Persona(luis)

No indica error en el modelo

Infiere que “pepe” y “jose” son iguales
Jose Labra
Universidad de Oviedo

OWL – Web Semántica
Asumción de mundo abierto

Web = Sistema abierto
Sistemas tradicionales usaban closed world assumption
En OWL se usa open world assumption

Ejemplo
Soltero    estaCasadoCon Persona
Casado   estaCasadoCon Persona

El sistema infiere que
María está casada

Persona(pepe)
Persona(Maria)
Persona(luis)
estaCasadoCon(maria,pepe)
Casado(luis )

El sistema no infiere que
pepe esté casado ni soltero
El sistema infiere que luis
Está casado con alguien…
pero no sabe con quién.
Jose Labra
Universidad de Oviedo

OWL
Herramientas

Herramientas para manipulación de documentos OWL
Protègè (http://protege.stanford.edu) es una herramienta
para creación de ontologías desarrollada en Stanford
(se basa en Frames)
Arquitectura que facilita el desarrollo de plugins
Plugin para edición de documentos OWL
Swoop: Herramienta inspirada en un visualizador web
con la posibilidad de editar ontologías
TopBraid (Comercial)
Jose Labra
Universidad de Oviedo

OWL
Herramientas
Jose Labra
Universidad de Oviedo

Ejercicio. Resolver el
Problema de Einstein en OWL

Problema propuesto por Einstein y traducido a varios idiomas conservando su lógica. Einstein
aseguraba que el 98% de la población mundial sería incapaz de resolverlo.
Condiciones iniciales:
•
Tenemos cinco casas, cada una de un color.
•
Cada casa tiene un dueño de nacionalidad diferente.
•
Los 5 dueños beben una bebida diferente, fuman marca diferente y tienen mascota diferente.
•
Ningún dueño tiene la misma mascota, fuma la misma marca o bebe el mismo tipo de bebida
que otro.
Datos:
1. El noruego vive en la primera casa, junto a la casa azul.
2. El que vive en la casa del centro toma leche.
3. El inglés vive en la casa roja.
4. La mascota del Sueco es un perro.
5. El Danés bebe té.
6. La casa verde es la inmediata de la izquierda de la casa blanca.
7. El de la casa verde toma café.
8. El que fuma PallMall cría pájaros.
9. El de la casa amarilla fuma Dunhill.
10. El que fuma Blend vive junto al que tiene gatos.
11. El que tiene caballos vive junto al que fuma Dunhill.
12. El que fuma BlueMaster bebe cerveza.
13. El alemán fuma Prince.
14. El que fuma Blend tiene un vecino que bebe agua.
¿Quién tiene peces por mascota?
Jose Labra
Universidad de Oviedo

OWL
Sistemas de Inferencia

HermiT (Java) razonador OWL 2
Pellet (Java) incluye razonador para OWL 2
Soporte en línea de comandos o mediante interfaz DIG
Fact++ (C++) razonador
RACER. Sistema de inferencia implementado en Lisp
JENA. API Java para RDF. Incluye sistema de inferencia
Jose Labra
Universidad de Oviedo

RIF: Reglas
Confianza
Demostración

Lógica unificadora
Consultas:
SPARQL

Ontologías
OWL

Reglas
RIF

RDF Schema
Intercambio de datos: RDF
XML
Unicode

URI
Jose Labra
Universidad de Oviedo

Ampliaciones
Reglas

Las Cláusulas Horn son la base de la programación
lógica
SWRL (Semantic Web Rule Language) es una propuesta
de creación de un lenguaje de reglas que añada reglas
tipo Prolog a OWL
Orígenes: RuleML (Iniciativa internacional)
RIF (Rule Interchange Format) = Intercambio de reglas
hermano(x,y)  progenitor(y,z)  tío(x,z)
hermano . progenitor  tío

Problema: Indecidible al unirse con OWL
Jose Labra
Universidad de Oviedo

Monotonicidad y Reglas
Problema: negación por fallo
Lógica de primer orden es monótona
Negación por fallo no es monótona
Programación lógica con negación por fallo no es un
subconjunto de lógica de primer orden
Jose Labra
Universidad de Oviedo

Interacción entre programación lógica
y
lógica descriptiva
Lógica
Primer
Orden

Lógica
descriptiva

Cláusulas
Horn
DLP

Prog.
Lógica
(Negación
por fallo)
(extensiones
procedimentales)
Jose Labra
Universidad de Oviedo

Lógica y Demostración
Confianza
Demostración

Lógica unificadora
Consultas:
SPARQL

Ontologías
OWL

Reglas
RIF

RDF Schema
Intercambio de datos: RDF
XML
Unicode

URI
Jose Labra
Universidad de Oviedo

Sistema de Inferencia
Semantic Tableaux

Semantic Tableaux

Detecta si es insatisfacible
Va buscando modelos que cumplan las condiciones
Va generando un árbol de posibles modelos
Cierra las ramas cuando encuentra inconsistencias (clash)
Expresividad vs. Decidibilidad
Sopa de letras

http://www.cs.man.ac.uk/~ezolin/logic/complexity.html
Jose Labra
Universidad de Oviedo

Semantic Tableaux
Ejemplo

Hombre  Mortal
Hombre(Sócrates)
Mortal(Sócrates)
Razonamiento:

{ H  M, H(s) }  M(s)

Forma normal:

{ H  M, H(s), M(s) }

s : H  M, H, M

s : H, H, M

s : M, H, M
Regla de inferencia:
Si A contiene x : C  D entonces
A’ = A  x : C
A’ = A  x : D
Jose Labra
Universidad de Oviedo

Semantic Tableaux
Algunas Reglas de inferencia

Si A contiene x : C  D entonces
A’ = A  x : C
A’ = A  x : D
Si A contiene x : C  D entonces
A’ = A  x : C, D
Si A contiene x :  R C y ∄z tal que R(x,z) y z: C entonces
A’ = A  { y : C, R(x,y) } para un y A
Si A contiene x :  R C y R(x,y) pero no contiene y : C
A’ = A  y : C
Jose Labra
Universidad de Oviedo

Semantic Tableaux
Otro ejemplo

{  hijo Persona  Padre, Padre  Persona }   hijo Persona  Persona

Cambiando nombres: {  h P  A, A  P }   h P  P
Forma nornal: {  h P  A, A  P ,  h P , P }
Jose Labra
Universidad de Oviedo

Semantic Tableaux
Otro ejemplo
x :  h P  A, A  P ,  h P , P

x :  h P, A  P ,  h P , P

x : A , A  P ,  h P , P

x : A , A ,  h P , P

x :  h P, A ,  h P , P
x :  h P, A ,  h P , P
h
y:P
x :  h P, A ,  h P , P
h
y : P,P

x :  h P, P,  h P , P

x : A , P ,  h P , P
Jose Labra
Universidad de Oviedo

Semantic Tableaux
Otro ejemplo

{  hijo Persona  Padre, Padre  Persona }  Persona   hijo Persona

Cambiando nombres: {  h P  A, A  P }  P   h P
Forma nornal: {  h P  A, A  P , P ,  h P }
Jose Labra
Universidad de Oviedo

Semantic Tableaux
Otro ejemplo
x :  h P  A, A  P , P ,  h P

x :  h P, A  P , P

x : A , A  P , P ,  h P
x : A , A , P ,  h P

x :  h P, A , P

x :  h P, P

Se encuentra un modelo  No se cumple

x : A , P ,  h P
Jose Labra
Universidad de Oviedo

Confianza
Confianza
Demostración

Lógica unificadora
Consultas:
SPARQL

Ontologías
OWL

Reglas
RIF

RDF Schema
Intercambio de datos: RDF
XML
Unicode

URI
Jose Labra
Universidad de Oviedo

Confianza
Las declaraciones que aparecen en la Web pueden no
ser fiables
Es necesario desarrollar sistemas que tengan en
cuenta el contexto de las declaraciones
Problemas/Retos:
¿Es el autor quien dice que es?
¿Cómo se pueden comprobar sus credenciales?
¿Es posible confiar en el sistema de inferencia?

Algunas propuestas:
Redes de confianza
Reificación en RDF permite realizar afirmaciones sobre declaraciones RDF
Jose Labra
Universidad de Oviedo

El futuro de la Web Semántica
La Web Semántica está de moda ….puede ser un problema…
Compromiso Expresividad vs Eficiencia
Razonamiento con individuos limitado
Complejidades exponenciales
Aplicaciones de muestra rudimentarias
Necesidad de una Killer Application
Generación de meta-información
Representación de meta-información
Depuración de ontologías
¿Y la confianza?
Inclusión de Técnicas de certificación
Explicación de Respuestas (D. McGuiness)
Jose Labra
Universidad de Oviedo

Fin de la Presentación

Más contenido relacionado

La actualidad más candente

Principales representantes de los sofistas
Principales representantes de los sofistasPrincipales representantes de los sofistas
Principales representantes de los sofistasVicente Meza Lopez
 
Teoria neoclasica
Teoria neoclasicaTeoria neoclasica
Teoria neoclasicaLady Tuty
 
Escuelas de la administración
Escuelas de la administraciónEscuelas de la administración
Escuelas de la administraciónANEP - DETP
 
Ensayo sobre la administración como arte, ciencia o técnica
Ensayo sobre la administración como arte, ciencia o técnicaEnsayo sobre la administración como arte, ciencia o técnica
Ensayo sobre la administración como arte, ciencia o técnicaJharol Reyes
 
La epistemologia
La epistemologiaLa epistemologia
La epistemologiaHeidy Rios
 
Olap vs oltp bases datos 2
Olap vs oltp bases datos 2Olap vs oltp bases datos 2
Olap vs oltp bases datos 2Velmuz Buzz
 
Historia y evolucion de la administracion
Historia y evolucion de la administracionHistoria y evolucion de la administracion
Historia y evolucion de la administracionGunBlade
 
Origenes de la Administracion.
Origenes de la Administracion.Origenes de la Administracion.
Origenes de la Administracion.AnaTNovoa
 
Operaciones conceptuadoras
Operaciones conceptuadorasOperaciones conceptuadoras
Operaciones conceptuadorasBrianda Yuriar
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datosJorge Garcia
 
La estructura de la ciencia iv
La estructura de la ciencia ivLa estructura de la ciencia iv
La estructura de la ciencia ivJOSE LIVIA SEGOVIA
 
El mito de la caverna (ensayo)
El mito de la caverna (ensayo)El mito de la caverna (ensayo)
El mito de la caverna (ensayo)Pedro Rodriguez
 
Mapa conceptual de epistemologia
Mapa conceptual de epistemologiaMapa conceptual de epistemologia
Mapa conceptual de epistemologiaLACOST Acosta
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioSergio Sanchez
 
Cuadro comparativo de la web 1.0, web 2.0, web 3.0, web 4.0
Cuadro comparativo de  la web 1.0, web 2.0, web 3.0, web 4.0Cuadro comparativo de  la web 1.0, web 2.0, web 3.0, web 4.0
Cuadro comparativo de la web 1.0, web 2.0, web 3.0, web 4.0Nombre Apellidos
 
Caracteristicas de los metodos filosoficos t4
Caracteristicas de los metodos filosoficos t4Caracteristicas de los metodos filosoficos t4
Caracteristicas de los metodos filosoficos t4Fabian Heredia
 

La actualidad más candente (20)

Redes Semanticas
Redes SemanticasRedes Semanticas
Redes Semanticas
 
Principales representantes de los sofistas
Principales representantes de los sofistasPrincipales representantes de los sofistas
Principales representantes de los sofistas
 
Teoria neoclasica
Teoria neoclasicaTeoria neoclasica
Teoria neoclasica
 
Herramientas web 2.0
Herramientas web 2.0Herramientas web 2.0
Herramientas web 2.0
 
Escuelas de la administración
Escuelas de la administraciónEscuelas de la administración
Escuelas de la administración
 
Ensayo sobre la administración como arte, ciencia o técnica
Ensayo sobre la administración como arte, ciencia o técnicaEnsayo sobre la administración como arte, ciencia o técnica
Ensayo sobre la administración como arte, ciencia o técnica
 
La epistemologia
La epistemologiaLa epistemologia
La epistemologia
 
Olap vs oltp bases datos 2
Olap vs oltp bases datos 2Olap vs oltp bases datos 2
Olap vs oltp bases datos 2
 
Historia y evolucion de la administracion
Historia y evolucion de la administracionHistoria y evolucion de la administracion
Historia y evolucion de la administracion
 
Origenes de la Administracion.
Origenes de la Administracion.Origenes de la Administracion.
Origenes de la Administracion.
 
Operaciones conceptuadoras
Operaciones conceptuadorasOperaciones conceptuadoras
Operaciones conceptuadoras
 
Administracion de proyectos Situacion actual del entorno
Administracion de proyectos Situacion actual del entornoAdministracion de proyectos Situacion actual del entorno
Administracion de proyectos Situacion actual del entorno
 
mineria de datos
mineria de datosmineria de datos
mineria de datos
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
La estructura de la ciencia iv
La estructura de la ciencia ivLa estructura de la ciencia iv
La estructura de la ciencia iv
 
El mito de la caverna (ensayo)
El mito de la caverna (ensayo)El mito de la caverna (ensayo)
El mito de la caverna (ensayo)
 
Mapa conceptual de epistemologia
Mapa conceptual de epistemologiaMapa conceptual de epistemologia
Mapa conceptual de epistemologia
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Cuadro comparativo de la web 1.0, web 2.0, web 3.0, web 4.0
Cuadro comparativo de  la web 1.0, web 2.0, web 3.0, web 4.0Cuadro comparativo de  la web 1.0, web 2.0, web 3.0, web 4.0
Cuadro comparativo de la web 1.0, web 2.0, web 3.0, web 4.0
 
Caracteristicas de los metodos filosoficos t4
Caracteristicas de los metodos filosoficos t4Caracteristicas de los metodos filosoficos t4
Caracteristicas de los metodos filosoficos t4
 

Similar a Ontologías y la Web Semántica

Logica de predicados
Logica de predicadosLogica de predicados
Logica de predicadosroswal090286
 
Representación inteligencia artificial
Representación  inteligencia artificialRepresentación  inteligencia artificial
Representación inteligencia artificialCrismarCrespo
 
Programación en Prolog para Inteligencia Artificial
Programación en Prolog para Inteligencia ArtificialProgramación en Prolog para Inteligencia Artificial
Programación en Prolog para Inteligencia ArtificialEgdares Futch H.
 
Agenda g9 julio 21 agosto 30
Agenda g9 julio 21   agosto 30Agenda g9 julio 21   agosto 30
Agenda g9 julio 21 agosto 30sandrIVON Mercado
 
Construcción de una ontología OWL con protégé 4
Construcción de una ontología OWL con protégé 4Construcción de una ontología OWL con protégé 4
Construcción de una ontología OWL con protégé 4Taniana Rodriguez
 
Representacion del conocimiento
Representacion del conocimientoRepresentacion del conocimiento
Representacion del conocimientoAnibal Parra
 
Lógica y conjuntos proposiciones y cuantificadores
Lógica y conjuntos proposiciones y cuantificadoresLógica y conjuntos proposiciones y cuantificadores
Lógica y conjuntos proposiciones y cuantificadoresjazzme
 
El uso de ontologías en la enseñanza de lenguas extranjeras
El uso de ontologías en la enseñanza de lenguas extranjerasEl uso de ontologías en la enseñanza de lenguas extranjeras
El uso de ontologías en la enseñanza de lenguas extranjerasAtlas Uned
 
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°Luz Dary Silva Morales
 
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°Alejandro Arenas
 
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°omaira patricia diaz gonzalez
 
Clasificacion y Evolucion
Clasificacion y EvolucionClasificacion y Evolucion
Clasificacion y Evolucionmunizchesca
 
Taxonomía y claves dicotómicas: guía
Taxonomía y claves dicotómicas: guíaTaxonomía y claves dicotómicas: guía
Taxonomía y claves dicotómicas: guíaHogar
 

Similar a Ontologías y la Web Semántica (20)

Calculo predicadospartei
Calculo predicadosparteiCalculo predicadospartei
Calculo predicadospartei
 
Logica de predicados
Logica de predicadosLogica de predicados
Logica de predicados
 
LóGica SesióN N°4
LóGica SesióN N°4LóGica SesióN N°4
LóGica SesióN N°4
 
Representación inteligencia artificial
Representación  inteligencia artificialRepresentación  inteligencia artificial
Representación inteligencia artificial
 
Programación en Prolog para Inteligencia Artificial
Programación en Prolog para Inteligencia ArtificialProgramación en Prolog para Inteligencia Artificial
Programación en Prolog para Inteligencia Artificial
 
Agenda g9 julio 21 agosto 30
Agenda g9 julio 21   agosto 30Agenda g9 julio 21   agosto 30
Agenda g9 julio 21 agosto 30
 
Construcción de una ontología OWL con protégé 4
Construcción de una ontología OWL con protégé 4Construcción de una ontología OWL con protégé 4
Construcción de una ontología OWL con protégé 4
 
Representacion del conocimiento
Representacion del conocimientoRepresentacion del conocimiento
Representacion del conocimiento
 
Lógica y conjuntos proposiciones y cuantificadores
Lógica y conjuntos proposiciones y cuantificadoresLógica y conjuntos proposiciones y cuantificadores
Lógica y conjuntos proposiciones y cuantificadores
 
El uso de ontologías en la enseñanza de lenguas extranjeras
El uso de ontologías en la enseñanza de lenguas extranjerasEl uso de ontologías en la enseñanza de lenguas extranjeras
El uso de ontologías en la enseñanza de lenguas extranjeras
 
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
 
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
 
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
 
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
Plan de clase i.e lorenzo yalí lenguaje 2017 grado 5°
 
Cálculo de Predicados
Cálculo de PredicadosCálculo de Predicados
Cálculo de Predicados
 
Clasificacion y Evolucion
Clasificacion y EvolucionClasificacion y Evolucion
Clasificacion y Evolucion
 
Taxonomía y claves dicotómicas: guía
Taxonomía y claves dicotómicas: guíaTaxonomía y claves dicotómicas: guía
Taxonomía y claves dicotómicas: guía
 
2014 ii c04t-quipus
2014 ii c04t-quipus2014 ii c04t-quipus
2014 ii c04t-quipus
 
Filogenia_I__II_PT.pdf
Filogenia_I__II_PT.pdfFilogenia_I__II_PT.pdf
Filogenia_I__II_PT.pdf
 
Logica decimo
Logica decimoLogica decimo
Logica decimo
 

Más de Jose Emilio Labra Gayo

Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctoradoJose Emilio Labra Gayo
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapesJose Emilio Labra Gayo
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data qualityJose Emilio Labra Gayo
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesJose Emilio Labra Gayo
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesJose Emilio Labra Gayo
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosJose Emilio Labra Gayo
 
Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorJose Emilio Labra Gayo
 

Más de Jose Emilio Labra Gayo (20)

Publicaciones de investigación
Publicaciones de investigaciónPublicaciones de investigación
Publicaciones de investigación
 
Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctorado
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapes
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data quality
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectives
 
Wikidata
WikidataWikidata
Wikidata
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologies
 
ShEx by Example
ShEx by ExampleShEx by Example
ShEx by Example
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
Introducción a la Web Semántica
Introducción a la Web SemánticaIntroducción a la Web Semántica
Introducción a la Web Semántica
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
 
2017 Tendencias en informática
2017 Tendencias en informática2017 Tendencias en informática
2017 Tendencias en informática
 
RDF, linked data and semantic web
RDF, linked data and semantic webRDF, linked data and semantic web
RDF, linked data and semantic web
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
19 javascript servidor
19 javascript servidor19 javascript servidor
19 javascript servidor
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazados
 
16 Alternativas XML
16 Alternativas XML16 Alternativas XML
16 Alternativas XML
 
XSLT
XSLTXSLT
XSLT
 
XPath
XPathXPath
XPath
 
Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el Servidor
 

Ontologías y la Web Semántica

  • 1. Ontologías y Web Semántica Jose Emilio Labra Gayo Departamento de Informática Universidad de Oviedo http://www.di.uniovi.es/~labra
  • 2. Jose Labra Universidad de Oviedo ¿Qué es una Ontología? Una ontología = Formalización de un dominio Utiliza: lenguajes formales Para: definir vocabulario de un dominio Compartir el significado entre aplicaciones Inferir nuevo conocimiento a partir de definiciones Otros términos relacionados: Taxonomía: Clasficación jerárquica Tesauro: Definiciones de términos
  • 3. Jose Labra Universidad de Oviedo Ejemplos de dominios Medicina Biología Aviación Animales Comida …etc
  • 4. Jose Labra Universidad de Oviedo Partes de una ontología Define conjunto de términos (vocabulario) Corazón, Sangre, Sistema circulatorio Propiedades entre dichos términos Ejemplo: "el corazón es un órgano muscular que es parte del sistema circulatorio" Descrito en un lenguaje formal Ejemplo (lógica): x(Corazón(x)  OrganoMuscular(x)  y (esParteDe(x,y)  SistemaCirculatorio(y))
  • 5. Jose Labra Universidad de Oviedo Ontología como rama del conocimiento Ontología, rama de la metafísica Desde Aristóteles (metafisica, IV) Onto=ser, logos=estudio de (estudio del ser) Estudia los entes, sus categorías y relaciones Representación del conocimiento Ontología = formalización de un dominio Un vocabulario compartido que describe un determinado dominio Un conjunto de supuestos sobre los términos de dicho vocabulario, generalmente se utiliza un lenguaje formal manipulable automáticamente. Árbol de la naturaleza y de la lógica Ramón Llull (1235-1316)
  • 6. Jose Labra Universidad de Oviedo Lógica Lógica: Estudio de los razonamientos Origen en Aristóteles (-342 a. de C.) Desarrollo de la Lógica formal a finales s. XIX (De Morgan, Fregge) Lógica computacional (Hilbert, Church, Turing, Herbrand, Tarski, …) Varios sistemas de Lógica Lógica proposicional Lógica de predicados Otras lógicas: lógica modal, lógica descriptiva, lógica borrosa, etc.
  • 7. Jose Labra Universidad de Oviedo Lógica Proposicional Cada frase que puede ser verdadera o falsa es una proposicón o enunciado (p) Varias conectivas: Negación: p Conjunción: p  q Disyunción: p  q Implicación: p  q Equivalencia: p  q “Si Juan juega al fútbol, se cansa y Juan juega al fútbol Por tanto: Juan se cansa” pq p q
  • 8. Jose Labra Universidad de Oviedo Lógica proposicional Existen sistemas de demostración que comprueban si un razonamiento es correcto Ejemplo: Deducción natural Propiedades: Consistente: todos los razonamientos que se demuestran son correctos Completo: todos los razonamientos correctos pueden demostrarse Complejidad: NP (es uno de los problemas NP clásicos) Expresividad: Muy poca. Ejemplo: “Todos los hombres son mortales, Sócrates es un hombre, luego Sócrates es mortal”
  • 9. Jose Labra Universidad de Oviedo Lógica de predicados Extiende la lógica proposicional con predicados, funciones y cuantificadores Ejemplo de predicado: P(x,y) = x es padre de y Ejemplo de función: m(x) = “madre de x” Cuantificadores: Existencial: xP(x) Universal: xP(x) Ejemplo: “Todos los hombres son mortales, Sócrates es un hombre, luego Sócrates es mortal” x(H(x)  M(x)) H(s) M(s)
  • 10. Jose Labra Universidad de Oviedo Lógica de Predicados Existen varios sistemas de demostración en lógica de predicados. Propiedades: Consistente: Todo lo que demuestran es correcto Completo: Todos lo que es correcto es demostrable Semidecidible: Si una fórmula es correcta, lo detectan, si no lo es, pueden no detectarlo Para resolver ese problema se han buscado subconjuntos de lógica de predicados de primer orden que sean decidibles: Clausulas Horn Lógica descriptiva etc…
  • 11. Jose Labra Universidad de Oviedo Complejidad Los sistemas de demostración pueden ser muy complejos Jerarquía de clases de complejidad P  NP  PSPACE  EXPTIME  NEXPTIME  EXPSPACE P = Problemas que resuelve una máquina de Turing determinista en tiempo polinómico NP= Problemas que resuelve una máquina de Turing no determinista en tiempo polinómico PSPACE= Problemas que resuelve una máquina de Turing determinista en espacio polinómico EXPTIME=Problemas que resuelve una máquina de Turing determinista en tiempo O(2p(n)) NEXPTIME=Problemas que resuelve una máquina de Turing no determinista en tiempo O(2p(n)) EXPSPACE=Problemas que resuelve una máquina de Turing determinista en espacio O(2p(n))
  • 12. Jose Labra Universidad de Oviedo Redes Semánticas Redes Semánticas (Quillian, 68): Grafos dirigidos donde los vértices son conceptos y los enlaces son relaciones entre conceptos 2 tipos especiales de relaciones: is-a (pertenencia) y ako (inclusión) Sí Sí lactante tienePelo mamífero ako Gris color ako elefante perro trompa patas 4 1 is-a 4 patas sonido ladra is-a e1 e2 patas 3 nombre pipo nombre pluto
  • 13. Jose Labra Universidad de Oviedo Frames Desarrollados para estructurar el conocimiento de las redes semánticas Un frame o marco = colección de atributos (slots) que describen una entidad Puede representar un concepto (o clase) y un individuo (o instancia) Clase: Mamífero tienePelo: Sí lactante: Sí Clase: Elefante ako: Mamífero patas: 4 trompa: 1 color: gris Clase: Perro: ako: Mamífero patas: 4 sonido: ladra Individuo: e1 isa: Elefante patas: 3 nombre: Pipo Individuo: e2 is-a: Perro nombre: Pluto
  • 14. Jose Labra Universidad de Oviedo Diagramas Entidad-Relación Diagramas Entidad-Relación (Chen, 1976): Representaciones gráficas utilizadas para capturar modelos de dominio. Utilizados en el desarrollo de Bases de Datos trabajaEn Elefante nombre patas Circo dueño
  • 15. Jose Labra Universidad de Oviedo Mapas de Tópicos (Topic Maps) Mapas de tópicos (http://www.topicmaps.org/) Estándar de definición de índices XTM es un vocabulario para mapas de tópicos basado en XML <topic id="pizzas"/> ... <occurrence> <instanceOf> <topicRef xlink:href="#barbacoa"/> </instanceOf> <scope> <topicRef xlink:href="#pizza"/> </scope> <resourceRef xlink:href="barbacoa.jpg"/> </occurrence> ... </topic>
  • 16. Jose Labra Universidad de Oviedo Modelos Orientados a Objetos Modelos Orientados a Objetos: Especificación de herencia y jerarquía de objetos Lenguajes de modelado. UML incluye diagramas de clase que describen la estructura de objetos, atributos, operaciones, etc.
  • 17. Jose Labra Universidad de Oviedo RDF Schema Confianza Demostración Lógica unificadora Consultas: SPARQL Ontologías OWL Reglas RIF RDF Schema Intercambio de datos: RDF XML Unicode URI
  • 18. Jose Labra Universidad de Oviedo RDF Schema Motivación RDF permite establecer propiedades pero no dice nada acerda de las propiedades RDF Schema tiene varias clases y propiedades predefinidas que permiten definir vocabularios. Es permite definir: Clases y propiedades Jerarquías y herencia entre clases Jerarquías de propiedades
  • 19. Jose Labra Universidad de Oviedo RDF Schema Clases e individuos Hay que distinguir entre: Cosas concretas (individuos) del dominio. Ej. "Jose Labra", "Lógica" Clases o conceptos = Conjuntos de individuos que comparten algunas propiedades (rdfs:Class) Ej. "Profesor", "Asignatura", "Estudiante", ... rdf:type indica que un individuo pertenece a una clase rdfs:subClassOf indica que una clase está incluida en otra Nota rdf:type = <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> rdfs:Class = <http://www.w3.org/2000/01/rdf-schema#Class>
  • 20. Jose Labra Universidad de Oviedo RDF Schema Rango y Dominio Pueden declararse restricciones de Rango y Dominio Ejemplo: daClaseDe rdfs:domain: Persona rdfs:range: Asignatura Persona Asignatura daClaseDe domain range
  • 21. Jose Labra Universidad de Oviedo RDF Schema Jerarquías Las clases pueden organizarse en jerarquías rdfs:subClassOf define que una clase es una subclase de otra A es una subclase de B si todo individuo de A pertenece a B Entonces, B es una superclase de A Una clase puede tener múltiples superclases Animal Mamífero Ave Gallina Elefante Perro
  • 22. Jose Labra Universidad de Oviedo RDF Schema Jerarquía de Propiedades Jerarquías entre propiedades subPropertyOf Ej. Ser padre es una subpropiedad de ser progenitor P es subpropiedad de Q  x P y  x Q y esProgenitor esPadreDe esMadre :juan :esPadreDe :ana  :juan :esProgenitorDe :ana
  • 23. Jose Labra Universidad de Oviedo RDF Schema: Inferencias RDF Schema tiene una semántica predefinida que permite inferir nuevas declaraciones a partir de las existentes En realidad, se genera un grafo nuevo a partir del grafo anterior Ejemplos: X rdf:type A  A subClassOf B  X rdf:type B A rdfs:subclassOf B  B rdfs:subClassOf C  A rdfs:subClassOf C P rdfs:domain A  X P Y  X rdf :type A P rdfs:range B  X P Y  Y rdf:type B P rdfs:subPropertyOf Q  Q rdfs:subPropertyOf R  P rdf s:SubpropertyOf R P rdfs:subPropertyOf Q  X P Y  X Q Y etc.
  • 24. Jose Labra Universidad de Oviedo RDF Schema: Inferencias rdfs:Class rdf:Property <rdf:type> Capa de Vocabulario <rdf:type> <rdf:type> r:SerVivo <rdf:type> r:WebPage r:nombre <rdfs:subClassOf> <rdf:type> r:Persona <rdf:type> Capa de RDF Schema <rdfs:domain> <rdf:type> <r:nombre> “Juan” http://www.libros.net <r:apellidos> <dc:Author> “López” Capa de RDF _:1 <r:homePage> http://www.juanlopez.com
  • 25. Jose Labra Universidad de Oviedo Ejercicio Barcos Modelar el siguiente conocimiento en RDF Nombre Primer Viaje Pisco 1953 Rambo 1979 Titanic 1912 Sauce 1980 Proximo Viaje Fecha Baja Fecha Hundimiento 1978 Olmos 2012 Gallardo 1912 2013 Comandante Smith Torre Expresar el siguiente conocimiento Un barco está fuera de servicio si tiene fecha de baja o fecha de hundimiento. Un barco que tenga previsto un próximo viaje está en servicio. El comandante de un barco es un marinero. Un marinero es una persona La fecha fin de servicio es la fecha de baja o la fecha de hundimiento.
  • 26. Jose Labra Universidad de Oviedo Ejercicio Dominios y Rangos En el ejercicio anterior declarar dominios y rangos de propiedades primerViaje: Barco  Fecha proximoViaje: Barco  Fecha fechaBaja: Barco  Fecha fechaHundimiento: Barco  Fecha tieneComandante: Barco  Marinero ...
  • 27. Jose Labra Universidad de Oviedo Añadiendo información Crear una nueva tabla con la siguiente información Nombre Cargo Proximo Viaje Barco Olmos Comandante Gallardo Comandante 2013 Alba Ana Azafata 2012 Rambo Juan Camarero 2013 Sauce Pisco Preguntas: Buscar todos los barcos Añadir información de que Ana va a viajar en 2013 en Sauce Buscar todos los próximos viajes de barcos o personas
  • 28. Jose Labra Universidad de Oviedo Limitaciones de RDF Schema RDF Schema sólo permite declarar información clases y propiedades Es un primer paso hacia las ontologías pero se queda corto Carece de expresividad para: Información negativa Los hombres no son mujeres Cuantificadores Para que alguien sea considerado padre debe tener al menos un hijo Cardinalidad Un buen estudiante tiene que tener aprobadas más de 3 asignaturas No permite atributos de propiedades Transitiva, simétrica, inversa, etc.
  • 29. Jose Labra Universidad de Oviedo Problema de RDF Schema RDF Schema es demasiado liberal permitiendo mezclar clases con individuos y propiedades Por ejemplo: x rdf:type x Pueden llegar a declararse paradojas en RDF Schema
  • 30. Jose Labra Universidad de Oviedo OWL Confianza Demostración Lógica unificadora Consultas: SPARQL Ontologías OWL Reglas RIF RDF Schema Intercambio de datos: RDF XML Unicode URI
  • 31. Jose Labra Universidad de Oviedo OWL OWL = Web Ontology Language Desarrollado a partir de iniciativa del W3c Antecedentes: DAML, OIL Se basa en lógica descriptiva 2004 - OWL 1.0 recomendación W3c 2009 - OWL 2.0 recomendación W3c
  • 32. Jose Labra Universidad de Oviedo Ejemplos de Ontologías Cyc (http://www.cyc.com). Conceptos de sentido común para Inteligencia Artificial Utiliza lógica de predicados mediante lenguaje CycL Frame Ontology y OKBC Ontology Disponibles en Ontolingua (http://www-ksl-svc.stanford.edu/) Utiliza KIF (Knowledge Interchange Format) Ontologías en campos concretos: Lingüística: WordNet (http://www.globalwordnet.org/) Medicina: GALEN (http://www.opengalen.org/) etc.
  • 33. Jose Labra Universidad de Oviedo Ejemplos de Ontologías Dublin Core Dublin Core Metadata Initiative (http://www.dcmi.org) Utilizado para la catalogación de documentos Espacio de nombres: http://purl.org/dc/elements/1.1/ Conjunto de elementos básicos cuyo significado es compartido Contenido: Coverage, Description, Type, Relation, Source, Subject, Title Propiedad Intelectual: Contributor, Creator, Publisher, Rights Instanciación: Date, Format, Identifier, Language Cada elemento básico admite una serie de cualificadores Refinamiento de elementos Ejemplo: Date.created, Description.tableOfContents Esquema de codificación Ejemplos: Identifier.URI, Date.DCMIPeriod
  • 34. Jose Labra Universidad de Oviedo Evolución de las Ontologías para la Web SHOE (Simple HTML Ontology Extensions) Univ. Maryland, 1996 Permite definir ontologías en documentos HTML Objetivo = Facilitar búsquedas y anotaciones de documentos OIL (Ontology Inference Layer) Sintaxis RDF(S) y primitivas de representación del conocimiento en marcos Se basa en el uso de description logics DAML (DARPA Agent Markup Language) Proyecto americano de creación de lenguaje para ontologías DAML-OIL. Proyecto conjunto que será la base de OWL OWL (Web Ontology Language) desarrollado en W3C (2004)
  • 35. Jose Labra Universidad de Oviedo OWL OWL (Web Ontology Language) Desarrollado por el consorcio W3C (2004) 3 niveles: OWL Full. Unión de sintaxis OWL y RDF (sin restricciones) No se garantiza la eficiencia ni siquiera la decidibilidad OWL DL (Description Logics). Limita la expresividad intentando conseguir decidibilidad Profiles. Subconjuntos de OWL DL: EL, QL, RL, etc. Más eficientes, menos expresivos
  • 36. Jose Labra Universidad de Oviedo OWL OWL DL se basa en Lógica Descriptiva (Description Logics) En realidad equivale al formalismo SHOIN(Dn) Características Semántica bien definida Propiedades formales (decidibilidad, complejidad) Algoritmos de razonamiento conocidos Varios razonadores (Pellet, HermiT, Quonto) Incluye tipos de datos primitivos de XML Schema
  • 37. Jose Labra Universidad de Oviedo Lógica Descriptiva La lógica descriptiva consiste en: Conceptos (o clases): Ejemplo: Padre, Madre, Persona Propiedades (o roles): Relaciones entre conceptos Ejemplo: tieneHijo, esPadreDe Individuos: Elementos del dominio Ejemplo: Juan, Sergio, …
  • 38. Jose Labra Universidad de Oviedo Lógica Descriptiva La lógica descriptiva es un subconjunto de la lógica de primer orden Características: Sólo se usan predicados de un argumento (clases) y dos argumentos (propiedades) El uso de las variables está restringido
  • 39. Jose Labra Universidad de Oviedo Lógica Descriptiva La base de conocimiento contiene 2 niveles Términos (TBox): Descripción de conceptos Padre  Persona   tieneHijo Persona Orgulloso  Persona   tieneHijo ReciénNacido ReciénNacido  Persona Aserciones (ABox): Descripción de individuos ReciénNacido(Sergio) tieneHijo(Jose,Sergio) Persona(Jose)
  • 40. Jose Labra Universidad de Oviedo Lógica descriptiva Las expresiones en lógica descriptiva pueden representarse en lógica de primer orden Padre  Persona   tieneHijo Persona x(Padre(x)  (Persona(x) y(tieneHijo(x,y)Persona(y))) Orgulloso  Persona   tieneHijo ReciénNacido x(Orgulloso(x)  (Persona(x) y(tieneHijo(x,y)RecienNacido(y))) ReciénNacido  Persona x(RecienNacido(x)  Persona(x))
  • 41. Jose Labra Universidad de Oviedo Lógica Descriptiva Definición de Conceptos Definición de conceptos Equivalencia: C  D Ejemplo: Asturiano  NacidoEnAsturias Subclase: C  D (C está incluido en D ó D subsume a C) Ejemplo: Asturiano  Español Intersección: C  D Ejemplo: Mujer  Persona  Femenino Unión: C  D Ejemplo: Persona  Hombre  Mujer Complemento:  C Ejemplo: Masculino   Femenino Concepto vacío:  Clases Disjuntas: C  D 
  • 42. Jose Labra Universidad de Oviedo Lógica Descriptiva Cuantificadores Descripción de Propiedades Existencial ( R C) x pertenece a  R C si existe algún valor y  C tal que R(x,y) Ejemplo: Madre  Mujer   tieneHijo Persona Universal ( R C) x pertenece a  R C si para todo y, si R(x,y) entonces y  C Ejemplo: MadreFeliz  Madre   tieneHijo Sano Una Madre es feliz si todos sus hijos están sanos NOTA: Si no tuviese hijos, también se cumpliría…
  • 43. Jose Labra Universidad de Oviedo Lógica Descriptiva Cardinalidades Cardinalidad (P = n) x pertenece a (P = n) si existen n y  C tales que R(x,y) Ejemplo: Elefante  Animal  tienePatas = 4 Cardinalidad máxima (P  n) x pertenece a (P  n) si existen n ó menos y  C tales que R(x,y) Ejemplo: MalEstudiante  Estudiante  tieneAprobada  3 Cardinalidad mínima (P  n) x pertenece a (P  n) si existen n ó más y  C tales que R(x,y) Ejemplo: BuenEstudiante  Estudiante  tieneAprobada  3 x(BuenEstudiante(x)  Estudiante(x)  y1y2y3 (tieneAprobada(x, y1)  tieneAprobada(x, y2)  tieneAprobada(x, y3)  y1  y2  y2 y3  y1 y3 ))
  • 44. Jose Labra Universidad de Oviedo Lógica Descriptiva Atributos de propiedades Reflexiva: P es reflexiva  xP(x,x) Ejemplo: viveCon es reflexiva Irreflexiva: P es irreflexiva  xP(x,x) Ejemplo: esPadreDe es irreflexiva Simetría. Si P(x,y) entonces P(y,x) Ejemplo: viveCon Asimétrica. Si P(x,y) entonces P(y,x) Ejemplo: esPadreDe Transitividad. Si P(x,y) y P(y,z) entonces P(x,z) Ejemplo: viveCon
  • 45. Jose Labra Universidad de Oviedo Lógica descriptiva Relaciones entre propiedades Inversa: P es inversa de Q  P(x,y)  Q(y,x) Ejemplo: daClaseDe es inversa de tieneProfesor SubPropiedad: P subpropiedad de Q si P(x,y)  Q(x,y) Ejemplo: esHijoDe es subpropiedad de esDescendienteDe
  • 46. Jose Labra Universidad de Oviedo Lógica Descriptiva Funcionalidad Propiedad Funcional. P(x,y) y P(x,z) entonces y = z Ejemplo: edad Propiedad Funcional inversa. P(x,y) y P(z,y) entonces x = z Ejemplo: dni Claves. similares a las propiedades func. inversas P(x,y) y P(z,y) entonces x = z. Se definen en OWL 2 (específicas para una clase) Ejemplo: dni
  • 47. Jose Labra Universidad de Oviedo Lógica Descriptiva Razonamiento A partir de una base de conocimiento  se ofrecen varios mecanismos de inferencia: 1.- Satisfacibilidad de conceptos: De  no se deduce que C   Ejemplo: Orgulloso  ReciénNacido 2.- Subsunción: Deducir si un concepto está incluido en otro CD Ejemplo: Orgulloso  Padre Padre  Persona   tieneHijo Persona Orgulloso  Persona   tieneHijo ReciénNacido ReciénNacido  Persona Padre  ReciénNacido ReciénNacido(Sergio) tieneHijo(Jose,Sergio) Persona(Jose)
  • 48. Jose Labra Universidad de Oviedo Lógica Descriptiva Razonamiento 3.- Instanciación:   a  C Ejemplo: Orgulloso(Jose) 4.- Recuperación de Información Dado un concepto C, obtener a tales que a  C Ejemplo: ? Orgulloso Jose 5.- Realización/Comprensión (realizability). Dado un elemento a, obtener concepto más específico C tal que a  C Padre  Persona   tieneHijo Persona Ejemplo: ? jose Orgulloso  Persona   tieneHijo ReciénNacido Orgulloso ReciénNacido  Persona Padre  ReciénNacido ReciénNacido(Sergio) tieneHijo(Jose,Sergio) Persona(Jose)
  • 49. Jose Labra Universidad de Oviedo Lenguaje OWL
  • 50. Jose Labra Universidad de Oviedo OWL Definición de ontologías Aunque OWL es un lenguaje basado en lógica descriptiva, existen varias sintaxis: RDF (N3 ó RDF/XML) SIntaxis abstracta Sintaxis Manchester Espacio de nombres: http://www.w3.org/2002/07/owl# Cabecera Declarar una URI de la clase owl:Ontology @prefix : <http://ejemplo.org#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. <> a owl:Ontology .
  • 51. Jose Labra Universidad de Oviedo OWL Cabecera En la cabecera pueden incluirse diversas anotaciones Anotaciones posibles: rdfs:label Etiqueta del recurso rdfs:comment Comentario del recurso owl:versionInfo Información sobre la versión del recurso rdfs:seeAlso Indica otro recurso con más información rdfs:isDefinedBy Indica que otro recurso contiene la definición owl:imports Indica la URI de una ontología que se va a incorporar a la ontología actual @prefix : <http://ejemplo.org#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. : a owl:Ontology ; rdfs:comment "Ejemplo de Ontologia" ; owl:imports <http://paises.org> .
  • 52. Jose Labra Universidad de Oviedo OWL Definiciones básicas :juan a :Alumno ; :nombre "Juan Manuel" ; :apellidos "Gallardo" ; :esAmigoDe :pepe . :pepe a :Alumno ; :nombre "Jose Luis" ; :apellidos "Torres" ; :tieneProfesor :jj . :jj a :Profesor ; :nombre "Juan Jose" ; :apellidos "Bravo" .
  • 53. Jose Labra Universidad de Oviedo OWL Subclases @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. :Profesor rdfs:subClassOf :Persona . :Alumno rdfs:subClassOf :Persona . Existen 2 clases predefinidas: owl:Thing - Contiene a todos los individuos owl:Nothing - representa el conjunto vacío
  • 54. Jose Labra Universidad de Oviedo OWL Propiedades 2 tipos de propiedades: ObjectProperty - relaciona individuos Ejemplo: :daCLaseDe DatatypeProperty - relaciona un individuo con un valor Ejemplo: nombre, edad
  • 55. Jose Labra Universidad de Oviedo OWL Dominio y rango Las definiciones de dominio y rango se toman de RDF Schema Dominio: Conjunto inicial Rango: Conjunto final :daClaseDe rdfs:domain :Profesor . :daClaseDe rdfs:range :Asignatura . Nota: Las definiciones de dominio y rango pueden introducir poca flexibilidad en el modelo
  • 56. Jose Labra Universidad de Oviedo Relaciones entre propiedades rdfs:subPropertyOf: P es subpropiedad de Q, si P(x,y) entonces Q(x,y) :esPadreDe rdfs:subPropertyOf :esProgenitor . owl:inverseOf: P es inversa de Q si P(x,y)  Q(y,x) :esPadreDe owl:inverseOf :esHijoDe .
  • 57. Jose Labra Universidad de Oviedo Propiedades disjuntas P es disjunta de Q si P(x,y)  Q(x,y) Puede definirse propiedad a propiedad: :tienePadre owl:propertyDisjointWith :tieneMadre . ...o para varias propiedades a la vez: [] a owl:AllDisjointProperties ; owl:members ( :tienePadre , :tieneMadre ) .
  • 58. Jose Labra Universidad de Oviedo Tipos de propiedades owl:SymmetricProperty: P(x,y)  P(y,x) Ejemplo: viveCon owl:ASymmetricProperty: P(x,y)  P(y,x) Ejemplo: esPadreDe owl:ReflexiveProperty: Para todo x, P(x,x) Ejemplo: viveCon owl:IrreflexiveProperty: Para todo x,  P(x,x) Ejemplo: esPadreDe owl:TransitiveProperty: P(x,y)  P(y,z)  P(x,z) Ejemplo: viveCon :viveCon a owl:SymmetricProperty, owl:ReflexiveProperty, owl:TransitiveProperty.
  • 59. Jose Labra Universidad de Oviedo Propiedades funcionales owl:FunctionalProperty: P(x,y) y P(x,z)  y = z Ejemplo: tieneMadre owl:InverseFunctionalProperty: P(x,y) y P(z,y)  x = z – Ejemplos: esMadreDe, dni :tieneMadre a owl:FunctionalProperty. owl:hasKey: Define una clave para una clase. Una clave es un conjunto de valores de propiedades que identifican únicamente a un elemento. :Persona owl:hasKey (:dni :nombre).
  • 60. Jose Labra Universidad de Oviedo Restricciones de propiedades Existencial owl:someValuesFrom: Al menos un valor debe pertenecer a una clase :Padre owl:equivalentClass [ a owl:Restriction ; owl:onProperty :tieneHijo ; owl:someValuesFrom :Persona ]. Notación en lógica descriptiva: Padre  Persona   tieneHijo Persona Notación en lógica de predicados: x(Padre(x)  (Persona(x) y(tieneHijo(x,y)  Persona(y)))
  • 61. Jose Labra Universidad de Oviedo Restricciones de propiedades Universal owl:allValuesFrom: Todos los valores deben pertenecer a una clase [] a owl:Class ; owl:intersectionOf ( :Person :Feliz) ; owl:equivalentClass [ a owl:Restriction ; owl:onProperty :hasChild ; owl:allValuesFrom :Feliz ] . Notación en lógica descriptiva: Persona  Feliz   tieneHijo Feliz Notación en lógica de predicados: x( Persona(x)  Feliz(x)  y(tieneHijo(x,y)  Feliz(y)))
  • 62. Jose Labra Universidad de Oviedo Restricciones de propiedades Valores owl:hasValue: Debe contener un valor determinado :HijosDeJuan owl:equivalentClass [ a owl:Restriction ; owl:onProperty :esHijoDe ; owl:hasValue :Juan ]. Notación en lógica de predicados: x( HijosDeJuan(x)  esHijoDe(x,Juan))
  • 63. Jose Labra Universidad de Oviedo Cardinalidades owl:cardinality: N valores exactos owl:minCardinality: Al menos N valores owl:maxCardinality: N valores como mucho :Persona owl:equivalentClass [ a owl:Restriction ; owl:onProperty :esHijoDe ; owl:cardinality "2"^^xsd:nonNegativeInteger ; ].
  • 64. Jose Labra Universidad de Oviedo Cardinalidades cualificadas owl:qualifiedCardinality: N valores exactos de una clase owl:minQualifiedCardinality: Al menos N valores de una clase owl:maxQualifiedCardinality: N valores como mucho de una clase :DosHijosDoctores owl:equivalentClass [ a owl:Restriction ; owl:onProperty :esPadreDe ; owl:qualifiedCardinality "2"^^xsd:nonNegativeInteger ; owl:onClass :Doctor ].
  • 65. Jose Labra Universidad de Oviedo Conjuntos por enumeración owl:oneOf define un conjunto de valores :Estacion a owl:Class ; owl:OneOf ( :Primavera :Otonio :Verano :Invierno ).
  • 66. Jose Labra Universidad de Oviedo Operaciones de conjuntos owl:unionOf define la unión de varias clases :Progenitor owl:equivalentClass [ a owl:Class ; owl:unionOf ( :Padre :Madre ) ]. owl:intersectionOf define la intersección de unas clases :Madre owl:equivalentClass [ a owl:Class ; owl:intersectionOf ( :Progenitor :Mujer ) ]. owl:complementOf :PersonaSinHijos owl:equivalentClass [ a owl:Class ; owl:intersectionOf ( :Persona [ owl:complementOf :Progenitor] ) ].
  • 67. Jose Labra Universidad de Oviedo Clases disjuntas owl:disjointWith :Persona owl:disjointWith :Asignatura . :Asignatura owl:disjointWith :Ciudad . :Ciudad owl:disjointWith :Asignatura . owl:allDisjointClasses [] a owl:AllDisjointClasses ; owl:members (:Persona :Asignatura :Ciudad)
  • 68. Jose Labra Universidad de Oviedo Equivalencia owl:sameAs establece que 2 individuos son el mismo owl:equivalentClass establece que 2 clases son la misma owl:equivalentProperty establece que 2 propiedades son la misma
  • 69. Jose Labra Universidad de Oviedo Individuos diferentes owl:differentFrom :Juan owl:differentFrom :Pepe . :Juan owl:differentFrom :Luis . :Luis owl:differentFrom :Pepe . owl:AllDifferent [] a owl:AllDifferent ; owl:distinctMembers (:Juan :Pepe :Luis) .
  • 70. Jose Labra Universidad de Oviedo Declaraciones negativas owl:negativePropertyAssertion permite declarar que no se cumple una propiedad Hay que indicar la propiedad, el sujeto y el objeto. Ejemplo: Declara que Juan no es padre de Ana [] a owl:NegativePropertyAssertion ; owl:sourceIndividual :Juan ; owl:assertionProperty :esPadreDe ; owl:targetIndividual :Ana .
  • 71. Jose Labra Universidad de Oviedo Cadenas de propiedades owl:propertyChainAxiom define una cadena de propiedades :esAbueloDe owl:propertyChainAxiom ( :esPadreDe :esPadreDe ). :esTioDe owl:propertyChainAxiom ( :esHermanoDe :esPadreDe ).
  • 72. Jose Labra Universidad de Oviedo Restricciones self Define la clase de todos los individuos que se relacionan consigo mismos mediante una propiedad :Autonomo a owl:Class; owl:equivalentClass [ a owl:SelfRestriction ; owl:onProperty :alimentaA ].
  • 73. Jose Labra Universidad de Oviedo OWL Sintaxis XML
  • 74. Jose Labra Universidad de Oviedo OWL Sintaxis XML OWL se basa en RDF (utiliza sintaxis XML de RDF) También existen otras formas sintácticas más sencillas Las ontologías comienzan por owl:Ontology <owl:Ontology rdf:about=“http://www.uniovi.es/ontologia_1.1"> <rdfs:comment>Ejemplo de Ontología</rdfs:comment> <owl:priorVersion rdf:resource="http://www.uniovi.es/ontologia_1.0"/> <owl:imports rdf:resource="http://www.uniovi.es/personas"/> <rdfs:label>Ontología de la Universidad</rdfs:label> </owl:Ontology> owl:imports es una propiedad transitiva
  • 75. Jose Labra Universidad de Oviedo Clases en OWL Las clases se definen mediante owl:Class owl:Class es una subclase de rdfs:Class Clases equivalentes mediante equivalentClass <owl:Class rdf:ID="Profesor"> <owl:equivalentClass rdf:resource="#PersonalDocente"/> </owl:Class> owl:Thing es la clase más general owl:Nothing es la clase vacía Las clases disjuntas se definen mediante owl:dijointWith <owl:Class rdf:about="#ProfesorAsociado"> <owl:disjointWith rdf:resource="#catedrático"/> <owl:disjointWith rdf:resource="#titular"/> </owl:Class>
  • 76. Jose Labra Universidad de Oviedo Propiedades en OWL 2 tipos de propiedades Propiedades de Objetos relacionan un objeto con otro objeto. ej. “esHijoDe" <owl:ObjectProperty rdf:ID="esHijoDe"> <owl:domain rdf:resource="#Persona"/> <owl:range rdf:resource= "#Persona"/> <rdfs:subPropertyOf rdf:resource="#esDescendienteDe"/> </owl:ObjectProperty> Propiedades de tipos de datos relacionan un objeto con valores de tipos de datos (enteros, literales, etc.), ej. "edad" Habitualmente, se utilizan los tipos de datos de XML Schema <owl:DatatypeProperty rdf:ID="edad"> <rdfs:range rdf:resource="http://www.w3.org/2001/XLMSchema#nonNegativeInteger"/> </owl:DatatypeProperty>
  • 77. Jose Labra Universidad de Oviedo Definición de Clases Clases como restricciones de propiedades <owl:Class rdf:about="#personalDocente"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#daClaseDe"/> <owl:someValuesFrom rdf:resource="#Asignatura"/> </owl:Restriction> </rdfs:subClassOf> personalDocente   daClaseDe Asignatura </owl:Class> owl:Class type personalDocente subClassOf type onProperty someValuesFrom owl:Restriction daClaseDe Asignatura
  • 78. Jose Labra Universidad de Oviedo Propiedades en OWL Restricciones allValuesFrom () indica que todos los valores deben ser de un tipo NOTA: Los que no tiene ningún valor, también cumplen la condición someValuesFrom () Al menos un valor de la propiedad debe tener un tipo Ejemplo: Un estudiante es una persona que cursa al menos una asignatura hasValue Al menos uno de los valores tiene un valor minCardinality, maxCardinality restringen el número máximo/mínimo de valores
  • 79. Jose Labra Universidad de Oviedo Propiedades en OWL Combinaciones booleanas Combinaciones booleanas complementOf, unionOf, intersectionOf <owl:Class rdf:ID="personasUniversidad"> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#personalDocente"/> <owl:Class rdf:about="#estudiantes"/> <owl:Class rdf:about="#PAS"/> </owl:unionOf> </owl:Class>
  • 80. Jose Labra Universidad de Oviedo Propiedades en OWL Enumeraciones oneOf permite realizar enumeraciones <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Lunes"/> <owl:Thing rdf:about="#Martes"/> <owl:Thing rdf:about="#Miércoles"/> <owl:Thing rdf:about="#Jueves"/> <owl:Thing rdf:about="#Viernes"/> <owl:Thing rdf:about="#Sábado"/> <owl:Thing rdf:about="#Domingo"/> </owl:oneOf>
  • 81. Jose Labra Universidad de Oviedo Individuos en OWL Se declaran igual que en RDF <rdf:Description rdf:ID=“jose"> <rdf:type rdf:resource= "#profesor"/> </rdf:Description> <personalDocente rdf:ID=“jose"> <uni:edad rdf:datatype="&xsd;integer">35<uni:edad> </personalDocente>
  • 82. Jose Labra Universidad de Oviedo OWL – Web semántica No asume nombres únicos Web = modelo abierto Información incompleta 2 URIs diferentes podrían identificar el mismo objeto No soporta UNA (Unique name assumption) Permite inferir que 2 elementos son iguales No está pensado para validar modelos Ejemplo Persona  tienePadre = 1 tienePadre(luis,jose) tienePadre(luis,pepe) Persona(luis) No indica error en el modelo Infiere que “pepe” y “jose” son iguales
  • 83. Jose Labra Universidad de Oviedo OWL – Web Semántica Asumción de mundo abierto Web = Sistema abierto Sistemas tradicionales usaban closed world assumption En OWL se usa open world assumption Ejemplo Soltero    estaCasadoCon Persona Casado   estaCasadoCon Persona El sistema infiere que María está casada Persona(pepe) Persona(Maria) Persona(luis) estaCasadoCon(maria,pepe) Casado(luis ) El sistema no infiere que pepe esté casado ni soltero El sistema infiere que luis Está casado con alguien… pero no sabe con quién.
  • 84. Jose Labra Universidad de Oviedo OWL Herramientas Herramientas para manipulación de documentos OWL Protègè (http://protege.stanford.edu) es una herramienta para creación de ontologías desarrollada en Stanford (se basa en Frames) Arquitectura que facilita el desarrollo de plugins Plugin para edición de documentos OWL Swoop: Herramienta inspirada en un visualizador web con la posibilidad de editar ontologías TopBraid (Comercial)
  • 85. Jose Labra Universidad de Oviedo OWL Herramientas
  • 86. Jose Labra Universidad de Oviedo Ejercicio. Resolver el Problema de Einstein en OWL Problema propuesto por Einstein y traducido a varios idiomas conservando su lógica. Einstein aseguraba que el 98% de la población mundial sería incapaz de resolverlo. Condiciones iniciales: • Tenemos cinco casas, cada una de un color. • Cada casa tiene un dueño de nacionalidad diferente. • Los 5 dueños beben una bebida diferente, fuman marca diferente y tienen mascota diferente. • Ningún dueño tiene la misma mascota, fuma la misma marca o bebe el mismo tipo de bebida que otro. Datos: 1. El noruego vive en la primera casa, junto a la casa azul. 2. El que vive en la casa del centro toma leche. 3. El inglés vive en la casa roja. 4. La mascota del Sueco es un perro. 5. El Danés bebe té. 6. La casa verde es la inmediata de la izquierda de la casa blanca. 7. El de la casa verde toma café. 8. El que fuma PallMall cría pájaros. 9. El de la casa amarilla fuma Dunhill. 10. El que fuma Blend vive junto al que tiene gatos. 11. El que tiene caballos vive junto al que fuma Dunhill. 12. El que fuma BlueMaster bebe cerveza. 13. El alemán fuma Prince. 14. El que fuma Blend tiene un vecino que bebe agua. ¿Quién tiene peces por mascota?
  • 87. Jose Labra Universidad de Oviedo OWL Sistemas de Inferencia HermiT (Java) razonador OWL 2 Pellet (Java) incluye razonador para OWL 2 Soporte en línea de comandos o mediante interfaz DIG Fact++ (C++) razonador RACER. Sistema de inferencia implementado en Lisp JENA. API Java para RDF. Incluye sistema de inferencia
  • 88. Jose Labra Universidad de Oviedo RIF: Reglas Confianza Demostración Lógica unificadora Consultas: SPARQL Ontologías OWL Reglas RIF RDF Schema Intercambio de datos: RDF XML Unicode URI
  • 89. Jose Labra Universidad de Oviedo Ampliaciones Reglas Las Cláusulas Horn son la base de la programación lógica SWRL (Semantic Web Rule Language) es una propuesta de creación de un lenguaje de reglas que añada reglas tipo Prolog a OWL Orígenes: RuleML (Iniciativa internacional) RIF (Rule Interchange Format) = Intercambio de reglas hermano(x,y)  progenitor(y,z)  tío(x,z) hermano . progenitor  tío Problema: Indecidible al unirse con OWL
  • 90. Jose Labra Universidad de Oviedo Monotonicidad y Reglas Problema: negación por fallo Lógica de primer orden es monótona Negación por fallo no es monótona Programación lógica con negación por fallo no es un subconjunto de lógica de primer orden
  • 91. Jose Labra Universidad de Oviedo Interacción entre programación lógica y lógica descriptiva Lógica Primer Orden Lógica descriptiva Cláusulas Horn DLP Prog. Lógica (Negación por fallo) (extensiones procedimentales)
  • 92. Jose Labra Universidad de Oviedo Lógica y Demostración Confianza Demostración Lógica unificadora Consultas: SPARQL Ontologías OWL Reglas RIF RDF Schema Intercambio de datos: RDF XML Unicode URI
  • 93. Jose Labra Universidad de Oviedo Sistema de Inferencia Semantic Tableaux Semantic Tableaux Detecta si es insatisfacible Va buscando modelos que cumplan las condiciones Va generando un árbol de posibles modelos Cierra las ramas cuando encuentra inconsistencias (clash) Expresividad vs. Decidibilidad Sopa de letras http://www.cs.man.ac.uk/~ezolin/logic/complexity.html
  • 94. Jose Labra Universidad de Oviedo Semantic Tableaux Ejemplo Hombre  Mortal Hombre(Sócrates) Mortal(Sócrates) Razonamiento: { H  M, H(s) }  M(s) Forma normal: { H  M, H(s), M(s) } s : H  M, H, M s : H, H, M s : M, H, M Regla de inferencia: Si A contiene x : C  D entonces A’ = A  x : C A’ = A  x : D
  • 95. Jose Labra Universidad de Oviedo Semantic Tableaux Algunas Reglas de inferencia Si A contiene x : C  D entonces A’ = A  x : C A’ = A  x : D Si A contiene x : C  D entonces A’ = A  x : C, D Si A contiene x :  R C y ∄z tal que R(x,z) y z: C entonces A’ = A  { y : C, R(x,y) } para un y A Si A contiene x :  R C y R(x,y) pero no contiene y : C A’ = A  y : C
  • 96. Jose Labra Universidad de Oviedo Semantic Tableaux Otro ejemplo {  hijo Persona  Padre, Padre  Persona }   hijo Persona  Persona Cambiando nombres: {  h P  A, A  P }   h P  P Forma nornal: {  h P  A, A  P ,  h P , P }
  • 97. Jose Labra Universidad de Oviedo Semantic Tableaux Otro ejemplo x :  h P  A, A  P ,  h P , P x :  h P, A  P ,  h P , P x : A , A  P ,  h P , P x : A , A ,  h P , P x :  h P, A ,  h P , P x :  h P, A ,  h P , P h y:P x :  h P, A ,  h P , P h y : P,P x :  h P, P,  h P , P x : A , P ,  h P , P
  • 98. Jose Labra Universidad de Oviedo Semantic Tableaux Otro ejemplo {  hijo Persona  Padre, Padre  Persona }  Persona   hijo Persona Cambiando nombres: {  h P  A, A  P }  P   h P Forma nornal: {  h P  A, A  P , P ,  h P }
  • 99. Jose Labra Universidad de Oviedo Semantic Tableaux Otro ejemplo x :  h P  A, A  P , P ,  h P x :  h P, A  P , P x : A , A  P , P ,  h P x : A , A , P ,  h P x :  h P, A , P x :  h P, P Se encuentra un modelo  No se cumple x : A , P ,  h P
  • 100. Jose Labra Universidad de Oviedo Confianza Confianza Demostración Lógica unificadora Consultas: SPARQL Ontologías OWL Reglas RIF RDF Schema Intercambio de datos: RDF XML Unicode URI
  • 101. Jose Labra Universidad de Oviedo Confianza Las declaraciones que aparecen en la Web pueden no ser fiables Es necesario desarrollar sistemas que tengan en cuenta el contexto de las declaraciones Problemas/Retos: ¿Es el autor quien dice que es? ¿Cómo se pueden comprobar sus credenciales? ¿Es posible confiar en el sistema de inferencia? Algunas propuestas: Redes de confianza Reificación en RDF permite realizar afirmaciones sobre declaraciones RDF
  • 102. Jose Labra Universidad de Oviedo El futuro de la Web Semántica La Web Semántica está de moda ….puede ser un problema… Compromiso Expresividad vs Eficiencia Razonamiento con individuos limitado Complejidades exponenciales Aplicaciones de muestra rudimentarias Necesidad de una Killer Application Generación de meta-información Representación de meta-información Depuración de ontologías ¿Y la confianza? Inclusión de Técnicas de certificación Explicación de Respuestas (D. McGuiness)
  • 103. Jose Labra Universidad de Oviedo Fin de la Presentación