Web y Grid Semántica 07-41125 Andreina Loriente 07-41895 Rosannys Ruíz Web Semántica: ¿Qué es? Extensión de la Web actual dotada de significado, de manera que pueda ser interpretada tanto por agentes humanos como por agentes computerizados ¿WEB 3.0 != Web Semántica? Web Semántica: Origen Impulsada por Tim Berners-Lee. 1998 - Publicación de 2 documentos: Semantic Web Road Map y What the Semantic Web can Represent 1999 – Publicación de libro ¨Weaving the Web¨ 2000 – Conferencia en el marco del W3C 2001 – Artículo en revista Scientific American: "The Semantic Web: a new form of Web content that is meaninful to computers will unleash a revolution of new possibilities" Web Semántica: Arquitectura Web Semántica: Precondiciones Exista intercambio de datos. Semántica de los datos sea explícita Propiedades de los datos y de los metadatos pueden ser inferidas. Web Semántica: Tecnologías XML RDF - RDF Schema OWL XML: ¿Qué es? XML es un formato basado en texto, específicamente diseñado para almacenar y transmitir datos. Admite un conjunto ilimitado de etiquetas no para indicar el aspecto que debe tener algo, sino lo que significa. XML: Propiedades Extensible: Número ilimitado de etiquetas. Representación estructural de los datos: El formato es modificable y con distintos usos. Los datos son separados de la presentación y el proceso: HTML se preocupa de la interfaz y XML de los datos. Conversión de los datos XML en autodescriptivos: Las etiquetas dan significados a la información. XML:Ventajas para la Web Semántica Mejora a HTML en: ◦ Lenguaje dependiente del dominio. ◦ Separa la estructura de los datos de la forma en que serán presentados. Permite auto-describir los datos. Estandariza el intercambio de datos y conocimiento. Permite la “integración” de datos con diferentes esquemas y propiedades. ◦ XML, DTD’s o XMLSchema para definir la estructura del documento. XML: Desventajas para la Web Semántica Muchas posibilidades diferentes de codificar un universo de discurso. No se dice nada sobre el significado de las estructuras. Difícil de entender otros documentos. ◦ Se debe entender el significado de cada vocabulario. ◦ No se logró una estandarización. RDF: ¿Qué es? Es un modelo de datos que representa información en la Web en forma de grafo dirigido y etiquetado, donde la unidad básica de información es conocida como la tripleta. Este modelo está particularmente dirigido para la representación de los metadatos. RDF: ¿Qué es? Una tripleta se conforma por un sujeto (identificador del recurso), un predicado (nombre de la característica o propiedad) y un objeto (valor de la propiedad). Ejemplo: Sujeto: Juan Predicado: Tiene padre Objeto: Martín RDF: Propiedades Liviano: RDF se almacena en documentos XML. Multipropósito: No sólo se utiliza para la web semántica. Extensible: Es un standard muy fuerte que puede crecer rápidamente. Sindicación Web: La información se esparce de forma eficiente a través de varios puntos. RDF: RDF Schema RDF Schema es una extensión del vocabulario RDF que permite describir taxonomías de clases y propiedades. También extiende definiciones de algunos elementos de RDF, por ejemplo, define el dominio y rango de las propiedades y relaciona las clases y propiedades RDF a taxonomías utilizando el vocabulario RDFS. RDF: RDF Schema RDF Schema define: ◦ Clases ◦ Propiedades Más información en http://www.obitko.com/tutorials/ontologies-semanticweb/rdf-schema-rdfs.html SPARQL: ¿Qué es? Se trata de un lenguaje estandarizado para la consulta de grafos RDF. Contiene las capacidades para la consulta de los patrones obligatorios y opcionales de grafo, junto con sus conjunciones y disyunciones. Los resultados de las consultas SPARQL pueden ser conjuntos de resultados o grafos RDF. ORMs para RDF RDFAlchemy: Python (https://rdfalchemy.readthedocs.org/en/latest/) ActiveRDF: Ruby (http://activerdf.org/) RDFBeans: Java (http://rdfbeans.sourceforge.net/) RDF2GO: Java (http://semanticweb.org/wiki/RDF2Go) OWL: ¿Qué es? Es un lenguaje basado en ontologías para publicar y compartir datos en la World Wide Web. ¿Qué es una ontología? ◦ Estudia la manera en que se relacionan las entidades que existen. ◦ Formulación de un exhaustivo y riguroso esquema conceptual dentro de uno o varios dominios dados; con la finalidad de facilitar la comunicación y el intercambio de información entre diferentes sistemas y entidades. OWL: Propiedades Construido sobre RDF y codificado en XML. Permite representaciones eficientes de ontologías que puedan someterse a procedimientos y decisiones. Mucho más expresivo y con un vocabulario más amplio. Una de las principales características y que distingue a OWL de otros lenguajes es el uso de enlaces: ◦ Propiedades de los objetos (Object Properties) ◦ Propiedades de tipos de datos (Datatype properties) OWL: Propiedades Posee tres sublenguajes increíblemente expresivos diseñados para ser usados por comunidades especializadas de implementadores y usuarios: ◦ OWL Lite. ◦ OWL DL (Description Logic) ◦ OWL Full Lenguaje OWL: ¿Qué es? Los principales componentes del lenguaje OWL son: clases, propiedades instancias de clases y relaciones entre esas instancias. Una clase es simplemente un nombre y una colección de propiedades que describen un conjunto de individuos. Los individuos son los miembros de esos grupos. Las Propiedades nos permiten afirmar hechos generales acerca de los miembros de las clases y hechos específicos acerca de los individuos. Protégé: ¿Qué es? Es una plataforma que provee a una creciente comunidad de usuarios con un conjunto de herramientas para la construcción de modelos de dominio y aplicaciones basadas en conocimiento con ontologías. Soporta dos maneras de modelar ontologías: ◦ Protégé Frames Editor ◦ Protégé OWL Editor Protégé: ¿Qué es? Es open source. Viene integrado con GUI y plug-ins: ◦ ◦ ◦ ◦ OWLWizard OWLViz ezOWL JADEBean Generator Protégé: Ejemplo de la Pizza Una vez iniciado el Protegé: Creamos la nueva ontología de la Pizza haciendo click en Create Ontology, luego en Ontology Headers, le colocamos el nombre de la nueva ontología en el IRI (International Resource Identifier): http://www.pizza.com/ontologies/pizza.owl. Agregamos una anotación o descripción, haciendo click en Create Annotation, y el en campo Value escribimos “Ontología Pizza que describe varias pizzas de acuerdo a sus ingredientes”. Protégé: Ejemplo de la Pizza Clases principales: pulsamos Classes, luego Add: ◦ ◦ ◦ Pizza Pizza_base Pizza_topping Hacemos las clases disjuntas, seleccionando Pizza en Class Hierarchy y en la vista Class Description seleccionamos Disjoint Classes. Creamos las subclases de Pizza_topping pulsando Create Class Hierarchy y alli agregamos Topping como sufijo a todas las subclases usando la opción Suffix all in list with. Pulsamos el botón Object Properties, luego Add Object Property y creamos la propiedad “tiene_Ingediente”. Protégé: Ejemplo de la Pizza Pulsamos Domains (intersection) para indicar que esta propiedad es de Pizza. Creamos “tiene_Topping” y “tiene_Base” como subpropiedades de “tiene_Ingrediente”, para esto seleccionamos “tiene_Ingrediente”, pulsamos Add subproperty. Creamos propiedades inversas, usando el botón Add de Inverse Properties en la vista de Properties Description. El proceso es largo y por cuestiones de tiempo solo mostramos los primeros pasos que permiten crear una ontología de Pizza. Para ver en detalle todo el procedimiento pueden ingresar en: Ejemplo de la Pizza - Protégé. Matching de Ontologías Equivalencia entre clases y propiedades. ◦ equivalentClass, equivalentProperty: mismas instancias; mismas propiedades. Identidad entre individuos ◦ sameAs: declara que dos individuos sean idénticos Diferencia entre individuos: ◦ differentFrom, AllDifferent: opuesto a sameAs. Matching de Ontologías Equivalencia entre clases y propiedades. ◦ equivalentClass, equivalentProperty: mismas instancias; mismas propiedades. Identidad entre individuos ◦ sameAs: declara que dos individuos sean idénticos Diferencia entre individuos: ◦ differentFrom, AllDifferent: opuesto a sameAs. OWL:Ventajas para la Web Semántica Poder expresivo equivalente a Description Logic. ◦ ◦ ◦ ◦ Semántica bien definida Propiedades son conocidas Existen algoritmos de inferencia Evidencias de tractabilidad empírica. Restricciones de cardinalidad OWL:Ventajas para la Web Semántica Definición de Clases ◦ Extensión ◦ Comprensión Poder expresivo determinado por ◦ Clase de operadores que se seleccionen ◦ Clase de axiomas que se permitan Existen cientos de ontologías definidas en diversos dominios del saber. OWL: Desventajas para la Web Semántica Debe existir un número limitado de constructores/axiomas para que el proceso de inferencia sea decidible. No es muy natural. No permite integridad. Open World Assumption definir/chequear restricciones ◦ Razonamiento es más complejo Complejidad puede ser Intractable. de Grid Semántica: ¿Qué es? Es un enfoque del Grid Computing en donde la información, recursos informáticos y servicios son descritos a través de un modelo de datos semántico. En este modelo los datos y metadatos son expresados a través de hechos (pequeñas oraciones). Es una extensión de la Grid actual en la que se proporciona información y servicios con un significado bien definido, lo que permite a los ordenadores y las personas trabajar en cooperación. Grid Semántica: Arquitectura Web Semántica vs Grid Semántica Diferencias: Web Semántica Grid Semántica Pequeño número de Hosts Un número grande de procesos interactuando. Permite las comunicaciones Permite mucha colaboración Proveedor estático de metadata Usuario dinámico de metadata Servicios web persistentes Servicios grids que aparecen y desaparecen Servicios web sin estado Servicios grids transitorios y con estado Web Semántica vs Grid Semántica Semejanzas: ◦ Ambas operan en un ambiente distribuido global y cambiante. ◦ Metadatos necesarios son computacionalmente accesibles y compartibles. ◦ Complejidad está oculta. SPARQL: Ejemplos de Consultas SELECT ?elvisbday WHERE { <http://dbpedia.org/resource/Elvis_Presley> <http://dbpedia.org/property/dateOfBirth> ?elvisbday . } ¡Gracias por su atención! ¿Preguntas?