Web Semantica con MAYÚSCULAS

214
Web Semántica con MAYÚSCULAS Carlos Tejo Alonso [email protected]

description

Clase sobre web semantica (Semantic web)

Transcript of Web Semantica con MAYÚSCULAS

Page 1: Web Semantica con MAYÚSCULAS

Web Semántica con MAYÚSCULAS

Carlos Tejo Alonso

[email protected]

Page 2: Web Semantica con MAYÚSCULAS

Sumario• Presentaciones• Problemas de la Web actual• Introducción a la Web Semántica• Web de datos / objetos

HTML / UNICODE / URI / XML• Web de información / relaciones

Meta / RDF• Web de conocimiento / razonamiento

RDFS/OWL/SPARQL• Ejemplos

Page 3: Web Semantica con MAYÚSCULAS

¿Quien soy yo?

Carlos Tejo Alonso

[email protected]

Actualmente trabajo en Fundación CTIC,

en el departamento de I+D+i,

en la línea de Web Semántica

Page 4: Web Semantica con MAYÚSCULAS

¿Quienes sois vosotros?

Encuesta Online

http://spreadsheets.google.com/viewform?key=pvyBNqaEQGj8sptli18b3Fw

Page 5: Web Semantica con MAYÚSCULAS

Sumario• Presentaciones• Problemas de la Web actual• Introducción a la Web Semántica• Web de datos / objetos

HTML / UNICODE / URI / XML• Web de información / relaciones

Meta / RDF• Web de conocimiento / razonamiento

RDFS/OWL/SPARQL• Ejemplos

Page 6: Web Semantica con MAYÚSCULAS

Empecemos con una historia que ocurrió hace muchos muchos años…

Page 7: Web Semantica con MAYÚSCULAS

Historia 1: BibliotecaAño 1943: el médico don Horacio José Casal posee una biblioteca personal con cientos de libros, que ocupan dos habitaciones enteras. El orden no es el punto fuerte del doctor. Por lo cual, cada vez que necesita información, debe revisar cada libro hasta encontrar lo que busca.

Problemas:- Utiliza mucho tiempo en cada búsqueda- No siempre encuentra lo que busca

Solución: Catalogar los libros

Page 8: Web Semantica con MAYÚSCULAS

La Biblioteca - Horacio• ¿Qué alfabeto utiliza?Latino

• ¿Cómo hacer referencia a cada libro de forma única?Cuatro letras del autor + año [GRIJ1854]

• ¿Cómo anotar la información de los libros?En fichas (una por libro) almacenadas en tres cajas de madera de roble (una por materia)

• ¿Qué criterios utilizar para catalogar los libros?Autor, título y tema

Page 9: Web Semantica con MAYÚSCULAS

La Biblioteca (continuación)

Año 1946: se muda a la casa contigua a la del doctor, un escritor de novela rosa ruso, Olaff Petrenko, quien también posee una amplia biblioteca.

Olaff, como buen ruso, es ordenado y su biblioteca está catalogada

Page 10: Web Semantica con MAYÚSCULAS

La Biblioteca - Olaff• ¿Qué alfabeto utiliza?Cirílico [Зравствуйте]

• ¿Cómo hacer referencia a cada libro de forma única?Tres letras del titulo + año [вду1812]

• ¿Cómo anotar la información de los libros?En grandes cuadernos (estilo guía telefónica)

• ¿Qué criterios utilizar para catalogar los libros?Palabra clave, editorial y año

Page 11: Web Semantica con MAYÚSCULAS

La Biblioteca (continuación)

Año 1951: Llega otro vecino, que es un gran aficionado a la tecnología y a los libros: el profesor Tsun Lie Yong, recién venido de Shangai.

No quiero ni pensar como

ordena su biblioteca ...

Page 12: Web Semantica con MAYÚSCULAS

¿Cómo compartir información?

El Dr. Casal, el Sr. Petrenko y el profesor Tsun Lie Yong gustan de compartir sus libros, pero nunca les fue fácil buscar información en las tres bibliotecas.

Problemas

• Alfabetos diferentes

• Referencias diferentes

• Anotaciones diferentes

• Criterios de catalogación diferentes

Page 13: Web Semantica con MAYÚSCULAS

Houston: We’ve got a problem

source: http://www.hq.nasa.gov/alsj/a13/a13.s70_35013.jpg

Page 14: Web Semantica con MAYÚSCULAS

Reminds

¿Es un problema que solo afecta a la biblioteca de

nuestros amigos? A mi me recuerda a un invento…

“Internet will catastrophically collapse in 1996”Robert Metcalfe, internet inventor

Page 15: Web Semantica con MAYÚSCULAS

Práctica (Texto)

Escribir en texto plano esta información

- Clase. Horario, geoposición

- Profesor.

- Alumnos.

Page 16: Web Semantica con MAYÚSCULAS

Práctica (Texto)

El día 3 de Julio de 2008, a las 9.00am, en el edificio Valdés Salas de la Universidad de Oviedo, comenzará la clase “Web semántica en MAYÚSCULAS” (que pertenece al curso “Diseño centrado en el usuario en la Web 2.0”), impartido por el profesor “Carlos Tejo Alonso” (página personal www.dayures.net), al alumno José Luis Cabrera, con email [email protected]

Page 17: Web Semantica con MAYÚSCULAS

La Web vs Página Web

World Wide Web (o "la Web") es un sistema de documentos de

hipertexto y/o hipermedios enlazados y accesibles a través

de Internet. Una página Web es una fuente de información adaptada para la Web que se presenta generalmente en

formato HTML.

Page 18: Web Semantica con MAYÚSCULAS

Evolución de la Web

Page 19: Web Semantica con MAYÚSCULAS

El éxito de la Web actual

• Descentralización

• Información compartida

• Facilidad para acceder

• Facilidad para contribuir con nuevos datos

• Compatibilidad

• Apertura al crecimiento y usos no previstos de antemano

Page 20: Web Semantica con MAYÚSCULAS

Los problemas de la Web actual

• La web profunda (Deep web)

• Información en otros idiomas

• Ambigüedad de una búsqueda

• … ¿Alguno más?

Page 21: Web Semantica con MAYÚSCULAS

Deep Web• Hay partes de la web ocultas a los buscadores

Es la deep web (“web profunda”), en oposición a la surface web (“web superficial”) cuya información sí puede recuperarse con los buscadores de Internet

Lee más: http://en.wikipedia.org/wiki/Deep_Web

Page 22: Web Semantica con MAYÚSCULAS

A todo no hay acceso…

• Contenido dinámico (bases de datos)

• Contenido sin enlazar

• Parte privada de los sitios web

• Navegación contextual (paginas que muestran diferente información según la IP o la secuencia previa de navegación)

• Acceso limitado al contenido (robots.txt)

• Contenido generado por Flash, Javascripts

• Contenido que no es HTML/text

Page 24: Web Semantica con MAYÚSCULAS

• ¿Cómo se cual es la licencia de uso de un documento que está en otro idioma?

• ¿Cómo puedo saber el tiempo meteorológico que va a hacer en Changchun, China?

Otros idiomas

Page 25: Web Semantica con MAYÚSCULAS

Universidad de Haifa [Israel]

Otros idiomas

Page 26: Web Semantica con MAYÚSCULAS

Ambigüedad en búsquedasCuando quiero buscar información sobre Granada en del.icio.us, obtengo como resultados:

• Fruto del granadoLa Granada. Fruta del Paraiso

• Proyectil hueco que se arroja con la manoMilitaria Granada Armas inutilizadas antiguas y replicas

• Ciudad de AndalucíaUniversidad de Granada - www.ugr.es

Sources (Creative Commons Reconocimiento 2.0 Genérica):

http://www.flickr.com/photos/xzaragoza/228560980/

http://www.flickr.com/photos/arturdebat/443912812/

http://www.flickr.com/photos/lworcel/134945845/

Page 27: Web Semantica con MAYÚSCULAS

Ambigüedad en búsquedas

Page 28: Web Semantica con MAYÚSCULAS

Otros problemas que surgen

Mejorar las limitaciones de los buscadores actualesSituación: Voy a una seminario impartido el Sr. García.Problema: Encontrar información acerca del señor García para ir documentado.Dificultad: Muchos resultados de búsqueda inútiles.

Compartir información de una manera sencillaSituación: Quiero añadir a mi agenda, la lista de asistentes a una reuniónProblema: Si hay X asistentes, con Y datos por asistente (nombre, apellido, e-mail, etc..) lo que implica realizar X*Y operaciones de copiar y pegar!Dificultad: Excesivo trabajo manual para añadir los datos

Combinar información automáticamenteSituación: En el sitio web A hay sugerencias de películas y en B hay los precios de películas.Problema: Combinar sugerencias y precios. Dificultad: Excesivo trabajo manual para combinar los datos

Page 29: Web Semantica con MAYÚSCULAS

¿Por qué hay problemas?

• La web actual representa la información utilizando lenguaje natural con muy poca estructura (html), muchos gráficos, ...

• Válida para ser comprendido por humanos pero complejo para ser procesado automáticamente.

Page 30: Web Semantica con MAYÚSCULAS

La web sintáctica

Page 31: Web Semantica con MAYÚSCULAS

¿Dónde estamos entonces?

Podemos decir que estamos en la WEB SINTÁCTICA

Características:• Centrada en consumo de datos por humanos• Crecimiento caótico de recursos [páginas]• Semántica implícita (reconocible por humanos)• Falta orden y organización

¿Es suficiente?

Page 32: Web Semantica con MAYÚSCULAS

Mejorar la web sintáctica

• Máquinas más inteligentes: Enseñar a los ordenadores a comprender el significado de la información que hay en la web (Procesamiento de lenguaje natural, reconocimiento de imágenes, etc...)

• Información más inteligente: Representar la información de modo que sea comprensible para las máquinas (Expresar contenidos en un formato procesable automáticamente. Ejemplo: uso de metainformación o metadatos).

Page 33: Web Semantica con MAYÚSCULAS

Historia 2: Espías

Año 2005: James Corigos es un importante agente secreto de la República de Tolivia. A James le es muy costoso buscar información en Internet por le tiempo que le toma. Por ello ha pedido un becario de informática para delegar esa responsabilidadMónica Lewinskysky es el becaria-asistente que se encarga de buscar la información, y lo hace así: utiliza un navegador y en sitios como Google o Yahoo encuentra gran cantidad de enlaces que revisa uno a uno y si tiene suerte, extrae la información solicitada por su jefe. James recibe la información por parte del Mónica al cabo de unas horas.

Page 34: Web Semantica con MAYÚSCULAS

Espías: El encargoUna llamada a medianoche despierta a James y le comunica su último encargo. Tiene que resolver la cuestión:

¿Santiago: tenía caballo o tenía camello? 1. Mónica entiende lo que le pide su jefe y escribe en los buscadores: “Santiago Camello Caballo”2. Resultado: paginas sobre historia, animales, drogas, sobre el actor Santiago del Caballo ....3. Comprende cada una de las páginas, eliminando las que no le interesan en su búsqueda4. Apunta los datos importantes que encuentra5. Uniendo la información de varias páginas, amplía la búsqueda6. Finalmente descubren que lo que tenia Santiago era ...

Page 35: Web Semantica con MAYÚSCULAS

Espías: ¿Cómo lo pudo hacer?

Mónica, la asistente de James, es un agente humano que posee las siguientes características:

• Entiende lo que se les pide buscar

• Comprende el contenido de los sitios Web que visitan

• Valida si lo encontrado corresponde a lo que se le pidió buscar

• Deduce nueva información de la ya obtenida

Page 36: Web Semantica con MAYÚSCULAS

Buscando una solución

¿Qué es necesario para automatizar el proceso de:

- Entender una consultar?

- Comprender sitios web?

- Validar información?

- Deducir nueva información?

Estandarizar alfabeto, referencias, lenguaje, formato, anotaciones sobre significados, conceptos generales, reglas y sistemas de deduccion, etc ...

Page 37: Web Semantica con MAYÚSCULAS

Volvamos …

Volvamos al ejemplo de la Biblioteca

Page 38: Web Semantica con MAYÚSCULAS

¿Final feliz?

Año 2005: Ana Casal Petrenko habla con sus abuelos y los insta a subirse al carro de las nueva tecnologías. Les propone usar:

• Alfabeto: Unicode

• Referencias: URI (IRI)

• Anotaciones: XML y RDF

• Criterios de catalogación: Ontologías

Page 39: Web Semantica con MAYÚSCULAS

Los abuelos se sienten insultados y le responden:

• El Dr. Casal: ¡Para que tanta parafernalia, si las fichas siempre se han usado!

• El escritor Olaff Petrenko, que conoce algo de las nueva tecnologías: ¿Por qué no usamos simplemente HTML?

• El profesor Tsun Lie Yong, que todos los dias lee Slashdot, Barrapunto y Boing Boing: ¿Y por que XML no es suficiente?

Las dudas de los abuelos

Page 40: Web Semantica con MAYÚSCULAS

¿A dónde queremos ir?

Hacia la

WEB SEMÁNTICA !!!

Page 41: Web Semantica con MAYÚSCULAS

La web Semántica

Page 42: Web Semantica con MAYÚSCULAS

Sumario• Presentaciones• Problemas de la Web actual• Introducción a la Web Semántica• Web de datos / objetos

HTML / UNICODE / URI / XML• Web de información / relaciones

Meta / RDF• Web de conocimiento / razonamiento

RDFS/OWL/SPARQL• Ejemplos

Page 43: Web Semantica con MAYÚSCULAS

Definición en inglés

The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation."

Tim Berners-Lee, James Hendler, Ora Lassila,

The Semantic Web, Scientific American, Mayo 2001

Page 44: Web Semantica con MAYÚSCULAS

Definición en español

La Web Semántica no es una web aparte sino una extensión de la actual en la que la información tiene un significado bien definido, posibilitando que los ordenadores y las personas trabajen en cooperación.

Page 45: Web Semantica con MAYÚSCULAS

Características

• Centrada en la información

• Información procesable por máquinas– Semántica explícita (metadatos)

– Motores de inferencia

• Estandarización – Anotación estandarizada (vocabularios)

• Clasificación – Ontologías consensuadas

Page 46: Web Semantica con MAYÚSCULAS

Conceptos

La descripción del significado se obtiene con– Metadatos (datos sobre los datos)– Ontologías (relaciones entre conceptos)

<meta name="keywords" content="canoa,sella,turismo"/>

La manipulación automática del conocimiento mediante

– Lógica (base de los motores)– Motores de inferencia (inferir conocimiento)

Page 47: Web Semantica con MAYÚSCULAS

¿ Ejemplos de uso ?

Si...., vale......, muy bien ...... pero eso de la Web Semántica

¿que aplicaciones puede tener en la vida real ?

Page 48: Web Semantica con MAYÚSCULAS

Utilidad RealAsí que aquí dejo dos "tareas" para que quien esté interesado las pruebe a resolver:

• ¿Cuanto cuesta un billete de tren desde Viena hasta Liubliana, capital de Eslovenia?

• Elegir cinco listados de los mejores libros de ciencia ficción. Encontrar los libros que están recomendados en los cinco listados.

Con la web semántica serán muy sencillas.

Page 49: Web Semantica con MAYÚSCULAS

Preparemos un viaje

1. Acceder manualmente a estas páginas– Desplazamientos. Reserva de vuelo– Hotel. Reserva de plaza– Horarios y líneas de transporte local– Tiempo atmosférico– …..

2. Indicamos a un programa nuestras preferencias y este lleva a cabo todo el proceso, sin que el usuario pase horas navegando

Page 50: Web Semantica con MAYÚSCULAS

Creación de software

1. Buscar los componentes de forma manual– Buscar los componentes adecuados en cientos

de páginas de internet– Estudiar aquellas que parecen interesantes– Comprobar la legalidad (licencias)– Buscar manuales de especificación de cómo

enlazar unos con otros

2. Agente apropiado (no humano) podrá llevar a cabo esta operación

Page 51: Web Semantica con MAYÚSCULAS

Ventajas al buscar

• Búsquedas más eficientes combinando resultados de varias páginas que antes no tenían ninguna conexión

• Buscadores podrían responder preguntas directas, como "busca todos los documentos relacionados con la investigación sobre ADN mediante el elemento calcio"

• http://labs.google.com/sets

Lee más: http://blog.semantic-web.at/2008/07/07/an-overview-of-semantic-search-engines/

Page 52: Web Semantica con MAYÚSCULAS

Sumario• Presentaciones• Problemas de la Web actual• Introducción a la Web Semántica• Web de datos / objetos

HTML / UNICODE / URI / XML• Web de información / relaciones

Meta / RDF• Web de conocimiento / razonamiento

RDFS/OWL/SPARQL• Ejemplos

Page 53: Web Semantica con MAYÚSCULAS

Dato, información y conocimiento

• Dato: conjunto discreto de elementos sobre un hecho real que por sí solos son irrelevantes, que debe ser procesados para darle sentido.• Información: Conjunto organizado de datos procesados, que constituyen un mensaje sobre un determinado ente o fenómeno y que puede ser interpretado por cualquier persona.• Conocimiento: es una mezcla de experiencia, relaciones, información y know-how que sirve como marco para la obtener nuevo conocimiento, y es útil para tomar acciones.

Page 54: Web Semantica con MAYÚSCULAS

HTML

Page 55: Web Semantica con MAYÚSCULAS

Web de datos: HTML

Lenguaje de horror, aunque con alguna virtud

<h1>Filmografía</h1><p><i>Todo sobre mi padre</i>

Al Modovar, Al Patxino<br>Fifty Century Foxy, 2008</p>

<p><i>Tacones cercanos</i>Al Modovar, Jose Luis

Ganchi<br>Paratous Comedy, 2005</p>

Page 56: Web Semantica con MAYÚSCULAS

Virtudes del HTML

HTML es fácil de usar, fácil de usar, fácil de usar,... y robusto.

Page 57: Web Semantica con MAYÚSCULAS

HTML es limitado

• Orientado a la presentación de datos

• No es extensible: tiene un numero finito de etiquetas.

• No describe el “contenido”

• No se describen las relaciones entre los documentos

Page 58: Web Semantica con MAYÚSCULAS

Práctica <HTML>

Escribir en la información sobre el curso desde el formato en texto plano a HTML

Page 59: Web Semantica con MAYÚSCULAS

Práctica <HTML>El día <strong>3 de Julio de 2008</strong>, a las <strong>9.00am</strong>, en el edificio <em>Valdés Salas de la Universidad de Oviedo</em>, comenzará la clase <span class="clase">“Web semántica en MAYÚSCULAS”</span>(impartido dentro del curso <span class="curso">Diseño centrado en el usuario en la Web 2.0</span>), impartido por el profesor <span class=“profe">Carlos Tejo Alonso (<a href="http://www.dayures.net/"> www.dayures.net</a>)</span>,al alumno <span class=“alumno">José Luis Cabrera</span>, con email <a href="mailto:[email protected]"> [email protected]</a>

Page 60: Web Semantica con MAYÚSCULAS

Práctica <HTML>

Page 61: Web Semantica con MAYÚSCULAS

Seamos serios

Nos merecemos algo más !!!

Que tal … la web semántica?

Page 62: Web Semantica con MAYÚSCULAS

Los dos tipos de WEB

Page 63: Web Semantica con MAYÚSCULAS

W3C

El World Wide Web Consortium (W3C) es un consorcio

internacional que produce estándares para la Web.

Dirigido por Tim Berners-Lee

Page 64: Web Semantica con MAYÚSCULAS

Semantic web cake layer

Tim Bernes Lee, 2000

Page 65: Web Semantica con MAYÚSCULAS

Semantic web cake layer

Tim Bernes Lee, 2005

Page 66: Web Semantica con MAYÚSCULAS

Semantic web cake layer

Tim Berners Lee, 2006

Page 67: Web Semantica con MAYÚSCULAS

Let’s go!

Page 68: Web Semantica con MAYÚSCULAS

Semantic web cake layer

Page 69: Web Semantica con MAYÚSCULAS

UNICODE

Page 70: Web Semantica con MAYÚSCULAS

Unicode

Unicode es estándar industrial cuyo objetivo es proporcionar el medio por el cual un texto en cualquier forma e idioma pueda ser codificado para el uso informático.

Unicode proporciona un número único para cada carácter:

sin importar la plataforma,

sin importar el programa,

sin importar el idioma.

Page 71: Web Semantica con MAYÚSCULAS

Caracteres variados

Page 72: Web Semantica con MAYÚSCULAS

Unicode - Objetivos

• Crear un repertorio de todos los caracteres en todos los lenguajes del mundo (y más)

• Asignar un código numérico único a cada carácter (abandonando la idea de usar 8 bits)

• Mantener en lo posible la compatibilidad con ASCII e ISO

Page 73: Web Semantica con MAYÚSCULAS

Unicode - Organización

• Se organizan en planos

• Cada plano tiene espacio para 216 caracteres

• Se limita el número de planos a 17

Page 74: Web Semantica con MAYÚSCULAS

Unicode - Planos

De los 17 planos previstos:

• El plano 0 está completamente definido.– Se denomina “Basic Multilingual Plane” (BMP)– Contiene todos los alfabetos “vivos”

• El plano 1 está en proceso de ser definido.– Contiene alfabetos “muertos” o exóticos.– Más símbolos matemáticos y musicales

• Los restantes planos aún no han sido definidos

Page 75: Web Semantica con MAYÚSCULAS

Unicode - Notación

• Un código Unicode suele escribirse como “U-” más 8 cifras hexadecimales (realmente, bastaría con 6)

• Las cuatro primeras cifras dan el número de plano.

• Las cuatro inferiores la localización dentro del plano

• Si el plano es 0, suele omitirse y escribirse “U+” más 4 cifras hexadecimales.

Page 76: Web Semantica con MAYÚSCULAS

Unicode - Ejemplos

Letra Fenicia HET

U-00010907

Letra China (Significa Excelente)

U-0000329D (U+329D)

Page 77: Web Semantica con MAYÚSCULAS

Unicode - Importante

Unicode sólo especifica qué valor numérico tiene cada carácter, pero no cómo almacenarlo (codificarlo) en un computador.

Codificaciones:

• UCS-4

• UCS-2

• UTF-8 (muy extendida en XML)

• UTF-16

Page 78: Web Semantica con MAYÚSCULAS

Semantic web cake layer

Page 79: Web Semantica con MAYÚSCULAS

URI

Page 80: Web Semantica con MAYÚSCULAS

URI: Uniform Resource Identifier

(Identificador Uniforme de Recurso)

Cadena caracteres que identifica inequívocamente un recurso (servicio, página, documento, dirección de correo electrónico, enciclopedia, etc) físico o abstracto

Page 81: Web Semantica con MAYÚSCULAS

URL: Uniform Resource Locator

(Localizador Uniforme de Recurso)

URI que describe el método de acceso a un recurso (en cierta manera, nos indica su localización)

Page 82: Web Semantica con MAYÚSCULAS

Ejemplos de URLIdentifica una localización Webhttp://www.dayures.net

Especifica un fichero descargableftp://uniovi.es/fichero.tmp

Fichero del sistema localfile://tmp/lista-lulea.txt

Correo electrónicomailto://[email protected]

Lee más: http://esw.w3.org/topic/UriSchemes

Page 83: Web Semantica con MAYÚSCULAS

URN: Uniform Resource Name(Nombre Uniforme de Recurso)

URI que identifica un recurso por el nombre, en un espacio determinado. Una URN puede servir para tratar sobre un recurso sin expresar su ubicación o como acceder a él. Está más basado en el recurso en sí (contenido, características) que en el lugar en el que se halla el recurso.

Page 84: Web Semantica con MAYÚSCULAS

Ejemplos de URN

urn:isbn:0451450523 - el URN para el libro “El ultimo unicornio”, identificado por ese numero de ISBN

urn:ietf:rfc:3187 – el URN para el IETF's RFC 3187

urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C - el URN representivo del fichero MP3 concreto que contiene el discurso “I have a dream” de Martin Luther King.

Page 85: Web Semantica con MAYÚSCULAS

IRI: Internationalized Resource Identifier

IRI es la versión internacionalizada de una URI, que permite utilizar caracteres Unicode ya que la sintaxis de las URIs sólo permite usar el subconjunto del US-ASCII y obliga a recodificar los caracteres no permitidos.

http://ab.cd/ / خد. ij/kl.html جح

Page 86: Web Semantica con MAYÚSCULAS

Semantic web cake layer

Page 87: Web Semantica con MAYÚSCULAS

XML

Page 88: Web Semantica con MAYÚSCULAS

XML: Extensible Markup Language

• XML es un meta-lenguaje (lenguaje para hacer lenguajes) extensible de etiquetas• XML tiene un conjunto infinito de etiquetas permitidas• Estándar emergente para el intercambio de datos en la web apoyado por el W3C

<par>Párrafo</par>

Page 89: Web Semantica con MAYÚSCULAS

XML – Características

• El marcado permitido para una aplicación se suele documentar en un DTD o XML schema.

• Un documento bien formado (well formed) es aquel que cumple con todas las definiciones básicas de formato y puede, por lo tanto, analizarse correctamente usando un analizador sintáctico (parser).

• Un documento válido (valid) es aquél que responde a un DTD o Schema.

• XML no añade semántica (desde un punto de vista computacional)

Page 90: Web Semantica con MAYÚSCULAS

Web de datos: XML

<?xml version="1.0" encoding="UTF-8"?><address type="home">

<street>123 Smith St. S.E.</street><city>AmyWineTown</city><state>CA</state><postalCode>33015</postalCode><country>US</country>

</address>

Page 91: Web Semantica con MAYÚSCULAS

Web de datos: XML Schema

<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="address"> <xs:complexType"> <xs:sequence> <xs:element name="street" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="state" type="xs:string"/> <xs:element name="postalCode" type="xs:integer"/> <xs:element name="country" type="xs:string"/> </xs:sequence>

<xs:attribute name=“type“ type="xs:string”/> </xs:complexType> </xs:element></xs:schema>

Page 92: Web Semantica con MAYÚSCULAS

XML – Características• Posibilidad de crear nuevos vocabularios• Modularidad vía espacios de nombres y tipos de datos• Versatilidad vía datos semi-estructurados• Amplio soporte y distribución• Estándar de interoperabilidad documental

Page 93: Web Semantica con MAYÚSCULAS

XML – Usos

• Formato común para el intercambio de documentos (certificados, facturas, referencias de libros...)

• Integración de información de diferentes fuentes en documentos uniformes.

Page 94: Web Semantica con MAYÚSCULAS

Práctica <XML>

Escribir en la información sobre el curso desde el formato en HTML a XML

Page 95: Web Semantica con MAYÚSCULAS

Práctica <XML>

El edificio histórico tiene como coordenadas

lat 43.354903

long -5.851306

La hora se representa como 2008-07-03T09:00:00+02:00

Lee más: http://www.w3.org/TR/NOTE-datetime

Page 96: Web Semantica con MAYÚSCULAS

Práctica <XML><curso titulo="Diseño centrado en el usuario en la Web 2.0"> <clase> <titulo>Web semántica en MAYÚCULAS</titulo> <tiempo-inicio>2008-07-03T09:00:00+02:00</tiempo-inicio> <lat>43.354903</lat> <long>-5.851306</long> <lugar>Edificio Valdés Salas, Universidad de Oviedo</lugar> <profesor> <nombre-apellidos>Carlos Tejo Alonso</nombre-apellidos> <homepage>http://dayures.net</homepage> </profesor> <estudiante> <nombre-apellidos>José Luis Cabrera</nombre-apellidos> <email>[email protected]</email> </estudiante> </clase></curso>

Page 97: Web Semantica con MAYÚSCULAS

¿Por qué nosotros no entendemos?

Page 98: Web Semantica con MAYÚSCULAS

¿Por qué máquinas no entienden?

<nombre>Luis</nombre>

<name>Luis</name>

<namn>Luis</namn>

<Имя>Luis</Имя>

Page 99: Web Semantica con MAYÚSCULAS

Necesitamos descripción de datos

• El significado del documento es intuitivamente claro a un humano debido a:

– Las etiquetas son términos de un dominio– El contexto del documento es manejado por el

lector

• Pero los computadores no tienen intuición (por ahora)

– El nombre de las etiquetas por si mismo no provee de semántica

Page 100: Web Semantica con MAYÚSCULAS

¿XML es suficiente? NO

• Modelo de datos asociado a XML es un árbol (no un grafo)

• Hijos están ordenados

• XML modela la estructura de documentos, y el mundo real no es un documento estructurado, sino una red de relaciones

(aunque no olvidemos que hay muchos documentos)

XML estandariza formato, no significado

Page 101: Web Semantica con MAYÚSCULAS

La vida real - Relaciones

Page 102: Web Semantica con MAYÚSCULAS

Otro modelo de datos

• Todo es un recurso: páginas web, bases de datos, dirección de la empresa, etc…

• Identificadores únicos: cada recurso tiene un identificador único

• Vocabularios compartidos: términos comunes en un dominio.

• Estructura extensible y distribuida: todos pueden agregar su información y nadie debe ser dueño de toda la información

Page 103: Web Semantica con MAYÚSCULAS

Sumario• Presentaciones• Problemas de la Web actual• Introducción a la Web Semántica• Web de datos / objetos

HTML / UNICODE / URI / XML• Web de información / relaciones

Meta / RDF• Web de conocimiento / razonamiento

RDFS/OWL/SPARQL• Ejemplos

Page 104: Web Semantica con MAYÚSCULAS

Dato, información y conocimiento• Dato: conjunto discreto de elementos sobre un hecho real que por sí solos son irrelevantes, que debe ser procesados para darle sentido.

• Información: Conjunto organizado de datos procesados, que constituyen un mensaje sobre un determinado ente o fenómeno y que puede ser interpretado por cualquier persona.• Conocimiento: es una mezcla de experiencia, relaciones, información y know-how que sirve como marco para la obtener nuevo conocimiento, y es útil para tomar acciones.

Page 105: Web Semantica con MAYÚSCULAS

<meta>

Page 106: Web Semantica con MAYÚSCULAS

Metadatos

Metadatos

datos sobre los datos

Page 107: Web Semantica con MAYÚSCULAS

HTML y el elemento <meta>

El elemento <meta> identifica propiedades de un documento (por ejemplo, el autor-a, copyright, una lista de palabras clave, posición geográfica...) y asigna valores a esas propiedades. Cada elemento <meta> especifica una pareja propiedad/valor

Page 108: Web Semantica con MAYÚSCULAS

HTML y el elemento META

Page 109: Web Semantica con MAYÚSCULAS

Políticamente in-correcto

Unos no usan.....

http://www.psdeg-psoe.org/

Otros si usan....

http://www.ppoviedo.com/

Lee más: http://www.seotalk.es/google-muestra-descripcion-dmoz/ (dar consejos a Google de tu página)

Lee más: http://www.mqaccesibilidad.com/2008/06/posicionar-nuestro-sitio-web-iv-usa-los-meta-tags.html

Page 110: Web Semantica con MAYÚSCULAS

Dublin Core

Estándar de metadatos que define un conjunto de propiedades para descripciones bibliográficas electrónicas.

• Algunas propiedades son: título, autor, descripción, fecha de publicación, idioma, documentos relacionados, copyright...

• Las propiedades se indican con los caracteres DC seguidos de un punto y el nombre de la propiedad.

Page 111: Web Semantica con MAYÚSCULAS

DC.title “example”

<meta name="DC.creator" content="Carlos Tejo">

<meta name="DC.title" lang="en" content="DC META Tags Example">

<meta name="DC.date" scheme="W3CDTF" content="2008-07-03">

Page 112: Web Semantica con MAYÚSCULAS

Plugin Dublin Core para Firefox

Se activa cuando una pagina pages está con metadatos Dublin Core

https://addons.mozilla.org/firefox/addon/528

Page 113: Web Semantica con MAYÚSCULAS

Ejemplo

http://vezosastures.com/

http://www.dayures.net

Lee más: Expressing Dublin Core in HTML/XHTML meta and link elementhttp://dublincore.org/documents/2003/11/30/dcq-html/

Page 114: Web Semantica con MAYÚSCULAS

GeoLocalizar una web

ICBM(InterContinental Ballistic Missile)

<meta name="ICBM"

content="42.1895,-5.0435">

http://geourl.org/add.html

Page 115: Web Semantica con MAYÚSCULAS

GeoLocalizar una web

Geo Tag format<meta name="geo.position" content="42.1895,-5.0435">

<meta name="geo.placename" content="Villacarralón">

<meta name="geo.region"

content="ES-VA">

http://geotags.com/geobot/add-tags.html

Page 117: Web Semantica con MAYÚSCULAS

Ejemplo

http://www.flickr.com/photos/nextors/map/

Page 118: Web Semantica con MAYÚSCULAS

Hands-on

¿y si añadimos unos metadatos de dublin-core?

http://dublincore.org/documents/2003/11/30/dcq-html/

¿y si geo-etiquetamos una página?

http://maps.google.com/

Page 119: Web Semantica con MAYÚSCULAS

Semantic web cake layer

Page 120: Web Semantica con MAYÚSCULAS

RDF

Page 121: Web Semantica con MAYÚSCULAS

RDF: Resource Description Framework

RDF es una standard W3C para describir recursos (cualquier cosa que tenga una URI) en la web.

Esta diseñado para ofrecer una formato común para describir información y, por lo tanto, para que pueda ser leída y entendida por una aplicación informática.

Lee más: http://www.slideshare.net/yuhana/jena-193716 (Umi Laili Yuhana)

Page 122: Web Semantica con MAYÚSCULAS

Titulo Artista País Año Precio

Botten Anna Basshunter Suecia 2006 15

Macarena Los del río España 1993 10

<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cd="http://ejemplo.org/cd#"><rdf:Description rdf:about="http://ejemplo.org/cd#Botten Anna"> <cd:titulo>Botten Anna</cd:titulo> <cd:artista>Basshunter</cd:artista> <cd:pais>Suecia</cd:pais> <cd:anyo>2006</cd:anyo> <cd:precio>15</cd:precio></rdf:Description><rdf:Description rdf:about="http://ejemplo.org/cd#Macarena"> <cd:titulo>Macarena</cd:titulo> <cd:artista>Los del río</cd:artista> <cd:pais>España</cd:pais> <cd:anyo>1993</cd:anyo> <cd:precio>10</cd:precio></rdf:Description></rdf:RDF>

RDF: Resource Description Framework

Page 123: Web Semantica con MAYÚSCULAS

RDF: Resource Description Framework

El modelo RDF es un conjunto de tripletas.

Una tripleta (que sirve para describir un recurso que está identificado de manera unívoca por una URI) es una combinación:

• Un recurso, una propiedad, y un valor para la propiedad

• Conocidos como sujeto, predicado y objeto

Recurso Propiedad Valor-de-la-propiedad

predicadosujeto objeto

Page 124: Web Semantica con MAYÚSCULAS

El recurso http://dayures.net/podcast

tiene la propiedad título

con valor ¿Qué es el Podcasting?

Ejemplos de tripleta

(<http://dayures.net/podcast>, <http://purl.org/dc/elements/1.1/title>, "¿Qué es el Podcasting?")

Page 125: Web Semantica con MAYÚSCULAS

Ejemplos de tripleta en RDF/XML<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/dc/elements/1.1/">

<rdf:Description rdf:about="http://en.wikipedia.org/GRDDL">

<dc:title>GRDDL</dc:title>

<dc:publisher rdf:resource="http://www.wikipedia.org"/>

</rdf:Description>

</rdf:RDF>

Page 126: Web Semantica con MAYÚSCULAS

¿Cómo lo hace?La información es un grafo dirigido y etiquetado que modela las relaciones entre objetos.

• Sujeto: Es el Recurso sobre el cual nos estamos refiriendo. • Predicado: Es una Propiedad que indica que es lo que estamos definiendo. • Objeto: Puede ser un Recurso o un Literal que podría considerarse el valor de lo que acabamos de definir.

Page 127: Web Semantica con MAYÚSCULAS

Definiciones

• Recurso

• Propiedad

• Literal

• Sentencia (tripleta, triple)

• Grafo: conjunto de sentencias

Page 128: Web Semantica con MAYÚSCULAS

Definiciones - Recurso

• Tiene una URI asociada.

• Puede representar un documento, parte de él (p.e. un XPointer de un documento XML), colección de documentos (p.e. un sitio web), objetos externos a la web (p.e. una persona)

• También denominado nodo

• Comparable a un objeto en POO o un registro en BBDD

Page 129: Web Semantica con MAYÚSCULAS

Definiciones - Propiedad

• Es siempre una URI

• Aspecto específico, característica, atributo, o relación utilizado para describir un recurso (p.e. título, autor, etc…)

• Comparable a atributo en POO o campo en BD

• También denominado predicado o relación binaria

Page 130: Web Semantica con MAYÚSCULAS

Definiciones - Literal• Valor atómico. No tiene una URI asociada• Pueden ser:

– RDF plain literal (String combinado opcionalmente con un tag idiomático)<dc:creator>Carlos Tejo</dc:creator>

– RDF typed literal (String combinado con una URI que indica el tipo de dato)

<age rdf:datatype="http://www.w3.org/2001/XMLSchema#int">27</age>

– XML Literal (método de incluir XML sin intentar de interpretarlo)<dc:address parseType="Literal">

<b>Mr. Carlos Tejo</b><center>Fundación CTIC</center>

</dc:address>

Page 131: Web Semantica con MAYÚSCULAS

Definiciones - Literal

Source image: http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20051102/

Page 132: Web Semantica con MAYÚSCULAS

Definiciones – Sentencia

Asignación de valores a propiedades de un recurso

Sujeto (recurso, URI) +

Predicado (propiedad, URI) +

Objeto (recurso o literal, URI ó literal)

Page 133: Web Semantica con MAYÚSCULAS

Definiciones – Grafo

Conjunto de sentencias interconectadas por las relaciones

Page 134: Web Semantica con MAYÚSCULAS

Serialización de RDF

RDF/XML es el formato de intercambio estándar para RDF en la Web Semántica, aunque no es el único formato:

• N-Triples

• N3 es una notación independiente de RDF

• Turtle

Lee más: Syntax Comparison of N3 and Turtle

Page 135: Web Semantica con MAYÚSCULAS

Notation 3 = N3

An readable language for data on the Web, by Tim Berners-Lee

This is a language which is a compact and readable alternative to RDF's XML syntax, but also is extended to allow greater expressiveness.

Lee más: Notation 3

Page 136: Web Semantica con MAYÚSCULAS

Serialización de RDF

Page 137: Web Semantica con MAYÚSCULAS

RDF/XML - Ejemplo<rdf:RDF

xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#

xmlns:dc=http://purl.org/dc/elements/1.1/

xmlns:geo=http://www.w3.org/2003/01/geo/wgs84_pos#>

<rdf:Description rdf:about="http://www.euitio.uniovi.es">

<geo:lat>43.35</geo:lat>

<geo:long>-5.85</geo:long>

</rdf:Description>

</rdf:RDF>

Page 138: Web Semantica con MAYÚSCULAS

RDF N3 - Ejemplo@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

@prefix dc: <http://purl.org/dc/elements/1.1/> .

@prefix geo: <http://www. w3.org/2003/01/geo/wgs84_pos#> .

<http://www.uniovi.es> geo:lat "43.35".

<http://www.uniovi.es> geo:long "-5.85".

Page 139: Web Semantica con MAYÚSCULAS

Herramientas

Validador de RDF del W3C

http://www.w3.org/RDF/Validator/

Page 140: Web Semantica con MAYÚSCULAS

Práctica <RDF>

Escribir en la información sobre el curso desde el formato en XML a RDF

Page 141: Web Semantica con MAYÚSCULAS

Práctica <RDF>

La URL del curso es:https://directo.uniovi.es/postgrado/3893

Carlos Tejo tiene como URIhttp://dayures.net/foaf.rdf#me

Page 142: Web Semantica con MAYÚSCULAS

Práctica <RDF><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://dayures.net/practica/2008-99-CV-371#" xml:base="http://dayures.net/practica/2008-99-CV-371">

<rdf:Description rdf:about="https://directo.uniovi.es/postgrado/3893"> <rdf:type rdf:resource="#curso"/> <titulo>

Diseño centrado en el usuario en la Web 2.0 </titulo> <tiene-clase rdf:resource="#WebSemantica"/></rdf:Description>

Page 143: Web Semantica con MAYÚSCULAS

Práctica <RDF><rdf:Description rdf:ID="WebSemantica"> <rdf:type rdf:resource="#clase"/> <titulo>Web semantica en MAYÚSCULAS</titulo> <tiempo-inicio>2008-07-03T09:00:00+02:00</tiempo-inicio> <lat>43.354903</lat> <long>-5.851306</long> <lugar>Edificio Valdés Salas, Universidad de Oviedo</lugar> <profesor> <persona rdf:about="http://dayures.net/foaf.rdf#me"> <nombre-apellidos>Carlos Tejo Alonso</nombre-apellidos> <homepage>http://dayures.net</homepage> </persona> </profesor> <estudiante> <persona> <nombre-apellidos>José Luis Cabrera</nombre-apellidos> <email rdf:resource="mailto:[email protected]" /> </persona> </estudiante></rdf:Description></rdf:RDF>

Page 144: Web Semantica con MAYÚSCULAS

Sumario• Presentaciones• Problemas de la Web actual• Introducción a la Web Semántica• Web de datos / objetos

HTML / UNICODE / URI / XML• Web de información / relaciones

Meta / RDF• Web de conocimiento / razonamiento

RDFS/OWL/SPARQL• Ejemplos

Page 145: Web Semantica con MAYÚSCULAS

Dato, información y conocimiento• Dato: conjunto discreto de elementos sobre un hecho real que por sí solos son irrelevantes, que debe ser procesados para darle sentido.• Información: Conjunto organizado de datos procesados, que constituyen un mensaje sobre un determinado ente o fenómeno y que puede ser interpretado por cualquier persona.• Conocimiento: es una mezcla de experiencia, relaciones, información y know-how que sirve como marco para la obtener nuevo conocimiento, y es útil para tomar acciones.

Page 146: Web Semantica con MAYÚSCULAS

Web del ConocimientoHay varias formas de representar el conocimiento

• Basadas en herencias

• Basadas en lógica

• Ontología [reusabilidad]

Y a partir del conocimiento se puede inferir (obtener) nuevo conocimiento mediante razonadores que usan técnicas como:

• Redes RETE

• Fordward chaining

• Backward chaining

Page 147: Web Semantica con MAYÚSCULAS

Ontologías

Intento de formular un exhaustivo y riguroso esquema conceptual dentro de un dominio dado, con la finalidad de facilitar la comunicación y la compartición de la información entre diferentes sistemas

Page 148: Web Semantica con MAYÚSCULAS

Ontologías

Conjunto de términos y relaciones entre ellos que describen un dominio de aplicación concreto

Lessons for Ontology Writers

http://blogs.talis.com/nodalities/2008/05/lessons-for-ontology-writers.php

Page 149: Web Semantica con MAYÚSCULAS

Ontología SIOC

Permite describir formalmente comunidades on-line: listas de correo, wikis, weblogs…

Page 150: Web Semantica con MAYÚSCULAS

Semantic web cake layer

Page 151: Web Semantica con MAYÚSCULAS

RDFS

Page 152: Web Semantica con MAYÚSCULAS

RDF Schema (RDFS)

Es un lenguaje primitivo que proporciona unos elementos básicos para para crear ontologías (vocabularios RDF).

Page 153: Web Semantica con MAYÚSCULAS

Elemento RDFS - Básicos

rdfs:Class permite declarar recursos como clases para otros recursos.

rdfs:subClassOf permite definir jerarquías. Relaciona una clase con sus superclases.

rdf:property permite definir el subconjunto de recursos RDF que son propiedades.

rdfs:subPropertyOf permite definir jerarquías de propiedades.

Page 154: Web Semantica con MAYÚSCULAS

Elemento RDFS - Básicos

rdfs:domain especifica el dominio de una propiedad P. Esto es, la clase de los recursos que aparecen como sujetos en las tripletas donde P es predicado.

rdfs:range especifica el rango de una propiedad P. Esto es, la clase de los recursos que aparecen como objetos en las tripletas donde P es predicado

objetopredicado

sujeto

dominio rango

Page 155: Web Semantica con MAYÚSCULAS

RDFS - Ejemplo<rdf:Description rdf:ID="Person"> <rdf:type rdf:resource=http://www.w3.org/2000/01/rdf-schema#Class

<rdfs:label>Person</rdfs:label> <rdfs:comment>A person</rdfs:comment></rdf:Description>

<rdfs:Class rdf:ID="Person" rdfs:label="Person" rdfs:comment="A person"></rdfs:Class>

Lee más: http://xmlns.com/foaf/spec/

Page 156: Web Semantica con MAYÚSCULAS

RDFS - Ejemplo

<rdf:Property rdf:about="http://xmlns.com/foaf/0.1/knows" rdfs:label="knows" rdfs:comment="A person known by this person."> <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/> <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Person"/> </rdf:Property>

Lee más: http://xmlns.com/foaf/spec/

Page 157: Web Semantica con MAYÚSCULAS

RDFS - Ejemplo<rdfs:Class

rdf:about="http://xmlns.com/foaf/0.1/OnlineGamingAccount"

rdfs:label="Online Gaming Account"

rdfs:comment="An online gaming account.">

<rdfs:subClassOf

rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>

</rdfs:Class>

<rdf:Property

rdf:about="http://xmlns.com/foaf/0.1/msnChatID"

rdfs:label="MSN chat ID">

<rdfs:subPropertyOf

rdf:resource="http://xmlns.com/foaf/0.1/nick"/>

</rdf:Property>

Lee más: http://xmlns.com/foaf/spec/

Page 158: Web Semantica con MAYÚSCULAS

Semantic web cake layer

Page 159: Web Semantica con MAYÚSCULAS

OWL

Page 160: Web Semantica con MAYÚSCULAS

OWL: Web Ontology Language

• Extiende RDFS para permitir la expresión de relaciones complejas entre diferentes clases RDFS, y mayor precisión en las restricciones de clases y de propiedades.

Es decir, permite:– expresar relaciones entre clases.

– expresar y restringir clases (rango, dominio).– expresar y restringir propiedades

(cardinalidad).

Page 161: Web Semantica con MAYÚSCULAS

OWL Full, OWL DL y OWL Lite

Image source: http://dayures-it.blogspot.com/2008/03/rdfs-owl.html

Page 162: Web Semantica con MAYÚSCULAS

OWL• Definición de Clases:

– intersectionOf, unionOf, complementOf.

• Características de Propiedades– inverseOf, FunctionalProperty, InverseFunctionalProperty,

TransitiveProperty, SymmetricProperty.

• Igualdad/desigualdad:– equivalentClass, equivalentProperty, sameIndividualAs,

differentFrom, allDifferent.

• Restricciones de Cardinalidad:– minCardinality, maxCardinality, cardinality

• Otros...

Page 163: Web Semantica con MAYÚSCULAS

OWL - Properties<owl:Class rdf:about="#Country">

<rdfs:comment xml:lang="en">A country as defined at

http://www.geonames.org/countries</rdfs:comment>

<rdfs:label xml:lang="en">Country</rdfs:label> </owl:Class>

<owl:DatatypeProperty rdf:about="#postalCode">

<rdfs:domain rdf:resource="#Feature"/>

<rdfs:label xml:lang="en">postal code</rdfs:label>

<rdfs:range rdf:resource="&xsd;int"/>

</owl:DatatypeProperty>

<owl:ObjectProperty rdf:about="#wikipediaArticle">

<rdfs:domain rdf:resource="#Feature"/>

<rdfs:label xml:lang="en">wikipedia article</rdfs:label>

<rdfs:range rdf:resource="#WikipediaArticle"/> </owl:ObjectProperty>

Lee más: http://www.geonames.org/ontology/ontology_v2.0_Lite.rdf

Page 164: Web Semantica con MAYÚSCULAS

OWL – FP, Cardinalidad<owl:ObjectProperty rdf:about="#hasMother"><rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:subPropertyOf rdf:resource="#hasParent"/> <rdfs:range rdf:resource="#Female"/> </owl:ObjectProperty>

<owl:Restriction> <owl:onProperty rdf:resource="#hasFather"/>

<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1 </owl:cardinality></owl:Restriction>

<owl:Restriction> <owl:onProperty rdf:resource="#hasParent"/> <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">2 </owl:maxCardinality></owl:Restriction>

Lee más: http://www.owldl.com/ontologies/family.owl

Page 165: Web Semantica con MAYÚSCULAS

OWL – Instancias RDF<family:Person rdf:ID="#Felipe“/>

<family:Person rdf:ID="#Sofia“/>

<family:Person rdf:ID="#JuanCarlos">

<family:hasAge

rdf:datatype="http://www.w3.org/2001/XMLSchema#int">70

</family:hasAge>

<family:hasSon rdf:resource="#Felipe"/>

<family:isMarriedTo rdf:resource="#Sofia"/>

</family:Person>

Como vemos, en un mismo archivo puede haber tanto la declaración de las clases mediante RDFS y OWL, como las diferentes instancias creadas mediante RDF.

Leer más: http://www.owldl.com/ontologies/family.owl

Page 166: Web Semantica con MAYÚSCULAS

FOAFSource: http://xmlns.com/foaf/spec/images/foafspec.jpg

Page 167: Web Semantica con MAYÚSCULAS

Práctica <RDFS, OWL>

Obtener las clases y propiedades que existen en la información sobre el curso que se puedan expresar en RDFS y en OWL

Page 168: Web Semantica con MAYÚSCULAS

Práctica <RDFS, OWL>RDF Calendar

http://www.w3.org/2002/12/cal/ical#

RDF Geo Vocabulary

http://www.w3.org/2003/01/geo/wgs84_pos#

FOAF (Friend of a Friend) ontología para describir personas y sus relaciones

http://xmlns.com/foaf/0.1/

SWRC (Semantic Web for Research Communities) ontología para modelar comunidades académicas

http://swrc.ontoware.org/ontology#

Page 169: Web Semantica con MAYÚSCULAS

Práctica <RDFS, OWL><owl:Class rdf:about="http://xmlns.com/foaf/0.1/Person"> <owl:equivalentClass rdf:resource="http://swrc.ontoware.org/ontology#Person"/></owl:Class> <owl:ObjectProperty rdf:ID="participant-as-lecturer"> <rdfs:label>Participant on an event as lecturer</rdfs:label> <rdfs:subPropertyOf rdf:resource="http://swrc.ontoware.org/ontology#givenBy"/> <rdfs:subPropertyOf rdf:resource="http://swrc.ontoware.org/ontology#participant"/></owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="participant-as-student"> <rdfs:label>Participant on an event as student</rdfs:label> <rdfs:subPropertyOf rdf:resource="http://swrc.ontoware.org/ontology#participant"/></owl:ObjectProperty>

Page 170: Web Semantica con MAYÚSCULAS

Práctica <RDFS, OWL><swrc:Event rdf:about="https://directo.uniovi.es/postgrado/3893"> <swrc:hasPartEvent> <swrc:Event rdf:ID="WebSemantica"> <swrc:eventTitle>Web semántica en MAYÚCULAS</swrc:eventTitle> <cal:dtstart>2008-07-03T09:00:00+02:00</cal:dtstart> <geo:lat>43.354903</geo:lat> <geo:long>-5.851306</geo:long> <cal:location>Edificio Valdés Salas, Universidad de Oviedo</cal:location> <participant-as-teacher> <foaf:Person rdf:about="http://dayures.net/foaf.rdf#me"> <foaf:name>Carlos Tejo Alonso</foaf:name> <foaf:homepage>http://dayures.net</foaf:homepage> </foaf:Person> </participant-as-teacher> <participant-as-student> <foaf:Person> <foaf:name>José Luis Cabrera</foaf:name> <foaf:mbox rdf:resource="mailto:[email protected]"/> </foaf:Person> </participant-as-student> </swrc:Event> </swrc:hasPartEvent></swrc:Event>

Page 171: Web Semantica con MAYÚSCULAS

JenaFramework open-source para la construcción de aplicaciones Java relacionadas con la Web Semántica. Incluye:• API para RDF • API para OWL• Motor de consultas SPARQL• Almacenamiento en memoria y almacenamiento persistente. • Lectura y escritura RDF en RDF/XML, N3 y N-Triples• Proporciona varios razonadores internos y se pueden añadir otros mediante una interfaz DIG

Page 172: Web Semantica con MAYÚSCULAS

Razonadores

Es una parte más cercana a la lógica o a la Inteligencia Artificial

Se suelen “pasar” al modelo para inferir más conocimiento

• Pellet

• Racer

• Fact++

• Kaon2

Page 173: Web Semantica con MAYÚSCULAS

Razonadores – Inferir

Page 174: Web Semantica con MAYÚSCULAS

Razonadores – Servicios

Chequear la consistencia de una ontología

Chequear la consistencia de las instancias con la ontología

Clasificación de la ontología (jerarquía de clases)

Obtener las instancias de una clase

Lee más: http://forge.morfeo-project.org/wiki/index.php/D_2.4_Experimento_sem%C3%A1ntico_para_definir_contextos_y_recursos

Page 175: Web Semantica con MAYÚSCULAS

Inferencia

• Hechos: – Pablo Sebastian tiene el titulo del conservatorio

en piano– Definición de pianista. Una persona es pianista si

tiene el titulo del conservatorio de piano

• Razonamiento

Como Pablo Sebastian tiene el título y quienes tienen el título son pianistas entonces…

• Nuevo conocimiento inferido

Pablo Sebastian es pianista

Page 176: Web Semantica con MAYÚSCULAS

Inferencia“Todos los ríos desembocan en un mar, en un océano o en un lago”“Si el curso de un río termina en una población, esa población está junto al mar, océano o lago donde desemboca”“Duero es un río”“Oporto es una población”“Atlántico es un océano”“Duero desemboca en el Atlántico”“El curso del Duero termina en Oporto”

Oporto está junto al Océano Atlántico

Page 177: Web Semantica con MAYÚSCULAS

Ejemplo de inferencia<owl:SymmetricProperty rdf:ID="friendOf">

<rdfs:domain rdf:resource="#Human"/>

<rdfs:range rdf:resource="#Human"/>

</owl:SymmetricProperty>

Hechos:

Luis rdf:type Human

Marta rdf:type Human

Luis friendOf Marta

Un razonador puede inferir que:

Marta friendOf Luis

Page 178: Web Semantica con MAYÚSCULAS

Práctica <Jena>

Cargar en Jena el modelo e inferir nuevo conocimiento. Mostrar por pantalla el modelo con el nuevo conocimiento inferido.

Page 179: Web Semantica con MAYÚSCULAS

Práctica <Jena>public class MainPractica {public static void main(String[] args) throws IOException{OntModel model = ModelFactory.createOntologyModel(ProfileRegistry.OWL_DL_LANG);

model.read("file:///c:/curso/practica.owl");

model.write(System.out);}}

Page 180: Web Semantica con MAYÚSCULAS

Semantic web cake layer

Page 181: Web Semantica con MAYÚSCULAS

SPARQL

Page 182: Web Semantica con MAYÚSCULAS

Diagrama

Page 183: Web Semantica con MAYÚSCULAS

RDF Store

También denominado “Triple store”, “Base de datos semántica”…

Base de datos que contiene tripletas RDF

• Sesame http://www.openrdf.org/

• Virtuoso http://virtuoso.openlinksw.com/

• Jena http://jena.sourceforge.net/

Page 184: Web Semantica con MAYÚSCULAS

Jena

ARQ: motor de consultas SPARQL de Jena

Page 185: Web Semantica con MAYÚSCULAS

Lenguajes de recuperación

Conjunto de órdenes, operadores y estructuras que permite la consulta de fuentes y recursos de información electrónica.

Recuperar información de almacenes de datos

Page 186: Web Semantica con MAYÚSCULAS

SQL (Structured Query Language)

Lenguaje de acceso (consulta/modificación) a bases de datos relacionales

Tabla Pedidos

Empresa Cantidad

Google 3

Microsoft 5

Yahoo 7

SELECT Empresa

FROM PedidosResultado

Google

Microsoft

Yahoo

Page 187: Web Semantica con MAYÚSCULAS

SPARQL

Lenguaje de consulta* dentro de la Web semántica [W3C]

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT ?nombre

FROM <http://example.org/foaf/aliceFoaf.rdf>

WHERE { ?x foaf:name ?nombre }

nombre

alice

# Default graph (stored at http://example.org/foaf/aliceFoaf)

@prefix foaf: <http://xmlns.com/foaf/0.1/> .

<http://ali.org/foaf#me> foaf:name "Alice" .

<http://ali.org/foaf#me> foaf:mbox <mailto:[email protected]> .

* No solo consulta, CONSTRUCT

Page 188: Web Semantica con MAYÚSCULAS

SPARQL - Dbpedia

Extraer información estructurada de la Wikipedia, para ponerla a disposición de la Web Semántica (p.e. uso de Infobox)

http://dbpedia.org/

Consultas

http://wiki.dbpedia.org/OnlineAccess

http://wikipedia.3ba.se/

http://dbpedia.org/sparql

Page 189: Web Semantica con MAYÚSCULAS

Práctica <SPARQL>

Buscar el nombre de las personas que han participado en el curso

Page 190: Web Semantica con MAYÚSCULAS

Práctica <SPARQL>

PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX swrc: <http://swrc.ontoware.org/ontology#>PREFIX : <http://dayures.net/practica/2008-99-CV-371#>SELECT ?event ?person ?foafnameWHERE { ?event swrc:participant ?person. ?person foaf:name ?foafname}

Page 191: Web Semantica con MAYÚSCULAS

Práctica <SPARQL+Jena>public class MainPractica {public static void main(String[] args) throws IOException{

OntModel model = ModelFactory.createOntologyModel(ProfileRegistry.OWL_DL_LANG);model.read("file:///c:/temp/practica.owl");

String qstr = "PREFIX foaf: <http://xmlns.com/foaf/0.1/>" +"PREFIX swrc: <http://swrc.ontoware.org/ontology#>" +"PREFIX : <http://dayures.net/practica/2008-99-CV-371#>“ +"SELECT ?event ?person ?foafname " +"WHERE { ?event swrc:participant ?person ." + " ?person foaf:name ?foafname}";

Query query = QueryFactory.create(qstr);QueryExecution qe = QueryExecutionFactory.create(query, model);ResultSet results = qe.execSelect();ResultSetFormatter.out(System.out, results);

}}

Page 192: Web Semantica con MAYÚSCULAS

SPARUL (SPARQL/Update)Lenguaje para actualizar contenido en RDF. La especificación has sido desarrollada por HP y actualmente no es un standard reconocido.

PREFIX dc: <http://purl.org/dc/elements/1.1/>

DELETE DATA FROM <http://ex.org/libreria>

{ <http://ex.org/libro453> dc:title “El fontanero y su mujer" }

Lee más: Documento de especificación de SPARQL/Update

Page 193: Web Semantica con MAYÚSCULAS

Protege

Herramienta para el desarrollo de ontologías

Gran extensibilidad por medio de plugins que la hacen compatible con muchas otras herramientas y lenguajes (DIG, Pellet, RDF… )

La herramienta se distribuye mediante licencia de código abierto.

API que permite generar código propio para ampliar o utilizar la herramienta original (creación de plugins).

Page 194: Web Semantica con MAYÚSCULAS

Práctica <Protege>

Instalar Protegé

Cargar el modelo que se ha utilizado en la práctica

Page 195: Web Semantica con MAYÚSCULAS

Sumario• Presentaciones• Problemas de la Web actual• Introducción a la Web Semántica• Web de datos / objetos

HTML / UNICODE / URI / XML• Web de información / relaciones

Meta / RDF• Web de conocimiento / razonamiento

RDFS/OWL/SPARQL• Ejemplos

Page 196: Web Semantica con MAYÚSCULAS

Ejemplos

Page 197: Web Semantica con MAYÚSCULAS

Autodiscovery

El autodescubrimiento (autodiscovery) es un medio para encontrar, de manera automática, recursos procesables por máquinas y que esten asociados a una página web concreta. El autodescubrimiento puede automatizarse porque el recurso deb de estar enlazado mediante un sistema bien definido (por ejemplo el tag <link> en xhtml)

<link rel="meta" type="application/rdf+xml" title="FOAF" href="foaf.rdf">

Page 198: Web Semantica con MAYÚSCULAS

Autodiscovery

Un ejemplo de autodescubrimiento se produce en Firefox, ya que cuando entras a un blog que tiene una RSS asociada, aparece en la barra de navegación un icono naranja que muestra los canales disponibles.

Page 199: Web Semantica con MAYÚSCULAS

Autodiscovery

Semantic Radar es un plugin para Firefox que detecta si la página que estás visitando tiene metadatos semánticos, segmentos de código que señalan información semánticamente significativa o relevante.

Page 200: Web Semantica con MAYÚSCULAS

Hands-on - Semantic Radar

Instalar:https://addons.mozilla.org/es-ES/firefox/addon/3886

Comprobar:

http://captsolo.net/

Page 201: Web Semantica con MAYÚSCULAS

FOAF (Friend Of A Friend)

• FOAF Vocabulary Specification

http://xmlns.com/foaf/spec/ [xhtml] OpenID

http://xmlns.com/foaf/spec/index.rdf [rdf]

Page 202: Web Semantica con MAYÚSCULAS

FOAF (Friend Of A Friend)

Page 203: Web Semantica con MAYÚSCULAS

FOAF (Friend Of A Friend)Describe relaciones para que puedan ser procesadas fácilmente por máquinas.

Page 204: Web Semantica con MAYÚSCULAS

Hands-on

FOAF-o-maticCrea fácilmente tu propio foaf!

http://www.ldodds.com/foaf/foaf-a-matic

Page 205: Web Semantica con MAYÚSCULAS

FOAF (Friend Of A Friend)

Describe relaciones para que puedan ser procesadas fácilmente por máquinas.

FoaF Explorer

http://xml.mfd-consult.dk/foaf/explorer/

Relaciones entre directivos de grandes empresas en EEUU (AFAIK, no FOAF) http://www.theyrule.net/

Page 206: Web Semantica con MAYÚSCULAS

DOAP (Extensión de FOAF)Vocabulario XML/RDF para describir proyectos de software libre, usando la URL del proyecto como clave primaria [Utilizado por Apache]• Internacionalizar todas las descripciones relativas a un proyecto.• Enlazar con las descripción FOAF de participantes del proyecto• Enlace con:

– zona de descarga (con doap:download-page)– repositorio del proyecto (doap:Repository), indicando que tipo de

repositorio es (CVS, SVN, BitKeeper o Arch) y el usuario anónimo para acceder a él.

• Describe las distintas listas de correo que componen el proyecto (mailing-list), asi como el sistema de seguimiento de bugs (bug-database) del proyecto.

Lee más: http://usefulinc.com/doap/

Page 207: Web Semantica con MAYÚSCULAS

DOAP (DOAP A Matic)

http://crschmidt.net/semweb/doapamatic/

Crear un fichero RDF con los datos introducidos usando el formato DOAP.

Page 208: Web Semantica con MAYÚSCULAS

DOAP

Obtener información de:

http://sparql-wrapper.sourceforge.net/

Page 209: Web Semantica con MAYÚSCULAS

DOAC (Extensión de FOAF)

Información sobre nuestra vida profesional [En estudio, desde Galicia]

Especificación:

http://ramonantonio.net/doac/0.1/

• Compatible con el

“Europass Curriculum”

• Se puede generar a

partir del archivo

FOAF+DOAC

Page 210: Web Semantica con MAYÚSCULAS

Semantic Bible

Estudio de las sagradas escrituras usando tecnologías semánticas. Por ejemplo, tiene una base de conocimiento semántica en OWL sobre más de 600 nombres del Nueco Testamento, clasificando y describiendo sus propiedades.

Page 211: Web Semantica con MAYÚSCULAS

Penthouse

Usa un vocabulario del ICRA, parte del “Instituto para la seguridad de la familia online”, organización para el desarrollo de una internet más segura

http://galleries.penthouse.com/labels.rdf

Page 212: Web Semantica con MAYÚSCULAS

Buscar ontologías

Swoogle - http://swoogle.umbc.edu/

Page 213: Web Semantica con MAYÚSCULAS

Buscar ontologías

What is SchemaWeb?

SchemaWeb is a directory of RDF schemas expressed in the RDFS, OWL and DAML+OIL schema languages.

http://www.schemaweb.info/

Page 214: Web Semantica con MAYÚSCULAS

That's all folks!

Carlos Tejo AlonsoJulio 2008