• No results found

BIBLIOGRAPHY

JOURNAL REFERENCE

el término “Schema”. RDF crea simplemente una estructura en forma de grafo para representar los datos, mientras que  RDFS proporciona el vocabulario que se utilizará en este grafo [Allemang & Hendler, 2008]. ¿Qué  individuos se relacionan entre sí, y cómo? ¿Cómo están relacionadas las propiedades que se usan  para definir a los individuos con otros conjuntos de individuos y entre sí? RDFS proporciona una  forma de expresar las respuestas a este tipo de preguntas. Siguiendo con el ejemplo anterior, se dice que hay escritores que escriben determinados libros. Si  sólo se quiere hablar sobre el escritor E o el libro L, se puede utilizar RDF. Pero RDF no tiene la  capacidad suficiente para hablar sobre los libros, los libros de ficción, los escritores, etc., es decir,  sobre los conjuntos (clases) que definen los tipos de recursos. Tampoco tiene RDF la capacidad de  hablar sobre las relaciones entre estos conjuntos, es decir, las relaciones entre los escritores y los  libros.   Para   definir   un   vocabulario   mediante   el   cual   se   puedan   definir   los   distintos   conceptos  (clases) y sus relaciones, es necesario hacer algunos agregados, los cuales se encapsulan en RDFS.  La construcción básica para especificar un conjunto en RDFS es una clase, la cual se define en el  espacio de nombres rfds (rdfs:Class). Como RDFS se expresa en RDF, la forma de  expresar  que algo es una clase es también mediante una terna, en la cual el predicado es rdf:type y el  objeto rdfs:Class:

Sujeto Predicado Objeto

lit:Escritor rdf:type rdfs:Class

Tabla B.1 – Ejemplo de uso del identificador rdfs:Class

Al ver este ejemplo, la única manera de saber que se está hablando sobre el conjunto es el empleo de 

rdfs:Class. En RDF, el concepto rdf:type se utiliza para especificar que algo es miembro  de un conjunto. En RDFS se especifica que algo es un conjunto.  En RDFS, al igual que en la mayoría de los lenguajes de programación, uno de los usos más  importantes de las clases es imponer restricciones sobre qué se puede afirmar sobre un determinado  concepto. Por ejemplo, en el ejemplo de los escritores, se quiere evitar declaraciones como las  siguientes: • Libro X es escrito por Libro Y • El aula A es escrita por el Escritor B El primer caso no tiene sentido porque se quiere que los libros sean escritos sólo por escritores, lo  cual impone una restricción a los valores de la propiedad “es escrito por” (se restringe el rango de la 

propiedad). 

El   segundo   caso   no   tiene   sentido   porque   sólo   se   pueden   escribir   libros,   lo   cual   impone   una  restricción a los objetos sobre los cuales se puede aplicar la propiedad (se restringe el dominio de la  propiedad). 

B.1 Subclases

Una vez definidas las clases, se deberán establecer las relaciones entre las mismas mediante una  jerarquía de clase y subclase.  Suponer que se define un vocabulario que dice que “todo Futbolista es un Deportista, y que X es un   Futbolista”. Una persona puede inferir que X es un Deportista.  Uno de los desafíos en el modelado del vocabulario en general (y en particular RDFS) es diferenciar  los dos usos de “es un” en el ejemplo. Cuando se dice que “Futbolista es un Deportista”, se están  relacionando 2 tipos entre sí, pero cuando se dice “X es un Futbolista”, se está dando información  sobre el tipo de un individuo en particular, es decir, se relaciona un individuo a un tipo. En RDF se  puede proporcionar información sobre el tipo de un individuo: 

Sujeto Predicado Objeto

bio:X rdf:type dep:Futbolista

Tabla B.1.1 – Ejemplo de uso del identificador rdf:type

RDFS proporciona un nuevo recurso, rdfs:subClassOf, para expresar la relación “es un” entre  tipos: 

Sujeto Predicado Objeto

dep:Futbolista rdfs:subClassOf dep:Deportista

Tabla B.1.2 – Ejemplo de uso del identificador rdfs:subClassOf

En RDFS no se requiere que las clases formen una jerarquía estricta, con lo cual una clase puede  tener varias superclases. 

B.2 Subpropiedades

RDFS proporciona un medio por el cual las clases se pueden relacionar entre sí por medio de la  relación de subclase y las inferencias que definen el significado de esta construcción. Esto permite a  quien   modela   en   RDFS   describir   (utilizando   la   noción   de   conjuntos)   las   relaciones   entre   los 

elementos que se describen en una colección de ternas RDF. Pero si se quiere dar un significado a  los datos, se necesita algo más que hablar sobre los elementos: se tiene que hablar sobre las  propiedades que los vinculan, es decir, los predicados de las ternas. 

RDFS   proporciona   un   mecanismo   sencillo   para   esto,   basado   en   el   recurso 

rdfs:subPropertyOf. Los conceptos de clases, subclases y propiedades tienen sus similitudes 

y diferencias con los mismos conceptos de la programación orientada a objetos: en esta última, una  clase define sus propiedades, y el agregado de nuevas propiedades implica la modificación de la  clase.   En   el   caso   de   RDFS,   las   propiedades   se   definen   globalmente   (no   se   encapsulan   como  atributos en las definiciones de las clases). Es posible definir nuevas propiedades que se apliquen a  clases existentes sin modificar las mismas.

La   intuición   dice   que   esta   construcción   es   análoga   a  rdfs:subClassOf,   pero   para   las  propiedades. Por ejemplo la relación “hermano” es más específica que la relación “pariente”: si  alguien es mi hermano, entonces también es mi pariente.  

B.3 Tipo y rango de las propiedades

Se puede decir que cuando se utiliza una propiedad, el sujeto de la terna viene de una cierta clase y  el   objeto   proviene   de   otra.   Esto   se   expresa   en   RDFS   con   los   recursos  rdfs:domain  y 

rdfs:range, respectivamente. 

El dominio se refiere al sujeto de cualquier terna que utiliza P como su predicado, y el rango al  objeto de cualquier terna que utiliza a P como predicado. Cuando se afirma que la propiedad P tiene  dominio D (o rango R), se está diciendo que cada vez que se use la propiedad P, se puede inferir que  el sujeto (o el objeto) de esa terna es un miembro de la clase D (o R). 

Related documents