Los últimos tutoriales de desarrollo web
 

XML RDF


Ejemplo de documento RDF

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3ii.com/rdf/">

<rdf:Description rdf:about="http://www.w3ii.com">
  <si:title>w3ii</si:title>
  <si:author>Jan Egil Refsnes</si:author>
</rdf:Description>

</rdf:RDF>

¿Cuál es RDF?

  • RDF es sinónimo de R esource D escripción F ARCO
  • RDF es un marco para la descripción de recursos en la web
  • RDF está diseñado para ser leído y entendido por los ordenadores
  • RDF no está diseñado para ser mostrada a la gente
  • RDF está escrito en XML
  • RDF es una parte de la Actividad de Web Semántica del W3C
  • RDF es una Recomendación del W3C desde el 10 de febrero de 2004

RDF - Ejemplos de Uso

  • Al describir las propiedades de artículos de compra, como el precio y la disponibilidad
  • Describiendo un calendario para eventos web
  • Al describir la información acerca de las páginas web (content, author, created and modified date)
  • Explican el contenido y calificación para fotos de la web
  • Al describir el contenido de los motores de búsqueda
  • Describiendo bibliotecas electrónicas

RDF está diseñado para ser leído por los ordenadores

RDF fue diseñado para proporcionar una forma común para describir la información para que pueda ser leído y comprendido por las aplicaciones informáticas.

descripciones RDF no están diseñados para que se muestre en la web.


RDF está escrito en XML

documentos RDF están escritos en XML. El lenguaje XML utilizado por RDF se llama RDF / XML.

Mediante el uso de XML, RDF información puede ser fácilmente intercambiados entre diferentes tipos de ordenadores usando diferentes tipos de sistemas operativos y lenguajes de aplicación.


RDF y "The Semantic Web"

El lenguaje RDF es una parte de la Actividad de Web Semántica del W3C. Del W3C "Semantic Web Vision" es un futuro en el que:

  • información de Internet tiene significado exacto
  • información de Internet puede ser entendida y procesada por computadoras
  • Las computadoras pueden integrar la información de la web

RDF utiliza identificadores Web (URIs) para identificar recursos.

RDF describe los recursos con propiedades y valores de la propiedad.


RDF de recursos, la propiedad, y el valor de la propiedad

RDF identifica cosas usando identificadores Web (URIs) , y describe los recursos con propiedades y valores de la propiedad.

Explicación de los recursos, la propiedad, y el valor de la propiedad:

  • Una Resource es algo que puede tener un URI, tales como "http://www.w3ii.com/rdf"
  • Una Property es un recurso que tiene un nombre, como "author" o "homepage"
  • Un Property value es el valor de una propiedad, tales como "Jan Egil Refsnes" o "http://www.w3ii.com" (note that a property value can be another resource)

El siguiente documento RDF podría describir el recurso "http://www.w3ii.com/rdf" :

<?xml version="1.0"?>

<RDF>
  <Description about="http://www.w3ii.com/rdf">
    <author>Jan Egil Refsnes</author>
    <homepage>http://www.w3ii.com</homepage>
  </Description>
</RDF>

El ejemplo anterior se simplifica. Los espacios de nombres se omiten.


Las declaraciones RDF

La combinación de un recurso, una propiedad, y un valor de la propiedad es una Statement (known as the subject, predicate and object of a Statement) .

Veamos algunas declaraciones de ejemplo para obtener una mejor comprensión:

Declaración: "The author of http://www.w3ii.com/rdf is Jan Egil Refsnes" .

  • El objeto de la declaración anterior es: http://www.w3ii.com/rdf
  • El predicado es: autor
  • El objeto es: Jan Egil Refsnes

Declaración: "The homepage of http://www.w3ii.com/rdf is http://www.w3ii.com" .

  • El objeto de la declaración anterior es: http://www.w3ii.com/rdf
  • El predicado es: página de inicio
  • El objeto es: http://www.w3ii.com

Ejemplo RDF

Aquí hay dos registros desde un CD-list:

Título Artista País Empresa Precio Año
Empire Burlesque Bob Dylan Estados Unidos Columbia 10.90 1985
Ocultar su corazón Bonnie Tyler Reino Unido CBS Records 9.90 1988

A continuación se muestra algunas líneas de un documento RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide your heart">
  <cd:artist>Bonnie Tyler</cd:artist>
  <cd:country>UK</cd:country>
  <cd:company>CBS Records</cd:company>
  <cd:price>9.90</cd:price>
  <cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>

La primera línea del documento RDF es la declaración XML. La declaración XML es seguido por el elemento raíz de documentos RDF: <rdf:RDF> .

Los xmlns:rdf espacio de nombres, especifica que los elementos con el prefijo RDF son desde el espacio de nombres "http://www.w3.org/1999/02/22-rdf-syntax-ns#" .

El xmlns:cd espacio de nombres, especifica que los elementos con el prefijo cd son del espacio de nombres "http://www.recshop.fake/cd#" .

La <rdf:Description> elemento contiene la descripción del recurso identificado por el rdf:about atributo.

Los elementos: <cd:artist>, <cd:country>, <cd:company>, etc., son propiedades del recurso.


RDF línea Validador

Servicio de Validación del W3C RDF es útil cuando se está aprendiendo RDF. Aquí se puede experimentar con archivos RDF.

La línea RDF Validador analiza el documento RDF, comprueba su sintaxis y genera tablas y vistas gráficas de su documento RDF.

Copia y pega el siguiente ejemplo en el validador del W3C RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3ii.com/rdf/">
<rdf:Description rdf:about="http://www.w3ii.com">
  <si:title>w3ii.com</si:title>
  <si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>

Al analizar el ejemplo anterior, el resultado será algo parecido a esto .


Elementos RDF

Los principales elementos del RDF son el elemento raíz, <RDF> y el <Description> elemento, que identifica un recurso.


La <rdf:RDF> Element

<Rdf: RDF> es el elemento raíz de un documento RDF. Define el documento XML para ser un documento RDF. También contiene una referencia al espacio de nombres RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  ...Description goes here...
</rdf:RDF>

La <rdf:Description> Element

La <rdf:Description> elemento identifica un recurso con el about de atributos.

La <rdf:Description> elemento contiene elementos que describen el recurso:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

</rdf:RDF>

Los elementos, artista, país, empresa, precio, y el año, se definen en el http: namespace //www.recshop.fake/cd#. Este espacio de nombres está fuera de RDF (and not a part of RDF) . RDF sólo define el marco. Los elementos, artista, país, empresa, precio, y el año, deben ser definidos por otra persona (empresa, organización, persona, etc.).


Propiedades como atributos

Los elementos de la propiedad también se pueden definir como atributos (instead of elements) :

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque"
cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />

</rdf:RDF>

Propiedades como Recursos

Los elementos de la propiedad también se pueden definir como recursos:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist rdf:resource="http://www.recshop.fake/cd/dylan" />
  ...
  ...
</rdf:Description>

</rdf:RDF>

En el ejemplo anterior, el artista propiedad no tiene un valor, sino una referencia a un recurso que contiene información sobre el artista.


RDF Contenedores

contenedores RDF se usan para describir grupo de cosas.

Los siguientes elementos RDF se usan para describir grupos: <Bolsa>, <Sec> y <Alt> .


La <rdf:Bag> Element

El <rdf:Bag> elemento se utiliza para describir una lista de valores que no tienen que estar en un orden específico.

La <rdf:Bag> elemento puede contener valores duplicados.

Ejemplo

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Bag>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>George</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Bag>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

La <rdf:Seq> Element

La <rdf:Seq> elemento se utiliza para describir una lista ordenada de valores (For example, in alphabetical order) .

El <rdf:Seq> elemento puede contener valores duplicados.

Ejemplo

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Seq>
      <rdf:li>George</rdf:li>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Seq>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

La <rdf:Alt> Element

El <rdf:Alt> elemento se utiliza para describir una lista de valores alternativos (the user can select only one of the values) .

Ejemplo

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:format>
    <rdf:Alt>
      <rdf:li>CD</rdf:li>
      <rdf:li>Record</rdf:li>
      <rdf:li>Tape</rdf:li>
    </rdf:Alt>
  </cd:format>
</rdf:Description>

</rdf:RDF>

Términos RDF

En los ejemplos anteriores hemos hablado de "list of values" al describir los elementos contenedores. En RDF éstos "list of values" son llamados miembros.

Por lo tanto, tenemos lo siguiente:

  • Un contenedor es un recurso que contiene cosas
  • Las cosas contenidas son llamados miembros (not list of values)

RDF Colecciones

colecciones RDF describen grupos que pueden contener sólo los miembros específicos.


El rdf:parseType="Collection" Atributo

Como se ha visto en el capítulo anterior, un envase dice que los recursos que contienen son miembros - que no dice que los otros miembros no están permitidos.

colecciones RDF se usan para describir grupos que pueden contener sólo los miembros específicos.

Una colección es descrito por el atributo de RDF: parseType = "Colección".

Ejemplo

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://recshop.fake/cd#">

<rdf:Description
rdf:about="http://recshop.fake/cd/Beatles">
  <cd:artist rdf:parseType="Collection">
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/George"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/John"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Paul"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Ringo"/>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

Esquema RDF y clases de la aplicación

Esquema RDF (RDFS) es una extensión de RDF.

RDF describe los recursos con clases, propiedades y valores.

Además, RDF necesita también una manera de definir las clases y propiedades específicas de la aplicación. clases y propiedades específicas de la aplicación se deben definir con extensiones a RDF.

Uno de estos es la extensión del esquema RDF.


Esquema RDF (RDFS)

Esquema RDF no proporciona clases y propiedades reales específicos de la aplicación.

En lugar Esquema RDF proporciona el marco para describir las clases y propiedades específicas de la aplicación.

Las clases en el Esquema RDF se parecen mucho a las clases en lenguajes de programación orientados a objetos. Esto permite que los recursos que se definen como instancias de clases, y subclases de las clases.


Ejemplo RDFS

El ejemplo siguiente muestra algunas de las instalaciones rdfs:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">

<rdf:Description rdf:ID="animal">
  <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>

<rdf:Description rdf:ID="horse">
  <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>

</rdf:RDF>

En el ejemplo anterior, el recurso de "horse" es una subclase de la clase "animal" .


ejemplo abreviada

Desde una clase de hornos se elevó un recurso RDF podemos abreviar el ejemplo anterior utilizando rdfs: Class en lugar de RDF: Descripción, y soltar el RDF: información de tipo:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">

<rdfs:Class rdf:ID="animal" />

<rdfs:Class rdf:ID="horse">
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>

</rdf:RDF>

¡Eso es!


El Dublin Core

El Dublin Core Metadata Initiative (DCMI) ha creado algunas propiedades predefinidas para la descripción de los documentos.

RDF es metadatos (data about data) . RDF se utiliza para describir los recursos de información.

El Dublin Core es un conjunto de propiedades predefinidas para la descripción de los documentos.

Las primeras propiedades de Dublin Core se definieron en el Metadata Workshop in Dublin, Ohio en 1995 y actualmente es mantenido por la Iniciativa de Metadatos Dublin Core .

Propiedad Definición
Contribuyente La entidad responsable de hacer contribuciones al contenido del recurso
Cobertura La extensión o alcance del contenido del recurso
Creador Una entidad principal responsable de hacer que el contenido del recurso
Formato La manifestación física o digital del recurso
Fecha A fecha de un evento en el ciclo de vida del recurso
Descripción Una cuenta del contenido del recurso
identificador Una referencia clara al recurso dentro de un contexto dado
Idioma Un idioma del contenido intelectual del recurso
Editor La entidad responsable de hacer los recursos disponibles
Relación Una referencia a un recurso relacionado
Derechos Información sobre los derechos celebró en y sobre el recurso
Fuente Una referencia a un recurso del que se deriva la presente recurso
Tema Un tema del contenido del recurso
Título Un nombre que se da al recurso
Tipo La naturaleza o género del contenido del recurso

Un rápido vistazo a la tabla anterior indica que RDF es ideal para representar la información Dublin Core.


Ejemplo RDF

El siguiente ejemplo demuestra el uso de algunas de las propiedades de Dublin Core en un documento RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc= "http://purl.org/dc/elements/1.1/">

<rdf:Description rdf:about="http://www.w3ii.com">
  <dc:description>w3ii - Free tutorials</dc:description>
  <dc:publisher>Refsnes Data as</dc:publisher>
  <dc:date>2008-09-01</dc:date>
  <dc:type>Web Development</dc:type>
  <dc:format>text/html</dc:format>
  <dc:language>en</dc:language>
</rdf:Description>

</rdf:RDF>

RDF Referencia

El espacio de nombres RDF (xmlns:rdf) es: http://www.w3.org/1999/02/22-rdf-syntax-ns#

El espacio de nombres RDFS (xmlns:rdfs ) es: http://www.w3.org/2000/01/rdf-schema#

La extensión de archivo recomendada para los archivos RDF es .rdf . Sin embargo, la extensión .xml se utiliza a menudo para proporcionar compatibilidad con viejos analizadores XML.

El tipo MIME debe ser "application/rdf+xml" .


Las clases RDFS / RDF

Elemento Clase de subclase de
rdfs:Class All classes  
rdfs:Datatype Data types Class
rdfs:Resource All resources Class
rdfs:Container Containers Resource
rdfs:Literal Literal values (text and numbers) Resource
rdf:List Lists Resource
rdf:Property Properties Resource
rdf:Statement Statements Resource
rdf:Alt Containers of alternatives Container
rdf:Bag Unordered containers Container
rdf:Seq Ordered containers Container
rdfs:ContainerMembershipProperty Container membership properties Property
rdf:XMLLiteral XML literal values Literal

Propiedades RDFS / RDF

Elemento Dominio Distancia Descripción
rdfs:domainPropertyClass El dominio del recurso
rdfs:rangePropertyClass La gama del recurso
rdfs:subPropertyOfPropertyProperty La propiedad es una sub característica de una propiedad
rdfs:subClassOfClassClass El recurso es una subclase de una clase
rdfs:commentResourceLiteral La descripción legible por humanos del recurso
rdfs:labelResourceLiteral La etiqueta legible por humanos (name) del recurso
rdfs:isDefinedByResourceResource La definición del recurso
rdfs:seeAlsoResourceResource La información adicional sobre el recurso
rdfs:memberResourceResource El miembro del recurso
rdf:firstListResource
rdf:restListList
rdf:subjectStatementResource El tema del recurso en una Declaración RDF
rdf:predicateStatementResource El predicado del recurso en una declaración RDF
rdf:objectStatement Resource El objeto del recurso en una Declaración RDF
rdf:valueResourceResource La propiedad utilizada para los valores
rdf:typeResourceClass El recurso es una instancia de una clase

Los atributos de RDF

Atributo Descripción
rdf:about Define que se describe el recurso
rdf:Description Contenedor para la descripción de un recurso
rdf:resource Define un recurso para identificar una propiedad
rdf:datatype Define el tipo de datos de un elemento
rdf:ID Define el ID de un elemento
rdf:li Define una lista
rdf:_ n Define un nodo
rdf:nodeID Define el ID de un nodo de elemento
rdf:parseType Define cómo un elemento debe ser analizada
rdf:RDF La raíz de un documento RDF
xml:base Define la base XML
xml:lang Define el idioma del contenido del elemento