Al igual que con XML, con RDF también podemos utilizar
esquemas (schemas). Ya hemos dicho que
XML es un modelo para etiquetar datos con una
interpretación eminentemente sintáctica, mientras que RDF sirve para etiquetar
metadatos y la interpretación de este lenguaje es
semántica. El modelo de datos XML es un árbol
etiquetado orientado a marcas de texto y es mucho menos flexible para
expresar metadatos. Por el contrario, el modelo RDF
consta de arcos etiquetados y cualquier conjunto de declaraciones RDF
forma un grafo que puede serializarse en XML. Además, los
recursos utilizados en RDF son distintos a los usados en XML.
Mientras que los nodos a los que se refiere un esquema
XML son nodos dentro de un documento XML situados en
un lugar específico de la estructura del documento, los nodos a los que se
refiere RDF no son necesariamente nodos dentro del documento mismo, sino que
pueden ser nodos situados fuera del documento pues un nodo en RDF puede ser
cualquier recurso que tenga un URI.
La especificación RDF Vocabulary Description
Language 1.0: RDF Schema
(http://www.w3.org/TR/rdf-schema/)
describe cómo usar RDF para describir vocabularios
RDF. Además, la especificación define un vocabulario para este propósito y menciona
otros vocabularios construidos inicialmente en RDF y especificados en la
recomendación RDF Model and Syntax.
En el caso de RDF es fundamental utilizar palabras
que transmitan un significado inequívoco con el fin de que las aplicaciones
entiendan el enunciado para un procesamiento correcto. En RDF, este significado se expresa a través de un esquema.
Podemos pensar en un esquema como una especie de diccionario que define
los términos que se utilizarán en una declaración o sentencia RDF para otorgarle
significados específicos. Con RDF se pueden utilizar una gran variedad de formas
de esquema, incluyendo la definida en
RDFSchema que
posee unas características especiales para automatizar tareas utilizando RDF, pero
también otras muchas formas.
RDFS permite definir los términos que se usarán en las
declaraciones RDF y les otorgará significados específicos. Para evitar
definiciones conflictivas del mismo término, RDF utiliza los
namespaces de XML. RDFS permite modelar
metadatos con una representación explícita de su
semántica y permite especificar restricciones de tipos de datos para los sujetos
y objetos de las tripletas de
RDF, introduciendo unas primitivas de modelado orientado a objetos:
rdfs:Class, rdfs:Property,
rdfs:subClassOf
RDF Schemas ofrece un entramado en el cual las
comunidades independientes pueden desarrollar vocabularios que se adapten a sus
necesidades específicas. Para compartir vocabularios, el significado de los
términos debe describirse con detalle. A las descripciones de estos conjuntos de
vocabularios se les llaman RDF Schemas. Un schema define el
significado, características y relaciones de un conjunto de propiedades. El
lenguaje RDF permite que cada documento que contiene
metadatos,
sea clarificado con el
vocabulario empleado asignando a cada vocabulario una dirección web.
La especificación
/>RDF Vocabulary Description Language 1.0: RDF Schema (http://www.w3.org/TR/rdf-schema)
también cita otros vocabularios, entre los que cabe destacar:
Dublin Core Metadata Initiative,
PRISM o Publishin
Requeriment for Industry Standard Metadata,
XML Package (XPackage
Specificaciton), RSS 1.0
(RDF Site Summary), etc.
RDF utiliza los
namespaces o espacios de nombre como una forma de asociar el uso
específico de una palabra en el contexto de un diccionario (o esquema) en que se
puede encontrar una definición determinada. En RDF, cada predicado utilizado en
una declaración debe ser identificado con un solo
namespace o
esquema, aunque un elemento
Description puede contener declaraciones con predicados de varios
esquemas.
Los recursos siguientes son las clases principales que
se definen como parte del vocabulario del esquema RDF. Cada modelo RDF que se
traza sobre el
namespace del Esquema RDF los incluye implícitamente:
-
rdfs:Resource:
todas las cosas que se describan por expresiones RDF se denominan recursos
(resources), y se consideran como instances (objetos específicos de
la categoría) de la clase
rdfs:Resource.
La clase RDF
rdfs:Resource
representa el conjunto denominado 'Resources' en el modelo formal para RDF
presentado en la sección 5 de las especificación del modelo y la sintaxis
-
rdf:Property:
representa el subconjunto de recursos
RDF que son propiedades, es decir, todos los elementos del conjunto
presentados como 'Propiedades' en la sección 5 de la especificación del modelo
y la sintaxis.
-
rdfs:Class:
corresponde con el concepto genérico
de un tipo (Type) o categoría (Category), semejante a la noción
de Clase en los lenguajes de programación orientados a objetos tales como
Java. Cuando un esquema define una nueva clase, el recurso que representa esa
clase debe tener una propiedad
rdf:type
cuyo valor es el recurso
rdfs:Class.
Las clases RDF pueden definirse para representar cualquier cosa, como páginas
web, personas, tipos de documentos, bases de datos o conceptos
abstractos.
El esquema RDF es,
básicamente, un conjunto de declaraciones que definen clases y propiedades. Se
puede pensar en un RDF Schema como en metadatos para una declaración.
Veamos, unos ejemplos de las clases de cosas que pueden ser dichas con una
mezcla de RDF y vocabularios de RDF Schema:
-
esta
URI debería considerarse (rdf:type) una clase (rdfs:Class) de una propiedad (rdf:Property).
-
indica
una etiqueta legible por humanos (rdfs:label) o comentario (rdfs:comment). Hay
muchas formas de visualizar RDF de una forma "amigable" para los seres humanos
-
este
URI se define por (rdfs:isDefininedBy)
-
esta
clase es una subclase de esta otra (rdfs:subClassOf)
-
esta
propiedad es una subpropiedad de esta otra (dfs:subPropertyOf)
-
esta
propiedad conecta esta clase de sujetos (rdfs:domain) con esta clase de
objetos (rdfs:range)
El schema o vocabulario empleado por RDF se puede resumir de la
siguiente forma:
Clases RDF:
Nombre de a Clase |
Comentario |
rdfs:Resource |
La clase de recurso, cada uno. |
rdfs:Literal |
La clase del valor literal, por ejemplo, cadenas de
texto y números enteros. |
rdf:XMLLiteral |
La clase de los valores literales de los valores
literales XML. |
rdfs:Class |
La clase de las clases. |
rdf:Property |
La clase de las propiedades RDF. |
rdfs:Datatype |
La clase de los tipos de datos RDF. |
rdf:Statement |
La clase de las declaraciones RDF. |
rdf:Bag |
La clase de los contenedores desordenados. |
rdf:Seq |
La clase de los contenedores ordenados. |
rdf:Alt |
La clase de los contenedores de alternativas. |
rdfs:Container |
La clase de los contenedores RDF. |
rdfs:ContainerMembershipProperty |
La clase de las propiedades de los miembros
contenedores, rdf:_1, rdf:_2, ..., todas ellas son subpropiedades de 'miembro'. |
rdf:List |
La clase de las listas RDF. |
Propiedades RDF:
Nombre de la Propiedad |
Comentario |
Domain (Dominio) |
Range (Rango) |
rdf:type |
El sujeto es una instancia de una clase. |
rdfs:Resource |
rdfs:Class |
rdfs:subClassOf |
El sujeto es una subclase de una clase. |
rdfs:Class |
rdfs:Class |
rdfs:subPropertyOf |
El sujeto es una subpropiedad de una
propiedad. |
rdf:Property |
rdf:Property |
rdfs:domain |
Un dominio de la propiedad del sujeto. |
rdf:Property |
rdfs:Class |
rdfs:range |
Un rango de la propiedad del sujeto. |
rdf:Property |
rdfs:Class |
rdfs:label |
Un nombre para el sujeto legible por
seres humanos. |
rdfs:Resource |
rdfs:Literal |
rdfs:comment |
Una descripción del recurso sujeto. |
rdfs:Resource |
rdfs:Literal |
rdfs:member |
Un miembro del recurso sujeto. |
rdfs:Resource |
rdfs:Resource |
rdf:first |
El primer item en la lista RDF del sujeto. |
rdf:List |
rdfs:Resource |
rdf:rest |
El resto de la lista RDF del sujeto
después del primer item. |
rdf:List |
rdf:List |
rdfs:seeAlso |
Más information sobre el recurso sujeto. |
rdfs:Resource |
rdfs:Resource |
rdfs:isDefinedBy |
La definición del recurso sujeto. |
rdfs:Resource |
rdfs:Resource |
rdf:value |
Propiedad idiomática usada para valores
estructurados . |
rdfs:Resource |
rdfs:Resource |
rdf:subject |
El sujeto de la declaración RDF del
sujeto. |
rdf:Statement |
rdfs:Resource |
rdf:predicate |
El predicado de la declaración RDF del
sujeto. |
rdf:Statement |
rdfs:Resource |
rdf:object |
El objeto de la declaración RDF del
sujeto. |
rdf:Statement |
rdfs:Resource |
Un ejemplo de RDF Schema en sintaxis RDF/XML, se puede consultar en
el Apéndice A de la Especificación: RDF Schema as RDF/XML
http://www.w3.org/TR/rdf-schema/#ch_appendix_rdfs
En parte, RDF/XML viene a combinar la cultura de las
bases de datos
la cultura de la Web y supone un paso adelante
en la construcción de la llamada Web Semántica.
Bases de Datos |
Web |
- Esquema
- Modelo abstracto de datos
- En base de datos relacionales: nombres de
relaciones y atributos
- Consultas se expresan en términos de
esquema
|
- Ausencia de esquema, estructura lógica
ignorada
- Consultas textuales (ej. buscadores)
y navegación
|
Fuente: Carlos Hurtado y Claudio
Gutiérrez. Vistas RDF:
http://www.ciw.cl/material/vistasRDF.pdf (basado en Daniela Florescu, Alon
Levy, Alberto Mendelzon: Database Techniques for the Web. ACM SIGMOND
Record. Vol. 27, 3).
Bibliografía
DCMI.
DCMI term declarations represented in RDF schema language.
http://dublincore.org/schemas/rdfs/
Dublin Core Metadata Initiative.
http://dublincore.org/
MÉNDEZ
RODRÍGUEZ, Eva María. RDF: Un modelo de metadatos flexible para las
bibliotecas digitales del próximo milenio.
http://www.cobdc.org/jornades/7JCD/1.pdf
Planet RDF.
http://planet.rdfhack.com/
RSS. RDF Site Summary (RSS) 1.0.
http://web.resource.org/rss/1.0/
SchemaWeb.
http://www.schemaweb.info
W3C. RDF Vocabulary Description Language 1.0: RDF Schema.
http://www.w3.org/TR/rdf-schema/
W3C. RDF
Validation Service.
http://www.w3.org/RDF/Validator/
W3C. Resource
Description Framework (RDF).
http://www.w3.org/RDF/
|