Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Web Semantica
1. 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
@mrebollo Web Semántica
2. 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)
@mrebollo Web Semántica
3. 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)
@mrebollo Web Semántica
4. 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)
@mrebollo Web Semántica
5. 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)
@mrebollo Web Semántica
6. 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)
@mrebollo Web Semántica
7. 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
@mrebollo Web Semántica
8. 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)
@mrebollo Web Semántica
9. 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
@mrebollo Web Semántica
10. 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 D Intersection
| C D Union
| ∀R.C Value restriction
| ∃R.C Existential quantification
| ≤ nR| ≥ nR Number restrictions
@mrebollo Web Semántica
11. 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 D ⇒ C ∩D
C D ⇒ C ∪D
∀R.C ⇒ {a ∈ ∆ | ∀b.(a, b) ∈ R → b ∈ C }
∃R.C ⇒ {a ∈ ∆ | ∃b.(a, b) ∈ R ∧ b ∈ C }
≤ n R ⇒ {a ∈ ∆ | {(a, b) ∈ R} ≤ n}
≥ n R ⇒ {a ∈ ∆ | {(a, b) ∈ R} ≥ n}
@mrebollo Web Semántica
12. 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 D ≡ C ∧ D ≡ relación "parte de"
Example
Lens CameraBody es la definición de cámara
C D ≡ C ∨ D ≡ subclase
Example
DigitalCamera 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)
@mrebollo Web Semántica
13. 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
@mrebollo Web Semántica
14. 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}
@mrebollo Web Semántica
15. Qué es la Web Semántica
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica
Ejemplo. Red Semántica
@mrebollo Web Semántica
16. 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 CameraBody
Camera ≡ DigitalCamera FilmCamera
Camera ≡ ∀ hasLens.Lens
Camera ≡ ∀ hasType.CameraType
DigitalCamera ≡ DigitalBack
FilmCamera ≡ FilmBack
CameraType ≡ BackType
BackType ≡ DigitalBack FilmBack
FilmBack ≡ 35mmBack PolaroidBack
@mrebollo Web Semántica
17. 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
@mrebollo Web Semántica
18. 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
@mrebollo Web Semántica
19. Qué es la Web Semántica Dublin Core
Description Logic Microformatos
Representación del conocimiento RDF
Razonamiento en la Web Semántica OWL
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)
@mrebollo Web Semántica
20. 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
@mrebollo Web Semántica
21. 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
@mrebollo Web Semántica
22. 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 <meta>
elements" />
</head>
@mrebollo Web Semántica
23. 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>
@mrebollo Web Semántica
24. 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
@mrebollo Web Semántica
25. 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:Celik;Tantek href="http://tantek.com/">
FN:Tantek Celik Tantek Celik
URL:http://tantek.com/ </a>
ORG:Technorati <div class="org">
END:VCARD Technorati
</div>
</div>
@mrebollo Web Semántica
26. 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
@mrebollo Web Semántica
27. 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
@mrebollo Web Semántica
28. 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
@mrebollo Web Semántica
29. 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
@mrebollo Web Semántica
30. 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
@mrebollo Web Semántica
31. 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
@mrebollo Web Semántica
32. 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
@mrebollo Web Semántica
33. 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>
@mrebollo Web Semántica
34. 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>
@mrebollo Web Semántica
35. 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>
@mrebollo Web Semántica
36. 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)
@mrebollo Web Semántica
37. 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
@mrebollo Web Semántica
38. 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"/>
@mrebollo Web Semántica
39. 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"/>
@mrebollo Web Semántica
40. 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>
@mrebollo Web Semántica
41. 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>
@mrebollo Web Semántica
42. 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
@mrebollo Web Semántica
43. 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
@mrebollo Web Semántica
44. 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>
@mrebollo Web Semántica
45. 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>
@mrebollo Web Semántica
46. 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>
@mrebollo Web Semántica
47. 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>
@mrebollo Web Semántica
48. 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>
@mrebollo Web Semántica
49. 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
@mrebollo Web Semántica
50. 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
@mrebollo Web Semántica
51. 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>
@mrebollo Web Semántica
52. 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>
@mrebollo Web Semántica
53. 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 , y ¬ de DL
@mrebollo Web Semántica
54. 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
propiedadm, pero no en el dominio o en una relación
rdfs:subClassOf
@mrebollo Web Semántica
55. Qué es la Web Semántica
SPARQL
Description Logic
Inferencia DL
Representación del conocimiento
SWRL
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)
@mrebollo Web Semántica
56. 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
Herramientas disponibles para razonar en la web semántica
lenguajes basados en queries ⇒ SPARQL
inferencia de conocimiento (DL)
lenguajes basados en reglas (SWRL)
sistemas basados en frames (F-logic)
@mrebollo Web Semántica
57. 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
@mrebollo Web Semántica
58. 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?
@mrebollo Web Semántica
59. 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 CameraBody
@mrebollo Web Semántica
60. 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
@mrebollo Web Semántica
61. 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 D
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 ⊥
@mrebollo Web Semántica
62. 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 D∧D C)
Útil para eliminar redundancias y ambigà 1 edad
4
Disyunción
No existe ninguna relación entre los conceptos
T (C D) ⊥
@mrebollo Web Semántica
63. 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)}
@mrebollo Web Semántica
64. 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 ⊥ 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.
@mrebollo Web Semántica
65. 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)
@mrebollo Web Semántica
66. 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
@mrebollo Web Semántica
67. 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
@mrebollo Web Semántica
68. 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
@mrebollo Web Semántica
69. 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>
@mrebollo Web Semántica
70. 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>
@mrebollo Web Semántica
71. 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>
@mrebollo Web Semántica
72. 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>
@mrebollo Web Semántica
73. 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
@mrebollo Web Semántica
74. Qué es la Web Semántica
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica
Para saber más. . .
D. Fensel et al. (Ed.)
Spinning the Semantic Web
MIT Press, 2003.
H. Wache et al.
Ontology-Based Integration of Information–A Survey of
Existing Approaches
En Proc. IJCAI 2001, pp.:108-117
L. Ding et al.
Using Ontologies in the Semantic Web: A Survey
En Ontologies, cap. 4, pp.: 79–113. Springer, 2007
@mrebollo Web Semántica
75. Qué es la Web Semántica
Description Logic
Representación del conocimiento
Razonamiento en la Web Semántica
Temas para posibles trabajos
OWL 2.0
Revisión del estándar. Cambios respecto a OWL
Revisión de herramientas
Estudiar las heramientas disponibles que se pueden integrar dentro
de agentes inteligentes para razonar sobre la web semántica
Construcción de un agente "semántico"
Implmenta un agente que sea capaz de comunicarse con otro en
OWL como lenguaje de contenidos.
FOAF+SIOC: semántica para redes sociales
Construir un agente que pueda explorar una red social y extraer
conocimiento semántico sobre las relaciones entre los usuarios
@mrebollo Web Semántica