SlideShare uma empresa Scribd logo
1 de 60
Datos en la Web
    2º Clase – Web semántica




                               Galiano, Sebastián
                               LCC, UNR
                               Rosario, 2008
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
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
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
Xpath
Ejemplos
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.
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
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).
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
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=“*”/>
XSLT – Transformaciones XSL
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.
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
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
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']
XQuery
      Diferencias entre FOR y LET




FOR




LET
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..).
XQuery
Cuantificadores Existenciales
XQuery soporta dos cuantificadores existenciales llamados “some” y “every”,
SOME




EVERY
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.
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.
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.
XML Databases
  Bases de Datos       Bases de Datos Nativas
Habilitadas para XML          de XML
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.
WEB Semántica
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.
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.
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.
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.
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;.
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..
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.
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.
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.
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.
RDFS: RDF Schema
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.
SPARQL
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.
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.
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.
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.
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
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
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.
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.
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.
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
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
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/
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.
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).
OWL - Web Ontology Language
      Sintaxis y Semántica
OWL - Web Ontology Language
      Sintaxis y Semántica
OWL - Web Ontology Language
Ejemplo
OWL - Web Ontology Language
Ejemplo
OWL - Web Ontology Language
Ejemplo
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.
Protégé
Protégé-frames screenshot
Protégé
Protégé-owl screenshots
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.

Mais conteúdo relacionado

Mais procurados (18)

MAPEO OBJETO RELACIONAL
MAPEO OBJETO RELACIONAL MAPEO OBJETO RELACIONAL
MAPEO OBJETO RELACIONAL
 
Presentacion Sql
Presentacion SqlPresentacion Sql
Presentacion Sql
 
Abf leccion 12
Abf leccion 12Abf leccion 12
Abf leccion 12
 
Lenguaje transact-sql
Lenguaje transact-sqlLenguaje transact-sql
Lenguaje transact-sql
 
Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y Salida
 
Entrada y salida de datos en java
Entrada y salida de datos en javaEntrada y salida de datos en java
Entrada y salida de datos en java
 
screencast y bases de datos
screencast y bases de datos screencast y bases de datos
screencast y bases de datos
 
Trabajo web semantica
Trabajo web semanticaTrabajo web semantica
Trabajo web semantica
 
Ado.net
Ado.netAdo.net
Ado.net
 
Lenguajes de Marcas XML
Lenguajes de Marcas XMLLenguajes de Marcas XML
Lenguajes de Marcas XML
 
Ado net
Ado netAdo net
Ado net
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datos
 
XSLT
XSLTXSLT
XSLT
 
Acceso a datos
Acceso a datosAcceso a datos
Acceso a datos
 
OLE BD
OLE BDOLE BD
OLE BD
 
Informe base de datos 2
Informe base de datos 2Informe base de datos 2
Informe base de datos 2
 
Oracle Características y tipos de datos
Oracle Características y tipos de datos Oracle Características y tipos de datos
Oracle Características y tipos de datos
 
ADO .NET
ADO .NETADO .NET
ADO .NET
 

Destaque

SMi Group's Airborne ISR 2015 conference
SMi Group's Airborne ISR 2015 conferenceSMi Group's Airborne ISR 2015 conference
SMi Group's Airborne ISR 2015 conferenceDale Butler
 
marine claim experts services by constellation marine services
marine claim experts services by constellation marine servicesmarine claim experts services by constellation marine services
marine claim experts services by constellation marine servicesConstellation Marine Services
 
Raphael Gagliano pitchar - hur får man reklambyråer på fall?
Raphael Gagliano pitchar - hur får man reklambyråer på fall?Raphael Gagliano pitchar - hur får man reklambyråer på fall?
Raphael Gagliano pitchar - hur får man reklambyråer på fall?CRED Creative Destination Halland
 
Revista MadX Regalos Navidad 2012 - Madrid Xanadú compras
Revista MadX Regalos Navidad 2012 - Madrid Xanadú comprasRevista MadX Regalos Navidad 2012 - Madrid Xanadú compras
Revista MadX Regalos Navidad 2012 - Madrid Xanadú comprasMadrid Xanadú
 
Agenda de actividades encuentro latinoamericano de diseño 2011
Agenda de actividades   encuentro latinoamericano de diseño 2011Agenda de actividades   encuentro latinoamericano de diseño 2011
Agenda de actividades encuentro latinoamericano de diseño 2011Carla Rodriguez
 
Three Things
Three ThingsThree Things
Three Thingsdrnusrat
 
Análisis de Publicidad en Internet
Análisis de Publicidad en InternetAnálisis de Publicidad en Internet
Análisis de Publicidad en InternetIndigo Marketing
 
Factores determinantes de la evasión publicitaria en redes sociales - Present...
Factores determinantes de la evasión publicitaria en redes sociales - Present...Factores determinantes de la evasión publicitaria en redes sociales - Present...
Factores determinantes de la evasión publicitaria en redes sociales - Present...University of Balearic Islands
 
Spiruline malnutrition.pourquoi.la.spiruline. .j.falquet.antenna.ch.11p
Spiruline malnutrition.pourquoi.la.spiruline. .j.falquet.antenna.ch.11pSpiruline malnutrition.pourquoi.la.spiruline. .j.falquet.antenna.ch.11p
Spiruline malnutrition.pourquoi.la.spiruline. .j.falquet.antenna.ch.11ptawfikh9
 
Kcresst Communication Company Profile
Kcresst Communication Company ProfileKcresst Communication Company Profile
Kcresst Communication Company ProfileKcresst Communication
 
Make a book guide 2
Make a book guide 2 Make a book guide 2
Make a book guide 2 nztaeducation
 

Destaque (19)

Vorstellung Ovosok
Vorstellung OvosokVorstellung Ovosok
Vorstellung Ovosok
 
SMi Group's Airborne ISR 2015 conference
SMi Group's Airborne ISR 2015 conferenceSMi Group's Airborne ISR 2015 conference
SMi Group's Airborne ISR 2015 conference
 
marine claim experts services by constellation marine services
marine claim experts services by constellation marine servicesmarine claim experts services by constellation marine services
marine claim experts services by constellation marine services
 
Solidos cristalinos
Solidos cristalinosSolidos cristalinos
Solidos cristalinos
 
Raphael Gagliano pitchar - hur får man reklambyråer på fall?
Raphael Gagliano pitchar - hur får man reklambyråer på fall?Raphael Gagliano pitchar - hur får man reklambyråer på fall?
Raphael Gagliano pitchar - hur får man reklambyråer på fall?
 
Revista MadX Regalos Navidad 2012 - Madrid Xanadú compras
Revista MadX Regalos Navidad 2012 - Madrid Xanadú comprasRevista MadX Regalos Navidad 2012 - Madrid Xanadú compras
Revista MadX Regalos Navidad 2012 - Madrid Xanadú compras
 
Maltercharts
MalterchartsMaltercharts
Maltercharts
 
Pasemos a la Accion
Pasemos a la AccionPasemos a la Accion
Pasemos a la Accion
 
Agenda de actividades encuentro latinoamericano de diseño 2011
Agenda de actividades   encuentro latinoamericano de diseño 2011Agenda de actividades   encuentro latinoamericano de diseño 2011
Agenda de actividades encuentro latinoamericano de diseño 2011
 
Three Things
Three ThingsThree Things
Three Things
 
Análisis de Publicidad en Internet
Análisis de Publicidad en InternetAnálisis de Publicidad en Internet
Análisis de Publicidad en Internet
 
AHC. Hospital Universitari de Bellvitge
AHC. Hospital Universitari de BellvitgeAHC. Hospital Universitari de Bellvitge
AHC. Hospital Universitari de Bellvitge
 
Factores determinantes de la evasión publicitaria en redes sociales - Present...
Factores determinantes de la evasión publicitaria en redes sociales - Present...Factores determinantes de la evasión publicitaria en redes sociales - Present...
Factores determinantes de la evasión publicitaria en redes sociales - Present...
 
Mi portfolio. Cristina Giménez
Mi portfolio. Cristina GiménezMi portfolio. Cristina Giménez
Mi portfolio. Cristina Giménez
 
La guia del hogar
La guia del hogarLa guia del hogar
La guia del hogar
 
Spiruline malnutrition.pourquoi.la.spiruline. .j.falquet.antenna.ch.11p
Spiruline malnutrition.pourquoi.la.spiruline. .j.falquet.antenna.ch.11pSpiruline malnutrition.pourquoi.la.spiruline. .j.falquet.antenna.ch.11p
Spiruline malnutrition.pourquoi.la.spiruline. .j.falquet.antenna.ch.11p
 
Que es el infierno
Que es el infiernoQue es el infierno
Que es el infierno
 
Kcresst Communication Company Profile
Kcresst Communication Company ProfileKcresst Communication Company Profile
Kcresst Communication Company Profile
 
Make a book guide 2
Make a book guide 2 Make a book guide 2
Make a book guide 2
 

Semelhante a Datos En La Web - Clase 2

Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...Liz Ocampo
 
XML y RDF en Web Semántica
XML y RDF en Web SemánticaXML y RDF en Web Semántica
XML y RDF en Web Semánticaguest86406e2
 
Edición Digital: Lenguajes de marcado
Edición Digital: Lenguajes de marcadoEdición Digital: Lenguajes de marcado
Edición Digital: Lenguajes de marcadoJesús Tramullas
 
GestoXML: Sistema de Gestión Documental basado en XML
GestoXML: Sistema de Gestión Documental basado en XMLGestoXML: Sistema de Gestión Documental basado en XML
GestoXML: Sistema de Gestión Documental basado en XMLToni Martínez Carballo
 
Parte 2. web semantica eva mendez - argentina - 301009
Parte 2. web semantica   eva mendez - argentina - 301009Parte 2. web semantica   eva mendez - argentina - 301009
Parte 2. web semantica eva mendez - argentina - 301009izrxrzi
 
Procesamiento de XML en C#
Procesamiento de XML en C#Procesamiento de XML en C#
Procesamiento de XML en C#Jordan-P
 
Formacinapachesolr tv3-150130071830-conversion-gate02
Formacinapachesolr tv3-150130071830-conversion-gate02Formacinapachesolr tv3-150130071830-conversion-gate02
Formacinapachesolr tv3-150130071830-conversion-gate02Antonio Meléndez
 
Websemantica 1218250849453303 9
Websemantica 1218250849453303 9Websemantica 1218250849453303 9
Websemantica 1218250849453303 9Negra Morales
 
Web semántica 2do comunicacion "A"
Web semántica 2do comunicacion "A"Web semántica 2do comunicacion "A"
Web semántica 2do comunicacion "A"Negra Morales
 

Semelhante a Datos En La Web - Clase 2 (20)

Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
 
XML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNticaXML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNtica
 
XML y RDF en Web Semántica
XML y RDF en Web SemánticaXML y RDF en Web Semántica
XML y RDF en Web Semántica
 
Web semántica
Web semánticaWeb semántica
Web semántica
 
Capacitacion xquery
Capacitacion xqueryCapacitacion xquery
Capacitacion xquery
 
Lenguajes de marcado
Lenguajes de marcadoLenguajes de marcado
Lenguajes de marcado
 
Edición Digital: Lenguajes de marcado
Edición Digital: Lenguajes de marcadoEdición Digital: Lenguajes de marcado
Edición Digital: Lenguajes de marcado
 
Web semantic
Web semanticWeb semantic
Web semantic
 
GestoXML: Sistema de Gestión Documental basado en XML
GestoXML: Sistema de Gestión Documental basado en XMLGestoXML: Sistema de Gestión Documental basado en XML
GestoXML: Sistema de Gestión Documental basado en XML
 
Web Semántica
Web SemánticaWeb Semántica
Web Semántica
 
Parte 2. web semantica eva mendez - argentina - 301009
Parte 2. web semantica   eva mendez - argentina - 301009Parte 2. web semantica   eva mendez - argentina - 301009
Parte 2. web semantica eva mendez - argentina - 301009
 
Procesamiento de XML en C#
Procesamiento de XML en C#Procesamiento de XML en C#
Procesamiento de XML en C#
 
Oracle xmldb
Oracle xmldbOracle xmldb
Oracle xmldb
 
Tema 2
Tema 2Tema 2
Tema 2
 
Formacinapachesolr tv3-150130071830-conversion-gate02
Formacinapachesolr tv3-150130071830-conversion-gate02Formacinapachesolr tv3-150130071830-conversion-gate02
Formacinapachesolr tv3-150130071830-conversion-gate02
 
Formación apache Solr
Formación apache SolrFormación apache Solr
Formación apache Solr
 
Xml
XmlXml
Xml
 
Websemantica
WebsemanticaWebsemantica
Websemantica
 
Websemantica 1218250849453303 9
Websemantica 1218250849453303 9Websemantica 1218250849453303 9
Websemantica 1218250849453303 9
 
Web semántica 2do comunicacion "A"
Web semántica 2do comunicacion "A"Web semántica 2do comunicacion "A"
Web semántica 2do comunicacion "A"
 

Último

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (15)

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Datos En La Web - Clase 2

  • 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
  • 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=“*”/>
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.