Nell'articolo di oggi vogliamo approfondire l'argomento Resource Description Framework. Nel corso della storia, Resource Description Framework ha avuto un ruolo fondamentale in diversi ambiti, dalla politica alla scienza, alla cultura e all'arte. È un argomento che ha generato dibattiti e polemiche, ma è stato anche fonte di ispirazione e innovazione. In questo articolo analizzeremo i diversi aspetti legati a Resource Description Framework, dalle sue origini fino al suo impatto sulla società odierna. Con interviste a esperti, ricerche recenti e riflessioni personali, approfondiremo l'entusiasmante mondo di Resource Description Framework per comprenderne meglio la rilevanza e l'influenza nel mondo contemporaneo. Non perdere questo affascinante tour di Resource Description Framework!
Il Resource Description Framework (RDF) è lo strumento base proposto da W3C per la codifica, lo scambio e il riutilizzo di metadati strutturati e consente l'interoperabilità semantica tra applicazioni che condividono le informazioni sul Web. È costituito da due componenti:
L'RDF Data Model si basa su tre principi chiave:
Qualunque cosa descritta da RDF è detta risorsa. Principalmente una risorsa è reperibile sul web, ma RDF può descrivere anche risorse che non si trovano direttamente sul web. Ogni risorsa è identificata da un URI, Uniform Resource Identifier.
Il modello di dati RDF è formato da risorse, proprietà e valori. Le proprietà sono delle relazioni che legano tra loro risorse e valori, e sono anch'esse identificate da URI. Un valore, invece, è un tipo di dato primitivo, che può essere una stringa contenente l'URI di una risorsa.
L'unità base per rappresentare un'informazione in RDF è lo statement. Uno statement è una tripla del tipo Soggetto – Predicato – Oggetto, dove il soggetto è una risorsa, il predicato è una proprietà e l'oggetto è un valore (e quindi anche un URI che punta ad un'altra risorsa).
Il data model RDF permette di definire un modello semplice per descrivere le relazioni tra le risorse, in termini di proprietà identificate da un nome e relativi valori. Tuttavia, RDF data model non fornisce nessun meccanismo per dichiarare queste proprietà, né per definire le relazioni tra queste proprietà ed altre risorse. Tale compito è definito da RDF Schema.
RDF quando deve far riferimento a più di una risorsa, per esempio per descrivere il fatto che la risorsa è associata a più proprietà, definisce dei contenitori (container), ossia liste di risorse. Tre sono i tipi di contenitori:
Un modello RDF è rappresentabile da un grafo orientato sui cui nodi ci sono risorse o tipi primitivi e i cui archi rappresentano le proprietà. Un grafo RDF è rappresentato fisicamente mediante una serializzazione.
Le principali serializzazioni adottabili per un grafo RDF sono:
In particolare la serializzazione in XML può avvenire secondo due metodi, quello classico e quello abbreviato, più leggibile per l'uomo.
Si supponga di voler serializzare la frase "Mario_Rossi" "è_autore_di" "Rosso_di_sera_bel_tempo_si_spera": il risultato in RDF/XML sarà:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:au="http://description.org/schema/">
<rdf:Description about="http://www.book.it/Rosso_di_sera_bel_tempo_si_spera/">
<au:author>Mario_Rossi</au:author>
</rdf:Description>
</rdf:RDF>
In RDF Schema (RDFS) ogni predicato è in relazione con altri predicati e permette di dichiarare l'esistenza di proprietà di un concetto, che permettano di esprimere con metodo sistematico affermazioni simili su risorse simili. RDF Schema permette di definire nuovi tipi di classe. Inoltre specificando il concetto di classe e sottoclasse, consente di definire gerarchie di classi. In RDF si possono rappresentare le risorse come istanze di classi e definire sottoclassi e tipi.
Ogni risorsa descritta in RDF è istanza della classe rdfs:Resource.
Le sottoclassi di rdfs:Resource sono:
rdfs:Literal Rappresenta un letterale, una stringa di testo.
rdfs:Property Rappresenta le proprietà.
rdf:Class Una classe dei linguaggi object-oriented.
rdf:type Indica che una risorsa è del tipo della classe che viene specificata.
rdfs:subClassOf Indica la relazione classe/sottoclasse fra due classi.
L'ereditarietà può essere multipla.
rdfs:subPropertyOf Indica che una proprietà è specializzazione di un'altra.
rdfs:seeAlso Specifica che la risorsa è anche descritta in altre parti.
rdfs:isDefinedBy Indica la risorsa "soggetto dell'asserzione" ovvero chi ha fatto l'asserzione.
rdfs:range (codominio) È utilizzato come proprietà di una risorsa; indica le classi che faranno parte di una asserzione con la proprietà.
rdfs:domain (dominio) Indica la classe a cui può essere applicata la proprietà.
La classe gatto viene dichiarata sottoclasse della classe animale.
<rdf:Description rdf:ID="Animale">
<rdf:type
rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>
<rdf:Description rdf:ID="gatto">
<rdf:type
rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#Animale"/>
</rdf:Description>
La proprietà matrice viene dichiarata come specializzazione della proprietà madre.
<rdf:Description rdf:ID="Madre">
<rdf:type
rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
</rdf:Description>
<rdf:Description rdf:ID="Matrice">
<rdf:type
rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
<rdfs:subPropertyOf rdf:resource="#Madre"/>
</rdf:Description>
Controllo di autorità | LCCN (EN) sh2003010124 · GND (DE) 4737512-7 · J9U (EN, HE) 987007532775605171 |
---|