Anteriormente, hemos visto los conceptos básicos de RDFS, como son clases e instancias. Ahora vamos a seguir con estos conceptos, explicando qué son las propiedades.
Una propiedad, se utiliza para indicar el valor de un atributo de un recurso de datos, como puede ser Messi, el primer nombre de Messi es, Lionel. O para escribir una relación entre dos recursos de datos, entre los recursos Messi nació en el recurso Rosario.
Para definir una propiedad en RDFS utilizamos el vocabulario, la palabra Property. Es decir, para definir que firstName, foaf firstName es una propiedad, decimos que foaf firstName es de tipo Property. De la misma forma, para definir que birthPlace, el lugar de nacimiento, es la propiedad de lugar de nacimiento, es de tipo propiedad, utilizamos dbpprop birthPlace, RDF type, RDF Property, tal y como estamos mostrando en este ejemplo.
Además, RDFS nos permite añadir restricciones sobre las propiedades.
Consideremos esta relación, la relación está_casado_con, es obvio que solo las personas pueden casarse. Es decir, una persona está casado con otra persona. No puede ser que un pájaro está casado con otra persona. Por lo tanto, una restricción obvia es que el sujeto de la relación, de la relación está_casado_con, tiene que ser una persona. Y de la misma forma, el objeto de la relación estar_casado_con, tiene que ser otra persona.
Entonces, para definir estas restricciones en nuestros datos, RDFS nos ofrece 2 propiedades, rdfs:domain y rdfs:range. En concreto,en la restricción de dominio o rdfs:domain nos permite especificar cuál debe ser el, o qué tipo debe ser el sujeto de una relación.
Es decir, como vemos en el ejemplo, está_casado_con, rdfs:domain :persona nos está indicando que la relación está_casado_con, el sujeto de la relación está_casado_con tiene que ser una persona. Por ejemplo, Pedro está casado con María. Y Pedro es de tipo persona. Además, RDFS nos permite definir restricciones sobre los objetos de una relación.
De la misma forma que definíamos el dominio, definimos ahora el rango. La restricción de rango nos permite definir una restricción sobre el objeto de la relación. Es decir, definimos, como estamos mostrando en el ejemplo, la relación está_casado_con rdfs:Range :persona nos indica que esta relación tiene que tener como objeto una instancia de la clase persona.
Un ejemplo más concreto. La relación juega_en, el sujeto de la relación tiene que ser una persona. Si tenemos que Messi tiene que ser de tipo persona, o más en concreto, jugador de fútbol. Además juega_en, el objeto de la relación tiene que ser un club de fútbol. Para definir esto, en RDFS, utilizamos la restricción de dominio rango.
Entonces tenemos que la propiedad juega_en, ha de tener un dominio, rdfs:domain. También la relación Jugador_de_fútbol, juega_en tiene un rango, rdfs:range, Equipo_de_fútbol. Y además, estamos indicando que juega_en es de tipo propiedad, juega_en, rdf:type, Property.
Resumiendo, hemos visto que RDF se puede utilizar para indicar el valor de un atributo de un recurso de datos. También podemos utilizar RDF para definir relaciones entre recursos de datos. Y además, RDFS nos permite añadir restricciones sobre el sujeto y el objeto de una relación de datos en RDF.
No hay comentarios:
Publicar un comentario