• Save
Datos En La Web - Clase 2
Upcoming SlideShare
Loading in...5
×
 

Datos En La Web - Clase 2

on

  • 2,032 views

 

Statistics

Views

Total Views
2,032
Views on SlideShare
2,032
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Datos En La Web - Clase 2 Presentation Transcript

  • 1. Datos en la Web 2º Clase – Web semántica Galiano, Sebastián LCC, UNR Rosario, 2008
  • 2. Habíamos dicho que XML era una familia de tecnologías. Conozcamos 3 lenguajes de esta familia que han sido adoptados como estandartes por la W3C: XPath : Localización de paths (y su extensión XPointer) XSLT: Transformaciones XSL ( Extensible Stylesheet Language ) XQuery: lenguaje de consulta de bases de datos para XML
  • 3. Xpath XPath es un lenguaje empleado para seleccionar partes de un documento empleando path expressions Un path expression es una secuencia de pasos separados por “/” Similar a la estructura de directorios en un filesystem El resultado de una path expression: un conjunto de valores que, junto con sus elementos/atributos hacen match con la ruta especificada
  • 4. Xpath Operadores Existen muchas funciones que se pueden aplicar a los valores de los elementos o bien a los atributos, los cuales también son evaluados al momento de verificar el path
  • 5. Xpath Ejemplos
  • 6. XPointer XPointer o Lenguaje de punteros XML es un estándar del W3C que proporciona una forma de identificar de forma única fragmentos de un documento XML con el objeto de realizar vínculos. La especificación XPointer ofrece un mecanismo para direccionamiento de documentos XML en función de su estructura interna, lo que permite examinar su estructura jerárquica al mismo tiempo que se seleccionan sus partes internas, como elementos, valores de atributos, contenido de caracteres y posiciones relativas. XPointer se encuentra por encima del XPath. La extensión XPointer permite a XPath: Seleccionar puntos, intervalos y nodos. Utilizar coincidencias de cadenas para buscar información. Utilizar expresiones de direccionamiento en referencias de URI como identificadores de fragmentos.
  • 7. XPointer Ejemplo Una expresión XPointer se añade a un URI de esta manera: #xpointer( expresión ) Se pueden concatenar expresiones Xpointer. Estas se evalúan de izquierda a derecha mientras devuelvan un conjunto vació de nodos
  • 8. URI Pero … qué es un URI (Uniform Resource Identifier)? Un URI es una cadena corta de caracteres que identifica inequívocamente un recurso (servicio, página, documento, dirección de correo electrónico, enciclopedia, etc). Consta de las siguientes partes: esquema:autoridad:ruta?consulta#fragmento Esquema: nombre que se refiere a una especificación para asignar los identificadores (urn:, tag:, cid:). En algunos casos también identifica el protocolo (http:, mailto:, ftp:)de acceso al recurso. Autoridad: elemento jerárquico que identifica la autoridad de nombres (“//es.wikipedia.org”). Ruta: Información que identifica el recurso en el ámbito jerárquico del esquema URI. Consulta: Información que identifica el recurso en el ámbito no jerárquico (usualmente pares quot;clave=valorquot;) del esquema URI. Se indica su comienzo mediante el carácter '?'. Fragmento: Permite identificar una parte documento. Se indica su comienzo mediante el carácter '#'. Hay dos tipos de URI: URL identifica el recurso a través de cómo es accedido, lo da una dirección (where). URN crea un nombre único a través de un namespace, le da un nombre (what).
  • 9. XSLT – Transformaciones XSL •Una stylesheet almacena las opciones de formato de un documento, generalmente de manera separada de éste. •Originalmente XSL fue diseñado para generar HTML desde XML y aunque sigue siendo lo más popular, existen ya muchas más aplicaciones •XSLT es un lenguaje de transformación de propósito general •XML a XML, XML a HTML. •Las transformaciones de XSLT son expresadas a través de reglas llamadas templates •Los templates combinan selecciones de XPath con construcciones nuevas a partir de esos resultados
  • 10. XSLT – Transformaciones XSL Los match attributes de xsl:template especifican un patrón en Xpath. Dentro de cada template se procesan los resultados obtenidos en XPath xsl:value-of selecciona e imprime el valor especificado ej. customer-name Por default, en un documento XML, aquellos que no hacen match con ningún template pasan directamente a la salida. Por ello la última regla, para evitar esta situación <xsl:template match=“*”/>
  • 11. XSLT – Transformaciones XSL
  • 12. XQuery El porqué?: Necesidad de un lenguaje para manejar colecciones de datos XML DOM y SAX requieren mucho código y muy complejo Bindings2 no son útiles en todas las situaciones que se usa XML XSLT solo sirve cuando se desea obtener una representación diferente de los datos Un ejemplo donde no sirven ninguno de los tres mencionados es en las bases de datos XML Nativas Es necesario un lenguaje que permita definir de forma rápida y compacta, consultas o recorridos complejos sobre colecciones de datos en XML, los cuales devuelvan todos los nodos que cumplan ciertas condiciones. Además debe ser declarativo. Por eso se hizo … Xquery.
  • 13. XQuery  XQuery es un lenguaje de consultas diseñado para consultar colecciones de datos XML.  Es un lenguaje funcional.  Es semánticamente similar a SQL, pero incluye algunas capacidades de programación, referidas al manejo de jerarquías y orden de los datos.  En XQuery las expresiones y valores devueltos son dependientes del contexto Se derivó de las propuestas previas: XML-QL, YATL, Lorel, y Quilt, que a su vez derivó de Xpatch 1.0, XML-XQL, SQL y OQL. Está basado en XPath y en los XML Schema datatypes
  • 14. XQuery En XQuery las consultas pueden estar compuestas por cláusulas de hasta cinco tipos distintos. Las consultas siguen la norma FLWOR (leído como flower), siendo FLWOR las siglas de For, Let, Where, Order y Return
  • 15. XQuery For y let pueden usarse tantas veces como se desee en una consulta, incluso dentro de otras cláusulas. Las cláusulas where, order by y return puede ser declaradas solo una vez. La consulta siguiente es válida y devuelve los títulos de los libros que tienen algún autor se nombre “Stevens”: doc(quot;libros.xmlquot;)/bib/libro/titulo[/bib/libro/autor/apellido='Stevens']
  • 16. XQuery Diferencias entre FOR y LET FOR LET
  • 17. XQuery Expresiones Condicionales XQuery también soporta expresiones condicionales del tipo “if-then-else” con la misma semántica que en los lenguajes de programación más habituales (C, Java, Delphi, etc..).
  • 18. XQuery Cuantificadores Existenciales XQuery soporta dos cuantificadores existenciales llamados “some” y “every”, SOME EVERY
  • 19. XQuery Operadores y funciones principales XQuery soporta operadores y funciones matemáticas, de cadenas, para el tratamiento de expresiones regulares, comparaciones de fechas y horas, manipulación de nodos XML, manipulación de secuencias, comprobación y conversión de tipos y lógica booleana. Además permite definir funciones propias y funciones dependientes del entorno de ejecución del motor XQuery.
  • 20. XQuery Motores XQuery open - source. • Qexo: escrito en java, con licencia GPL, está dentro del paquete Kawa. • Saxon: escrito en Java. Saxon-B, GPL, muy básico. Saxon-Sa es propietario, muy completo. • Qizx/Open es el motor con licencia GPL mas completo actualmente. Otras herramientas relacionadas con XQuery Xquark Bridge: es una herramienta que permite importar y exportar datos a bases de datos relacionales utilizando XML. Soporta manipulación y consultas de datos en XML usando Xquery. Soporta MYSQL, Oracle, SQLServer, Sybase. Tiene licencia GPL. BumbleBee: se utiliza para evaluar motores Xquery. Soporta los siguientes motores Xquery open-source: Qexo, Qizx/ Open, Saxon, Cerisent, Ipedo, Ipsi-xq, X-hivel. Es propietario.
  • 21. XML Databases 2 categorías de documentos XML: • Data-Centric: usados para el transporte de datos ya que probablemente estaremos hablando de datos estructurados organizados en XML. • Document-Centric: tienen una estructura irregular y sobre todo, esa estructura es importante Para cada caso la manera de realizar una consulta es diferente: • Data-Centric: podemos pensar en datos estructurados que pueden extraerse del documento e indexarse con alguna base de datos convencional • Document-Centric: el reto no es tan trivial ya que se pretende hacer consultas pero no solo sobre el contenido, sino también sobre la estructura del documento. De modo que una base de datos XML es aquella que define un modelo lógico de un documento XML y almacena y recupera documentos de acuerdo a ese modelo.
  • 22. XML Databases Bases de Datos Bases de Datos Nativas Habilitadas para XML de XML
  • 23. WEB Semántica La Web actual posee una gran capacidad para almacenar datos y puede leer y visualizar los contenidos, pero no es capaz de pensar ni de entender todo lo que contiene. Se precisa, por lo tanto, un nueva Web -la Web semántica- que hará posible no sólo almacenar los datos, sino entender e interpretar el sentido de esta información. La Web Semántica ha sido impulsada por Tim Berners Lee, y otras personas relacionados con el W3C La Web semántica sería una red de documentos quot;más inteligentesquot; que permitan, a su vez, búsquedas más inteligentes. La idea sería aumentar la inteligencia de los contenidos de las páginas web dotándolas de contenido semántico. De esta forma, Berners-Lee presenta la nueva arquitectura en que se basará la Web Semántica, no entendida como una nueva Web, sino como una extensión de la Web existente. La Web Semántica vendría a ser una extensión de la Web actual dotada de significado, esto es, un espacio donde la información tendría un significado bien definido, de manera que pudiera ser interpretada tanto por agentes humanos como por agentes computerizados.
  • 24. WEB Semántica
  • 25. RDF: resource description framework Introducción Es muy difícil automatizar cualquier cosa en la Web, debido al volumen de información que contiene, no es posible gestionarla manualmente. La solución que se propone en RDF es el uso de metadatos para describir los datos contenidos en la Web. Los metadatos son quot;datos sobre los datosquot; o en nuestro caso quot;datos que describen recursos Webquot;. La distinción entre quot;datosquot; y quot;metadatosquot; no es incuestionable; es una diferencia creada en primera instancia por una aplicación particular, y muchas veces el mismo recurso se interpretará de ambas formas simultáneamente. XML introduce de cierta forma semántica a través de los propios metadatos (etiquetas), pero eso está ligado a la sintaxis principalmente. Necesitamos algo preciso y formal para poder definir la semántica de un documento XML.
  • 26. RDF: resource description framework Definición: RDF es una base para procesar metadatos; proporciona interoperabilidad entre aplicaciones que intercambian información legible por máquina en la Web. Se destaca por la facilidad para habilitar el procesamiento automatizado de los recursos Web. El objetivo general de RDF es definir un mecanismo para describir recursos que no cree ninguna asunción sobre un dominio de aplicación particular, ni defina (a priori) la semántica de algún dominio de aplicación. La definición del mecanismo debe ser neutral con respecto al dominio, sin embargo el mecanismo debe ser adecuado para describir información sobre cualquier dominio. RDF puede definirse como un sistema simple. Un mecanismo de razonamiento debe construirse sobre este sistema de referencia.
  • 27. RDF: resource description framework Reglas RDF usa URIs para identificar recursos. Describe estos Recursos con sus Propiedades, y a su vez los Valores de estas Propiedades. Rdf:RDF es la raíz de todo documento RDF y contiene los namespaces Rdf:Description identifica el recurso con el atributo.Contiene elementos que describen el recurso.
  • 28. RDF: resource description framework Contenedores: Un contenedor es un recurso que contiene cosas, las cuales son llamadas miembros, y no listas de valores. El elemento <rdf:Bag> es usado para describir miembros sin orden alguno. El elemento <rdf:Seq> es usado para describir miembros en forma ordenada El elemento <rdf:Alt> es usado para describir una lista de valores alternativos. El usuario solo puede seleccionar un valor.
  • 29. RDF: resource description framework Un contenedor solo dice que los recursos contenidos son miembros, pero no si otros miembros no son permitidos. Por lo tanto no puedo cerrarlo. Las Colecciones se usan con el propósito de describir grupos que contengan solo los miembros especificados. Una colección es descripta por el atributo rdf:parseType=quot;Collectionquot;.
  • 30. RDF: resource description framework Reification: son afirmaciones de alto nivel que permiten expresar conocimiento sobre otras afirmaciones. Permite ver a una afirmación como un recurso, representando explícitamente al sujeto, predicado, objeto y tipo de la afirmación..
  • 31. RDF: resource description framework Desventajas  Dos documentos pueden usar definiciones diferentes del mismo concepto y no se puede decidir que son equivalentes.  Tiene problemas de ambiguedad en la definición de sus elementos.  No se permite el manejo/definición de restricciones de integridad.  RDF no se ajusta bien a documentos XML.  Algunas partes de RDF son complejas.
  • 32. RDFS: RDF Schema Definición: Es un conjunto de Recurso y Propiedades y esta echo para facilitar la definición de vocabularios RDF Schema implementa un modelo de datos orientado por objetos. Se diferencia de los modelos de datos OO en que se debe seguir una metodología bottom-up Se definen las propiedades y luego se establece a que clases caracterizan. XML: elementos, atributos y notación de las etiquetas. URI: Identificación Universal. NameSpaces: identificación de los vocabularios. RDF: modelo de tripletas (sujeto – predicado - valor) Estructuras: Clases: grupo de entes o recursos con características comunes. Están usualmente caracterizados por un URI. Instancias: objetos de clases o interrelaciones. La extensión de una clase, es el conjunto de instancias de la misma. Relación IS-A: relación de subclase entre clases. Propiedades: representa la característica de un ente o asociaciones entre grupos de entes. Dominio: representa el dominio de una propiedad.
  • 33. RDFS: RDF Schema Elementos: rdfs:Class: representa una clase. Se usa conjuntamente con rdf:Property, rdfs:rango y rdfs:domain para asignar propiedades a una clase. Requiere de un URI como identificador en el atributo rdf:about. Los elementos <rdfs:label>, <rdfs:subclassOf>, <rdfs:comment>, <rdfs:isDefinedBy> se usan como subelementos.
  • 34. RDFS: RDF Schema Elementos:  rdfs:label: define una etiqueta para una clase o propiedad.  rdfs:subClassOf: especifica que una clase es la especialización de otra clase. La clase hereda todas las propiedades de la clase madre.  <rdfs:comment>: permite añadir comentarios a las clases y propiedades.  <rdfs:isDefinedBy>: define el nameSpace del sujeto.  rdfs: domain: define cual es la clase a la que una propiedad pertenece.  rdfs:range: define el conjunto de valores posibles de una propiedad.  rdfs:subPropertyof: declara que la propiedad sujeto es subpropiedad de otra propiedad.  rdfs:seeAlso: permite referirse a un recurso que provee información adicional al recurso actual.  rdfs:Literal: representa un valor constante representado como una cadena de caracteres.
  • 35. RDFS: RDF Schema
  • 36. Lenguaje SPARQL En el marco de la recuperación y organización de la información las siglas SPARQL (SPARQL Protocol And RDF Query Language) definen un lenguaje de recuperación para RDF/RDFS, debido a que SPARQL permite consultas que consisten en patrones de tripletas. Esta tecnología de consulta SPARQL permite que las personas pueden centrarse en la información que quieren, sin tener en cuenta la tecnología de la base de datos o el formato utilizado para almacenar esos datos. Debido a que las consultas en el lenguaje SPARQL expresan objetivos de alto nivel, es fácil extenderlos a orígenes de datos inesperados, o incluso transferirlos a nuevas aplicaciones. El lenguaje de recuperación SPARQL ha sido diseñado para un uso a escala de la Web, así permite hacer consultas sobre orígenes de datos distribuidos, independientemente del formato. A la hora de recuperar información la creación de una sola consulta a través de diferentes almacenes es mejor que múltiples consultas, además de tener un coste menor y de ofrecer unos resultados mejores.
  • 37. SPARQL
  • 38. Taxonomías Una taxonomía es una jerarquía semántica en la cual entidades de información son relacionadas ya sea por subclasificaciones o subclases Por qué usar taxonomías ?  Es importante tener presencia, si algo no se encuentra no tiene valor para el que lo busca.  Encontrar productos y servicios  Para navegar por la información Actualmente existen muchas formas de generar taxonomías, un ejemplo son los XML TopicMaps (http://www.topicmaps.org/xtm) que proveen un modelo y gramática para representar la estructura de recursos de información usados para definir tópicos y las asociaciones (relaciones) entre ellos.
  • 39. Ontologías Algunas definiciones previas  quot;Una ontología es un vocabulario acerca de un dominio: términos + relaciones + reglas de combinación para extender el vocabularioquot;. Neches, 1991.  quot;Una ontología es la especificación de una conceptualizaciónquot;. Gruber, 1993. (Aquí el término conceptualización se refiere a un modelo conceptual).  quot;Una ontología es una especificación formal de una conceptualización compartidaquot;. Borst, 1997. (Aquí el término forma se refiere a que es procesable por ordenador).  quot;Una ontología es una base de datos que describe los conceptos generales o sobre un dominio, algunas de sus propiedades y cómo los conceptos se relacionan unos con otrosquot;. Weingand, 1997.  Una ontología necesariamente incluirá un vocabulario de términos y una especificación de su significado (definiciones e interrelaciones entre conceptos) que impone estructura al dominio y restringe las posibles interpretaciones. Uschold-Jasper.
  • 40. Ontologías En resumen, una ontología es un sistema de representación del conocimiento que resulta de seleccionar un dominio o ámbito del conocimiento, y aplicar sobre él un método con el fin de obtener una representación formal de los conceptos que contiene y de las relaciones que existen entre dichos conceptos. Una ontología es una especificación de una conceptualización, esto es, un marco común o una estructura conceptual sistematizada y de consenso no sólo para almacenar la información, sino también para poder buscarla y recuperarla. Una ontología define los términos y las relaciones básicas para la compresión de un área del conocimiento, así como las reglas para poder combinar los términos para definir las extensiones de este tipo de vocabulario controlado. Todas las conceptualizaciones (definiciones, categorizaciones, jerarquías, propiedades, herencia, etc.) de una ontología pueden ser procesables por máquina.
  • 41. Ontologías Beneficios • proporcionan una forma de representar y compartir el conocimiento utilizando un vocabulario común • permiten usar un formato de intercambio de conocimiento • proporcionan un protocolo específico de comunicación • permiten una reutilización del conocimiento • son generalmente expresadas en un lenguaje basado en lógica, lo que les permite ser detalladas, exactas, consistentes y completas.
  • 42. Ontologías Componentes • Conceptos: son las ideas básicas que se intentan formalizar. Clases de objetos, métodos, planes, estrategias, procesos de razonamiento, etc. • Relaciones: representan la interacción y enlace entre los conceptos de un dominio. Suelen formar la taxonomía del dominio. Subclase-de, parte-de, parte-exhaustiva-de, conectado-a, etc. • Funciones: son un tipo concreto de relación donde se identifica un elemento mediante el cálculo de una función que considera varios elementos de la ontología. Asignar-fecha, categorizar-clase, etc. • Instancias: se utilizan para representar objetos determinados de un concepto. • Reglas de restricción o axiomas: son teoremas que se declaran sobre relaciones que deben cumplir los elementos de la ontología. Los axiomas, junto con la herencia de conceptos, permiten inferir conocimiento que no esté indicado explícitamente en la taxonomía de conceptos
  • 43. Ontologías Conceptos Claves Clase: Es un objeto que define una categoría. Describe conceptos en el dominio del discurso. Existen las Subclase, clases hija de alguna otra clase. Clase jerárquica: colección de clases conectadas por relaciones(class hierarchy). Casos (instance): Ejemplos específicos pertenecientes a alguna clase,objetos de una clase. Roles (Slots): Propiedades de cada concepto que describen varias características y atributos del concepto. Facetas: Se utilizan para definir qué tipo de valor puede contener un slot particular, valores permitidos, número de valores, etc. También se denominan restricciones de roles. Valor: Describe una propiedad que se aplica a alguna clase o instance. Tipo: Define el tipo de valor (como cadena de caracteres, número, booleano, etc.) Cardinalidad: Define cuántos valores puede tener un slot individual (máximo y mínimo). Herencia (inherence): Es el proceso por el cual las subclases e instances de alguna clase heredan propiedades y valores definidos más arriba en la jerarquía. Variable: Espacio vacío que puede llenarse preguntando a clases e instances. Cada variable comienza con un signo de interrogación. Relación: Nuevo conocimiento que se obtiene por deducción, partiendo del conocimiento que se encuentra en la ontología. Las relaciones utilizan variables. También hay que tener en cuenta: primitiva, base de conocimiento y refinamiento
  • 44. Ontologías Clasificaciones: Según el ámbito del conocimiento al que se apliquen: Generales: son las ontologías de nivel más alto ya que describen conceptos generales (espacio, tiempo, materia, objeto, etc.) De dominio: describen el vocabulario de un dominio concreto del conocimiento. Especificas: son ontologías especializadas que describen los conceptos para un campo limitado del conocimiento o una aplicación concreta. Según el tipo de agente al que vayan destinadas: Lingüísticas: se vinculan a aspectos lingüísticos, esto es, a aspectos gramáticos, semánticos y sintácticos destinados a su utilización por los seres humanos. No lingüísticas: destinadas a ser utilizadas por robots y agentes inteligentes. Mixtas: combinan las características de las anteriores. Según el grado o nivel de abstracción y razonamiento lógico que permitan: Descriptivas: incluyen descripciones, taxonomías de conceptos, relaciones entre los conceptos y propiedades, pero no permiten inferencias lógicas. Lógicas: permiten inferencias lógicas mediante la utilización de una serie de componentes como la inclusión de axiomas, etc.
  • 45. Ontologías A la hora de diseñar un ontología debemos tener en cuenta 5 cuestiones clave: claridad: una ontología debe poder comunicar de manera efectiva el  significado de sus términos. Las definiciones serán lo más objetivas posibles y deben explicarse también en lenguaje natural. coherencia: una ontología debe permitir hacer inferencias que sean  consistentes con las definiciones. extensibilidad: deben anticiparse nuevos usos para así poder permitir  extensiones y especializaciones. especificidad: se debe especificar a nivel de conocimiento, sin que  dependa de una codificación particular a nivel de símbolo. precisión: debe hacerse la menor cantidad de quot;suposicionesquot; acerca del  mundo modelado.
  • 46. Ontologías Lenguajes de Ontologías Simple HTML Ontology Extensions: Fue el primer lenguaje de etiquetado para diseñar ontologías en la Web. Este lenguaje nació antes de que se ideara la Web Semántica. Las ontologías y las etiquetas se incrustaban en archivos HTML. Ontology Inference Layer: Este lenguaje, derivado en parte de SHOE, fue impulsado también por el proyecto de la Unión Europea On-To.Knoledge. Utiliza ya la sintaxis de XML y está definido como una extensión de RDFS. La principal carencia de este lenguaje es la falta de expresividad para declarar axiomas. DAML y OIL: Se basa ya en estándares del W3C. El lenguaje DAML se desarrolló como una extensión del lenguaje XML y de RDF y para extender el nivel de expresividad de RDFS. DAML- OIL aleja del modelo basado en clases y potencia la lógica descriptiva. Es más potente que RDFS para expresar ontologías OWL: OWL Web Ontology Language (http://www.w3.org/TR/owl-features/). Lo veremos a continuación. Es la solución que propone el W3Cpara describir ontologías. Knowledge Interchange Format: es un lenguaje para representar ontologías basado en la lógica de primer orden.
  • 47. Ontologías Las ontologías, son pues, vocabularios comunes que, junto con otras tecnologías que proveen de herramientas y lenguajes para generar marcado y procesamiento semántico, harán posible la WebSemántica. Por esto, es necesario que los documentos generados para la Web posean una semántica formalizada en ontologías con el fin de que este conocimiento, sea intercambiado por los agentes de software. Un repositorio de ontologías y recursos sobre ontologías, que también ofrece un buscador y un navegador internos, se encuentra en SchemaWeb: http://www.schemaweb.info/schema/BrowseSchema.aspx También podemos encontrar en la red numerosos recursos sobre ontologías: herramientas, aplicaciones y software, tutoriales y acceso a ontologías publicadas en OpenDirectory: http://dmoz.org/Reference/Knowledge_Management/Knowledge_Representation/Ontologies/ y en otras muchas webs como Kaon: http://kaon.semanticweb.org/ontologies
  • 48. Ontologías También existen herramientas y programas para realizar anotaciones en páginas web con lenguajes de marcado propios.  CORESE: una herramienta RDF basada en grafos conceptuales.  Kowari: escrita en Java y de código abierto que soporta RDF y OWL.  Ontomat: herramienta de código abierto que soporta marcado OWL  PROTÉGÉ: editor de ontologías de código abierto para construir ontologías sobre RDFS, OWL y XML Schema. Es uno de los editores más autilizados.  SUMO (Suggestd Upper Merged Ontology): http://www.ontologyportal.org/  TM-Builder: es un constructor de ontologías basado en Topic Maps  WSMO Studio: es un editor de ontologías para modelado de servicios de la Web Semántica
  • 49. Ontologías Además, para potenciar el uso de ontologías, se han desarrollado aplicaciones específicas de búsqueda de ontologías en la Web. Tales como OntoAgent: http://www.i-u.de/schools/eberhart/ontoagent/, para que indiquen a los usuarios las ontologías ya existentes y sus características para poder utilizarlas en su sistema. Herramientas como OntoJava: http://www.i-u.de/schools/eberhart/ontojava/ un compilador que traslada ontologías realizadas con Protégé a bases de datos de objetos Java. OntoSQL que permite usar una base de datos relacional como una base de datos deductiva http://www.i-u.de/schools/eberhart/ontosql/ O RDFCrawler para buscar y escanear datos RDF en la Web: http://www.i-u.de/schools/eberhart/rdf/
  • 50. OWL - Web Ontology Language Su antecedente es DAML+OIL, en los cuales se inspiraron los creadores de OWL para crear el lenguaje. Desarrollado por el Web Ontology Group del W3C Consortium, actualmente es el lenguaje estándar para descripción de ontologías en la Web. OWL extiende RDFS para permitir la expresión de relaciones complejas entre diferentes clases RDFS, y mayor precisión en las restricciones de clases y propiedades específicas. OWL proporciona más vocabulario que RDF(S) para describir propiedades y clases tal como: relaciones entre clases (por ejemplo “clases disjuntas”), cardinalidad (por ejemplo “exactamente uno”), igualdad, más tipos para las propiedades, características de las propiedades (por ejemplo “simetría”), y clases enumeradas.
  • 51. OWL - Web Ontology Language De acuerdo al nivel de expresibilidad que se quiera: 1. OWL Lite da soporte a aquellos usuarios que primordialmente necesitan una clasificación jerárquica y restricciones simples. Por ejemplo, soporta restricciones cardinales, pero solamente permite valores cardinales de 0 ó 1. OWL Lite tiene una más baja complejidad formal que OWL DL. 3. OWL DL da soporte a aquellos usuarios que quieren la máxima expresividad mientras conservan completamente la computacionalidad y resolubilidad. OWL DL incluye todos los constructores del lenguaje OWL, pero pueden usarse solamente bajo ciertas restricciones OWL DL se denomina así debido a su correspondencia con las descripciones lógicas (DL), un campo de investigación que han estudiado los lógicos para la fundación formal de OWL. 5. OWL Full da soporte a usuarios que requieren el máximo de expresividad y la libertad sintáctica de RDF sin garantías computacionales. Por ejemplo, en OWL Full una clase puede ser tratada simultáneamente como una colección de individuos y como un individuo por derecho propio. OWL Full permite a una ontología aumentar el significado del vocabulario predefinido (RDF ó OWL).
  • 52. OWL - Web Ontology Language Sintaxis y Semántica
  • 53. OWL - Web Ontology Language Sintaxis y Semántica
  • 54. OWL - Web Ontology Language Ejemplo
  • 55. OWL - Web Ontology Language Ejemplo
  • 56. OWL - Web Ontology Language Ejemplo
  • 57. Protégé Protégé es un editor de ontologías de código abierto para construir ontologías sobre RDFS, OWL y XML Schema. La plataforma Protégé soporta dos formas de modelar ontologías mediante los editores “Protégé-Frames” y “Protégé-OWL”. Protégé está basado en Java, es extensible, y provee un ambiente plug-and-play que lo hace una base flexible para el rápido prototipado y descubrimiento de aplicaciones.
  • 58. Protégé Protégé-frames screenshot
  • 59. Protégé Protégé-owl screenshots
  • 60. Referencias / Bibliografía http://www.w3.org/RDF/ http://www.w3.org/2001/sw/ http://www.sidar.org/recur/desdi/traduc/es/rdf/rdfesp.htm http://www.w3schools.com/rdf/default.asp http://www.w3schools.com/rdf/RDFvalidationresult.htm http://www.ldc.usb.ve/~ruckhaus/materias/ci7453/clase4.pdf http://www.w3c.es/Prensa/2007/nota070123_xquery.html http://www.w3.org/TR/2007/REC-xpath20-20070123/ http://www.w3.org/TR/2007/REC-xslt20-20070123/ http://www.w3.org/TR/2007/REC-xquery-20070123/ http://www.sidar.org/recur/desdi/traduc/es/xml/xpath.html http://www.w3schools.com/xpath/xpath_operators.asp http://www.w3.org/TR/WD-xptr http://wapedia.mobi/es/XPointer http://www.hipertexto.info/documentos/web_semantica.htm http://www.wshoy.sidar.org/index.php?2005/12/09/30-ontologias-que-son-y-para-que-sirven http://www.w3.org/2001/sw/ http://www.hipertexto.info/documentos/ontologias.htm http://ict.udlap.mx/people/carlos/ Todas visitadas entre el 14-18/05/2008.