Motores de recuperación de documentos XML/RDF Hoy en día los buscadores Web son utilizados por la mayoría de los internautas. ¿Quién no ha oído hablar de Google, Yahoo o MSN? Estos buscadores funcionan mediante motores de búsquedas, los cuales recuperan información de la Web mediante distintos mecanismos. El problema de los buscadores de Internet actuales como Google, se basan en un sistema en el que los usuarios meten manualmente los enlaces y al hacer una búsqueda se aplica un algoritmo de emparejamiento de patrones, que tiene en cuenta el número de veces que se hace referencia a cada URL candidata a ser resultado de búsqueda. Aunque su utilidad no se puede negar, y ha hecho que se cambie la forma de buscar información, también estamos hartos de realizar búsquedas en el que se pida un determinado tema y el buscador nos devuelva muchísimas respuestas que no solucionan nuestra petición. La Web semántica nos permitirá hacer búsquedas muy precisas teniendo en cuenta diferentes parámetros. Por ejemplo, se podrá buscar una reserva de hotel en una determinada zona, para unas fechas concretas, dónde la habitación tenga un número determinado de camas, etc. Podemos pensar que este tipo de selecciones las podemos realizar actualmente, y es cierto, ya que mediante los sistemas multiagente se consiguen estos resultados. Un agente es una entidad de software que funciona continua y autónomamente en un medio particular a menudo habitado por otros agentes y procesos, sin requerir de guía constante o intervención humana. Los sitemas multiagentes se han propuesto como la mejor herramienta para realizar aprendizaje automático en Internet. Mediante esta herramienta es posible hacer recomendaciones acertadas del tipo "pincha en este sitio Web, pues me parece que te interesa" o "esta persona tiene intereses muy similares a los tuyos, te interesaría contactar con ella" y esto lo hará software puro y duro, sin más intervención humana que la de la propia acción del usuario y acertarán. También será posible clasificar automáticamente sitios o documentos de una manera acertada y un montón de más cosas que ni siquiera nos imaginamos. El problema con el que ahora se topa la tecnología de sistemas multiagente es la volatilidad y desestructuración de la información base para realizar las inferencias. Volviendo al ejemplo del sistema multiagente para encontrar el viaje de tus sueños el único lugar desde el que puede recuperar la información son páginas html en forma de tablas. Éstas páginas pueden cambiar su estructura cada mes, lo que requiere cambios de programación. Este problema se soluciona si la información se almacenada adecuadamente en una base de datos o en ficheros xml/rdf. Actualmente se están desarrollando motores de búsquedas que utilizan las nuevas tecnologías como RDF, XML, etcétera, es decir, buscadores que aprovechen las ventajas que aporta la Web Semántica. Se ha escrito mucho acerca de la Web Semántica, como si fuese una tecnología que fuese a reemplazar a la Web de hoy. "En realidad," contó Eric Miller, Líder de la Actividad de Web Semántica del W3C, "es más una Evolución que una Revolución Web". La Web Semántica se construye a través de cambios incrementales, llevando a los documentos y datos ya disponibles en la Web descripciones legibles por máquinas. XML, RDF y OWL permiten a la Web ser una infraestructura global para la compartición de datos y documentos, lo que también hace más fácil y fiable la búsqueda y reutilización de información." La Actividad de Web Semántica del W3C se apoya en trabajo de otras Actividades del W3C, tales como la Actividad XML. Se concentra en desarrollar tecnologías estándar, encima de XML, que permitan el crecimiento de la Web Semántica. Documentos XML/RDF ¿Qué es XML? XML es la solución a la mayor parte de estos problemas. XML se trata de un lenguaje de definición de datos de carácter general utilizado para ofrecer una mayor cohesión en el intercambio de datos B2B (Business-to-bussines) o B2C (Business-to-consumer) y que permite la creación de nuevos lenguajes gracias a sus mecanismos de extensibilidad. Aunque ocasionalmente pueda utilizarse XML para definir formatos, de forma habitual se utiliza apoyado por una serie de lenguajes o tecnologías adicionales que sirven para proporcionar datos en pantalla o impresora. XML se trata de un nuevo lenguaje de marcado, derivado de SGML, pero mucho más moderno y preparado para la era de Internet. XML es una forma de representar datos que han de circular por la red y por ello no está ligado necesariamente a su presentación en un navegador. Su uso puede ir más allá de la Red, e incluso de la propia informática, al tratarse de un metalenguaje. Este estándar responde a la necesidad de disponer formatos para describir diferentes tipos de contenidos de forma electrónica, para poder almacenarlos, procesarlos y transmitirlos. Sin entrar en aplicaciones específicamente informáticas, en múltiples campos es necesario disponer de notaciones que permitan describir contenidos. XML está siendo aplicado en multitud de campos y para diversos fines: archivo electrónico y gestión de contenidos, publicaciones web, intercambio electrónico de documentos, formato interno de herramientas, software, comercio electrónico, educación, y tantos otros campos que sería imposible reflejar (algunos campos menos obvios son: química, biología, teología, turismo, derecho, sanidad,...). Y es que XML es un estándar no sólo para la Web, es un estándar que ha nacido en el mundo Web y que se utiliza dentro y fuera de su ámbito. XML, es el estándar de Extensible Markup Language. XML no es más que un conjunto de reglas para definir etiquetas semánticas que nos organizan un documento en diferentes partes. XML es un metalenguaje que define la sintaxis utilizada para definir otros lenguajes de etiquetas estructurados. Es un subconjunto de SGML especializado en la gestión de información para la Web. XML es una versión simplificada, reducida de SGML, que quizá quita algo de libertad a la hora de definir lenguajes concretos, pero da mayor flexibilidad y permite definir procesadores de lenguajes más eficientes de una forma mucho más sencilla. Para definir estos lenguajes concretos se tiene que hacer uso de una notación. Esta notación que ha sido estandarizada por el W3C el 10 de febrero de 1998 se denomina DTD (Document Type Definition), siguiendo la tradición de SGML. Un DTD define el tipo concreto de aplicación que nosotros queramos utilizar. De todas maneras, en mayo de 2001 el W3C especificó otra forma de definir aplicaciones XML. Se trata de XML Schema. XML es un metalenguaje. Eso quiere decir que XML permite definir diferentes lenguajes de marcado, utilizando DTDs o Schemas. Un lenguaje de marcado es un lenguaje que permite añadir marcas o etiquetas que describen el contenido del documento para dar semántica o indicar la presentación del contenido. Habitualmente, el contenido es textual. XML es un método para introducir datos estructurados en un fichero de texto. Cuando hablamos de datos estructurados, hablamos de cosas tales como hojas de cálculo, libretas de direcciones, parámetros de configuración, transacciones financieras, dibujos técnicos, etc. Los programas que producen esta clase de datos a menudo también los guardan en disco, por lo que pueden usar tanto un formato binario como un formato de texto. XML consiste en una serie de reglas, pautas, convenciones, para planificar formatos texto para tales datos, de manera que produzcan archivos que sean fácilmente generados y leídos (por un ordenador) que son inequívocos, y que evitan escollos comunes como la falta de extensibilidad, falta de soporte para la internacionalización o localismo, y la dependencia de una determinada plataforma. Los archivos XML son archivos de texto porque permiten a los expertos depurar errores en las aplicaciones, más fácilmente, y en casos de emergencia, pueden usar un simple editor de texto para arreglar un archivo XML estropeado. Por ver un inconveniente, se puede hablar de que las reglas para los archivos XML son más estrictas que para los archivos HTML, ya que el olvido de una etiqueta, o un atributo sin comillas, hacen que el archivo sea inservible. En la especificación oficial de XML está escrito que no le está permitido a aplicaciones intentar justificar al creador de un archivo XML dañado; si el archivo está dañado, la aplicación debe detenerse inmediatamente y emitir un error. Puesto que XML es un formato de texto y que usa etiquetas para delimitar los datos, los archivos XML son casi siempre comparablemente mayores que los formatos binarios. Pero está desventaja puede ser usualmente compensada en distintos niveles. Además el espacio en disco ya no es tan caro, y los programas como zip y gzip (gratis en varias plataformas) pueden comprimir archivos muy bien y muy rápidamente. Resumen de las principales características: 1. Es una arquitectura abierta y extensible. No necesita versiones para que pueda funcionar en futuros navegadores. Los identificadores pueden crearse de manera simple y ser adaptados en el acto en Internet/Intranet por medio de un validador de documentos (parser). 2. Mayor consistencia, homogeneidad y amplitud de los identificadores descriptivos del documento con XML en comparación con otros estándares. 3. Integración de los datos de las fuentes más dispares. Intercambio de documentos entre aplicaciones tanto en el propio PC como en una red local o extensa. 4. Datos compuestos de múltiples aplicaciones. La extensibilidad y flexibilidad de este lenguaje nos permitirá agrupar una variedad amplia de aplicaciones, desde páginas Web hasta bases de datos. 5. Gestión y manipulación de los datos desde el propio cliente Web. 6. Los motores de búsqueda devolverán respuestas más adecuadas y precisas, ya que la codificación del contenido Web en XML consigue que la estructura de la información resulte más accesible. 7. Se desarrollarán de manera extensible las búsquedas personalizables y subjetivas para robots y agentes inteligentes. Conllevará que los clientes Web puedan ser autónomos para desarrollar tareas que actualmente se ejecutan en el servidor. 8. Se permitirá un comportamiento más estable y actualizable de las aplicaciones Web. 9. El concepto de “hipertexto” se desarrollará ampliamente (permitirá denominación independiente de la ubicación, enlaces bidireccionales, enlaces que pueden especificarse y gestionarse desde fuera del documento, hiperenlaces múltiples, enlaces agrupados, atributos para los enlaces, etc. Creado a través de XLL (Lenguaje de enlaces extensible). 10. Exportabilidad a otros formatos de publicación (papel, Web, CD-ROM, etc.). 11. XML responde a la necesidad de disponer de formatos para describir diferentes tipos de contenidos de forma electrónica, para poder almacenarlos, procesarlos y transmitirlos. Sin entrar en las aplicaciones específicamente informáticas, en múltiples campos es necesario disponer de notaciones que permitan describir contenidos. 12. Los formatos que se desarrollaron inicialmente para transmitir o para almacenar datos en una base de datos y luego poder realizar búsquedas eficientes se han quedado obsoletos, y actualmente se están desarrollando nuevos formatos que utilizan XML. 13. Las herramientas software utilizan XML cada vez más (ejemplo claro es SQL Server 2000). Podemos mencionar los siguientes usos de XML en este ámbito: i. XML como formato interno en determinadas herramientas (también se usa para proporcionarle al usuario documentación sobre la herramienta utilizando hojas de estilo, una versión HTML para ver con un navegador,...) ii. Permitir al usuario acceder directamente a la documentación en formato XML para realizar búsqueda sobre datos estructurados. iii. XML como formato de intercambio de información entre las distintas herramientas informáticas que se desea que puedan interoperar. ¿Qué es RDF? RDF (Resource Description Framework): Esquema de descripción de recursos. Una de las aplicaciones más importantes que permitirá describir los datos de cada documento y definir las relaciones que hay entre los datos XML. Tratará de los metadatos (metadata). Se les podría considerar como "los META del XML". Muchas compañias en Internet se están adheriendo a esta aplicación. En estos momentos, no hay un desarrollo común de esta propuesta del W3C(5). La Dublin Core adimite en el DC5 las especificaciones del RDF. Podremos encontrar las siguientes virtudes del RDF: Mejores motores de búsqueda. Se han adherido a esta especificación Yahoo!, Altavista, Excite, Lycos, WebCrawler, Amazon, etc. La capacidad de describir los contenidos y sus relaciones en una biblioteca digital o sede web. Permitirá el acceso a una parte concreta del documento y se facilitará el intercambio de los datos. Se pueden calificar los contenidos para establecer la protección infantil y de la propia intimidad, desarrollado a través de las marcas (tags) de PICS (Platform for Internet Content Selection). Establece los derechos de propiedad intelectual en las propias páginas web. RDF - la Infraestructura para la descripción de Recursos - es un estándar para realizar descripciones sencillas. XML es a la sintaxis, lo que RDF a la semántica - un conjunto claro de reglas para proporcionar información descriptiva sencilla. El Esquema RDF entonces proporciona un modo de combinar esas descripciones en un vocabulario único. RDF se integra en una variedad de aplicaciones incluyendo: catálogos de biblioteca directorios mundiales sindicación y agregación de noticias, software y contenido colecciones personales de música, fotos y eventos En estos casos, cada uno utiliza XML como sintaxis de intercambio. Las especificaciones RDF proporcionan una infraestructura potente para el intercambio de conocimiento en la Web. "RDF es parte de la base de un avance significativo en el potencial de la Web. Finalmente, veremos a aplicaciones y usuarios combinar la información representada en RDF de múltiples fuentes en la Web, en modos que, hasta ahora, han sido inconcebibles," explica Brian McBride, Presidente del Grupo de Trabajo RDF Esencial, "El Grupo de Trabajo RDF Esencial ha convertido las especificaciones RDF en una base práctica y matemáticamente precisa sobre la que se puede construir OWL y el resto de la Web Semántica." La versión 1.0 del lenguaje RSS también es conocida como RDF. Por este motivo algunos feeds o canales RSS están etiquetados como "RSS 1.0" o "RDF" y guardados en archivos con extensión ".rdf". RSS2 — A la versión 2.0 del lenguaje RSS también se llama RSS2. Por tanto algunos feeds o canales RSS están etiquetados como "RSS2" o "RSS 2.0". RDF son las siglas definen Resource Description Framework (algo así como marco de descripción de recursos) Como su nombre indica el área en la que está enmarcado es la descripción de recursos de la red, entendiendo por recurso todo lo que nos de de sí la imaginación en tanto que a definir cualquier cosa, páginas, personas, dispositivos... RDF permite que las condiciones que se quieren "preguntar" sobre un recurso sean definidas como un conjunto de propiedades que componen el esquema. RDF ofrece una estructura semántica inambigua (por el uso de los URI, Uniform Resource Identifier) que permite codificación, intercambio y procesamiento automático de los metadatos normalizados. RDF proporciona también reglas para facilitar técnicamente la manera de explicar conceptos de modo que los ordenadores puedan procesarlo rápidamente y proporciona un medio que posibilita la edicición de vocabularios con propiedades definidas para la descripción de los recursos de una comunidad. RDF usa la sintaxis del lenguaje XML para el intercambio y procesamiento de metadatos,las condiciones se recogen en los rdf: Descripcion de los elementos XML. La sintaxis RDF define, de forma simple, el modelo para la descripción de recursos. Este modelo es fundamental para poder almacenar información de forma eficiente, procesarla automáticamente e intercambiar datos entre aplicaciones. Con el fin de describir los elementos sintácticos, RDF utiliza el sistema de notación EBNF (Extended Backups-Naur Form) [8] , el mismo que XML, de tal forma que asegura la plena compatibilidad entre lenguajes. En realidad, RDF permite la utilización de dos tipos de sintaxis para realizar la codificación de características de un objeto. Por un lado está la sintaxis serializada, que aporta un conjunto reducido de expresiones para llevar a cabo la descripción. Por otro tenemos la abreviada, que añade un conjunto de entidades (con sus correspondientes atributos) a la serializada con el fin de completar descripciones de subconjuntos dependientes del principal. En la actualidad es posible encontrarse con ambas sintaxis dentro de un mismo documento RDF. A continuación repasaremos brevemente las características de cada una de ellas. Resumen Sintaxis RDF: Esta sintaxis tiene como principal punto fuerte el poder interpretar DTDs de XML como modelos RDF. La Recomendación define tres formas de abreviación básica serializada: La que se utiliza para propiedades no repetidas dentro de un elemento description. Los valores de esas propiedades serán literales (cadenas de caracteres). Estas propiedades se pueden expresar como atributos XML del elemento description: Cada propertyElt cuenta con el atributo resource para especificar que otros recursos (o cadenas de caracteres) son el valor de esta propiedad. Si se usa la opción del recurso, es necesario utilizar el URI, como ya viene siendo habitual. Para las cadenas de caracteres (strings) se han de tener en cuenta los convencionalismos usados en XML. [12] También puede ser empleado para incluir algún elemento procedente de un esquema diferente a RDF. Para ello será necesario especificarlo previamente con su namespace correspondiente. Por ejemplo: Dado que Description no tiene otro contenido ( namespace , por ejemplo), la propiedad "Autor" se escribe en forma de atributo XML (ya que así se debe haber expresado en la DTD correspondiente) y, además, se utiliza la misma etiqueta para que marque el fin de la propiedad (con el " />") omitiendo la etiqueta final de Description . La flexibilidad de esta primera opción la podemos contemplar es los siguientes dos documentos, que ejemplifican dos formas diferentes de decir lo mismo en RDF: < rdf :RDF> < rdf :Description about="http://www.ugr.es/~jsenso"> < x :Editor>Universidad de Granada</ x :Editor> < x :Titulo>Página personal</ x :Titulo> < x :Autor>Jose A. Senso</ x :Autor> </ rdf :Description> </ rdf :RDF> < rdf :RDF> < rdf :Description about="http://www.ugr.es/~jsenso" x :Editor="Universidad de Granada " x :Titulo="Página personal" x :Autor="Jose A. Senso"/> </ rdf :RDF> La segunda forma abreviada se emplea sobre fases específicas donde el objeto es otro recurso, y el valor de cualquier propiedad está formado por strings (cadenas de caracteres). Para ello se emplea una propiedad típica de XML: convertir los elementos en atributos. En RDF lo que se hace en concreto es convertir las propiedades de Description en atributos de propertyElt . < rdf :RDF> < rdf :Description about=" http://www.ugr.es/~jsenso "> < x :Autor rdf :resource="http://www.ugr.es/personal/56971" /> </ rdf :Description> < rdf :Description about="http://www.ugr.es/personal/56971"> < v :Nombre>Jose A. Senso</ v :Nombre> < v :Email>[email protected]</ v :Email> </ rdf :Description> </ rdf :RDF> Lo que se ha hecho aquí es establecer una primera relación entre un objeto y su identidad dentro del grupo al que pertenece. Una vez se ha establecido un mecanismo de identificación de ese objeto dentro del grupo (por medio del código de personal: 56971), se procede a desarrollar una descripción de su nombre y su dirección de correo electrónico, utilizando para ello lo explicado en la primera forma: aprovechar las propiedades expresadas como atributos XML. Esta relación podría quedar más clara formulada de otra forma donde se muestre claramente la relación arbórea [13] <rdf :RDF> < rdf :Description about="http://www.ugr.es/~jsenso"> < x :Autor> < rdf :Description about="http://www.ugr.es/personal/56971"> < v :Nombre>Jose A. Senso</ v :Nombre> < v :Email>[email protected]</ v :Email> </ rdf :Description> </ x :Autor> </ rdf :Description> </ rdf :RDF> La última forma se aplica únicamente cuando el elemento Description tiene una propiedad type [14] . Cuando esto sucede, el valor de type puede utilizarse directamente como un nombre de elemento. Usando la tercera forma abreviada, el ejemplo anterior quedaría así: < rdf :RDF> < rdf :Description about="http://www.ugr.es/~jsenso"> < x :Autor> < x :Person about="http://www.ugr.es/personal/56971"> < v :Nombre>Jose A. Senso</ v :Nombre> < v :Email>[email protected]</ v :Email> </ x :Person> </ x :Autor> </ rdf :Description> </ rdf :RDF> x :Person about="http://www.ugr.es/personal/56971"> y aglutinarían al valor del type que, desarrollado, sería: < rdf :Description about=" http://www.ugr.es/personal/56971 "> < rdf :type resource="http://www.ugr.es/~jsenso/schema/Person"/> < v :Nombre>Jose A. Senso</ v :Nombre> < v :Email>[email protected]</ v :Email> </ rdf :Description> En este caso sí es necesario especificar el namespace utilizado, ya que la sintaxis no corresponde a la de XML. Por lo tanto, hay que poner xmlns:v="http://http://www.ugr.es/~jsenso/shema/ La serialización en formato EBNF mostrada en el apartado 2.3.1 se modificaría de la siguiente forma : El apartado 2: [2] description ::= '<rdf:Description' idAboutAttr? '>' propertyElt* '</rdf:Description>' Pasaría a quedar así ( Brickley, Dan y Guha, R. V. , 2000): [2a] description ::= '< rdf: Description' idAboutAttr? propAttr* '/>'| '< rdf: Description' idAboutAttr? propAttr* '>'propertyElt* '</ rdf: Description>'| typedNode El apartado 6: [6] propertyElt ::= '<' propName '>' valor '</' propName '>'| '<' propName resourceAttr '/>' ahora sería ( Brickley, Dan y Guha, R. V. , 2000): [6a] propertyElt ::= '<' propName '>' valor '</' propName '>' | '<' propName resourceAttr? propAttr* '/>' Y además se añadirían dos elementos más ( Brickley, Dan y Guha, R. V. , 2000): El apartado 16: [16] propAttr ::= propName '="' cadena de caracteres '"' (con comillas embebidas) y el apartado 17: [17] typedNode ::= '<' typeName idAboutAttr? propAttr* '/>' | '<' typeName idAboutAttr? propAttr* '>' property* '</' typeName '>' Los elementos de la sintaxis de RDF serían por tanto: Description , Alternative , Bag , PropertyElt , Sequence , referencedItem ; mientras que los atributos tendrían los siguiente nombres: aboutAttr , aboutEachAttr , bagIDAttr , idAttr , Idsymbol , member , name , Nsprefix , parseLiteral , propName , Qname , resourceAttr , string , typedNode , URI-reference y value . A continuación procederemos a la explicación de cada uno de ellos siguiendo el modelo propuesto por Hjelm ( Hjelm, Johan , 2001): Elemento Explicación descripción Nombre Descripción RDF Es el método de marcar el principio y el final de un documento RDF. Es opcional siempre y cuando se especifique el sistema de trabajo para la aplicación en concreto. Description Description aglutina a todos los elementos de RDF. propertyElt element IdAboutAttr es la descripción (con atributos about o ID) mientras que propertyElt es la propiedad. Valor Alternative se usa para especificar una lista de recursos que representan, de Alternative forma alternativa, el/los valor/es de la propiedad que se está utilizando. Valor valor o valores PropName es el nombre de la propiedad. Puede ser utilizada para suministrar, por ejemplo, versiones en diferentes idiomas de un valor determinado de la descripción. Bag Se trata de una lista desordenada de recursos (URIs) o de valores (cadenas de caracteres) sin especificar un orden determinado. PropertyElt Una única descripción puede contener más de un elemento PropertyElt con el mismo nombre de propiedad. Un esquema (especificado mediante un namespace y su identificador) es el encargado de definir su interpretación. sequence Es una lista ordenada de recursos (con sus URIs) o de literales (cadenas de caracteres). Se utiliza para declarar los múltiples valores que puede tener una propiedad. Estos valores se pueden duplicar. o valor resourceAttr es el atributo de la lista de ejemplo. ReferencedItem o inlineItem Los contenedores de RDF utilizan estos elementos para expresar una numeración explícita que debe respetarse entre los objetos contenidos. Le asigna automáticamente las propiedades _1, _2... En lo que respecta a los atributos tenemos: Atributo aboutAttr Definido como Significado about=URI Este atributo permite definir la identidad del recurso que se va a describir. Se refiere siempre a un recurso existente y fácilmente identificable. aboutEach=URI o aboutEachAttr aboutEachPrefix=cadena de caracteres El valor de cualquier aboutEachAttr debe ser un contenedor (bag, alternative o sequence). bagIDAttr bagIF=Idsymbol Especifica el ID del recurso contenedor. ID, al representar un recurso inline, debe tener una denominación unívoca dentro del contenedor. idAttr ID=IDsimbol Si la descripción se refiere a un recurso inline, sin identificación posible, es necesario emplear este atributo. Idsymbol Cualquier símbolo que cumpla con la sintaxis XML Por lo general se suele utilizar cualquier símbolo de Unicode. member ReferencedItem o inlineItem Se usa para mostrar las identidades de los objetos contenidos en los Bags. Name Cualquier nombre que cumpla con la sintaxis XML Por lo general se suele utilizar cualquier símbolo de Unicode. NSprefix Cualquier NSprefix que se ajuste a la sintaxis XML para namespaces parseLiteral Se usa para especificar actuaciones del parser RDF en ParseType="Literal" o resource determinados elementos que pueden ser conflictivos. Qname Un nombre de propiedad que debe ser escrito siguiendo las pautas de la sintaxis de XML. Qname Nsprefix:name Un nombre cualificador debe estar escrito con la misma estructura que se utiliza para el namespace. resourceAttr resource=URI-reference Especifica el estado del recurso por medio de su URI. string Cualquier texto XML con <, > y& typedNode typeName idAboutAttr o bagIdAttr o propAttr / URI-reference Cualquier URI que siga la norma descrita en el RFC 2396 Value description | cadena de caracteres propName Utilizado como mecanismo de abreviatura (ver apartado 2.3.2) El valor de este atributo puede ser una descripción o una cadena de caracteres que siga las pautas de XML. SWoogle y Futuro Futuro del uso de la Web Semántica La Web semántica es sin duda la tecnología “casi presente” y del futuro que van a utilizar todos los motores de búsquedas venideros. En nuestros días se utiliza un porcentaje ínfimo de todo el potencial que nos aporta la Web semántica Con vistas a un futuro se están desarrollando aplicaciones que intentan transferir una parte significativa de la carga del proceso del servidor al cliente Web con un subprograma Java que se insertará en el PC del cliente. Esta carga hará que muchas de las funciones de modificación puedan desarrollarse desde el mismo navegador Web del cliente. Por ejemplo, dentro de una intranet con una aplicación de gestión bibliotecaria sobre los documentos disponibles en el centro bibliotecario. Se establecerán categorías específicas como los datos de la ficha catalográfica, fecha de préstamo, fecha de devolución, nombre del usuario, número de registro, etc. Todos estos ítems se pueden agrupar por categorías y estarán descritos externamente desde los "esquemas" (schemas) o los RDF del XML. Permite actualizarse en el acto y con la posibilidad interactiva por parte del usuario en el pedido, gestión y modificación de documentos desde su lejano navegador. El lado más negativo es que se necesitará mayor ancho de banda y mayor potencia del procesador del equipo para poder soportar esta arquitectura de tres-niveles. Una de las ventajas de combinar XML y RDF, es la especificación y recuperación (acceso) a la información que presenta una página Web. Aunque existen diferentes estándares para este fin, el sistema es siempre el mismo: una página Web, utilizando uno de los formatos disponibles, publica un feed o resumen de la información que contiene, de manera que el usuario pueda acceder a ellos, por ejemplo, de forma automática mediante un programa lector. Uno de los formatos disponibles hoy en día es RSS; dicho acrónimo se utiliza para los siguientes estándares: - Rich Site Summary (RSS 0.91; versión anticuada) - RDF Site Summary (RSS 0.9 y 1.0) - Really Simple Syndication (RSS 2.0) También existe Atom que es un formato basado en XML muy similar a RSS. Nació de la mano de Google o IBM, entre otras, con la intención de ofrecer una API y formato de sindicación más flexibles. Actualmente su última versión es Atom 1.0 publicada en Junio del 2005. Otros usos interesantes de los documentos XML/RDF son FOAF ó SKOS : - FOAF es una aplicación de archivos XML/RDF para describir personas, documentos, etc (aunque es su uso en la descripción de personas el más interesante en la actualidad). Dicha descripción se realiza en un documento y contiene información sobre las amistades que tiene, los proyectos que está realizando y otros muchos datos, de forma que se pueden crear sistemas que generen mapas con la información de las personas que viven en cada uno de los sitios (FOAF People Map) ó aplicaciones que permitan ver toda la información relatica a un usuario y formar una red con las conexiones de amistad entre ellos (foafnaut!). - SKOS-Core es un schema RDF para la representación de tesauros y sistemas similares de organización de conocimiento en el entorno de la web semántica; es un modelo que permite la migración de los tesauros hacia la web semántica y, además, la construcción de esquemas de conceptos simples para su utilización en la Web. SWoogle2006 En la actualidad, y ya disponible en la dirección Web: http://swoogle.umbc.edu/, SWoogle es la herramienta que utilizando las ventajas de la Web Semántica es accesible por cualquier usuario de Internet. Swoogle es un sistema de indización y recuperación para Documentos de la Web Semántica, lo que se denomina en SWoogle (SWDs, Semantic Web Documents), o lo que es lo mismo documentos escritos básicamente en RDF y OWL, aunque también DAML en algunos casos. Este buscador recupera, procesa, analiza e indiza documentos SW que estén disponibles online, pero lo más curioso es que lo hace a través de un sistema de búsqueda y resultados de interfaz Web similar a Google. El grupo de trabajo de la Universidad de Maryland que ha desarrollado este proyecto eBiquity, parte de la base de que Google ha cambiado la forma en que accedemos a la información Web y que se ha convertido en una tecnología clave para la búsqueda de información. Por ello, SWoogle, en vez de crear una alternativa – semántica– a Google, crea un Google para la Web Semántica, lo cual me parece, tanto desde un punto de vista estratégico, como operativo en términos de funcionamiento y aceptación, brillante. La nueva versión de SWoogle tiene un modelo y una base más simple que la anterior, y hasta un diseño mucho más claro. Recoge más de 850K de documentos Web semánticos recolectados de la Web, bien buscando directamente en ficheros RDF y OWL o a través de páginas Web (HTML) que pueden contener documentos SW. Más de 10.000 ontologías disponibles en la Web (1.0, y 2.0), almacenadas (de momento, no en triples) en una base de datos MySQL en forma de URIs, pero también permite buscar en los términos de cada vocabulario/esquema/ontología. Por ejemplo, podemos buscar todos los esquemas que contienen la propiedad “title”. Ahora mismo, SWoogle es una herramienta utilísima para los desarrolladores de la Web semántica y para los agentes de software basado en estas tecnologías: Para estudiar la magnitud y el crecimiento de la Web semántica Para recopilar y buscar clases y propiedades (términos de la Web Semántica, SWTs) o las ontologías en que se conforman. Para apoyar herramientas de carácter semántico. Hasta hace muy poco tiempo las herramientas semánticas, me refiero a editores de ontologías o herramientas para la creación de esquemas de metadatos, habían sido de acceso libre como Protégé o las aplicaciones de MindSWap (SWOOP y SMORE) y/o pertenecientes a proyectos en desarrollo. Sin embargo, también a principios de este año, la famosa compañía Altova (los creadores de XMLSpy) han lanzado SemanticWorks un editor de vocabularios que trabaja tanto con RDF y XML como con N-triples. SWoogle es una herramienta para medir, controlar y analizar los vocabularios de la Web semántica u Ontologías (A efectos de SWoogle tenemos que considerar el Dublin Core o FOAF como una Ontología -que a mí particularmente me parece erróneo y no me gusta nada, pero…-). Aún no es un buscador dirigido al usuario final para encontrar recursos Web, sino que es más bien un “parabuscador” para buscar, clasificar e incluso validar documentos y vocabularios de la Web Semántica.