<$BlogRSDUrl$>

Pro·Log·[IR]

Programación Lógica y Recuperación de Información

«Algorithm = Logic + Control» Robert Kowalski (1979)

¡Importante! esta página hace uso de estilos recogidos en la especificación CSS2, no soportados por el navegador que está utilizando. Por favor, lea esta recomendación al respecto.

Archivo

Guardado por meses.

Enlaces

Los siguientes listados son una referencia a partir de la cual ampliar la búsqueda de sitios relacionados (i).

Bitácoras en castellano

Bitácoras en inglés

Directorios, metablogs

Programación lógica, Inteligencia Artificial, Recuperación de Información

Usabilidad, Arquitectura de la Información

Listas, foros, wikis

Matemáticas, ciencias

Miscelánea

Búsquedas

Búsqueda simple en varios de los motores más conocidos. Para mayor precisión, entrar en la página correspondiente e ir al apartado de búsqueda avanzada.

Búsqueda con Google
 

Búsqueda con Yahoo!
 

Búsqueda con AlltheWeb

Varios

Esta página traducida:

Traducción al catalán, internostrum; traducción al portugués, universia.

Reciba un aviso de nuevos comentarios (por Bloglet).


Agregue este sitio a su lector de "feeds" (sindicación mediante el sistema Atom).

Sobre este sitio

Espacio dedicado a la programación lógica y la recuperación de información, con una atención especial al lenguaje Prolog y otros lenguajes afines, pertenecientes al paradigma lógico y declarativo. También se tratará de hablar de estos temas desde la perspectiva de la Biblioteconomía y la Documentación.

En esta página

23.6.03

Creación de aplicaciones para la Web Semántica con Prolog y RDF

Continuando con los enlaces enumerados en un mensaje anterior, es muy recomendable la consulta de dos artículos escritos por Bijan Parsia en XML.com, en relación con el tema propuesto en el enunciado:

Hay que hacer notar que algunos enlaces que en estos artículos apuntan a partes del manual del intérprete SWI-Prolog (compilador basado en el estándar Edimburgo/ISO Prolog, desarrollado por el departamento "Sociaal Wetenschappelijke Informatica" de la Universidad de Amsterdam) no funcionan, ya que su sitio web ha cambiado de dirección con posterioridad a la publicación de los mismos. La solución pasa por anotar de qué partes de dicho manual se trata, y realizar la consulta en su actual ubicación, o bien hacer uso de su buscador.

El intérprete SWI-Prolog dispone de un parser para manipular documentos escritos en RDF, incluido como parte de su distribución normal. Para aclarar conceptos, añadiré que un parser o analizador sintáctico, se puede definir, entre las varias acepciones posibles, como:

"...módulo, biblioteca o programa que se ocupa de transformar un archivo de texto en una representación interna."

"...programa que recibe las entradas en forma de instrucciones secuenciales del programa fuente, comandos online interactivos, tags o algún otro tipo de interfaz definida y las divide en partes: por ejemplo, los nombres (objetos), verbos (métodos) y sus atributos u opciones."

En el sitio web de SWI-Prolog (entrar en "Packages") se puede localizar una introducción sobre las características y funcionamiento de dicho parser, así como acceder a una demostración online, añadiendo un documento RDF en una caja de texto al efecto, o bien especificando su ubicación en nuestro disco duro o en una URL. Incluye varios ejemplos ya definidos para facilitar la demostración. Como resultado genera las tripletas (sujeto-predicado-objeto) correspondientes a ese documento RDF.

Como parte de su distribución normal, SWI-Prolog incorpora una librería para manejar los estándares del consorcio W3C para la Web Semántica: RDF, RDFS (los RDF Schemas habilitan la posibilidad de definir vocabularios, un modelo de datos, en RDF) y OWL.

De forma complementaria consultar el artículo "Prolog-based Infrastructure for RDF: Scalability and Performance" (formato PDF), en el que se describe una infraestructura para manejar RDF/XML, almacenar tripletas, y visualizar y llevar a cabo un razonamiento elemental sobre las mismas, mediante el módulo de predicados y el parser que incorpora SWI-Prolog para este propósito.

Binding Time Limited, empresa especializada en la creación de aplicaciones basadas en programación declarativa, ha desarrollado el módulo xml.pl, de uso libre, para parsear y manejar XML en Prolog:

"xml.pl is a module for parsing XML with Prolog, which provides Prolog applications with a simple "Document Value Model" interface to XML documents. We have used it successfully in a number of applications. [...]"

Esta aplicación está escrita en el estándar ISO Prolog, y su código ha sido portado ha varios entornos de desarrollo: Quintus Prolog, SICStus Prolog, Eclipse y B-Prolog [1]. En la página referenciada, "xml.pl - Parsing XML with Prolog", se explican sus principales características, y de forma complementaria se describe un ejemplo de utilización del código en "Using xml.pl to solve XML Query Cases - An Example".

Además del código fuente por separado, se puede descargar un archivo comprimido auto ejecutable que, una vez descomprimido, crea dos carpetas en el directorio seleccionado. Una de ellas ("source") contiene el código fuente, y la otra ("bin") un pequeño programa (.exe) junto con varias librerías, cuyo manejo se realiza desde la consola DOS (ver archivo "readme" y la página de descarga), por lo que es aconsejable ubicarlo en el directorio raíz de Windows.

Para RDFS existe también un parser ejecutable en línea (RDF Schema Explorer), basado en el parser RDF de SWI-Prolog. En este caso, las tripletas resultantes del análisis del documento RDF que hallamos especificado, se introducen en una base de conocimiento consultable (ver "howto"). Embebido en el código RDF, este parser permite añadir directamente código Prolog, de la forma que se describe en un ejemplo explicado, a modo de extensión de la semántica de las propiedades definidas en el documento RDF. Al igual que en el caso de la demostración online del parser RDF de SWI-Prolog, se adjuntan varios ejemplos listos para ser ejecutados directamente y comprobar el funcionamiento del parser RDFS (ver botones debajo de la caja de texto).

Por último comentar que en la página del RDF Schema Explorer se hace referencia a dos ensayos de sus autores, Wolfram Conen y Reinhold Klapsing (Universidad de Essen, Alemania), de todo punto recomendables para comprender la relación y aplicación práctica que puede establecerse entre la Web Semántica, RDF/RDFS y la Lógica de Primer Orden, relación sobre la que se fundamenta la conceptualización del parser al que estamos aludiendo. El título de estos dos ensayos: "A logical interpretation of RDF" y "Logical Interpretations of RDFS - A Compatibility Guide". Ambos documentos se pueden consultar en formato HTML, PDF o PostScript.

Nota: puede encontrarse la traducción al castellano de dos de las especificaciones oficiales RDF y RDFS del W3C, en el proyecto de traducción de los estandares de este consorcio auspiciado por la Fundación SIDAR: "Especificación del Modelo y Sintaxis RDF" y "Especificación del Esquema RDF 1.0" (RDF Schema). También está disponible la traducción de las especificaciones de los estándares CSS, HTML, XHTML y XML.

[1] comentarios | # | lista |


Pro·Log·[IR],

Publicación: Blogger | Estadísticas: eXTReMe Tracking

Se recomienda ver este sitio con Mozilla 1+, Firefox 0.8+ ó Netscape 7+. Si no queda más remedio, con IE 6+. Si lo desea, comunique cualquier problema al respecto. También será bien recibida cualquier sugerencia sobre el contenido. La fuente de letra preferente es Georgia. Se prohibe la utilización del diseño de la página salvo autorización expresa del autor. Los contenidos escritos son de uso libre, siempre que se cite la fuente.