In questo articolo esploreremo a fondo RDF Schema e il suo impatto su diversi ambiti della vita. Dalle sue origini alla sua presenza nella società odierna, RDF Schema ha svolto un ruolo fondamentale nel modo in cui interagiamo, lavoriamo e ci relazioniamo con il mondo che ci circonda. Attraverso un'analisi dettagliata, esamineremo le diverse prospettive e opinioni riguardanti RDF Schema, nonché la sua evoluzione nel tempo. Questo articolo cerca di fornire una visione completa e multidimensionale di RDF Schema, consentendo ai lettori di comprenderne meglio l'importanza e il significato in vari contesti.
RDF Schema ("Resource Description Framework Schema", talvolta abbreviato in RDFS, RDF(S), RDF-S, o RDF/S) è un insieme di classi e proprietà RDF costituente un'estensione del vocabolario base di RDF.[1]
La prima versione venne pubblicata dal World Wide Web Consortium (W3C) nell'aprile del 1998,[2][3] e la raccomandazione W3C definitiva[1] fu pubblicata nel febbraio 2004. Diverse componenti RDFS sono incluse nel linguaggio più espressivo OWL.
RDFS aggiunge a RDF la possibilità esprimere alcune proprietà ontologiche intensionali di base. Ad esempio, permette di dichiarare che ogni oggetto che è istanza di una certa classe è istanza anche di una classe di livello superiore. Oppure, permette di dichiarare che solo gli elementi che sono istanze di una certa classe possono avere una certa proprietà.
I costrutti RDFS principali sono le classi e proprietà. Esistono poi altri costrutti, definiti come "utility property", che sono particolari istanze di rdf:Property.
Un esempio tipico di rdfs:Class è foaf:Person
, nel vocabolario FOAF.[4] Un'istanza di foaf:Person
è una risorsa che è collegata alla classe foaf:Person
tramite la proprietà rdf:type
, che indica il tipo (o, appunto, la classe) di un particolare elemento. Ad esempio, la frase in linguaggio naturale "Mario è una persona" viene formalizzata nel modo seguente:
ex:Mario rdf:type foaf:Person
La definizione di rdfs:Class è ricorsiva: rdfs:Class è una classe di classi, quindi è istanza di se stessa:
rdfs:Class rdf:type rdfs:Class
Le altre classi descritte nelle specifiche RDF(S) sono:
Le proprietà sono istanze di rdf:Property e descrivono una relazione tra le risorse soggetto e le risorse oggetto. Una proprietà, quando utilizzata come tale, viene detta "predicato".
Ad esempio, le seguenti dichiarazioni sono utilizzate per esprimere la proprietà ex:impiegato
avente come soggetto una risorsa di tipo foaf:Person
e come oggetto una risorsa di tipo foaf:Organization
:
ex:impiegato rdfs:domain foaf:Person
ex:impiegato rdfs:range foaf:Organization
Date le due precedenti dichiarazioni, la tripla seguente richiede che ex:Mario
sia necessariamente di tipo foaf:Person
ed ex:AziendaX di tipo foaf:Organization
:
ex:Mario ex:impiegato ex:AziendaX
Fra i più noti vocabolari RDF rappresentati in RDFS troviamo:[6]