Tecnologias Web Semantica
-
Upload
jose-emilio-labra-gayo -
Category
Internet
-
view
264 -
download
3
description
Transcript of 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
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
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
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
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Esquema conceptual de HTTP
Usuario NavegadorCliente
Servidor
URI
Representación
WWWHTTP
Petición
Respuesta
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
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
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
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
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:
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:
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,...)
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"
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
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
URIs
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
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
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
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
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
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
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 . . .
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
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
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)
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
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Formatos de Representación
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
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>
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>
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
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
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
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
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
Jose Emilio Labra Gayo - Universidad de Oviedo
Consultando la Web de Datos
SPARQL (slides)
Jose Emilio Labra Gayo - Universidad de Oviedo
Inferencias y Ontologías
Inferencias y ontologías (slides)RDF SchemaOWLRazonadores
PelletEditores de ontologías
Protégé
Jose Emilio Labra Gayo - Universidad de Oviedo
Casos Prácticos
DBPediaIMDBBCNWebIndex