Gli ultimi tutorial di sviluppo web
 

XML RDF


RDF documento di esempio

<?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>

Che cosa è RDF?

  • RDF è sinonimo di R eSource D escrizione F QUADRO
  • RDF è un framework per la descrizione delle risorse sul web
  • RDF è progettato per essere letto e compreso da computer
  • RDF non è progettato per la visualizzazione di persone
  • RDF è scritto in XML
  • RDF è una parte del Semantic Web Activity del W3C
  • RDF è una raccomandazione W3C dal 10 febbraio 2004

RDF - Esempi di utilizzo

  • Descrivendo le proprietà per gli oggetti commerciali, come il prezzo e la disponibilità
  • Descrivendo orari per gli eventi web
  • Descrivendo informazioni sulle pagine web (content, author, created and modified date)
  • Descrivono il contenuto e voto per le immagini web
  • Descrivendo contenuti per i motori di ricerca
  • Descrivendo biblioteche elettroniche

RDF è stato progettato per essere letto da Computer

RDF è stato progettato per fornire un modo comune per descrivere le informazioni in modo che possa essere letto e compreso da applicazioni informatiche.

descrizioni RDF non sono progettati per essere visualizzati sul web.


RDF è scritto in XML

documenti RDF sono scritti in XML. Il linguaggio XML utilizzato da RDF è chiamato RDF / XML.

Utilizzando XML, RDF informazioni possono essere facilmente scambiati tra diversi tipi di computer utilizzando diversi tipi di sistemi operativi e linguaggi di applicazione.


RDF e "The Semantic Web"

Il linguaggio RDF è una parte del Semantic Web Activity del W3C. Del W3C "Semantic Web Vision" è un futuro in cui:

  • Informazioni Web ha significato esatto
  • informazioni Web può essere compreso ed elaborato dal computer
  • I computer possono integrare le informazioni dal web

RDF utilizza identificatori Web (URIs) per identificare le risorse.

RDF descrive le risorse con le proprietà ei valori delle proprietà.


RDF Risorse, Proprietà, e valore

RDF identifica cose usando identificatori Web (URIs) , e descrive le risorse con le proprietà ei valori delle proprietà.

Spiegazione delle risorse, proprietà, e il valore di proprietà:

  • Una Resource è tutto ciò che può avere un URI, come ad esempio "http://www.w3ii.com/rdf"
  • Una Property è una risorsa che ha un nome, ad esempio "author" o "homepage"
  • Un Property value è il valore di una proprietà, come ad esempio "Jan Egil Refsnes" o "http://www.w3ii.com" (note that a property value can be another resource)

Il seguente documento RDF potrebbe descrivere la risorsa "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>

L'esempio precedente è semplificato. Gli spazi dei nomi sono omessi.


Le dichiarazioni RDF

La combinazione di una risorsa, una proprietà e un valore della proprietà forma una Statement (known as the subject, predicate and object of a Statement) .

Diamo un'occhiata ad alcuni esempi di dichiarazioni per ottenere una migliore comprensione:

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

  • L'oggetto della dichiarazione di cui sopra è: http://www.w3ii.com/rdf
  • Il predicato è: autore
  • L'oggetto è: Jan Egil Refsnes

Dichiarazione: "The homepage of http://www.w3ii.com/rdf is http://www.w3ii.com" .

  • L'oggetto della dichiarazione di cui sopra è: http://www.w3ii.com/rdf
  • Il predicato è: homepage
  • L'oggetto è: http://www.w3ii.com

RDF Esempio

Qui ci sono due record da un CD-list:

Titolo Artista Nazione Società Prezzo Anno
Empire Burlesque Bob Dylan Stati Uniti d'America Columbia 10.90 1985
Nascondi il tuo cuore Bonnie Tyler UK CBS Records 9.90 1988

Di seguito è riportato poche righe da 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 prima riga del documento RDF è la dichiarazione XML. La dichiarazione XML è seguito dall'elemento radice dei documenti RDF: <rdf:RDF> .

I xmlns:rdf namespace, specifica che gli elementi con il prefisso rdf sono dallo spazio dei nomi "http://www.w3.org/1999/02/22-rdf-syntax-ns#" .

Il xmlns:cd namespace, specifica che gli elementi con il prefisso cd sono dallo spazio dei nomi "http://www.recshop.fake/cd#" .

Il <rdf:Description> elemento contiene la descrizione della risorsa identificata dal rdf:about attributo.

Gli elementi: <cd:artist>, <cd:country>, <cd:company>, ecc sono proprietà della risorsa.


RDF in linea Validator

RDF Validation Service del W3C è utile quando si impara RDF. Qui si può sperimentare con i file RDF.

La linea RDF Validator analizza il documento RDF, controlla la sintassi, e genera tabellare e visualizzazioni grafiche del documento RDF.

Copiare e incollare l'esempio di seguito in RDF validatore del W3C:

<?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>

Quando si analizza l'esempio precedente, il risultato sarà simile a questo .


RDF Elementi

Gli elementi principali del CDR sono l'elemento principale, <RDF> e il <Description> elemento, che identifica una risorsa.


Il <rdf:RDF> Element

<Rdf: RDF> è l'elemento principale di un documento RDF. Esso definisce il documento XML per essere un documento RDF. Esso contiene anche un riferimento allo spazio dei nomi RDF:

<?xml version="1.0"?>

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

Il <rdf:Description> Element

Il <rdf:Description> elemento identifica una risorsa con il about attributo.

Il <rdf:Description> elemento contiene elementi che descrivono la risorsa:

<?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>

Gli elementi, artista, paese, la società, il prezzo e l'anno, sono definiti nel http: namespace //www.recshop.fake/cd#. Questo spazio dei nomi è RDF di fuori (and not a part of RDF) . RDF definisce solo il quadro. Gli elementi, artista, paese, la società, il prezzo, e l'anno, devono essere definiti da qualcun altro (azienda, organizzazione, persona, ecc).


Proprietà come attributi

Gli elementi di proprietà possono anche essere definiti come attributi (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>

Proprietà come Risorse

Gli elementi di proprietà possono anche essere definiti come risorse:

<?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>

Nell'esempio precedente, l'artista struttura non ha un valore, ma un riferimento a una risorsa contenente informazioni sull'artista.


RDF Contenitori

contenitori RDF sono usati per descrivere un gruppo di cose.

I seguenti elementi RDF sono usati per descrivere i gruppi: <Bag>, <Seq>, e <Alt> .


Il <rdf:Bag> Element

Il <rdf:Bag> elemento è usato per descrivere un elenco di valori che non devono essere in un ordine specifico.

Il <rdf:Bag> elemento può contenere valori duplicati.

Esempio

<?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>

Il <rdf:Seq> Element

Il <rdf:Seq> elemento viene utilizzato per descrivere un elenco ordinato di valori (For example, in alphabetical order) .

Il <rdf:Seq> elemento può contenere valori duplicati.

Esempio

<?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>

Il <rdf:Alt> Element

L' <rdf:Alt> elemento viene utilizzato per descrivere un elenco di valori alternativi (the user can select only one of the values) .

Esempio

<?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>

RDF Termini

Negli esempi sopra abbiamo parlato "list of values" per descrivere gli elementi del contenitore. In RDF questi "list of values" sono chiamati i membri.

Quindi, abbiamo la seguente:

  • Un contenitore è una risorsa che contiene le cose
  • Le cose contenute sono chiamati i membri (not list of values)

RDF Collezioni

collezioni RDF descrivono gruppi che possono contenere solo i membri specificati.


Il rdf:parseType="Collection" attributi

Come si è visto nel capitolo precedente, un contenitore dice che le risorse che contengono sono membri - non dice che gli altri membri non sono ammessi.

collezioni RDF sono usati per descrivere gruppi che possono contenere solo i membri specificati.

Una collezione è descritta da RDF attributo: parseType = "Collection".

Esempio

<?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>

RDF Schema e classi di applicazioni

RDF Schema (RDFS) è un'estensione di RDF.

RDF descrive le risorse con le classi, proprietà e valori.

Inoltre, RDF ha anche bisogno di un modo per definire le classi e le proprietà specifiche dell'applicazione. classi e proprietà specifiche per l'applicazione devono essere definite utilizzando le estensioni di RDF.

Una tale estensione è RDF Schema.


RDF Schema (RDFS)

RDF Schema non fornisce le classi e le proprietà specifiche dell'applicazione attuali.

Invece RDF Schema fornisce il quadro per descrivere classi e proprietà specifiche dell'applicazione.

Le classi in RDF Schema sono molto come le classi in linguaggi orientati agli oggetti di programmazione. In questo modo le risorse per essere definite come istanze di classi e sottoclassi di classi.


RDFS Esempio

L'esempio seguente mostra alcuni dei servizi 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>

Nell'esempio precedente, la risorsa "horse" è una sottoclasse della classe "animal" .


esempio abbreviato

Dal momento che una classe RDFS è una risorsa RDF possiamo abbreviare il nell'esempio precedente utilizzando rdfs: Class invece di RDF: Description, e rilasciare i rdf: informazioni sul 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>

Questo è tutto!


Il Dublin Core

Il Dublin Core Metadata Initiative (DCMI) ha creato alcune proprietà predefinite per descrivere i documenti.

RDF è metadati (data about data) . RDF è usato per descrivere risorse informative.

Il Dublin Core è un insieme di proprietà predefinite per descrivere documenti.

I primi proprietà Dublin Core sono stati definiti al Metadata Workshop in Dublin, Ohio nel 1995 ed è attualmente mantenuto dal Metadata Initiative Dublin Core .

Proprietà Definizione
Collaboratore Un'entità responsabile della produzione contributi al contenuto della risorsa
Copertura L'estensione o scopo del contenuto della risorsa
Creatore Un'entità responsabilità principale della produzione del contenuto della risorsa
Formato La manifestazione fisica o digitale della risorsa
Data Una data di un evento nel ciclo di vita della risorsa
Descrizione Un conto del contenuto della risorsa
Identifier Un riferimento univoco alla risorsa all'interno di un determinato contesto
Lingua Una lingua del contenuto intellettuale della risorsa
Editore Un'entità responsabile della produzione della risorsa disponibile
Relazione Un riferimento a una risorsa correlata
Diritti Informazioni sui diritti esercitati sulla risorsa
fonte Un riferimento a una risorsa da cui deriva l'attuale risorsa
Soggetto Un argomento del contenuto della risorsa
Titolo Un nome dato alla risorsa
Digitare La natura o il genere del contenuto della risorsa

Un rapido sguardo alla tabella di cui sopra indica che RDF è ideale per la rappresentazione delle informazioni Dublin Core.


RDF Esempio

L'esempio seguente dimostra l'uso di alcune delle proprietà Dublin Core in 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 di riferimento

Lo spazio dei nomi RDF (xmlns:rdf) è: http://www.w3.org/1999/02/22-rdf-syntax-ns#

Lo spazio dei nomi RDFS (xmlns:rdfs ) è: http://www.w3.org/2000/01/rdf-schema#

L'estensione del file consigliata per i file RDF è .rdf . Tuttavia, l'estensione .xml è spesso utilizzato per garantire la compatibilità con i vecchi parser XML.

Il tipo MIME dovrebbe essere "application/rdf+xml" .


Classi RDFS / RDF

Elemento Classe di sottoclasse di
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

Proprietà RDFS / RDF

Elemento Dominio Gamma Descrizione
rdfs:domainPropertyClass Il dominio della risorsa
rdfs:rangePropertyClass La gamma della risorsa
rdfs:subPropertyOfPropertyProperty La proprietà è una proprietà sub di una proprietà
rdfs:subClassOfClassClass La risorsa è una sottoclasse di una classe
rdfs:commentResourceLiteral La descrizione leggibile della risorsa
rdfs:labelResourceLiteral L'etichetta leggibile (name) della risorsa
rdfs:isDefinedByResourceResource La definizione della risorsa
rdfs:seeAlsoResourceResource Le informazioni aggiuntive sulla risorsa
rdfs:memberResourceResource Il membro della risorsa
rdf:firstListResource
rdf:restListList
rdf:subjectStatementResource Il tema della risorsa in una dichiarazione RDF
rdf:predicateStatementResource Il predicato della risorsa in una dichiarazione RDF
rdf:objectStatement Resource L'oggetto della risorsa in una dichiarazione RDF
rdf:valueResourceResource La struttura utilizzata per i valori
rdf:typeResourceClass La risorsa è un'istanza di una classe

Attributi RDF

Attributo Descrizione
rdf:about Definisce la risorsa che si descrive
rdf:Description Contenitore per la descrizione di una risorsa
rdf:resource Definisce una risorsa per identificare una proprietà
rdf:datatype Definisce il tipo di dati di un elemento
rdf:ID Definisce l'ID di un elemento
rdf:li Definisce una lista
rdf:_ n Definisce un nodo
rdf:nodeID Definisce l'ID di un nodo elemento
rdf:parseType Definisce come un elemento dovrebbe essere analizzato
rdf:RDF La radice di un documento RDF
xml:base Definisce la base XML
xml:lang Definisce la lingua del contenuto dell'elemento