La WEB Semántica
Visión
Web
estática WWW URI, HTML, HTTP Web sintáctica
Web Semántica RDF, RDF(S), OWL
¿Qué es la web semántica? Tim Berners-Lee define la Web Semántica de la siguiente manera:
“ El primer paso es colocar los datos en la Web de un modo en que las máquinas puedan entenderlos
naturalmente o convertirlos a esa forma. Esto crea lo que yo llamo la Web Semántica: una red de datos que pueden ser procesados directa o indirectamente por máquinas” [Weaving the Web, 1999].
“La Web Semántica es una extensión de la Web en la cual la información se da mediante un significado bien definido, lo que facilita que las máquinas y la gente trabajen en cooperación” [The Semantic Web, Scientific American, Mayo de 2001]
Web actual vs Web semántica
Definición Página W3C ( https://www.w3.org/2001/sw/ ) la Web Semántica se define como:
“La Web Semántica es la Web de los datos. Hay muchos datos que usamos cada día y que no son parte de la Web. Podemos ver mis apuntes bancarios en la web, e incluso nuestras fotografías y citas en el calendario. Pero ¿podemos ver las fotos en un calendario para ver qué es lo que estaba haciendo cuando las hice? ¿Puedo ver mis apuntes bancarios en el calendario?
La respuesta es no. Y ¿por qué no? La respuesta es porque no tenemos una Web de datos. Y esto es debido a que los datos están controlados por las aplicaciones, y cada una los guarda y trata de manera particular.
La Web Semántica trata sobre dos cosas. Sobre formatos comunes para el intercambio de datos, donde la Web original solamente se intercambian documentos. Y trata sobre los lenguajes que representan los datos como objetos del mundo real.
La Web Semántica proporciona un framework común que permiten a los datos ser compartidos y reutilizados a través de las límites impuestos por aplicaciones, empresas o comunidades. Es un esfuerzo de desarrollo colaborativo liderado por la W3C y un gran número de investigadores y socios industriales. La Web Semántica se basa en el uso de Resource Description Framework (RDF).”
Estructura de la Web Semántica vista desde el W3C Gráficamente lo vemos como:
Elementos Confianza: Se refiere a las técnicas que aseguran la identidad y fiabilidad de los datos y servicios.
Demostración o prueba: Explican y verifican los pasos de los razonamientos lógicos
Lógica: El razonamiento lógico determina si los datos son correctos e infiere las conclusiones oportunas a partid de los mismos.
Uniform Resource Indentifier (URI) es el dual de URL en Web Semántica. Su propósito es identificar recursos, pero no tiene por que localizar su ubicación (URL).
Unicode estándar que proporciona el medio por el cual codificar un texto en cualquier forma e idioma.
Elementos eXtensible Markup Languaje (XML) es un meta-lenguaje extensible de etiquetas usado para el intercambio de datos en la web. Uso de etiquetas con significado intuitivo para humanos, pero no para las máquinas
XML estandariza formato no significados Nombre de las etiquetas XML no ofrece semántica por si mismo
Elementos Resource Description Framework (RDF) es el dual de HTML en la Web Semántica Una simple forma de describir recursos en la Web
Un simple lenguaje de ontologías (RDF-S)
Basado en tripletas (sujeto; predicado; objeto) Un recurso (sujeto)
Una propiedad (predicado)
Un valor para la propiedad (objeto)
La serialización esta basada en XML
Ontology Web Languaje (OWL) Un lenguaje más complejo de ontologías
Supera algunas limitaciones de RDF(S)
Ejemplo RDF http://www.w3.org/RDF/Validator/
1: <?xml version="1.0"?>
2: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
3: xmlns:dc="http://purl.org/dc/elements/1.1/">
4: <rdf:Description rdf:about="http://www.w3.org/">
5: <dc:title>World Wide Web Consortium</dc:title>
6: </rdf:Description>
7: </rdf:RDF>
Elementos SPARQL Lenguaje de consultas para tripletas RDF
Un protocolo para consultar datos RDF sobre la Web
Lenguaje de Reglas (SWRL) Lógica descriptiva
Ejercicio RDF <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:year>1985</cd:year>
</rdf:Description>
<rdf:Description rdf:about="http://www.recshop.fake/cd/Hide your heart">
<cd:artist>Bonnie Tyler</cd:artist>
<cd:country>UK</cd:country>
<cd:year>1988</cd:year>
</rdf:Description>
</rdf:RDF>
Elementos La columna vertebral de la Web Semántica son las ontologías.
Definición
“A formal explicit specification of a shared conceptualization” Conceptualization: una forma de entender/describir un dominio
Shared: compartida/consensuada por un grupo
Explicit: descrita en un lenguaje
Formal: comprensible para una máquina - > (XML, RDF, RDFS, OWL)
Ejemplo ontología Concepts
conceptual entity of the domain
Property
attribute describing a concept
Relation
relationship between concepts or properties
Axiom
coherency description between Concepts / Properties / Relations via logical expressions
Person
Student Professor
Lecture
isA – hierarchy (taxonomy)
name email
matr.-nr. research
field
topic lecture
nr.
attends holds
holds(Professor, Lecture) =>
Lecture.topic = Professor.researchField
Resumen La Web Semántica no es un sustituto de la Web actual, es una evolución de la misma
La Web Semántica es acerca de: anotación de los datos en la Web
el enlace de datos en la Web
Integración de datos en la Web
La Web Semántica pretende la automatización de tareas llevadas a cabo en la actualidad por los seres humanos
Estructurando documentos Web: XML
Conceptos básicos XML: Extensible Mark-up Language (lenguaje de marcado extensible)
Es un lenguaje orientado a: La definición de datos de carácter general. Nos permite definir modelos de
datos. Al compartir modelos de datos se facilita el intercambio de datos entre
sistemas (aplicaciones) heterogéneos. Crear nuevos lenguajes gracias a sus mecanismos de extensibilidad. Por ello,
se dice que XML es un metalenguaje (un lenguaje para crear nuevos lenguajes).
Se refiere únicamente a los datos, no a su presentación. Deja a otras aplicaciones la tarea de definir la estructura de visualización.
Conceptos básicos XML es el formato y el modelo para intercambiar información entre componentes, aplicaciones, y empresas a través de Internet
XML es un estándar abierto a Internet (W3C)
Marcado de documentos El marcado no es la información que contiene el documento
Marcado = información acerca del documento = meta-información
Lenguajes de Marcado descriptivo: Incluyen marcas que describen cómo procesar el documento
Ejemplo:
<html>
<head><title>Poema</title></head>
<body lang=“es”>
<h1>Alba</h1>
<h2>Abril de 1915 </h2>
<h2><i>Granada</i></h2>
<p>Mi corazón oprimido</p>
<p>siente junto a la alborada</p>
<p>el dolor de sus amores</p>
<p>y el sueño de las distancias. </p>
</body>
</html>
<html>
<head><title>Poema</title></head>
<body lang=“es”>
<h1>Alba</h1>
<h2>Abril de 1915 </h2>
<h2><i>Granada</i></h2>
<p>Mi corazón oprimido</p>
<p>siente junto a la alborada</p>
<p>el dolor de sus amores</p>
<p>y el sueño de las distancias. </p>
</body>
</html>
Marcado generalizado Marcado generalizado = Sintaxis común que facilita la creación de lenguajes descriptivos
HTLM Otras marcas … (misma sintaxis) <html>
<head><title>Poema</title></head>
<body lang=“es”>
<h1>Alba</h1>
<h2>Abril de 1915 </h2>
<h2><i>Granada</i></h2>
<p>Mi corazón oprimido</p>
<p>siente junto a la alborada</p>
<p>el dolor de sus amores</p>
<p>y el sueño de las distancias. </p>
</body>
</html>
<poema fecha="Abril de 1915"
lugar="Granada">
<titulo>Alba</titulo>
<verso>Mi corazón oprimido</verso>
<verso>siente junto a la alborada</verso>
<verso>el dolor de sus amores</verso>
<verso>y el sueño de las distancias. </verso>
</poema>
Sintaxis común
<etiqueta atrib=“valor”>contenido
</etiqueta>
<poema fecha="Abril de 1915"
lugar="Granada">
<titulo>Alba</titulo>
<verso>Mi corazón oprimido</verso>
<verso>siente junto a la alborada</verso>
<verso>el dolor de sus amores</verso>
<verso>y el sueño de las distancias. </verso>
</poema>
<html>
<head><title>Poema</title></head>
<body lang=“es”>
<h1>Alba</h1>
<h2>Abril de 1915 </h2>
<h2><i>Granada</i></h2>
<p>Mi corazón oprimido</p>
<p>siente junto a la alborada</p>
<p>el dolor de sus amores</p>
<p>y el sueño de las distancias. </p>
</body>
</html> Abril de 1915 Granada Alba
Mi corazón oprimido siente
junto a la alborada el dolor
de sus amores y el sueño
de las distancias
Texto sin marcar
en lenguaje
natural Texto marcado
HTML
XML
¿Qué es XML? Texto que cumple ciertas reglas
Las reglas tienen puntos en común con HTML
Abierto a sistemas operativos
¿Qué es XML? XML es un sub-conjunto de SGML (Standard Generalized Mark-up Language)
Creado y soportado por el World Wide Web Consortium (www.w3c.org)
SGML
XML
HTML
¿Qué es XML? Más fácil que SGML
Más pequeño
Pensado para ser utilizado en Internet
XML es un lenguaje utilizado para estructurar y describir datos de forma que puedan ser entendidos o interpretados por diferentes aplicaciones
Puede ser utilizado por cualquier lenguaje y/o sistema operativo
¿Qué es XML? XML es un meta-lenguaje que nos permite definir lenguajes de marcado, adecuados a usos determinados
XML es un estándar de Internet, aprobado por la W3C (http://www.w3.org/TR/REC-xml/)
Traducciones: http://www.w3.org/2003/03/Translations/OverviewLang.html#es
Los proveedores tratan de ajustarse a las especificaciones
¿Qué NO es XML? XML no es una versión mejorada de HTML
XML no es un lenguaje para hacer mejores páginas web
XML no es difícil
Algo de historia sobre XML Desarrollo a partir de 1996, como un sub-conjunto de SGML
Adoptado como estándar en Febrero de 1998, por el World Wide Web Consortium (W3C)
World Wide Web Consortium (W3C) Constituido en 1994 con el objetivo de desarrollar protocoles comunes para la evolución de Internet
Es un consorcio de industrias internacionales, y está participado por MIT (EEUU), INRA (Francia), y Keio University (Japón)
Cuenta con el apoyo de DARPA (EEUU), y la comisión europea (IEEE)
¿Qué ventajas tiene XML? Un documento en XML, puede tener varias formas de presentación
¿Qué ventajas tiene XML? Permite poderosas técnicas de extracción y búsqueda de información (XSL y XPATH)
Las estrictas reglas para la composición de un documento XML, permite su fácil análisis sintáctico
A diferencia de HTML, XML es sensitivo a mayúsculas y minúsculas
Ejercicio • Revisar con el navegador, después diseñar el XML. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 FINAL//EN"> <HTML> <HEAD> <TITLE>Memo</TITLE> </HEAD> <BODY> <FONT FACE="Times New Roman" SIZE="2"> <P> <B>To: </B> Camino<BR> <B>From: </B> Juanma<BR> <B>Cc: </B> Nacho<BR> <B>Subject: </B> Capítulo 1 </P> <P> Qué opinas del formato? </P> </FONT> </BODY> </HTML>
Solución <?xml version="1.0"?>
<MEMO>
<TO>Juanma</TO>
<FROM>Camino</FROM>
<CC>Nacho</CC>
<SUBJECT>Capitulo 2</SUBJECT>
<BODY>Empezamos con algo de codigo XML</BODY>
</MEMO>
XML
Declaración de XML
version: Actual = 1.0
◦ Borrador de versión 1.1
◦ Mayor compatibilidad con Unicode
◦ Identificadores: Permite cualquier carácter Unicode
encoding: UTF-8, UTF-16, iso-8859-1, etc.
standalone: Indica si el documento no hace referencias a entidades externas
<?xml version=“1.0”
encoding=“iso-8859-1”
standalone=“yes”?>
Documentos XML Los documentos consisten en una serie de datos marcados mediante etiquetas
Las etiquetas describen la estructura del documento
Un elemento = grupo formado por etiqueta inicial, etiqueta final y contenido entre ambas.
La etiqueta inicial puede incluir atributos.
Distinción minúsculas/mayúsculas
<etiqueta attributo=“valor”>……</etiqueta>
Elemento vacío: Entre la etiqueta inicial y final no hay información:
<etiqueta attributo=“valor”></etiqueta>
⇓
<etiqueta atributo=“valor”/>
Ejemplo documento Documento XML:
<libro> marca de comienzo
The XML Bible contenido
</libro> marca de fin
<autor nro=2332>
Elliotte Rusty Harold </autor>
elemento atributo
Ejemplo
<autor pais=“Uruguay”>Mario Benedetti</autor>
Nombre del elemento
Nombre del atributo
Valor del atributo
Contenido del elemento
Etiqueta de fin
Atributos Cada elemento puede contener atributos en la etiqueta inicial
<poema fecha=“Abril de 1915” lugar=“Granada”>
. . .
</poema>
El orden de los atributos no es significativo
No puede haber 2 atributos con el mismo nombre
Atributos predefinidos:
xml:lang: Especifica el idioma.
Por ejemplo: en (inglés), sp (español)
xml:space: Especifica cómo tratar el espacio en blanco.
Valores: preserve = Mantenerlo
default = Permitir a la aplicación que lo trate como quiera.
Reglas y pautas XML Se dice que un documento XML es ‘bien formado’ (well formed), cuando cumple una serie de reglas escritas en XML v1.0
Los elementos deben seguir una estructura de árbol (estrictamente jerárquica)
Los elementos deben estar correctamente anidados
Los elementos no se pueden superponer entre ellos
Recomendaciones Todo contenido estará etiquetado. Toda etiqueta debe estar delimitada por los símbolos de menor y mayor. Ejemplo: <libro>
Las etiquetas se cierran en el mismo orden en el que se abrieron. La etiqueta de cierre tiene el mismo nombre que la de apertura y se inicia por la barra ‘/’.
Ejemplo: <libro> ... </libro>
Por comodidad se permiten etiquetas que sirvan tanto para la apertura como para el cierre. Estas etiquetas deben acabar con el símbolo de barra ‘/’.
Los nombres de etiquetas son sensibles a mayúsculas y minúsculas (a diferencia de HTML)
Recomendaciones La estructura de una etiqueta sigue la terna objeto-atributo-valor. Notación larga: <etiqueta> <atributo1> valor </atributo1> ... </etiqueta> Notación corta (las dobles comillas son obligatorias, a diferencia de HTML): <etiqueta atributo1=“valor” ... > </etiqueta> Ejemplo:
<libro> <autor>Miguel De Cervantes</autor> <titulo>El Quijote</titulo> <precio>18</precio> </libro>
Recomendaciones La estructura del documento es jerárquica, en forma de árbol, en la que siempre hay un primer elemento raíz. Todo documento XML debe comenzar por una declaración XML con la siguiente estructura:
<?xml version=“Versión de XML” encoding=“Codificación” standalone=“Incluye_DTD” ?>
Donde cada atributo significa: Versión de XML: número de versión que se utiliza. Codificación: formato de codificación, por ejemplo, UTF-8, UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4,
ISO-8859-1, ISO-8859-2, (hasta ISO-8859-9), etc. Las dos primeras son las más usadas. Incluye_DTD: puede tomar el valor “yes” (la especificación DTD se encuentra en el propio documento)
o “no” (la especificación es un archivo externo).
Ejemplo: <?xml version=“1.0” encoding=“UTF-8” standalone=“yes” ?>
Ejemplo <?xml version="1.0" encoding="UTF-8” standalone=“yes”?> <!-- Ejemplo de Biblioteca -->
<biblioteca> <libro ISBN="0-596-00292-0"> <titulo>XML in a Nutshell, 2nd Edition</titulo> <autor> <nombre>Elliotte Rusty Harold, W. Scott Means</nombre> <email>[email protected]</email> <direccion>1005 Gravenstein Highway North, CA 3472 </direccion> </autor> <capitulo nombre="Introduccion"> XML Concepts <seccion> <nombre>Introducing XML</nombre> <contenido>bla bla bla bla...</contenido> </seccion> </capitulo> </libro> </biblioteca>
¿Qué problemas tiene HTML? Es un meta-lenguaje de definición de presentación
Contiene datos + presentación
No es fácilmente procesable por “máquinas”
No fuerza al la buena estructura de la página (pueden dejarse por error etiquetas sin cerrar)
Su interpretación depende del software utilizado
Está pensado para su utilización en páginas Web.
HTML versus XML HTML se centra en el despliegue, y es menos estructurado
Las etiquetas y atributos son fijos
Es posible olvidar el cierre de alguna etiqueta
XML es sobre datos, y es sumamente estructurado
Las etiquetas y atributos son extensibles
Se fuerza a tener una estructura consistente
¿Qué ventajas tiene XML? Fácil de procesar/entender por software o por seres humanos
Pensado para ser utilizado en cualquier lenguaje o alfabeto
Separa radicalmente la información o contenido, de su presentación o formato