Top Banner
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
75

Web Semantica

Nov 01, 2014

Download

Technology

Miguel Rebollo

Conceptos básicos sobre la web semántica, bases formales (description logic) y lenguajes
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Web Semántica

Miguel Rebollo Pedruelo

Dept. Sistemas Informáticos y ComputaciónUniv. Politécnica de Valencia

Agentes de Información y Web SemánticaMaster IARFID

@mrebollo Web Semántica

Page 2: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Contenidos

1 Qué es la Web Semántica

2 Description Logic

3 Representación del conocimientoDublin CoreMicroformatos. La web semántica con minúsculasResource Description Framework (RDF)Web Ontology Language (OWL)

4 Razonamiento en la Web SemánticaSimple Protocol and RDF Query LanguageInferencia de conocimiento (DL)Semantic Web Rule language (SWRL)

@mrebollo Web Semántica

Page 3: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Contenidos

1 Qué es la Web Semántica

2 Description Logic

3 Representación del conocimientoDublin CoreMicroformatos. La web semántica con minúsculasResource Description Framework (RDF)Web Ontology Language (OWL)

4 Razonamiento en la Web SemánticaSimple Protocol and RDF Query LanguageInferencia de conocimiento (DL)Semantic Web Rule language (SWRL)

@mrebollo Web Semántica

Page 4: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Situación actual en la web

Los lenguajes actuales no son suficientesHTML sólo incluye marcas de formatoXML 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ásicospermite 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 partesacuerdan previamente el formato sintáctico exacto de los datos (enun XML-Schema)

@mrebollo Web Semántica

Page 5: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Situación actual en la web

Los lenguajes actuales no son suficientesHTML sólo incluye marcas de formatoXML 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ásicospermite 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 partesacuerdan previamente el formato sintáctico exacto de los datos (enun XML-Schema)

@mrebollo Web Semántica

Page 6: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento 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

Page 7: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Arquitectura de la Web Semántica

Sobre esta estructura podemos montar aplicaciones inteligentes

@mrebollo Web Semántica

Page 8: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Contenidos

1 Qué es la Web Semántica

2 Description Logic

3 Representación del conocimientoDublin CoreMicroformatos. La web semántica con minúsculasResource Description Framework (RDF)Web Ontology Language (OWL)

4 Razonamiento en la Web SemánticaSimple Protocol and RDF Query LanguageInferencia de conocimiento (DL)Semantic Web Rule language (SWRL)

@mrebollo Web Semántica

Page 9: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Lenguajes descriptivos

Similares a otros formalismos, pero sin variables y uniendo dosalfabetos

Conceptos atómicos, definidos mediante símbolos depredicado unariosRoles atómicos, definidos a través de símbolos binarios

Ambos se combinan para formar descripciones de conceptos, quepueden ser

Descripciones elementales, definidas a partir de conceptos oroles atómicosDescripciones complejas, por la aplicación recursiva deconstructores de conceptos

Denotamos con A y B conceptos atómicos, R roles atómicos, C yD descripciones de concepto

@mrebollo Web Semántica

Page 10: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento 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| ≤ n R | ≥ n R Number restrictions

@mrebollo Web Semántica

Page 11: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Semántica de ALCN

> ⇒ ∆⊥ ⇒ ∅¬C ⇒ ∆− C

C uD ⇒ C ∩DC tD ⇒ 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

Page 12: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Cómo usar ALCN para expresar conocimiento

las descripciones elmentales son los conceptos atómicos deldominio (nodos de una red semántica)unión e intersección para clasificación

C uD ≡ C ∧D ≡ relación "parte de"

ExampleLens u CameraBody es la definición de cámara

C tD ≡ C ∨D ≡ subclaseExampleDigitalCamera t FilmCamera son tipos de Camera

∀ y ∃ expresan relaciones entre conceptos≤ n R,≥ n R restringen el número de individuos en larelación≥ 2 hasLens identifica individuos con más de una lente (SLR)

@mrebollo Web Semántica

Page 13: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento 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 seincluyen en C

Example (∀hasType.Camera)Todos los individuos con relación hasType deben formar parte delconcepto Camera:hasType={(NikonD70,DigitalBack),(PentaxKM,FilmBack)}∀hasType.Camera

significa que{NikonD70, PentaxKM}

deben estar incluidos en el concepto Camera

@mrebollo Web Semántica

Page 14: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento 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 elconcepto C

Example (∃hasType.DigitalBack)individuos de la relación hasType que tienen el conceptoDigitalBackhasType={(NikonD70,DigitalBack),(PentaxKM,FilmBack)}∃hasType.DigitalBack

hace referencia al concepto{NikonD70}

@mrebollo Web Semántica

Page 15: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Ejemplo. Red Semántica

@mrebollo Web Semántica

Page 16: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Ejemplo. Lenguaje de descripción ALCN

Camera ≡ Lens u CameraBodyCamera ≡ DigitalCamera t FilmCameraCamera ≡ ∀ hasLens.LensCamera ≡ ∀ hasType.CameraTypeDigitalCamera ≡ > u DigitalBackFilmCamera ≡ > u FilmBackCameraType ≡ > u BackTypeBackType ≡ DigitalBack t FilmBackFilmBack ≡ 35mmBack t PolaroidBack

@mrebollo Web Semántica

Page 17: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Otros lenguajes de descripciónLos lenguajes se diferencian por los constructores que incluyen.

AL: lenguaje baseC: constructor complemento (negación)N : restricciones numeradasALCR+: ALC y roles transitivos, se suele denominar S.SHOIN (D) añade a S

H jerarquíaO nominalesI roles inversosD tipos de datos

es la base de OWL-DL

cuando aumentamos los constructores, las semántica es másexpresiva. . .pero el proceso de razonamiento es menos eficiente

@mrebollo Web Semántica

Page 18: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Otros lenguajes de descripciónLos lenguajes se diferencian por los constructores que incluyen.

AL: lenguaje baseC: constructor complemento (negación)N : restricciones numeradasALCR+: ALC y roles transitivos, se suele denominar S.SHOIN (D) añade a S

H jerarquíaO nominalesI roles inversosD tipos de datos

es la base de OWL-DL

cuando aumentamos los constructores, las semántica es másexpresiva. . .pero el proceso de razonamiento es menos eficiente

@mrebollo Web Semántica

Page 19: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Contenidos

1 Qué es la Web Semántica

2 Description Logic

3 Representación del conocimientoDublin CoreMicroformatos. La web semántica con minúsculasResource Description Framework (RDF)Web Ontology Language (OWL)

4 Razonamiento en la Web SemánticaSimple Protocol and RDF Query LanguageInferencia de conocimiento (DL)Semantic Web Rule language (SWRL)

@mrebollo Web Semántica

Page 20: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Dublin Core

Permite incorporar metadatos a los recursos disponibles en la red

Simple Dublin CoreUn registro DC está compuesto por una o más propiedadesCada propiedad es un atributo del recurso que se describeHay 15 posibles propiedadesLas propiedades se pueden repetirLos valores de la propiedades son cadenas de caracteresPuede indicarse el idioma que se emplea para las cadenas decaracteres

@mrebollo Web Semántica

Page 21: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Propiedades del Simple Dublin Core

TitleCreatorSubjectDescriptionPublisherContributorDateType

FormatIdentifierSourceLanguageRelationCoverageRights

@mrebollo Web Semántica

Page 22: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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 inHTML/XHTML meta and link elements" /><meta name="DC.creator" content="Andy Powell, UKOLN, University of Bath"/><meta name="DCTERMS.abstract" content="This document describes howqualified Dublin Core metadata can be encoded in HTML/XHTML &lt;meta&gt;elements" /></head>

@mrebollo Web Semántica

Page 23: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 24: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Microformatos. La web semántica con minúsculas

Son soluciones estándares sencillas para el marcado de XHTML

Examplesrel="nofollow" para robots de búsquedarel="tag" para etiquetas en TechnoratihCard para representar información personal (vCard)hCalendar para representar eventos (iCal)Geo para mantener coordenadas de localización geográficahAtom para sindicar contenidos (RSS)hResume para representar un currículum

Más información en http://microformats.org

@mrebollo Web Semántica

Page 25: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Microformato hCard

vCardBEGIN:VCARD

VERSION:3.0N:Celik;TantekFN:Tantek CelikURL:http://tantek.com/ORG:Technorati

END:VCARD

hCard<div class="vcard"><a class="url fn"href="http://tantek.com/">

Tantek Celik</a><div class="org">

Technorati</div></div>

@mrebollo Web Semántica

Page 26: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 27: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 28: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Sintaxis XML para RDF

Documento RDFUn documento RDF es una lista de descripciones. Cadadescripció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 sujetoel elemento <camera:hasBody> define la propiedadel objeto aparece dentro del elemento

@mrebollo Web Semántica

Page 29: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Sintaxis XML para RDF

Documento RDFUn documento RDF es una lista de descripciones. Cadadescripció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 sujetoel elemento <camera:hasBody> define la propiedadel objeto aparece dentro del elemento

@mrebollo Web Semántica

Page 30: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Sintaxis XML para RDF

Documento RDFUn documento RDF es una lista de descripciones. Cadadescripció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 sujetoel elemento <camera:hasBody> define la propiedadel objeto aparece dentro del elemento

@mrebollo Web Semántica

Page 31: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Sintaxis XML para RDF

Documento RDFUn documento RDF es una lista de descripciones. Cadadescripció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 sujetoel elemento <camera:hasBody> define la propiedadel objeto aparece dentro del elemento

@mrebollo Web Semántica

Page 32: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Sintaxis XML para RDF

Documento RDFUn documento RDF es una lista de descripciones. Cadadescripció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 sujetoel elemento <camera:hasBody> define la propiedadel objeto aparece dentro del elemento

@mrebollo Web Semántica

Page 33: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 34: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 35: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 36: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Esquemas RDF (RDFS)

RDF permite construir KB basadas en una ontología, pero¿cómo se define la ontología?

RDFSRDFS proporciona un lenguaje básico para definir nuestrovocabulario con

jerarquía de clases e instanciasrestricciones (sobre las propiedades)jerarquía también de propiedades (interesante)

@mrebollo Web Semántica

Page 37: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Equivalencias entre RDF y RDFS

@mrebollo Web Semántica

Page 38: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 39: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 40: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 41: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 42: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Web Ontology Language (OWL)

OWL aporta mayor expresividad, pudiendo definir1 clases como combinaciones booleanas de otras con union,

intersection y complement.2 clases como disjoint3 dos clases como iguales equivalentClass4 dos individuos (instancias) son o no el mismo sameAs,

differentFrom5 cardinalidad en las propiedades cardinality6 propiedades transitivas

@mrebollo Web Semántica

Page 43: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Diferencia con RDFS

@mrebollo Web Semántica

Page 44: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Sintaxis RDF para OWL-Lite. Clases

La jerarquía de clases se define con owl:Class yrdfs: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 elmismo conocimiento de forma diferenteExample<owl:Class rdf:ID="SingleLensReflex">

<owl:equivalentClass rdf:resource="#SLR"/></owl:Class>

@mrebollo Web Semántica

Page 45: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Sintaxis RDF para OWL-Lite. ClasesLas instancias pueden definirse usando varios nombres o tambiénque dos elementos son diferentesExample<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 puedepertenecer 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

Page 46: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 47: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 48: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Sintaxis RDF para OWL-Lite. RestriccionesLa cardinalidad de una propiedad indica el número de elementosposibles en la relación. En OWL-Lite sólo se permite 0 (opcional) y1 (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 existencialowl:someValuesFrom

Example<owl:Restriction>

<owl:onProperty rdf:resource="#hasLens"/><owl:allValuesFrom rdf:resource="#Lens"/>

</owl:Restriction>@mrebollo Web Semántica

Page 49: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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ónasí se consigue que la restricción se propagueautomáticamente a sus subclases

@mrebollo Web Semántica

Page 50: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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ónasí se consigue que la restricción se propagueautomáticamente a sus subclases

@mrebollo Web Semántica

Page 51: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Sintaxis RDF para OWL-DL

Especificar una clase directamente por la enumeración de susmiembrosExample<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

Page 52: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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

Page 53: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

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 losoperadores t, u y ¬ de DL

@mrebollo Web Semántica

Page 54: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Dublin CoreMicroformatosRDFOWL

Diferencias entre OWL-DL y OWL-Full

A OWL-DL se le añaden una serie de restricciones para garantizarsu decidibilidad que no tiene OWL-Full. Destacan

los recursos sólo pueden tener un tipo (no pueden serdatatype 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 unapropiedadm, pero no en el dominio o en una relación

rdfs:subClassOf

@mrebollo Web Semántica

Page 55: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Contenidos

1 Qué es la Web Semántica

2 Description Logic

3 Representación del conocimientoDublin CoreMicroformatos. La web semántica con minúsculasResource Description Framework (RDF)Web Ontology Language (OWL)

4 Razonamiento en la Web SemánticaSimple Protocol and RDF Query LanguageInferencia de conocimiento (DL)Semantic Web Rule language (SWRL)

@mrebollo Web Semántica

Page 56: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Razonamiento en la Web Semántica

Herramientas disponibles para razonar en la web semántica

lenguajes basados en queries ⇒ SPARQLinferencia de conocimiento (DL)lenguajes basados en reglas (SWRL)sistemas basados en frames (F-logic)

@mrebollo Web Semántica

Page 57: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

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 ?xWHERE{ ?x camera:hasType camera:DigitalBack }

La ejecución de esta consulta da como resultado

?xcanon:CanonEOS400Dnikon:NikonD70

@mrebollo Web Semántica

Page 58: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

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

Page 59: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Inferencia de conocimiento (DL)

TBoxconocimiento intensionalsobre el conocimiento general del dominiomantiene la terminología (ontología)declaraciones en forma de definición del conceptosel conocimeinto de la TBox apenas cambia a lo largo deltiempoequivalente a una ontología en OWL

ExampleCamera ≡ Lens u CameraBody

@mrebollo Web Semántica

Page 60: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Inferencia de conocimiento (DL)

ABoxconocimiento extensionalconocimiento sobre un problema específicomantiene la terminología (ontología)declaraciones en forma de asercionesdinámico y dependiente de las circunstanciasequivalente a conocimiento en RDF

ExampleCamera(PentaxKM) aserción de conceptohasLens(PentaxKM, 50mmLens) aserción de rol

@mrebollo Web Semántica

Page 61: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Razonamiento sobre la TBox

SubsumpciónEl concepto D es más general que C en la TBox T (C es unsubconjunto de D)

T ` C v D

SatisfacibilidadAl añadir un concepto C , determinar si C es consistente con elresto del conocimiento. Si podemos construir un individuo quecoincide con C es satisfacible. En otro caso, es insatisfacible

T ` C v ⊥

@mrebollo Web Semántica

Page 62: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Razonamiento sobre la TBox

EquivalenciaC y D son equivalentes en la TBox T . T ` C ≡ D. Puederepresentarse mediante subsumpción

T ` (C v D ∧D v C )

Útil para eliminar redundancias y ambigÃ14edad

DisyunciónNo existe ninguna relación entre los conceptos

T ` (C uD) v ⊥

@mrebollo Web Semántica

Page 63: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Razonamiento sobre la ABox

Comprobación de instanciasVerifica que un individuo pertenece a un concepto

A ` C (a)

La instancia a pertenece al concepto C en la ABox A. Lainstancia está clasificada de acuerdo a la KB.

RecuperaciónEncuentra todas las instancias de un concepto en la KB

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

@mrebollo Web Semántica

Page 64: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Razonamiento sobre la ABox

RealizaciónDual de la recuperación

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

Comprobación de consistenciaCada 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

Page 65: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Reducción de los mecanismos de inferencia¿Son necesarios todos estos métodos de inferencia?

1 las inferencias sobre TBox pueden reducirse a subsumpción2 las inferencias sobre ABox pueden reducirse a comprobación

de instancias3 todas las inferencias pueden traducirse a consistencia sobre

ABoxA ` C (a) iff A ∪ {¬C (a)} is inconsistent

4 consistencia en ABox ≡ satisfacibilidad en TBoxC is satiscacible iff {C (a)} es consistente

inferencia sobre DL puede reducirse a un problema desatisfacibilidad

Y como DL es un subconjunto de FOL, podemos aplicar algoritmosconocidos para el problema de satisfacibilidad booleano (SAT)

@mrebollo Web Semántica

Page 66: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Semantic Web Rule language (SWRL)

Las inferencias se limitan a propiedades estructurales (ej.: nopodemos hacer cálculos sobre los datos)⇒debemos construir nuestras propias aplicaciones que seanconscientes 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 ciertoslos axiomas están formados por una URI y una regla Rtodas las reglas R son de la forma antecedente⇒consecuenteformados por conjunciones a1 ∧ a2 ∧ . . . ∧ ai (i ≥ 0)individuos (objetos) y datatypes (valores) se tratan porseparado

@mrebollo Web Semántica

Page 67: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Sintaxis de SWRL

X ∈ Axiom ::= <uri>RR ∈ Rule ::= A1 ∧ . . . ∧Am ⇒ B1 ∧ . . . ∧ Bn , m,n ≥ 0A,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 | idd ∈ Datatype ::= vd | literalv ∈ Variable

@mrebollo Web Semántica

Page 68: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Interpretación de las reglas SWRL

C y P conectan las reglas SWRL co la ontología OWLC (i) cierto si i es una instanciaC (d) cierto si d es un valorP(i1, i2) cierto si i1 está relacionado con i2 a través de la

propiedad PP(i, d) cierto si i está relacionado con d por la propiedad

PPermite ejecuciones mediante reglas SWRLsameAs(i1, i2) cierto si i1 e i2 se evalúan al mismo

individuodifferentFrom(i1, i2) cierto si i1 e i2 se evalúan a individuos

distintosbuiltIn(r , d1, . . . , dk) cierto si la relación r se evalúa a cierto

con los argumentos d1, . . . , dk

@mrebollo Web Semántica

Page 69: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Ejemplo de regla SWRLhasFocus(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

Page 70: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Ejemplo de regla SWRLhasFocus(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

Page 71: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Ejemplo de regla SWRLhasFocus(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

Page 72: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Ejemplo de regla SWRLhasFocus(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

Page 73: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

SPARQLInferencia DLSWRL

Relación entre SWRL y OWL

SWRL extiende la expresividad de OWL mediante variables yreglaspodemos hacer razonamientos más avanzados (similar a laprogramación lógica)se consigue combinando DL con una forma restrictiva de lascláusulas de Horn

Pero

No hay una base formal para esa combinación⇒

se pierde la corrección

@mrebollo Web Semántica

Page 74: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Para saber más. . .

D. Fensel et al. (Ed.)Spinning the Semantic WebMIT Press, 2003.H. Wache et al.Ontology-Based Integration of Information–A Survey ofExisting ApproachesEn Proc. IJCAI 2001, pp.:108-117

L. Ding et al.Using Ontologies in the Semantic Web: A SurveyEn Ontologies, cap. 4, pp.: 79–113. Springer, 2007

@mrebollo Web Semántica

Page 75: Web Semantica

Qué es la Web SemánticaDescription Logic

Representación del conocimientoRazonamiento en la Web Semántica

Temas para posibles trabajos

OWL 2.0Revisión del estándar. Cambios respecto a OWL

Revisión de herramientasEstudiar las heramientas disponibles que se pueden integrar dentrode 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 enOWL como lenguaje de contenidos.

FOAF+SIOC: semántica para redes socialesConstruir un agente que pueda explorar una red social y extraerconocimiento semántico sobre las relaciones entre los usuarios

@mrebollo Web Semántica