Web Semantica con MAYÚSCULAS

Post on 05-Dec-2014

9.400 views 1 download

description

Clase sobre web semantica (Semantic web)

Transcript of Web Semantica con MAYÚSCULAS

Web Semántica con MAYÚSCULAS

Carlos Tejo Alonso

carlos.tejo@gmail.com

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

¿Quien soy yo?

Carlos Tejo Alonso

carlos.tejo@gmail.com

Actualmente trabajo en Fundación CTIC,

en el departamento de I+D+i,

en la línea de Web Semántica

¿Quienes sois vosotros?

Encuesta Online

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

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

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

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

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

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

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

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 ...

¿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

Houston: We’ve got a problem

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

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

Práctica (Texto)

Escribir en texto plano esta información

- Clase. Horario, geoposición

- Profesor.

- Alumnos.

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 jose@example.org

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.

Evolución de la Web

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

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?

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

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

• ¿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

Universidad de Haifa [Israel]

Otros idiomas

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/

Ambigüedad en búsquedas

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

¿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.

La web sintáctica

¿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?

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).

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.

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 ...

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

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 ...

Volvamos …

Volvamos al ejemplo de la Biblioteca

¿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

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

¿A dónde queremos ir?

Hacia la

WEB SEMÁNTICA !!!

La web Semántica

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

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

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.

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

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)

¿ Ejemplos de uso ?

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

¿que aplicaciones puede tener en la vida real ?

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.

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

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

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/

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

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.

HTML

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>

Virtudes del HTML

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

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

Práctica <HTML>

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

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:jose@example.org"> jose@example.org</a>

Práctica <HTML>

Seamos serios

Nos merecemos algo más !!!

Que tal … la web semántica?

Los dos tipos de WEB

W3C

El World Wide Web Consortium (W3C) es un consorcio

internacional que produce estándares para la Web.

Dirigido por Tim Berners-Lee

Semantic web cake layer

Tim Bernes Lee, 2000

Semantic web cake layer

Tim Bernes Lee, 2005

Semantic web cake layer

Tim Berners Lee, 2006

Let’s go!

Semantic web cake layer

UNICODE

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.

Caracteres variados

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

Unicode - Organización

• Se organizan en planos

• Cada plano tiene espacio para 216 caracteres

• Se limita el número de planos a 17

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

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.

Unicode - Ejemplos

Letra Fenicia HET

U-00010907

Letra China (Significa Excelente)

U-0000329D (U+329D)

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

Semantic web cake layer

URI

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

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)

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://carlos.tejo@gmail.com

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

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.

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.

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 جح

Semantic web cake layer

XML

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>

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)

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>

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>

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

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.

Práctica <XML>

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

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

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>jose@example.org</email> </estudiante> </clase></curso>

¿Por qué nosotros no entendemos?

¿Por qué máquinas no entienden?

<nombre>Luis</nombre>

<name>Luis</name>

<namn>Luis</namn>

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

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

¿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

La vida real - Relaciones

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

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

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.

<meta>

Metadatos

Metadatos

datos sobre los datos

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

HTML y el elemento META

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

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.

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">

Plugin Dublin Core para Firefox

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

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

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/

GeoLocalizar una web

ICBM(InterContinental Ballistic Missile)

<meta name="ICBM"

content="42.1895,-5.0435">

http://geourl.org/add.html

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

Ejemplo

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

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/

Semantic web cake layer

RDF

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)

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

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

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?")

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>

¿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.

Definiciones

• Recurso

• Propiedad

• Literal

• Sentencia (tripleta, triple)

• Grafo: conjunto de sentencias

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

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

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>

Definiciones - Literal

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

Definiciones – Sentencia

Asignación de valores a propiedades de un recurso

Sujeto (recurso, URI) +

Predicado (propiedad, URI) +

Objeto (recurso o literal, URI ó literal)

Definiciones – Grafo

Conjunto de sentencias interconectadas por las relaciones

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

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

Serialización de RDF

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>

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".

Herramientas

Validador de RDF del W3C

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

Práctica <RDF>

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

Práctica <RDF>

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

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

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>

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:jose@example.org" /> </persona> </estudiante></rdf:Description></rdf:RDF>

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

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.

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

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

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

Ontología SIOC

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

Semantic web cake layer

RDFS

RDF Schema (RDFS)

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

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.

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

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/

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/

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/

Semantic web cake layer

OWL

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).

OWL Full, OWL DL y OWL Lite

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

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...

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

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

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

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

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

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#

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>

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:jose@example.org"/> </foaf:Person> </participant-as-student> </swrc:Event> </swrc:hasPartEvent></swrc:Event>

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

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

Razonadores – Inferir

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

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

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

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

Práctica <Jena>

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

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);}}

Semantic web cake layer

SPARQL

Diagrama

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/

Jena

ARQ: motor de consultas SPARQL de Jena

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

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

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:alice@ali.org> .

* No solo consulta, CONSTRUCT

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

Práctica <SPARQL>

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

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}

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);

}}

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

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).

Práctica <Protege>

Instalar Protegé

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

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

Ejemplos

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">

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.

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.

Hands-on - Semantic Radar

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

Comprobar:

http://captsolo.net/

FOAF (Friend Of A Friend)

• FOAF Vocabulary Specification

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

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

FOAF (Friend Of A Friend)

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

Hands-on

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

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

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/

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/

DOAP (DOAP A Matic)

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

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

DOAP

Obtener información de:

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

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

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.

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

Buscar ontologías

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

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/

That's all folks!

Carlos Tejo AlonsoJulio 2008