tecnologias web semantica

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

Upload: jose-emilio-labra-gayo

Post on 24-Jun-2015

264 views

Category:

Internet


3 download

DESCRIPTION

Curso Web Semantica

TRANSCRIPT

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