Arquitectura de la Web Semántica

La arquitectura de la web semántica se ilustra en la figura siguiente. La primera capa, URI y Unicode, sigue las características importantes de la WWW existente. Unicode es un estándar de codificación de conjuntos internacionales de caracteres y permite que todos los idiomas humanos se utilicen (escritos y leídos) en la web usando una forma estandarizada. Uniform Resource Identifier (URI) es una cadena de forma estandarizada que permite identificar de manera única recursos (por ejemplo, documentos). Un subconjunto de URI es Uniform Resource Locator (URL), que contiene un mecanismo de acceso y la ubicación (de red) de un documento, como http://www.example.org/. Otro subconjunto de URI es URN, que permite identificar un recurso sin implicar su ubicación ni los medios para desreferenciarlo; un ejemplo es urn:isbn:0-123-45678-9. El uso de URI es importante para un sistema distribuido de internet, ya que proporciona una identificación comprensible de todos los recursos. Una variante internacional de URI es Internationalized Resource Identifier (IRI), que permite el uso de caracteres Unicode en el identificador y para el cual se define un mapeo a URI. En el resto de este texto, siempre que se use URI, también puede usarse IRI como concepto más general.

semantic-web-layers

Arquitectura de la web semántica por capas

La capa de Extensible Markup Language (XML) con XML namespace y definiciones de XML schema asegura que exista una sintaxis común usada en la web semántica. XML es un lenguaje de marcado de propósito general para documentos que contienen información estructurada. Un documento XML contiene elementos que pueden anidarse y que pueden tener atributos y contenido. Los espacios de nombres XML permiten especificar distintos vocabularios de marcado en un mismo documento XML. XML schema sirve para expresar el esquema de un conjunto particular de documentos XML.

Un formato central de representación de datos para la web semántica es Resource Description Framework (RDF). RDF es un marco para representar información sobre recursos en forma de grafo. Fue pensado principalmente para representar metadatos sobre recursos de la WWW, como el título, el autor y la fecha de modificación de una página Web, pero también puede usarse para almacenar cualquier otro dato. Se basa en tripletas sujeto-predicado-objeto que forman un grafo de datos. Todos los datos de la web semántica usan RDF como lenguaje primario de representación. La sintaxis normativa para serializar RDF es XML en la forma RDF/XML. También está definida la semántica formal de RDF.

RDF por sí mismo sirve como descripción de un grafo formado por tripletas. Cualquiera puede definir un vocabulario de términos utilizado para una descripción más detallada. Para permitir una descripción estandarizada de taxonomías y otros constructos ontológicos, se creó un RDF Schema (RDFS) junto con su semántica formal dentro de RDF. RDFS puede usarse para describir taxonomías de clases y propiedades y utilizarlas para crear ontologías ligeras.

Las ontologías más detalladas pueden crearse con Web Ontology Language OWL. OWL es un lenguaje derivado de las lógicas de descripción y ofrece más constructos que RDFS. Está incrustado sintácticamente en RDF, por lo que, al igual que RDFS, proporciona vocabulario estandarizado adicional. OWL tiene tres especies: OWL Lite para taxonomías y restricciones simples, OWL DL para soporte completo de lógica de descripción y OWL Full para la máxima expresividad y libertad sintáctica de RDF. Dado que OWL se basa en la lógica de descripción, no sorprende que se defina una semántica formal para este lenguaje.

RDFS y OWL tienen semántica definida, y esta semántica puede usarse para el razonamiento dentro de ontologías y bases de conocimiento descritas usando estos lenguajes. Para proporcionar reglas más allá de los constructos disponibles en estos lenguajes, también se están estandarizando lenguajes de reglas para la web semántica. Están surgiendo dos estándares: RIF y SWRL.

Para consultar datos RDF, así como ontologías RDFS y OWL con bases de conocimiento, está disponible un lenguaje de consulta RDF (SPARQL). SPARQL es un lenguaje similar a SQL, pero usa tripletas RDF y recursos tanto para la parte de emparejamiento de la consulta como para devolver resultados. Dado que tanto RDFS como OWL están construidos sobre RDF, SPARQL también puede utilizarse para consultar ontologías y bases de conocimiento directamente. Nótese que SPARQL no es solo un lenguaje de consulta, también es un protocolo para acceder a datos RDF.

Se espera que toda la semántica y las reglas se ejecuten en las capas por debajo de Proof y que el resultado se utilice para demostrar deducciones. Una prueba formal, junto con entradas confiables para la prueba, significará que los resultados pueden ser confiables, como se muestra en la capa superior de la figura anterior. Para entradas fiables, se utilizarán medios criptográficos, como firmas digitales para verificar el origen de las fuentes. Sobre estas capas, puede construirse una aplicación con interfaz de usuario.

En el resto de este capítulo describiremos algunas de estas tecnologías: RDF, RDFS, OWL y SPARQL.