Marco de descripción de recursos

Ajustar Compartir Imprimir Citar

El Marco de descripción de recursos (RDF) es un estándar del World Wide Web Consortium (W3C) diseñado originalmente como un modelo de datos para metadatos. Se ha llegado a utilizar como un método general para la descripción y el intercambio de datos de gráficos. RDF proporciona una variedad de notaciones de sintaxis y formatos de serialización de datos, siendo Turtle (Terse RDF Triple Language) la notación más utilizada actualmente.

RDF es un gráfico dirigido compuesto por sentencias triples. Una declaración de gráfico RDF está representada por: 1) un nodo para el sujeto, 2) un arco que va desde un sujeto a un objeto para el predicado y 3) un nodo para el objeto. Cada una de las tres partes de la instrucción se puede identificar mediante un URI. Un objeto también puede ser un valor literal. Este modelo de datos simple y flexible tiene mucho poder expresivo para representar situaciones complejas, relaciones y otras cosas de interés, al mismo tiempo que es apropiadamente abstracto.

RDF se adoptó como recomendación del W3C en 1999. La especificación RDF 1.0 se publicó en 2004, la especificación RDF 1.1 en 2014. SPARQL es un lenguaje de consulta estándar para gráficos RDF. RDFS, OWL y SHACL son lenguajes de ontología que se utilizan para describir datos RDF.

Resumen

El modelo de datos RDF es similar a los enfoques de modelado conceptual clásico (como los diagramas de entidad-relación o de clase). Se basa en la idea de hacer declaraciones sobre recursos (en particular recursos web) en expresiones de la forma sujetopredicadoobjeto, conocido como triples. El sujeto denota el recurso, y el predicado denota rasgos o aspectos del recurso, y expresa una relación entre el sujeto y el objeto.

Por ejemplo, una forma de representar la noción "El cielo tiene el color azul" en RDF es como el triple: un sujeto que denota "el cielo", un predicado que denota "tiene el color" y un objeto que denota "azul". Por lo tanto, RDF usa sujeto en lugar de objeto (o entidad) en contraste con el enfoque típico de un modelo entidad-atributo-valor en objeto- diseño orientado: entidad (cielo), atributo (color) y valor (azul).

RDF es un modelo abstracto con varios formatos de serialización (siendo esencialmente formatos de archivo especializados). Además, la codificación particular de recursos o triples puede variar de un formato a otro.

Este mecanismo para describir recursos es un componente importante en la actividad de la Web Semántica del W3C: una etapa evolutiva de la World Wide Web en la que el software automatizado puede almacenar, intercambiar y utilizar información legible por máquina distribuida por toda la Web., permitiendo a su vez a los usuarios manejar la información con mayor eficiencia y certeza. El modelo de datos simple y la capacidad de RDF para modelar conceptos abstractos y dispares también ha llevado a su uso creciente en aplicaciones de gestión del conocimiento no relacionadas con la actividad de la Web Semántica.

Una colección de sentencias RDF representa intrínsecamente un gráfico múltiple dirigido y etiquetado. Esto hace que un modelo de datos RDF se adapte mejor a ciertos tipos de representación del conocimiento que otros modelos relacionales u ontológicos.

Como demuestran RDFS, OWL y SHACL, se pueden construir lenguajes ontológicos adicionales sobre RDF.

Historia

El diseño inicial de RDF, destinado a "construir un sistema de metadatos independiente del sistema operativo y neutral del proveedor," derivado de la Plataforma para la Selección de Contenido de Internet (PICS) del W3C, uno de los primeros sistemas de etiquetado de contenido web, pero el proyecto también fue moldeado por ideas de Dublin Core y del Meta Content Framework (MCF), que había sido desarrollado durante 1995 a 1997 por Ramanathan V. Guha en Apple y Tim Bray en Netscape.

Un primer borrador público de RDF apareció en octubre de 1997, emitido por un grupo de trabajo del W3C que incluía representantes de IBM, Microsoft, Netscape, Nokia, Reuters, SoftQuad y la Universidad de Michigan.

En 1999, el W3C publicó la primera especificación RDF recomendada, la Especificación de modelo y sintaxis ("RDF M&S"). Esto describía el modelo de datos RDF y una serialización XML.

Se desarrollaron dos malentendidos persistentes sobre RDF en este momento: en primer lugar, debido a la influencia de MCF y la "Descripción de recursos" inicialismo, la idea de que RDF era específicamente para usar en la representación de metadatos; en segundo lugar, que RDF era un formato XML en lugar de un modelo de datos, y solo la serialización RDF/XML estaba basada en XML. RDF vio poca aceptación en este período, pero se realizó un trabajo significativo en Bristol, alrededor de ILRT en la Universidad de Bristol y HP Labs, y en Boston en MIT. RSS 1.0 y FOAF se convirtieron en aplicaciones ejemplares para RDF en este período.

La recomendación de 1999 se reemplazó en 2004 por un conjunto de seis especificaciones: "Principios de RDF", "Conceptos y resumen de RDF", "Especificación de sintaxis de RDF/XML (revisado)", "Semántica de RDF", "Lenguaje de descripción de vocabulario de RDF 1.0" y "Los casos de prueba de RDF".

Esta serie fue reemplazada en 2014 por los siguientes seis "RDF 1.1" documentos: "RDF 1.1 Primer," "RDF 1.1 Conceptos y sintaxis abstracta," "Sintaxis XML de RDF 1.1," "RDF 1.1 Semántica," "Esquema RDF 1.1," y "Casos de prueba de RDF 1.1".

Temas RDF

Vocabulario

El vocabulario definido por la especificación RDF es el siguiente:

Clases

Rdf
rdf:XMLLiteral
la clase de valores literales XML
rdf:Property
la clase de propiedades
rdf:Statement
la clase de declaraciones de RDF
rdf:Alt, rdf:Bag, rdf:Seq
contenedores de alternativas, contenedores sin orden y contenedores ordenados (rdfs:Container es una súper clase de los tres)
rdf:List
la clase de listas de RDF
rdf:nil
un caso de rdf:List representando la lista vacía
Rdf
rdfs:Resource
el recurso de clase, todo
rdfs:Literal
la clase de valores literales, por ejemplo cuerdas e enteros
rdfs:Class
la clase de clases
rdfs:Datatype
la clase de tipos de datos RDF
rdfs:Container
la clase de contenedores RDF
rdfs:ContainerMembershipProperty
la clase de propiedades de membresía de contenedores, rdf:_1, rdf:_2,... todos los cuales son sub-propiedades de rdfs:member

Propiedades

Rdf
rdf:type
un caso de rdf:Property utilizado para afirmar que un recurso es una instancia de una clase
rdf:first
el primer tema en la lista RDF
rdf:rest
the rest of the subject RDF list after rdf:first
rdf:value
propiedad idiomática utilizada para valores estructurados
rdf:subject
el tema de la declaración de las RDF
rdf:predicate
the predicate of the RDF statement
rdf:object
the object of the RDF statement

rdf:Statement, rdf:subject, rdf:predicate, rdf:object se utilizan para la cosificación (vea abajo).

Rdf
rdfs:subClassOf
el tema es una subclase de una clase
rdfs:subPropertyOf
el sujeto es una subpropiedad de una propiedad
rdfs:domain
a dominio del objeto propiedad
rdfs:range
a range of the subject property
rdfs:label
un nombre legible para el sujeto
rdfs:comment
a descripción del recurso
rdfs:member
a member of the subject resource
rdfs:seeAlso
más información sobre el recurso
rdfs:isDefinedBy
la definición del recurso sujeto

Este vocabulario se utiliza como base para RDF Schema, donde se amplía.

Formatos de serialización

Se utilizan varios formatos de serialización comunes, incluidos:

RDF/XML a veces se denomina erróneamente simplemente RDF porque se introdujo entre las otras especificaciones del W3C que definen a RDF e históricamente fue el primer formato de serialización RDF estándar del W3C. Sin embargo, es importante distinguir el formato RDF/XML del propio modelo RDF abstracto. Aunque el formato RDF/XML todavía está en uso, muchos usuarios de RDF ahora prefieren otras serializaciones de RDF, tanto porque son más amigables para los humanos como porque algunos gráficos de RDF no se pueden representar en RDF/XML debido a restricciones en la sintaxis de Nombres Q XML.

Con un poco de esfuerzo, prácticamente cualquier XML arbitrario también puede interpretarse como RDF usando GRDDL (pronunciado 'griddle'), obteniendo descripciones de recursos de dialectos de idiomas.

Los triples RDF se pueden almacenar en un tipo de base de datos llamada triplestore.

Identificación de recursos

El asunto de una declaración RDF es un identificador uniforme de recursos (URI) o un nodo en blanco, los cuales denotan recursos. Los recursos indicados por nodos en blanco se denominan recursos anónimos. No son directamente identificables a partir de la declaración RDF. El predicado es un URI que también indica un recurso, que representa una relación. El objeto es un URI, un nodo en blanco o un literal de cadena Unicode. A partir de RDF 1.1, los recursos se identifican mediante identificadores de recursos internacionalizados (IRI); IRI es una generalización de URI.

En las aplicaciones de la Web Semántica y en las aplicaciones relativamente populares de RDF como RSS y FOAF (Friend of a Friend), los recursos tienden a estar representados por URI que denotan intencionalmente y pueden usarse para acceder a datos reales en el mundo. Web. Pero RDF, en general, no se limita a la descripción de recursos basados en Internet. De hecho, el URI que nombra un recurso no tiene por qué ser desreferenciable en absoluto. Por ejemplo, un URI que comienza con "http:" y se utiliza como sujeto de una declaración RDF no necesariamente tiene que representar un recurso al que se puede acceder a través de HTTP, ni necesita representar un recurso tangible accesible a través de la red; tal URI podría representar absolutamente cualquier cosa. Sin embargo, existe un amplio acuerdo en que un URI simple (sin el símbolo #) que devuelve una respuesta codificada de nivel 300 cuando se usa en una solicitud HTTP GET debe tratarse como una indicación del recurso de Internet al que logra acceder.

Por lo tanto, los productores y consumidores de declaraciones RDF deben ponerse de acuerdo sobre la semántica de los identificadores de recursos. Dicho acuerdo no es inherente al propio RDF, aunque existen algunos vocabularios controlados de uso común, como los metadatos de Dublin Core, que se asignan parcialmente a un espacio URI para su uso en RDF. La intención de publicar ontologías basadas en RDF en la Web es a menudo establecer, o circunscribir, los significados previstos de los identificadores de recursos utilizados para expresar datos en RDF. Por ejemplo, la URI:

http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#Merlot

sus propietarios tienen la intención de referirse a la clase de todos los vinos tintos Merlot por vinicultor (es decir, las instancias del URI anterior representan cada una la clase de todo el vino producido por un solo vinicultor), una definición expresada por el OWL ontología, en sí misma un documento RDF, en la que ocurre. Sin un análisis cuidadoso de la definición, se podría concluir erróneamente que una instancia del URI anterior era algo físico, en lugar de un tipo de vino.

Tenga en cuenta que esto no es un 'desnudo' identificador de recurso, sino más bien una referencia URI, que contiene el '#' carácter y terminando con un identificador de fragmento.

Reificación y contexto de la declaración

Básico RDF triple compuesto (sujeto, predicado, objeto).

El cuerpo de conocimiento modelado por una colección de enunciados puede estar sujeto a cosificación, en la que cada enunciado (es decir, cada triple sujeto-predicado-objeto en conjunto) es asignado un URI y tratado como un recurso sobre el que se pueden hacer declaraciones adicionales, como en "Jane dice que John es el autor del documento X". La reificación a veces es importante para deducir un nivel de confianza o un grado de utilidad para cada declaración.

En una base de datos RDF cosificada, cada declaración original, siendo un recurso en sí misma, probablemente tenga al menos tres declaraciones adicionales: una para afirmar que su sujeto es algún recurso, otra para afirmar que su predicado es algún recurso, y otro para afirmar que su objeto es algún recurso o literal. También pueden existir más declaraciones sobre la declaración original, según las necesidades de la aplicación.

Tomando prestados conceptos disponibles en lógica (y como se ilustra en notaciones gráficas como gráficos conceptuales y mapas de temas), algunas implementaciones de modelos RDF reconocen que a veces es útil agrupar declaraciones de acuerdo con diferentes criterios, llamados situaciones, contextos o ámbitos, como se analiza en los artículos del coeditor de especificaciones de RDF, Graham Klyne. Por ejemplo, una declaración se puede asociar con un contexto, nombrado por un URI, para afirmar que "es verdadero en" relación. Como otro ejemplo, a veces es conveniente agrupar declaraciones por su fuente, que puede identificarse mediante un URI, como el URI de un documento RDF/XML en particular. Luego, cuando se realizan actualizaciones en la fuente, las declaraciones correspondientes también se pueden cambiar en el modelo.

La implementación de los alcances no necesariamente requiere declaraciones completamente cosificadas. Algunas implementaciones permiten asociar un único identificador de alcance con una declaración a la que no se le ha asignado un URI. Del mismo modo, los gráficos con nombre en los que un conjunto de tripletas recibe el nombre de un URI pueden representar el contexto sin necesidad de cosificar las tripletas.

Lenguajes de consulta e inferencia

El lenguaje de consulta predominante para gráficos RDF es SPARQL. SPARQL es un lenguaje similar a SQL y una recomendación del W3C a partir del 15 de enero de 2008.

El siguiente es un ejemplo de una consulta SPARQL para mostrar capitales de países en África, utilizando una ontología ficticia:

PREFIX ex: ■http://example.com/exampleOntology#SELECT ? capital paísDonde {} ?x ex:nombre de ciudad ? capital ; ex:esCapitalOf ? Sí. . ? Sí. ex:nombre de país país ; ex:isInContinente ex:África .}

Otras formas no estándar de consultar gráficos RDF incluyen:

La especificación de características avanzadas de SHACL (nota del grupo de trabajo W3C), cuya versión más reciente es mantenida por el grupo de la comunidad SHACL, define la compatibilidad con las reglas SHACL, que se utilizan para transformaciones de datos, inferencias y asignaciones de RDF basadas en formas SHACL.

Validación y descripción

El lenguaje predominante para describir y validar gráficos RDF es SHACL (Shapes Constraint Language). La especificación SHACL se divide en dos partes: SHACL Core y SHACL-SPARQL. SHACL Core consta de una lista de restricciones integradas, como cardinalidad, rango de valores y muchas otras. SHACL-SPARQL describe restricciones basadas en SPARQL y un mecanismo de extensión para declarar nuevos componentes de restricción.

Otras formas no estándar de describir y validar gráficos RDF incluyen:

Ejemplos

Ejemplo 1: Descripción de una persona llamada Eric Miller

El siguiente ejemplo se tomó del sitio web de W3C que describe un recurso con declaraciones "hay una persona identificada por http://www.w3.org/People/EM/contact#me, cuyo nombre es Eric Miller, cuyo correo electrónico la dirección es e.miller123(at)example (cambiada por motivos de seguridad), y cuyo cargo es Dr."

An RDF Graph Describing Eric Miller

El recurso "http://www.w3.org/People/EM/contact#me" es el sujeto

Los objetos son:

El asunto es un URI.

Los predicados también tienen URI. Por ejemplo, el URI para cada predicado:

Además, el sujeto tiene un tipo (con URI http://www.w3.org/1999/02/22-rdf-syntax-ns#type), que es persona (con URI http://www.w3.org/2000/10/swap/pim/contact#Person).

Por lo tanto, el siguiente "sujeto, predicado, objeto" Las tripletas RDF se pueden expresar:

En formato N-Triples estándar, este RDF se puede escribir como:

▪ http://www.w3.org/People/EM/contact#me ▪ http://www.w3.org/2000/10/swap/pim/contact#fullName "Eric Miller" .▪ http://www.w3.org/People/EM/contact#me ▪ http://www.w3.org/2000/10/swap/pim/contact#mailbox confianza ■mailto:e.miller123(at)example confianza .▪ http://www.w3.org/People/EM/contact#me ▪ http://www.w3.org/2000/10/swap/pim/contact#personalTitle estrecho "Dr." .▪ http://www.w3.org/People/EM/contact#me ▪ http://www.w3.org/1999/02/22-rdf-syntax-ns#type ▪ http://www.w3.org/2000/10/swap/pim/contact#Person .

Equivalentemente, se puede escribir en formato Turtle estándar (sintaxis) como:

@prefix Eric: ▪ http://www.w3.org/People/EM/contact# .@prefix contacto: ▪ http://www.w3.org/2000/10/swap/pim/contact# .@prefix rdf: ▪ http://www.w3.org/1999/02/22-rdf-syntax-ns# .eric:me contacto:completo Nombre "Eric Miller" .eric:me contacto:buzón de correo ■mailto:e.miller123(at)example confianza .eric:me contacto:personal Título "Dr." .eric:me rdf:Tipo contacto:Persona .

O bien, se puede escribir en formato RDF/XML como:

¿Según la versión xml="1.0" encoding="utf-8"?■rdf:RDF xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#" xmlns:eric="http://www.w3.org/People/EM/contact#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ■rdf:Descripción rdf:about="http://www.w3.org/People/EM/contact#me" ■contacto:full NombreEric Miller■/contacto:full Nombre ■/rdf:Descripción ■rdf:Descripción rdf:about="http://www.w3.org/People/EM/contact#me" ■contact:box rdf:resource="mailto:e.miller123(at)example"/ ■/rdf:Descripción ■rdf:Descripción rdf:about="http://www.w3.org/People/EM/contact#me" ■contacto:personalTitle títuloDr.■/contacto:personalTitle título ■/rdf:Descripción ■rdf:Descripción rdf:about="http://www.w3.org/People/EM/contact#me" ■rdf:tipo rdf:resource="http://www.w3.org/2000/10/swap/pim/contact#Person"/ ■/rdf:Descripción■/rdf:RDF

Ejemplo 2: La abreviatura postal de Nueva York

Ciertos conceptos en RDF se toman de la lógica y la lingüística, donde las estructuras sujeto-predicado y sujeto-predicado-objeto tienen significados similares, aunque distintos, a los usos de esos términos en RDF. Este ejemplo demuestra:

En la declaración en inglés 'Nueva York tiene la abreviatura postal NY' , 'Nueva York' sería el asunto, 'tiene la abreviatura postal' el predicado y 'NY' el objeto.

Codificado como un RDF triple, el sujeto y el predicado tendrían que ser recursos nombrados por URI. El objeto podría ser un recurso o un elemento literal. Por ejemplo, en la forma N-Triples de RDF, la declaración podría verse así:

Nuevo%20York confianza ■http://purl.org/dc/terms/alternative Conf "NY" .

En este ejemplo, "urn:x-states:New%20York" es el URI de un recurso que indica el estado de Nueva York de EE. UU., "http://purl.org/dc/terms/alternative" es el URI de un predicado (cuya definición legible por humanos se puede encontrar aquí), y "NY" es una cadena literal. Tenga en cuenta que los URI elegidos aquí no son estándar, y no es necesario que lo sean, siempre que su significado sea conocido por cualquiera que los lea.

Ejemplo 3: un artículo de Wikipedia sobre Tony Benn

Del mismo modo, dado que "http://en.wikipedia.org/wiki/Tony_Benn" identifica un recurso en particular (independientemente de si ese URI se puede atravesar como un hipervínculo, o si el recurso es realmente el artículo de Wikipedia sobre Tony Benn), para decir que el título de este recurso es "Tony Benn" y su editor es "Wikipedia" serían dos afirmaciones que podrían expresarse como sentencias RDF válidas. En la forma N-Triples de RDF, estas declaraciones podrían tener el siguiente aspecto:

c) http://en.wikipedia.org/wiki/Tony_Benn titulado ■http://purl.org/dc/elements/1.1/title "Tony Benn" .c) http://en.wikipedia.org/wiki/Tony_Benn titulado ■http://purl.org/dc/elements/1.1/publisher "Wikipedia" .

Para una persona de habla inglesa, la misma información podría representarse simplemente como:

El título de este recurso, publicado por Wikipedia, es 'Tony Benn'

Sin embargo, RDF pone la información de una manera formal que una máquina puede entender. El propósito de RDF es proporcionar un mecanismo de codificación e interpretación para que los recursos se puedan describir de una manera que un software en particular pueda entenderlos; en otras palabras, para que el software pueda acceder y utilizar información que de otro modo no podría utilizar.

Ambas versiones de las declaraciones anteriores son prolijas porque un requisito para un recurso RDF (como sujeto o predicado) es que sea único. El recurso del tema debe ser único en un intento de identificar el recurso exacto que se describe. El predicado debe ser único para reducir la posibilidad de que la idea de Título o Editor sea ambigua para el software que trabaja con la descripción. Si el software reconoce http://purl.org/dc/elements/1.1/title (una definición específica para el concepto de título establecida por Dublin Core Metadata Initiative), también sabrá que este título es diferente de un título de propiedad o de un título honorario o simplemente de las letras t-i-t-l-e juntas.

El siguiente ejemplo, escrito en Turtle, muestra cómo se pueden elaborar afirmaciones tan simples mediante la combinación de varios vocabularios RDF. Aquí, observamos que el tema principal de la página de Wikipedia es una "Persona" cuyo nombre es "Tony Benn":

@prefix rdf: ▪ http://www.w3.org/1999/02/22-rdf-syntax-ns# .@prefix Foaf: ▪ http://xmlns.com/foaf/0.1/ .@prefix dc: ▪ http://purl.org/dc/elements/1 .c) http://en.wikipedia.org/wiki/Tony_Benn titulado dc:editor "Wikipedia" ; dc:Título "Tony Benn" ; No.:primarioTema [ a No.:Persona ; No.:Nombre "Tony Benn" ] .

Aplicaciones

Algunos usos de RDF incluyen la investigación en redes sociales. También ayudará a las personas en los campos comerciales a comprender mejor sus relaciones con miembros de industrias que podrían ser útiles para la colocación de productos. También ayudará a los científicos a comprender cómo las personas están conectadas entre sí.

RDF se está utilizando para tener una mejor comprensión de los patrones de tráfico vial. Esto se debe a que la información sobre los patrones de tráfico se encuentra en diferentes sitios web y RDF se utiliza para integrar información de diferentes fuentes en la web. Antes, la metodología común utilizaba la búsqueda de palabras clave, pero este método es problemático porque no considera sinónimos. Es por esto que las ontologías son útiles en esta situación. Pero uno de los problemas que surgen cuando se trata de estudiar el tráfico de manera eficiente es que, para comprender completamente el tráfico, se deben comprender bien los conceptos relacionados con las personas, las calles y las carreteras. Dado que estos son conceptos humanos, requieren la adición de lógica difusa. Esto se debe a que los valores que son útiles para describir carreteras, como el grado de resbalamiento, no son conceptos precisos y no se pueden medir. Esto implicaría que la mejor solución incorporaría tanto la lógica difusa como la ontología.