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:domain | Property | Class | El dominio del recurso |
rdfs:range | Property | Class | La gama del recurso |
rdfs:subPropertyOf | Property | Property | La propiedad es una sub característica de una propiedad |
rdfs:subClassOf | Class | Class | El recurso es una subclase de una clase |
rdfs:comment | Resource | Literal | La descripción legible por humanos del recurso |
rdfs:label | Resource | Literal | La etiqueta legible por humanos (name) del recurso |
rdfs:isDefinedBy | Resource | Resource | La definición del recurso |
rdfs:seeAlso | Resource | Resource | La información adicional sobre el recurso |
rdfs:member | Resource | Resource | El miembro del recurso |
rdf:first | List | Resource | |
rdf:rest | List | List | |
rdf:subject | Statement | Resource | El tema del recurso en una Declaración RDF |
rdf:predicate | Statement | Resource | El predicado del recurso en una declaración RDF |
rdf:object | Statement | Resource | El objeto del recurso en una Declaración RDF |
rdf:value | Resource | Resource | La propiedad utilizada para los valores |
rdf:type | Resource | Class | 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 |