38
Jose Emilio Labra Gayo - Universidad de Tecnologías de Web Semántica Tutorial (laboratorio) Trujillo, Perú, 2014 Jose Emilio Labra Gayo Universidad de Oviedo

Tecnologias Web Semantica

Embed Size (px)

DESCRIPTION

Curso Web Semantica

Citation preview

Page 1: Tecnologias Web Semantica

Jose Emilio Labra Gayo - Universidad de Oviedo

Tecnologías de Web Semántica

Tutorial (laboratorio)Trujillo, Perú, 2014

Jose Emilio Labra GayoUniversidad de Oviedo

Page 2: Tecnologias Web Semantica

Jose Emilio Labra Gayo - Universidad de Oviedo

Programa

Web Semántica: Qué es y mapa de tecnologíasFundamentos WebDescripción de recursosConsultando la Web de DatosInferencias y OntologíasCasos prácticos

Page 3: Tecnologias Web Semantica

Jose Emilio Labra Gayo - Universidad de Oviedo

Arquitectura de la Web

Fundamentos de la Web (slides)Protocolo HTTPNegociación de contenido

Ejercicios con curl

Ejemplos: http://dbpedia.org/resource/Oviedo

Page 4: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Fundamentos de la Web

3 pilaresInteracción: Protocolos HTTP, FTP, SMTP, etc.

Identificación: URIs

Formatos de representación: HTML, JSON, XML, ...

IdentificaciónURI

FormatosHTML, JSON,...

IdentificaciónURI

InteracciónProtocolos

FormatosHTML, JSON,...

WWW

Page 5: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Esquema conceptual de HTTP

Usuario NavegadorCliente

Servidor

URI

Representación

WWWHTTP

Petición

Respuesta

Page 6: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Recursos

La Web está formada por recursos

Recurso = cualquier fuente de contenido WebSe identifican mediante URIs

Diversas Posibilidades:Estáticos: almacenados en Sistema de Ficheros

Páginas HTML

Otros formatos multimedia: Imágenes, vídeos, sonidos, ...

Dinámicos: bajo demandaGenerado a partir de bases de datos

Integrando información de otros servicios Web

Información online

NOTA: La mayoría de la información disponible en la Web se genera dinámicamente

Page 7: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Recursos

NavegadorCliente

Servidor

URI

WWWHTTP

Fichero texto

Imagen

Basedatos

Programa

Sistema ficheros

=

Gateway

Gateway

Gateway

GatewayOtro servidor

CámaraWeb

Base datos

Informac.Bursátil

ControlRobot

Page 8: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Tipos de recursos

Los servidores asocian un tipo a cada recursoTipos MIME (Multipurpose Internet Mail Extensions)

Ejemplos: text/plain, text/html, application/xml, image/jpg,...

El cliente decide qué hacer con dichos tipos

Usuario

NavegadorCliente

Servidor

Petición

Respuesta

WWWHTTP

Content-type: image/jpegContent-length: 8854

Page 9: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

HTTP: Formato de mensajes

Modo texto:línea inicialcabecera del mensaje*cuerpo del mensaje ?

NavegadorCliente

Servidor

Petición

WWWHTTP

HTTP/1.1 200 OKDate: Thu, 12 Oct 2013 09:36:05 GMTServer: ApacheContent-length: 80554Content-type: text/html; charset=utf-8<html> <head> <title>Curso XML</title> <head> ...</html>

GET /index.html HTTP/1.1Host: www.uniovi.esUser-Agent: Mozilla/5.0 …Accept: text/htmlAccept-language: es, en

Respuesta

Page 10: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Mensajes de petición

Formato general:

POST /admin HTTP/1.1Host: www.uniovi.esUser-Agent: Mozilla/5.0 …Accept: text/htmlAccept-language: es, en...datos POST...

<method> <url> <version><headers> *<entity-body>

GET /index.html HTTP/1.1Host: www.uniovi.esUser-Agent: Mozilla/5.0 …Accept: text/htmlAccept-language: es, en

<headers> = parejas de la forma: nombre1: valor1 nombre2: valor2

<method>= GET,PUT,POST,DELETE,...

Ejemplos:

Page 11: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

HTTP/1.1 200 OKDate: Thu, 12 Oct 2013 09:36:05 GMTServer: ApacheContent-length: 80554Content-type: text/html; charset=utf-8<html> <head> <title>Curso XML</title> <head> ...</html>

Mensajes de respuesta

Formato general:

HTTP/1.1 404 Not foundContent-length: 0

<version> <status> <reason-phrase><headers> *<entity-body>

<Status>Códigos estándar: 2**: Variaciones de OK3**: redirecciones4**: Problemas del cliente5**: problemas del servidor

Ejemplos:

Page 12: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Utilidades

Diversas utilidades

curl http://curl.haxx.se/

Hurl http://hurl.it

Redbot http://redbot.org

Web-sniffer: http://web-sniffer.net/

RestClient http://code.google.com/p/rest-client/

curl http://cursoxml.herokuapp.comAlgunas opciones: -v (verbose) -H (cabeceras) -X (verbos POST, PUT, DELETE,...)

Page 13: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

CURL

Ejemplos:

curl http://cursoxml.herokuapp.com

curl -H "Accept-language:es" http://cursoxml.herokuapp.com

curl -H "Accept:text/html" http://cursoxml.herokuapp.com/search?course=html5

curl -H "Accept:application/xml" http://cursoxml.herokuapp.com/search?course=html5

curl -X POST http://cursoxml.herokuapp.com/login -d email="[email protected]" -password="abc"

Page 14: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Métodos HTTP

GET: Solicita una representación de un recurso

PUT: Crear un recurso

POST: Envía datos para que un recurso los procesePuede implicar la creación/actualización de recursos

DELETE: Elimina un recurso

OtrosHEAD: Similar a GET, pero obtiene únicamente la cabecera

TRACE: Pide la solicitud que se envió al servidor

OPTIONS: Solicita los métodos que soporta el servidor

CONNECT: Convierte la petición en un túnel TCP/IP

Facilita la comunicación a través de SSL

Page 15: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

URIs

Page 16: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Recursos

Recurso = Unidad básica de la WebCualquier cosa que se identifique con una URI

URI ≠ Recurso ≠ RepresentaciónURI

http://tiempo.com/Asturias/Oviedo

Identifica

Metadatos: Content-type: text/html

Datos:<html> <head><title>Tiempo</title></head> <body> <h1>Tiempo en Oviedo</h1> <p>Nubes y claros</p></body></html>

Representa

Representación

Recurso

Tiempo en Oviedo

Page 17: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

¿Qué se puede identificar con una URI?

Cualquier cosa concreta o abstracta

http://www.uniovi.es

<!DOCTYPE html><html> <head> <title>Universidad de Oviedo</title> </head> <body> <h1>Universidad de Oviedo</h1> <p>Fundada en el año 1608 en <a href="http://www.wikipedia.org/Oviedo"> Oviedo</a></p> . . .</body></html>

<!DOCTYPE html><html> <head> <title>Universidad de Oviedo</title> </head> <body> <h1>Universidad de Oviedo</h1> <p>Fundada en el año 1608 en <a href="http://www.wikipedia.org/Oviedo"> Oviedo</a></p> . . .</body></html>

identifica

Ejemplo: Una página Web

Una página WebRecurso de información

Formato HTML

Page 18: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

¿Qué se puede identificar con una URI?

Cualquier cosa concreta o abstracta

http://www.di.uniovi.es/~labra/images/asturias.jpg

identifica

Ejemplo: Una fotografía (recurso multimedia)

Una fotografíaRecurso de información

Formato JPG

Page 19: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

¿Qué se puede identificar con una URI?

Cualquier cosa concreta o abstracta

http://www.w3.org/People/Berners-Lee/card#i

identifica

Ejemplo: Una persona

Una persona (Tim Berners-Lee)Recurso de no información

Page 20: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

¿Qué se puede identificar con una URI?

Cualquier cosa concreta o abstracta

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

identifica

Ejemplo: Conjunto de todas las personas

Conjunto de Personas (concepto abstracto)Recurso de no información

Page 21: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

¿Qué se puede identificar con una URI?

Cualquier cosa concreta o abstracta

http://purl.org/dc/terms/creator

identifica

Ejemplo: Propiedad de creación

Propiedad de creación (concepto abstracto)Recurso de no información

Page 22: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

¿Qué se puede identificar con una URI?

Cualquier cosa concreta o abstracta

http://purl.org/dc/terms

identifica

Ejemplo: Espacio de nombres

Espacio de nombres (concepto)Recurso de no información

creator title

subject

contributor

created

datedescription

format

languagemodified

publisher

rights . . .

Page 23: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Formato de una URI

Más información: Especificaciónhttp://tools.ietf.org/html/rfc3986

esquema : // autoridad camino ?consulta #fragmento

http : // ejemplo.com:8042 /libros/castellano ?autor=Cervantes #capitulo2

Otros ejemplos de URIs:

ftp://ftp.is.co.za/rfc/rfc1808.txt

mailto:[email protected]

telnet://192.0.2.16:80/

urn:oasis:names:specification:docbook:dtd:xml:4.1.2

Nota: los caracteres deben codificarse. Significado especial de espacios, ?, /, etc.

Nota: las URNs identifican nombres únicos solamente. Sin protocolo

Page 24: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Partes de una URI

Más información: Especificaciónhttp://tools.ietf.org/html/rfc3986

Nota: las URNs identifican nombres únicos solamente. Sin protocolo

esquema autoridad//usuario@host:port

path querystring fragment

http:http:http:ftp:mailto:urn:

//localhost:3000//google.com//uniovi.es///[email protected]:045125021

/about//course/view.php/rdf/rfc1808.txt

?a=1&b=2?q=pepe?id=4590

?subject=Curso

#historia

http://localhost:3000/about?a=1&b=2#historiahttp://google.com/?q=pepehttp://uniovi.es/course/view.php?id=4590ftp://ftp.is.co.za/rdf/rfc1808.txtmailto:[email protected]?subject=cursourn:isbn:045125021

Ejemplos

Page 25: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Dereferenciación

Dereferenciar una URI = Acceder al contenido de una URIObtener una representación del recurso identificado por la URI

Habitualmente se utiliza protocolo HTTP

Pueden existir diferentes representaciones

La representación puede incluir enlaces a otras URIs con información relacionada

Principio: Follow your nose (“Sigue tu instinto”)

A partir de una URI, se puede ir encontrando más información y más recursos relacionados fácilmente y de casualidad (serendipia)

Page 26: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Estabilidad de las URIs

URIs = pilar fundamental de cualquier aplicación Web

Objetivo: Esquema de URIs estable

Lema: Cool URIs don’t changeModificar una URI puede romper aplicaciones existentes

Evitar URIs que dependen de detalles de implementaciónEjemplo: http://156.35.41.34:8080/pagina.php

Importancia de nombres adecuados para URIshttp://www.w3.org/Provider/Style/URI

URI

Page 27: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Formatos de Representación

Page 28: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Formatos de representación

En la Web, el formato más habitual es HTMLExisten muchos más formatos: XML, JSON, RDF, PNG, …

Un recurso puede tener diferentes tipos de representación

Cada tipo de representación sirve para un propósito

Page 29: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

HTML

Tipo de representación más popular en la Web

Objetivo: representar hipertexto

Ejemplo:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>Ejemplo</title> </head> <body> <h1>Lista de enlaces</h1> <p>Mis enlaces preferidos</p>

<ul> <li><a href="http://www.wikipedia.org">Wikipedia</a> <li><a href="http://www.w3c.org">Consorcio W3c</a></ul>

</body></html>

Page 30: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

XML

Facilita intercambio de informaciónObjetivo: procesamiento automático

Comercio electrónico

<?xml version="1.0"> <pedido> <producto codigo="R23"> <nombre>Rotulador RX2</nombre> <cantidad>20</cantidad> <comentarios>Comprobad que escriben</comentarios> </producto> <producto codigo="G56"> <nombre>Grapadora Lin</nombre> <cantidad>2</cantidad> <comentarios>Envuelta para regalo</comentarios> </producto></pedido>

Page 31: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Tipos de representación

Los tipos de representación se identifican con MIME

MIME (Multipurpose Internet Mail Extensions)Identificar el tipo de contenido (Cabecera Content-type)

Formato tipo/subtipo

Ejemplos:text/html: Página Web en formato HTML

text/xml, application/xml : Documento XML

application/json: Documento JSON

application/pdf: Fichero PDF

image/jpeg: Imagen JPEG

application/xhtml+xml: Documento XHTML

application/rdf+xml: Documento RDF

text/turtle: Documento Turtle

. . .

Lista oficial: http://www.iana.org/assignments/media-types

Page 32: Tecnologias Web Semantica

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Funcionamiento de la Web

2 computadores conceptuales: Cliente y ServidorLa representación puede calcularse dinámicamente

Computación en Cliente

Computación en servidor

Usuario NavegadorCliente

Servidor

URI

Representación

WWWHTTP

Page 33: Tecnologias Web Semantica

Jose Emilio Labra Gayo - Universidad de Oviedo

La Web Semántica

Web semántica Web de DatosVisión donde los datos se publican y se enlazan con otros datosObjetivos:

ReutilizarAutomatizarIntegrar

Tim Berners Lee, inventor de la WWW

Page 34: Tecnologias Web Semantica

Jose Emilio Labra Gayo - Universidad de Oviedo

Hacia la web semántica

URIUnicode

XML

RDF

Query:SPARQL

RDF Schema

OntologiesOWL

Trust

Dig

ital S

igna

ture

Unifying Logic

RulesRIF

Proof

Semantic web layer cake, by Tim Berners Lee

Page 35: Tecnologias Web Semantica

Jose Emilio Labra Gayo - Universidad de Oviedo

Descripción de recursos

RDF (slides)Modelo RDF

Tripletas, literales, nodos anónimos, coleccionesSintaxis: Turtle, RDF/XMLhttp://www.easyrdf.org/converter

Aplicaciones RDF (slides)Almacenamiento RDFPublicación:

RDFa, MicrodatosValidación

Page 36: Tecnologias Web Semantica

Jose Emilio Labra Gayo - Universidad de Oviedo

Consultando la Web de Datos

SPARQL (slides)

Page 37: Tecnologias Web Semantica

Jose Emilio Labra Gayo - Universidad de Oviedo

Inferencias y Ontologías

Inferencias y ontologías (slides)RDF SchemaOWLRazonadores

PelletEditores de ontologías

Protégé

Page 38: Tecnologias Web Semantica

Jose Emilio Labra Gayo - Universidad de Oviedo

Casos Prácticos

DBPediaIMDBBCNWebIndex