Está en la página 1de 71

¿Qué es la Web Semántica?

Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Web Semántica

Miguel Rebollo Pedruelo

Dept. Sistemas Informáticos y Computación


Univ. Politécnica de Valencia

Agentes de Información y Web Semántica


Master IARFID 2007-2008

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Contenidos

1 ¿Qué es la Web Semántica?


2 Description Logic
3 Representación del conocimiento
Dublin Core
Microformatos. La web semántica con minúsculas
Resource Description Framework (RDF)
Web Ontology Language (OWL)
4 Razonamiento en la Web Semántica
Simple Protocol and RDF Query Language
Inferencia de conocimiento (DL)
Semantic Web Rule language (SWRL)

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Situación actual en la web

Los lenguajes actuales no son suficientes


HTML sólo incluye marcas de formato
XML incorpora etiquetas que aportan semántica, pero. . .
DTD sólo define las etiquetas válidas y su estructura (sintaxis)
XML-Schema
añade soporte para tipos de datos básicos
permite la reutilización de elementos (etiquetas) y atributos
. . . pero sigue manteniendo información sintáctica (estructura)

El intercambio de documentos XML sólo tiene éxito si las partes


acuerdan previamente el formato sintáctico exacto de los datos (en
un XML-Schema)

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Situación actual en la web

Los lenguajes actuales no son suficientes


HTML sólo incluye marcas de formato
XML incorpora etiquetas que aportan semántica, pero. . .
DTD sólo define las etiquetas válidas y su estructura (sintaxis)
XML-Schema
añade soporte para tipos de datos básicos
permite la reutilización de elementos (etiquetas) y atributos
. . . pero sigue manteniendo información sintáctica (estructura)

El intercambio de documentos XML sólo tiene éxito si las partes


acuerdan previamente el formato sintáctico exacto de los datos (en
un XML-Schema)

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

La tarta de la Web Semántica

(adaptado de: Web for Real People. Tim Berners-Lee)

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Arquitectura de la Web Semántica

Sobre esta estructura podemos montar aplicaciones inteligentes

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Lenguajes descriptivos
Similares a otros formalismos, pero sin variables y uniendo dos
alfabetos
Conceptos atómicos, definidos mediante símbolos de
predicado unarios
Roles atómicos, definidos a través de símbolos binarios
Ambos se combinan para formar descripciones de conceptos, que
pueden ser
Descripciones elementales, definidas a partir de conceptos o
roles atómicos
Descripciones complejas, por la aplicación recursiva de
constructores de conceptos
Denotamos con A y B conceptos atómicos, R roles atómicos, C y
D descripciones de concepto
M. Rebollo Web Semántica
¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Lenguaje de descripción ALCN

C, D ∈
Descriptions ::= A Atomic concept
| > Universal concept
| ⊥ Ground concept
| ¬C Negation
| C uD Intersection
| C tD Union
| ∀R.C Value restriction
| ∃R.C Existential quantification
| ≤ nR| ≥ nR Number restrictions

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Semántica de ALCN

> ⇒ ∆
⊥ ⇒ ∅
¬C ⇒ ∆−C
C uD ⇒ C ∩D
C tD ⇒ C ∪D
∀R.C ⇒ {a ∈ ∆ | ∀b.(a, b) ∈ R → b ∈ C }
∃R.C ⇒ {a ∈ ∆ | ∃b.(a, b) ∈ R ∧ b ∈ C }
≤ n R ⇒ {a ∈ ∆ | k{(a, b) ∈ R}k ≤ n}
≥ n R ⇒ {a ∈ ∆ | k{(a, b) ∈ R}k ≥ n}

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

¿Cómo usar ALCN para expresar conocimiento?


las descripciones elmentales son los conceptos atómicos del
dominio (nodos de una red semántica)
unión e intersección para clasificación
C u D ≡ C ∧ D ≡ relación "parte de"
Example
Lens u CameraBody es la definición de cámara

C t D ≡ C ∨ D ≡ subclase
Example
DigitalCamera t FilmCamera son tipos de Camera

∀ y ∃ expresan relaciones entre conceptos


≤ n R, ≥ n R restringen el número de individuos en la
relación
≥ 2 hasLens identifica individuos con más de una lente (SLR)
M. Rebollo Web Semántica
¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

¿Cómo usar ALCN para expresar conocimiento?

∀R.C Todos los individuos que tienen una relación R con C se


incluyen en C
Example (∀hasType.Camera)
Todos los individuos con relación hasType deben formar parte del
concepto Camera:
hasType={(NikonD70,DigitalBack),(PentaxKM,FilmBack)}
∀hasType.Camera
significa que
{NikonD70, PentaxKM}
deben estar incluidos en el concepto Camera

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

¿Cómo usar ALCN para expresar conocimiento?

∃R.C Aísla a los individuos de la relación R que contienen el


concepto C
Example (∃hasType.DigitalBack)
individuos de la relación hasType que tienen el concepto
DigitalBack
hasType={(NikonD70,DigitalBack),(PentaxKM,FilmBack)}
∃hasType.DigitalBack
hace referencia al concepto
{NikonD70}

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Ejemplo. Red Semántica

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Ejemplo. Lenguaje de descripción ALCN

Camera ≡ Lens u CameraBody


Camera ≡ DigitalCamera t FilmCamera
Camera ≡ ∀ hasLens.Lens
Camera ≡ ∀ hasType.CameraType
DigitalCamera ≡ > u DigitalBack
FilmCamera ≡ > u FilmBack
CameraType ≡ > u BackType
BackType ≡ DigitalBack t FilmBack
FilmBack ≡ 35mmBack t PolaroidBack

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Otros lenguajes de descripción


Los lenguajes se diferencian por los constructores que incluyen.
AL: lenguaje base
C: constructor complemento (negación)
N : restricciones numeradas
ALCR+ : ALC y roles transitivos, se suele denominar S.
SHOIN (D) añade a S
H jerarquía
O nominales
I roles inversos
D tipos de datos
es la base de OWL-DL
cuando aumentamos los constructores, las semántica es más
expresiva. . .
pero el proceso de razonamiento es menos eficiente
M. Rebollo Web Semántica
¿Qué es la Web Semántica?
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica

Otros lenguajes de descripción


Los lenguajes se diferencian por los constructores que incluyen.
AL: lenguaje base
C: constructor complemento (negación)
N : restricciones numeradas
ALCR+ : ALC y roles transitivos, se suele denominar S.
SHOIN (D) añade a S
H jerarquía
O nominales
I roles inversos
D tipos de datos
es la base de OWL-DL
cuando aumentamos los constructores, las semántica es más
expresiva. . .
pero el proceso de razonamiento es menos eficiente
M. Rebollo Web Semántica
¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Dublin Core

Permite incorporar metadatos a los recursos disponibles en la red


Simple Dublin Core
Un registro DC está compuesto por una o más propiedades
Cada propiedad es un atributo del recurso que se describe
Hay 15 posibles propiedades
Las propiedades se pueden repetir
Los valores de la propiedades son cadenas de caracteres
Puede indicarse el idioma que se emplea para las cadenas de
caracteres

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Propiedades del Simple Dublin Core

Title Format
Creator Identifier
Subject Source
Description Language
Publisher Relation
Contributor Coverage
Date Rights
Type

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Dublin Core

Example (Dublin Core en HTML)


<head profile="http://dublincore.org/documents/dcq-html/">
<title>
Expressing Dublin Core in HTML/XHTML meta and link elements
</title>
<meta name="DC.title" lang="en" content="Expressing Dublin Core in
HTML/XHTML meta and link elements" />
<meta name="DC.creator" content="Andy Powell, UKOLN, University of Bath"
/>
<meta name="DCTERMS.abstract" content="This document describes how
qualified Dublin Core metadata can be encoded in HTML/XHTML &lt;meta&gt;
elements" />
</head>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Dublin Core

Example (Dublin Core en XML)


<metadata
xmlns="http://example.org/myapp/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://example.org/myapp/
http://example.org/myapp/schema.xsd"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>UKOLN</dc:title>
<dc:description>
UKOLN is a national focus of expertise in digital information[...]
</dc:description>
<dc:publisher>UKOLN, University of Bath</dc:publisher>
<dc:identifier>http://www.ukoln.ac.uk/</dc:identifier>
</metadata>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Microformatos. La web semántica con minúsculas

Son soluciones estándares sencillas para el marcado de XHTML


Examples
rel="nofollow" para robots de búsqueda
rel="tag" para etiquetas en Technorati
hCard para representar información personal (vCard)
hCalendar para representar eventos (iCal)
Geo para mantener coordenadas de localización geográfica
hAtom para sindicar contenidos (RSS)
hResume para representar un currículum
Más información en http://microformats.org

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Microformato hCard

vCard hCard
BEGIN:VCARD <div class="vcard">
VERSION:3.0 <a class="url fn"
N:Çelik;Tantek href="http://tantek.com/">
FN:Tantek Çelik Tantek Çelik
URL:http://tantek.com/ </a>
ORG:Technorati <div class="org">
END:VCARD Technorati
</div>
</div>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Resource Description Framework (RDF)

RDF define los términos mediante tripletas sujeto-predicado-objeto

los nodos son objetos y sujetos (recursos)


los arcos son predicados (propiedades)
Equivale a una fórmula lógica P(S, O) (sólo pred. binarios)

Los grafos RDF también se conocen como redes semánticas

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Resource Description Framework (RDF)

RDF define los términos mediante tripletas sujeto-predicado-objeto

los nodos son objetos y sujetos (recursos)


los arcos son predicados (propiedades)
Equivale a una fórmula lógica P(S, O) (sólo pred. binarios)

Los grafos RDF también se conocen como redes semánticas

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis XML para RDF


Documento RDF
Un documento RDF es una lista de descripciones. Cada
descripción es la definición de una tripleta

Example
<rdf:Description rdf:about="NikonD70">
<camera:hasBody>
SLR
</camera:hasBody>
</rdf:Description>

rdf:about define el sujeto


el elemento <camera:hasBody> define la propiedad
el objeto aparece dentro del elemento
M. Rebollo Web Semántica
¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis XML para RDF


Documento RDF
Un documento RDF es una lista de descripciones. Cada
descripción es la definición de una tripleta

Example
<rdf:Description rdf:about="NikonD70">
<camera:hasBody>
SLR
</camera:hasBody>
</rdf:Description>

rdf:about define el sujeto


el elemento <camera:hasBody> define la propiedad
el objeto aparece dentro del elemento
M. Rebollo Web Semántica
¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis XML para RDF


Documento RDF
Un documento RDF es una lista de descripciones. Cada
descripción es la definición de una tripleta

Example
<rdf:Description rdf:about="NikonD70">
<camera:hasBody>
SLR
</camera:hasBody>
</rdf:Description>

rdf:about define el sujeto


el elemento <camera:hasBody> define la propiedad
el objeto aparece dentro del elemento
M. Rebollo Web Semántica
¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis XML para RDF


Documento RDF
Un documento RDF es una lista de descripciones. Cada
descripción es la definición de una tripleta

Example
<rdf:Description rdf:about="NikonD70">
<camera:hasBody>
SLR
</camera:hasBody>
</rdf:Description>

rdf:about define el sujeto


el elemento <camera:hasBody> define la propiedad
el objeto aparece dentro del elemento
M. Rebollo Web Semántica
¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis XML para RDF


Documento RDF
Un documento RDF es una lista de descripciones. Cada
descripción es la definición de una tripleta

Example
<rdf:Description rdf:about="NikonD70">
<camera:hasBody>
SLR
</camera:hasBody>
</rdf:Description>

rdf:about define el sujeto


el elemento <camera:hasBody> define la propiedad
el objeto aparece dentro del elemento
M. Rebollo Web Semántica
¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Reificación: Sentencias sobre sentencias

<rdf:Statement rdf:about="StatementAboutNikonD70">
<rdf:subject rdf:resource="NikonD70">
<rdf:predicate rdf:resource="&camera;hasBody">
<rdf:object rdf:resource="SLR">
<camera:statedBy rdf:resource="Fotoprix">
</rdf:Statement>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Reificación: Sentencias sobre sentencias

<rdf:Statement rdf:about="StatementAboutNikonD70">
<rdf:subject rdf:resource="NikonD70">
<rdf:predicate rdf:resource="&camera;hasBody">
<rdf:object rdf:resource="SLR">
<camera:statedBy rdf:resource="Fotoprix">
</rdf:Statement>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Reificación: Sentencias sobre sentencias

<rdf:Statement rdf:about="StatementAboutNikonD70">
<rdf:subject rdf:resource="NikonD70">
<rdf:predicate rdf:resource="&camera;hasBody">
<rdf:object rdf:resource="SLR">
<camera:statedBy rdf:resource="Fotoprix">
</rdf:Statement>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Esquemas RDF (RDFS)

RDF permite construir KB basadas en una ontología, pero


¿cómo se define la ontología?

RDFS
RDFS proporciona un lenguaje básico para definir nuestro
vocabulario con
jerarquía de clases e instancias
restricciones (sobre las propiedades)
jerarquía también de propiedades (interesante)

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Equivalencias entre RDF y RDFS

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para el Esquema RDF

Example (Estructura de clases)


<rdfs:Class rdf:ID="CameraType"/>
<rdfs:Class rdf:ID="BackType">
<rdfs:subClassOf rdf:resource="CameraType">
</rdfs:Class>
<rdfs:Class rdf:ID="DigitalType">
<rdfs:subClassOf rdf:resource="BackType">
</rdfs:Class>

Example (Definición de instancias)


<BackType rdf:ID="SLR"/>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para el Esquema RDF

Example (Estructura de clases)


<rdfs:Class rdf:ID="CameraType"/>
<rdfs:Class rdf:ID="BackType">
<rdfs:subClassOf rdf:resource="CameraType">
</rdfs:Class>
<rdfs:Class rdf:ID="DigitalType">
<rdfs:subClassOf rdf:resource="BackType">
</rdfs:Class>

Example (Definición de instancias)


<BackType rdf:ID="SLR"/>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para el Esquema RDF

Example (Restricciones sobre propiedades)


<rdf:Property rdf:ID="hasBack">
<rdfs:domain rdf:resource="#ModelType">
<rdfs:range rdf:resource="#BackType">
</rdfs:Property>

Example (Restricciones sobre propiedades)


<rdfs:Datatype rdf:about="&xsd;decimal"/>
<rdf:Property rdf:ID="hasDigitalBack">
<rdfs:domain rdf:resource="#ModelType">
<rdfs:subPropertyOf rdf:resource="#hasBack">
</rdf:Property>
<rdf:Property rdf:ID="resolution">
<rdfs:domain rdf:resource="#CameraType">
<rdfs:range rdf:resource="&xsd;decimal">
</rdf:Property>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para el Esquema RDF

Example (Restricciones sobre propiedades)


<rdf:Property rdf:ID="hasBack">
<rdfs:domain rdf:resource="#ModelType">
<rdfs:range rdf:resource="#BackType">
</rdfs:Property>

Example (Restricciones sobre propiedades)


<rdfs:Datatype rdf:about="&xsd;decimal"/>
<rdf:Property rdf:ID="hasDigitalBack">
<rdfs:domain rdf:resource="#ModelType">
<rdfs:subPropertyOf rdf:resource="#hasBack">
</rdf:Property>
<rdf:Property rdf:ID="resolution">
<rdfs:domain rdf:resource="#CameraType">
<rdfs:range rdf:resource="&xsd;decimal">
</rdf:Property>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Web Ontology Language (OWL)

OWL aporta mayor expresividad, pudiendo definir


1 clases como combinaciones booleanas de otras con union,
intersection y complement.
2 clases como disjoint
3 dos clases como iguales equivalentClass
4 dos individuos (instancias) son o no el mismo sameAs,
differentFrom
5 cardinalidad en las propiedades cardinality
6 propiedades transitivas

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Diferencia con RDFS

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para OWL-Lite. Clases


La jerarquía de clases se define con owl:Class y
rdfs:subClassOf
Example
<owl:Class rdf:ID="CameraType"/>
<owl:Class rdf:ID="BackType">
<rdfs:subClassOf rdf:resource="#CameraType"/>
</owl:Class>
<BackType rdf:Id="DigitalBack"/> (definición de las instancias)

La equivalencia nos permite combinar ontologías que clasifican el


mismo conocimiento de forma diferente
Example
<owl:Class rdf:ID="SingleLensReflex">
<owl:equivalentClass rdf:resource="#SLR"/>
</owl:Class>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para OWL-Lite. Clases


Las instancias pueden definirse usando varios nombres o también
que dos elementos son diferentes
Example
<ModelType rdf:ID="CanonEOS400D">
<owl:sameAs rdf:resource="#Canon Rebel XTi">
<owl:differentFrom rdf:resource="#Canon Rebel XT">
</ModelType>

A menudo es necesario indicar que un individuo no puede


pertenecer a varios grupos (disjuntos)
Example
<owl:AllDifferent>
<owl:distinctMembers rdf:parseType="Collection">
<BackType rdf:about="#35mm">
<BackType rdf:about="#Polariod">
</owl:distinctMembers>
</owl:AllDifferent>
M. Rebollo Web Semántica
¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para OWL-Lite. Propiedades

Las declaraciones básicas de propiedades son como en RDFS,


permitiendo múltiples dominios/rangos (interección)
Example
<owl:ObjectProperty rdf:ID="hasBack"/>
<rdfs:domain rdf:resource="#CameraType"/>
<rdfs:range rdf:resource="#BackType"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:ID="resolution"/>
<rdfs:range rdf:resource="&xsd;decimal"/>
</owl:DatatypeProperty>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para OWL-Lite. Propiedades

Además se puede indicar que dos propiedades son equivalentes


(mismo significado que para clases) o inversas
Example
<owl:ObjectProperty rdf:ID="manufactures"/>
<rdfs:domain rdf:resource="#Manufacturer"/>
<rdfs:range rdf:resource="#CameraType"/>
<rdfs:inverseOf rdf:resource="#manufacturer"/>
<rdfs:equivalentProperty rdf:resource="#produces"/>
</owl:ObjectProperty>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para OWL-Lite. Restricciones


La cardinalidad de una propiedad indica el número de elementos
posibles en la relación. En OWL-Lite sólo se permite 0 (opcional) y
1 (obligatoria)
Example
<owl:Restriction>
<owl:onProperty rdf:resource="#hasType"/>
<owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">
1 </owl:cardinality>
</owl:Restriction>

Cuantificación universal owl:allValuesFrom y existencial


owl:someValuesFrom
Example
<owl:Restriction>
<owl:onProperty rdf:resource="#hasLens"/>
<owl:allValuesFrom rdf:resource="#Lens"/>
</owl:Restriction>
M. Rebollo Web Semántica
¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para OWL-Lite. Restricciones locales

Pueden definirse restricciones locales para una clase particular.


Example (Una cámara Nikon debe usar objetivos Nikkor)
<owl:Class rdf:about="NikonCamera">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#usesLens"/>
<owl:allValuesFrom rdf:resource="#NikkorLens">
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>

la clase se define como una sublase de la restricción


así se consigue que la restricción se propague
automáticamente a sus subclases

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para OWL-Lite. Restricciones locales

Pueden definirse restricciones locales para una clase particular.


Example (Una cámara Nikon debe usar objetivos Nikkor)
<owl:Class rdf:about="NikonCamera">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#usesLens"/>
<owl:allValuesFrom rdf:resource="#NikkorLens">
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>

la clase se define como una sublase de la restricción


así se consigue que la restricción se propague
automáticamente a sus subclases

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para OWL-DL

Especificar una clase directamente por la enumeración de sus


miembros
Example
<owl:Class rdf:ID="BodyType">
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="#Compact"/>
<owl:Thing rdf:about="#SLR"/>
<owl:Thing rdf:about="#MediumFormat"/>
</owl:oneOf>
</owl:Class>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para OWL-DL

Indicar que dos o más clases son disjuntas


Example
<owl:Class rdf:ID="35mmBack">
<rdfs:subClassOf rdf:resource="#FilmBack"/>
<owl:disjointWith rdf:resource="#APSBack"/>
<owl:disjointWith rdf:resource="#PolaroidBack"/>
</owl:Class>

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Sintaxis RDF para OWL-DL

Creación de clases a partir de operaciones booleanas sobre otras:


unión, intersección y complemento
Example
<owl:Class rdf:ID="Camera">
<owl:unionOf rdf:parseType="Collection"/>
<owl:Class rdf:about="#CameraBody"/>
<owl:Class rdf:about="#Lens"/>
</owl:Class>

Nota: Estos constructores tienen una traducción directa desde los


operadores t, u y ¬ de DL

M. Rebollo Web Semántica


¿Qué es la Web Semántica? Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL

Diferencias entre OWL-DL y OWL-Full

A OWL-DL se le añaden una serie de restricciones para garantizar


su decidibilidad que no tiene OWL-Full. Destacan
los recursos sólo pueden tener un tipo (no pueden ser
datatype e individuo al mismo tiempo, por ejemplo)
el tipo de los recursos debe definirse de forma explícita
owl:ObjectProperty rdf:ID="hasType"/>
las clases anónimas pueden aparecer en el rango de una
propiedad, pero no en el dominio o en una relación
rdfs:subClassOf

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Razonamiento en la Web Semántica

¿Qué herramientas tenemos para razonar en la web semántica

lenguajes basados en queries ⇒ SPARQL


inferencia de conocimiento (DL)
lenguajes basados en reglas (SWRL)

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Simple Protocol and RDF Query Language (SPARQL)

Emplea una sintaxis tipo SQL para realizar consultas sobre RDF
Example (Consulta SPARQL)
PREFIX camera: <http://www.mycamera.org/photo#>
SELECT ?x
WHERE{ ?x camera:hasType camera:DigitalBack }

La ejecución de esta consulta da como resultado

?x
canon:CanonEOS400D
nikon:NikonD70

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Visión funcional de la representación del conocimiento

Uso real del conocimiento expresado en DL. Cuestiones:


¿cómo usar DL para construir bases de conocimiento?
¿cómo razonar sobre este conocimiento?

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Inferencia de conocimiento (DL)

TBox
conocimiento intensional
sobre el conocimiento general del dominio
mantiene la terminología (ontología)
declaraciones en forma de definición del conceptos
el conocimeinto de la TBox apenas cambia a lo largo del
tiempo
equivalente a una ontología en OWL

Example
Camera ≡ Lens u CameraBody

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Inferencia de conocimiento (DL)

ABox
conocimiento extensional
conocimiento sobre un problema específico
mantiene la terminología (ontología)
declaraciones en forma de aserciones
dinámico y dependiente de las circunstancias
equivalente a conocimiento en RDF

Example
Camera(PentaxKM) aserción de concepto
hasLens(PentaxKM, 50mmLens) aserción de rol

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Razonamiento sobre la TBox

Subsumpción
El concepto D es más general que C en la TBox T (C es un
subconjunto de D)
T `C vD

Satisfacibilidad
Al añadir un concepto C , determinar si C es consistente con el
resto del conocimiento. Si podemos construir un individuo que
coincide con C es satisfacible. En otro caso, es insatisfacible

T `C v⊥

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Razonamiento sobre la TBox

Equivalencia
C y D son equivalentes en la TBox T . T ` C ≡ D. Puede
representarse mediante subsumpción

T ` (C v D ∧ D v C )

Útil para eliminar redundancias y ambigüedad

Disyunción
No existe ninguna relación entre los conceptos

T ` (C u D) v ⊥

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Razonamiento sobre la ABox

Comprobación de instancias
Verifica que un individuo pertenece a un concepto

A ` C (a)

La instancia a pertenece al concepto C en la ABox A. La


instancia está clasificada de acuerdo a la KB.

Recuperación
Encuentra todas las instancias de un concepto en la KB

{a ∈ A | A ` C (a)}

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Razonamiento sobre la ABox

Realización
Dual de la recuperación

A ` C (a) y T ` ⊥ v C

Comprobación de consistencia
Cada concepto de la KB admite al menos un individuo de la ABox

{∀C ∈ T , ∃a ∈ A | A ` C (a)}

Equivale a la satisfacibilidad para TBox.

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Reducción de los mecanismos de inferencia


¿Son necesarios todos estos métodos de inferencia?
1 las inferencias sobre TBox pueden reducirse a subsumpción

2 las inferencias sobre ABox pueden reducirse a comprobación

de instancias
3 todas las inferencias pueden traducirse a consistencia sobre

ABox
A ` C (a) iff A ∪ {¬C (a)} is inconsistent
4 consistencia en ABox ≡ satisfacibilidad en TBox
C is satiscacible iff {C (a)} es consistente

inferencia sobre DL puede reducirse a un problema de


satisfacibilidad
Y como DL es un subconjunto de FOL, podemos aplicar algoritmos
conocidos para el problema de satisfacibilidad booleano (SAT)
M. Rebollo Web Semántica
¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Semantic Web Rule language (SWRL)

Las inferencias se limitan a propiedades estructurales (ej.: no


podemos hacer cálculos sobre los datos)

debemos construir nuestras propias aplicaciones que sean
conscientes de la naturaleza del conocimiento (semántica)

SWRL extiende ontologías en OWL-Lite y OWL-DL con reglas


(RuleML)
define axiomas lógicos que deben ser ciertos
los axiomas están formados por una URI y una regla R
todas las reglas R son de la forma antecedente⇒consecuente
formados por conjunciones a1 ∧ a2 ∧ . . . ∧ ai (i ≥ 0)
individuos (objetos) y datatypes (valores) se tratan por
separado
M. Rebollo Web Semántica
¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Sintaxis de SWRL

X ∈ Axiom ::= <uri>R


R ∈ Rule ::= A1 ∧ . . . ∧ Am ⇒ B1 ∧ . . . ∧ Bn , m, n ≥ 0
A, B ∈ Atom ::= C (i) (Descripción)
| C (d) (Datos)
| P(i1 , i2 ) (Prop. objeto)
| P(i, d) (Prop. datatype)
| sameAs(i1 , i2 ) (Igualdad)
| differentFrom(i1 , i2 ) (Desigualdad)
| builtIn(r, d1 , . . . , dk ) k ≥ 0 (Función)
i ∈ Individuo ::= vi | id
d ∈ Datatype ::= vd | literal
v ∈ Variable

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Interpretación de las reglas SWRL


C y P conectan las reglas SWRL co la ontología OWL
C (i) cierto si i es una instancia
C (d) cierto si d es un valor
P(i1 , i2 ) cierto si i1 está relacionado con i2 a través de la
propiedad P
P(i, d) cierto si i está relacionado con d por la propiedad
P
Permite ejecuciones mediante reglas SWRL
sameAs(i1 , i2 ) cierto si i1 e i2 se evalúan al mismo
individuo
differentFrom(i1 , i2 ) cierto si i1 e i2 se evalúan a individuos
distintos
builtIn(r, d1 , . . . , dk ) cierto si la relación r se evalúa a cierto
con los argumentos d1 , . . . , dk
M. Rebollo Web Semántica
¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Ejemplo de regla SWRL


hasFocus(i,Autofocus)∧hasMount(i,Fixed)∧hasBody(i,Compact)
⇒hasCamera(i,PointAndShoot)
Sintaxis XML (RuleML) para SWRL
<ruleml:imp>
<ruleml:_rlab ruleml:href="#rule1"/>
<ruleml:_body>
<swrlx:indivudualPropertyAtom swrlx:property="hasFocusType">
<ruleml:var>x</ruleml:var>
<owlx:Individual owlx:name="#Autofocus"/>
</swrlx:indivudualPropertyAtom>
...
</ruleml:_body>
</ruleml:_head>
<swrlx:indivudualPropertyAtom swrlx:property="hasCameraType">
<ruleml:var>x</ruleml:var>
<owlx:Individual owlx:name="#PointAndShoot"/>
</swrlx:indivudualPropertyAtom>
</ruleml:_head>
</ruleml:imp>
M. Rebollo Web Semántica
¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Ejemplo de regla SWRL


hasFocus(i,Autofocus)∧hasMount(i,Fixed)∧hasBody(i,Compact)
⇒hasCamera(i,PointAndShoot)
Sintaxis XML (RuleML) para SWRL
<ruleml:imp>
<ruleml:_rlab ruleml:href="#rule1"/>
<ruleml:_body>
<swrlx:indivudualPropertyAtom swrlx:property="hasFocusType">
<ruleml:var>x</ruleml:var>
<owlx:Individual owlx:name="#Autofocus"/>
</swrlx:indivudualPropertyAtom>
...
</ruleml:_body>
</ruleml:_head>
<swrlx:indivudualPropertyAtom swrlx:property="hasCameraType">
<ruleml:var>x</ruleml:var>
<owlx:Individual owlx:name="#PointAndShoot"/>
</swrlx:indivudualPropertyAtom>
</ruleml:_head>
</ruleml:imp>
M. Rebollo Web Semántica
¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Ejemplo de regla SWRL


hasFocus(i,Autofocus)∧hasMount(i,Fixed)∧hasBody(i,Compact)
⇒hasCamera(i,PointAndShoot)
Sintaxis XML (RuleML) para SWRL
<ruleml:imp>
<ruleml:_rlab ruleml:href="#rule1"/>
<ruleml:_body>
<swrlx:indivudualPropertyAtom swrlx:property="hasFocusType">
<ruleml:var>x</ruleml:var>
<owlx:Individual owlx:name="#Autofocus"/>
</swrlx:indivudualPropertyAtom>
...
</ruleml:_body>
</ruleml:_head>
<swrlx:indivudualPropertyAtom swrlx:property="hasCameraType">
<ruleml:var>x</ruleml:var>
<owlx:Individual owlx:name="#PointAndShoot"/>
</swrlx:indivudualPropertyAtom>
</ruleml:_head>
</ruleml:imp>
M. Rebollo Web Semántica
¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Ejemplo de regla SWRL


hasFocus(i,Autofocus)∧hasMount(i,Fixed)∧hasBody(i,Compact)
⇒hasCamera(i,PointAndShoot)
Sintaxis XML (RuleML) para SWRL
<ruleml:imp>
<ruleml:_rlab ruleml:href="#rule1"/>
<ruleml:_body>
<swrlx:indivudualPropertyAtom swrlx:property="hasFocusType">
<ruleml:var>x</ruleml:var>
<owlx:Individual owlx:name="#Autofocus"/>
</swrlx:indivudualPropertyAtom>
...
</ruleml:_body>
</ruleml:_head>
<swrlx:indivudualPropertyAtom swrlx:property="hasCameraType">
<ruleml:var>x</ruleml:var>
<owlx:Individual owlx:name="#PointAndShoot"/>
</swrlx:indivudualPropertyAtom>
</ruleml:_head>
</ruleml:imp>
M. Rebollo Web Semántica
¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Relación entre SWRL y OWL

SWRL extiende la expresividad de OWL mediante variables y


reglas
podemos hacer razonamientos más avanzados (similar a la
programación lógica)
se consigue combinando DL con una forma restrictiva de las
cláusulas de Horn
Pero
No hay una base formal para esa combinación

se pierde la corrección

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Herramientas

Protégé: editor de ontologías


Sesame: almacenamiento y consultas RDF
Pellet: razonador OWL-DL
OWL API: Java API para OWL-DL
Jena: framework para aplicaciones de web semántica
(AgentOWL)

M. Rebollo Web Semántica


¿Qué es la Web Semántica?
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
Razonamiento en la Web Semántica

Para saber más. . .

F. van Harmelen; D. Fensel


Practical Knowledge Representation for the Web
En In Proc. of the IJCAI Workshop on Intelligent Information
Integration, 1999.
Lassila, O.; van Harmelen, F.; Horrocks, I.; Hendler, J.;
McGuinness, D.L.,
The semantic Web and its languages,
En IEEE Intelligent Systems 15(6):67-73, Nov/Dec 2000.
D.L. McGuinness, R. Fikes, J. Hendler; L.A. Stein.
DAML+OIL: An Ontology Language for the Semantic Web
En IEEE Intelligent Systems, 17(5):72-80, September/October
2002

M. Rebollo Web Semántica