Maestría en Ingeniería Curso de Ingeniería Web Sesión 3: Web Semántica Fernando Barraza A. Ms.C. [email protected] Sesión 3 • Objetivo: Introducir los conceptos de la Web Semántica • Temas: – Conceptos básicos – Campos de Aplicación – La Arquitectura de la Web Semántica – Lenguajes de la Web Semántica (RDF, RDFS, SPARQL) – Introducción a las ontologías Antecedentes • Los actuales buscadores basados en palabras clave suelen devolver información irrelevante que usa una cierta palabra con un significado diferente del que se pretende en la búsqueda, y pierden información cuando no reconocen palabras diferentes pero con el mismo significado que la buscada. • Actualmente se requiere lectura humana para extraer información relevante de un origen, dado que agentes automáticos no tienen el sentido común requerido para reconocer dicha información en representación textual. Antecedentes (2) • Mantener orígenes textuales débilmente estructurados representa una tarea dificultosa, y consumidora de tiempo cuando tales orígenes aumentan considerablemente de tamaño. Mantener esas colecciones consistentes y al día requiere de representación interpretable por computador, de semántica que ayude a detectar anomalías automáticamente. • La utilidad de sitios Web adaptativos que permitan su reconfiguración dinámica de acuerdo al perfil del usuario u otros aspectos relevantes, requiere una representación computable de la semántica involucrada. Caso Ejemplo: Biografía de Simón Bolívar 1 Búsqueda 6 Significados Caso Ejemplo: Biografía Simón Bolívar (2) Y cuantos de estos resultados? Refinamos la Búsqueda Aún 2 Significados Diferentes tipos de recursos Qué es la web semántica? • Es una extensión de la web actual en la cual la información es suministrada con un significado bien definido, de tal forma que pueda ser entendido por las maquinas • Es un área pujante en la confluencia de la Inteligencia Artificial y las tecnologías web para permitir que las máquinas puedan hacerse cargo del trabajo más costoso, rutinario, o físicamente inabarcable que actualmente realizan manualmente los usuarios que navegan e interactúan con la web. Diferentes formas de ver lo mismo La web profunda • • • La web profunda está constituida por las bases de datos cuyos contenidos, no directamente accesibles, se hacen visibles mediante páginas generadas dinámicamente Se estima puede contener un tamaño de información varios cientos de veces mayor, y de mucha mejor calidad, que la web superficial, y crece a un ritmo aún mayor que ésta. Se estima que el tamaño de la web profunda ha superado ya al volumen total de información impresa existente en todo el planeta. La Web hoy (1) … un caso típico Año 2006 La Web hoy (2) … lo pensado Año 2010: Un niño pregunta a su asistente persona que lleva puesto en su chaqueta, quien marco el gol del empate de Colombia ante Alemania en el mundial de fútbol de 1990?. El asistente personal levanta un proceso en background y busca en sitios web pertinentes y en poco mas de un minuto el niño recibe la respuesta: Freddy Rincón, minuto 92, pase de Carlos Valderrama, video disponible en www.videofutbol.com , etc., etc. …. Aquí el asistente es un Agente Digital. Enfoque de la solución al problema • Una forma de resolver estos problemas es reducir o eliminar la confusión conceptual y terminología y acercarse a un entendimiento compartido: – Reusabilidad: El entendimiento común es la base para una codificación formal de entidades, atributos, procesos y sus interrelaciones en el dominio de interés. Esta representación formal deberían ser un componente reusable o compartido en un sistema de software. – Confiabilidad: Un representación formal también hace posible la automatización del cheque de la consistente resultando en software más confiable. – Especificación: El entendimiento común puede asistir el proceso de identificación y definición de especificaciones para un sistema de información. Como ayuda la Web Semántica – Búsquedas avanzadas – Integración de información de diferentes fuentes – Ejecución de tareas automatizadas de forma inteligente – Dispositivos de captura de información dinámicos y sensitivos al contexto – Representación de información rica en medios Diferentes formas de representación XML no es suficiente Para un humano, es intuitivamente claro: Las etiquetas son términos de un dominio Para un computador no es claro (no tiene intuición): Las etiquetas no tienen semántica Arquitectura de la Web Semántica Semantic Web architecture http://www.w3.org/2000/Talks/1206-xml2k-tbl/ Primera capa: Identificador unificado de recursos es un texto corto que identifica unívocamente cualquier recurso Proporciona un número único para cada carácter, sin importar la plataforma, sin importar el programa, sin importar el idioma. Semantic Web architecture http://www.w3.org/2000/Talks/1206-xml2k-tbl/ Unicode y URI • Unicode provee un número único por cada caracter, sin importar su plataforma, programa o idioma en que está representado. • Un URI permite apuntar sin equivocación a un recurso en la Web que puede ser una página, una aplicación, en fín, cualquier elemento que pueda ser accedido a través de Internet. http://www.puj.edu.co/portal Segunda capa: Ofrece un espacio de nombres para intercambiar datos entre fuentes heterogéneas XML Define restricciones de la sintaxis y la estructura de documentos XML de forma más rica que un DTD Lenguaje de marcado que describe y homogeniza los recursos XML • XML es el estándar más extendido hoy • Representa una primera aproximación para clasificar datos en la Web semántica. • Permite estructurar datos y documentos en forma de árboles de etiquetas con atributos. Namespaces • Los espacios de nombres complementan las referencias hechas por un URI proveyendo un método sencillo para calificar elementos y nombres de atributos usados en XML. • Esto permite identificar los elementos incluidos en XML en diferentes puntos de la Web. XMLS • Con XML Schema (XMLS) es posible definir estructuras más complejas basadas en XML donde se reflejen tipos de datos primitivos y derivados. • Son una alternativa más estructurada a los DTD’s. • El modelo de datos XML en árbol, que no distingue entre objetos y relaciones ni tiene noción de jerarquía de clases, no permite representar la semántica de los datos. Tercera capa: Framework para definir metadatos a través de jerarquía de clases de recursos, especificando propiedades y relaciones Por qué no usar solo XML? • En XML el orden en el cual los elementos aparecen es significativo y muchas veces necesario. • RDF provee más ventajas: – Independencia. Podemos inventar una propiedad llamada "Autor" y otros pueden inventar una propiedad llamada "Director" que podría aplicarse, por ejemplo, a recursos asociados con películas. – Intercambio. Dado que las sentencias RDF se escriben en XML pueden ser fácilmente usadas para intercambiar información. – Escalabilidad. Las sentencias RDF son simples, registros con tres campos (Recurso, propiedad, valor) por lo que son fáciles de manejar y de usar para buscar objetos aun en volúmenes realmente grandes. – Flexibilidad: Las propiedades, valores y sentencias puedes ser son recursos. Esto es importante porque tendremos muchísimos recursos que manejar. Demasiados como para buscarlos uno por uno. RDF • Con RDF se puede darle significado semántico a los recursos de la Web. • Es considerado un lenguaje para la definición de metadatos en la Web. • Es el estándar más popular y extendido en la comunidad de la Web semántica. Construcción RDF • El elemento de construcción básica en RDF es el “triple” o sentencia, que consiste en: – Dos nodos (sujeto y objeto) que representan recursos: • Un sujeto, que es identificado por un URI y que apunta al recurso a ser descrito • Un objeto el cual puede ser un recurso o un literal, tal como un numero o una cadena de caracteres – Unidos por un arco (predicado), que representa una propiedad del recurso Ejemplo RDF • Sentencia: El escritor Gabriel García Márquez (sujeto) es el autor (predicado) de un libro con título “Cien años de soledad” (objeto). Extensión del grafo • Se pueden agregar sentencias al grafo • Ej.; El autor de libro “Cien años de soledad” nació en una ciudad colombiana de nombre Aracataca. • Para identificar univocamente los recursos del grafo utilizamos entonces URI’s Modelo RDF Serialización del grafo RDF namespace <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> xmlns:body="http://www.algo.com/libro#’’ <rdf:Description rdf:about="http://www.algo.com/Gabriel_Garcia_Marquez"> <libro:autor>Cien Anos de Soledad</libro:autor> </rdf:Description> </rdf:RDF> Y RDF-Schema? • Con RDFS tenemos la posibilidad de expresar las características de los datos • Se pueden definir jerarquías de clases de recursos incluyendo: – Generalizaciones y herencia, – Especificación de las propiedades – Relaciones que se admiten entre propiedades. • Todo esto permite entonces construir ontologías sencillas. Modelo gráfico RFDS RDF le da mas expresividad semántica al lenguaje de marcado sin cambiar el modelo grafico de RDF. Ejemplo RDFS Ejemplo RDF(S) Representación serializada de grafos RDF(S) Serialización de Grafos RDF(S) Serialización de Grafos RDF(S) Serialización de Grafos RDF(S) Consulta de grafos RDF • Una de las prestaciones más importantes para cualquier modelo de representación de información es la posibilidad de ser consultado. • Se logra utilizando un lenguaje de consulta semántico, los cuales permiten expresar consultas tanto sencillas como búsquedas complejas sobre un grafo RDF mediante una sintaxis declarativa sencilla. Lenguajes semánticos • La mayoría fueron construidos con SQL en mente y por lo tanto tienen un cierto grado de similaridad en su estructura • En la Web semántica existen diferentes propuestas que se han ido convirtiendo en un estándar “de facto”: – SeRQL (lenguaje principal de Sesame) – RDQL (lenguaje principal de Jena) – SPARQL (recomendación de W3C) Consulta en RDQL select where ?y from <escritores.rdf> (?x, <edad>, ?z), (?x, <nombre>, ?y) and ?z > 50” • Devuelve la propiedad “nombre” de todos los recursos del grafo definido en “escritores.rdf” cuya propiedad “edad” tiene un valor mayor que 50. Consulta en SPARQL SELECT ?libro ?escritor ?editorial FROM <http://www.algo.com/obras> WHERE { ?name <Gabriel_Garcia_Marquez> ?editorial} ORDER BY DESC (?editorial) • Devuelve los nombres de los libros escritos por Gabriel García Márquez ordenados por la editorial del libro. Cuarta capa: Define como un conjunto de términos de conocimiento, incluyendo el vocabulario, las interconexiones semánticas y algunas reglas simples de inferencia y lógica Créditos • Carole Goble. Semantic Grid, Part 4: Pioneers and Examples, The University of Manchester, 2005. • Jun Zhao, Carole Goble, Robert Stevens. An Identity Crisis in the Life Sciences. The University of Manchester, 2005. • Alexander Garcia C. Interoperabilidad e integración de información en Bioinformática. The University of Queensland, 2004. • Pablo Castells. La Web Semántica. Escuela Politécnica Superior, Universidad Autónoma de Madrid, 2004.