RDF. Resource Description Framework

Похожие документы
Introduzione a RDF (Resource Description Framework)

RDF RDFS RDF/XML. Dott.sa Vincenza Anna Leano Basi di Dati II mod. B Prof. F. Cutugno A.A. 2010/2011

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON

Semantic Web: linguaggi e tecnologie

JSON for Linked Data JSON-LD

WWW = URL + HTTP + HTML

Introduzione alla programmazione

Elenchi puntati e numerati

Caratteristiche di un linguaggio ad alto livello

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Dati Semistrutturati: il linguaggio RDF Esempi ed esercitazioni

Metadati descrittivi: Dublin Core

Linguaggi, Traduttori e le Basi della Programmazione

XML: XLink. Alessandro Sorato - Linguaggi per la rete: XML Dipartimento di Informatica Università di Venezia Ca' Foscari

Il modello Entità/Relazioni (ER)

Chiara Chiarelli. Rapporto tecnico

Mediasoft snc. Classi documentali. Allegato al manuale di Conservazione sostitutiva. Versione del 2 novebre 2015

Metodologie e modelli di progetto

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Usabilità e accessibilità. Bibliografia:

Tecnologie Web T DTD Document Type Definition

Manuale SQL. Manuale SQL - 1 -

Funzioni, Stack e Visibilità delle Variabili in C

Linguistica Computazionale

Programmazione ad oggetti

Corso di Basi di dati e Sistemi Informativi A. A Corso di Laurea in Ingegneria Informatica. RDF e RDF Schema. 20/06/2013 Giuseppe Loseto 1

I servizi del SITR-IDT

Librerie digitali. Cos è una libreria digitale? Introduzione. Cos è una libreria digitale? Cos è una libreria digitale? Cos è una libreria digitale?

Unità Didattica 2 I Linguaggi di Programmazione

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Problemi di comunicazione e relazione La Comunicazione Alternativa Aumentativa, CAA

Raccolta e analisi dei requisiti

Corso di Laurea in Informatica Basi di Dati a.a

Dispense XML. Indice

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

Costanti e Variabili

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Enrico Fagnoni BOTK IN A NUTSHELL

Linguaggio C - sezione dichiarativa: costanti e variabili

RDF per la rappresentazione della conoscenza

Access. P a r t e t e r z a

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

Manuale di progettazione schemi XML

La stampa unione in Word 2007

SBN e Authority Control evoluzione e aspetti operativi

Linguaggi di Programmazione

Ontologie e rappresentazione della conoscenza

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

I database. Introduzione alla teoria delle basi di dati

CAPITOLO V. DATABASE: Il modello relazionale

Definizione di file. Directory e file File binari e file di testo

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

Database Modulo 4 RELAZIONI TRA TABELLE

Транскрипт:

RDF Resource Description Framework 1

Sommario 1) Cos è l RDF RDF Model and Syntax RDF Schema 2) Il data model RDF definizione di risorsa, proprietà e statement esempio 1 esempio 2 2

3) Combinazione RDF XML 4) I namespace 5) I contenitori tipi di contenitori sintassi per i contenitori 6) Perché RDF /XML è meglio di XML 3

Cos è il Resource Description Framework Il Resourse Description Framework descrive un linguaggio utile ai metadati. I metadati hanno una funzione essenziale nell individuazione, nel reperimento e nel trattamento delle informazioni. Un esempio classico è l insieme dei riferimenti bibliografici di una pubblicazione (titolo, autore, editore). 4

L obiettivo è la definizione di un sistema per la specificazione dei metadati associati alle risorse informative. Il risultato di tale attività ha condotto il W3C alla realizzazione di RDF, un metalinguaggio basato sulla sintassi XML. Esso permette sia di associare informazioni a dati, sia di definire lo schema di classificazione utilizzato. 5

RDF Model and Syntax L RDF Model and Syntax definisce il data model RDF (modello dei dati), che descrive le risorse, e la sintassi XML utilizzata per specificare questo modello. 6

RDF Schema L RDF Schema permette di definire il significato e le caratteristiche delle proprietà e delle relazioni che esistono tra queste e le risorse descritte nel data model RDF. 7

RDF Schema fornisce un insieme di risorse e proprietà predefinite. L insieme delle risorse e delle proprietà di base delle risorse è detto vocabolario dell RDF Schema. 8

Il data model RDF Questo modello è basato su tre oggetti: Resource (risorsa): indica ciò che viene descritto mediante RDF e può essere una risorsa Web (ad esempio una pagina HTML, un documento XML o parti di esso) o anche una risorsa esterna al Web (ad esempio un libro, un quadro, etc.); 9

Property (proprietà): indica una proprietà, un attributo o una relazione utilizzata per descrivere una risorsa. Il significato e le caratteristiche di questa componente vengono definite tramite RDF Schema; 10

Statement (asserzione): è l'elemento che descrive la risorsa ed è costituito da un soggetto (che rappresenta la Resource), un predicato (che esprime la Property) e da un oggetto (chiamato Value) che indica il valore della proprietà. Lo statement RDF che descrive la risorsa è del tipo: <soggetto> HAS <predicato> <oggetto>. 11

Resource Property Value 12

Esempio 1 L'informazione che vogliamo descrivere è la seguente: Elena Ferrari è l'autrice della pagina http://nome_di_un_dominio/esempio.html. Applicando il data model RDF (basato su Resource, Property e Value) otteniamo la seguente tabella: Resourse (soggetto) Property (predicato) Value (oggetto) http://nome_di_un_dominio/esempio.html Author Elena Ferrari 13

Lo statement RDF che descrive il nostro esempio è quindi: http://nome_di_un_dominio/esempio.html HAS author Elena Ferrari ed in forma grafica diventa: http://nome_di_un_dominio/esempio.html Author Elena Ferrari 14

L'oggetto di uno statement RDF può essere a sua volta una risorsa, consentendo in questo modo di descrivere in maniera più approfondita il valore della proprietà. 15

Esempio 2 All esempio precedente vogliamo ora aggiungere maggiori informazioni riguardanti l'autore della pagina HTML (ad esempio e-mail e numero di telefono). Dobbiamo allora aggiungere allo statement precedente la descrizione della risora autore, che può essere identificata in maniera univoca utilizzando ad esempio l'uri della sua Homepage. 16

Lo statement RDF espresso in forma grafica diventa quindi: 17

http://nome_di_un_dominio/esempio.html Author http://homepage_elenaferrari Name E-mail Phone Elena Ferrari elenaferr@libero.it 121212121 18

In forma testuale si ha uno statement RDF di questo tipo: http://nome_di_un_dominio/esempio.html HAS author http://homepage_elenaferrari/ AND http://homepage_elenaferrari/ HAS name ElenaFerrari AND email elenaferr@libero.it AND phone 121212121 19

Combinazione RDF XML Il data model RDF offre un mezzo astratto e concettuale per descrivere una risorsa e per facilitare la definizione e lo scambio dei metadati; RDF prevede l'utilizzo di una sintassi basata su XML per specificare in maniera concreta gli statement RDF. 20

Il primo esempio di statement RDF che abbiamo visto può essere espresso, utilizzando la sintassi XML, nel seguente modo: 21

<?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:a="http://nome_di_un_dominio/schema_autore/"> <rdf:description about="http://nome_di_un_dominio/esempio.html"> <a:author> Elena Ferrari </a:author> </rdf:description> </rdf:rdf> 22

L'elemento <rdf:rdf> racchiude la definizione dello statement RDF ed al suo interno troviamo la definizione di due Namespace: il primo è relativo al Namespace RDF, mentre il secondo Namespace contiene l'uri che identifica lo schema RDF utilizzato per descrivere la semantica e le convenzioni che regolano l'utilizzo delle proprietà presenti nello statement. 23

La descrizione del metadato è contenuta all'interno dell'elemento <rdf:description> ed il suo attributo about identifica la risorsa alla quale si riferisce il metadato stesso. La proprietà dello statement è descritta utilizzando il tag <a:author>, secondo le regole che sono espresse nel relativo schema RDF. 24

Il secondo esempio di statement RDF, espresso secondo la sintassi XML, diventa: 25

<?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:a="http://nome_di_un_dominio/schema_autore/"> <rdf:description about="http://nome_di_un_dominio/esempio.html"> <a:author rdf:resource="http://homepage_elenaferrari/"/> </rdf:description> <rdf:description about="http://homepage_elenaferrari/"> <a:name>elena Ferrari</a:name> <a:email>elenaferr@libero.it</a:email> <a:phone>121212121</a:phone> </rdf:description> </rdf:rdf> 26

In questo caso, all'interno dello statement RDF abbiamo la definizione di due risorse (identificate dai due elementi <rdf:description>) che sono messe in relazione attraverso l'uso dell'attributo rdf:resource presente nell'elemento <a:author>. 27

In questo modo la descrizione della seconda risorsa, quella riguardante l autore, viene assegnata come valore della proprietà author della prima risorsa. 28

RDF ci consente di definire la semantica. Affidare la semantica semplicemente a un nome può essere rischioso perchè questo potrebbe avere più significati diversi. RDF identifica in modo univoco le proprietà mediante il meccanismo dei namespace (XMLns). 29

I namespace I namespace XML forniscono un metodo per identificare in maniera non ambigua la semantica e le convenzioni che regolano l utilizzo delle proprietà identificando l authority che gestisce il vocabolario (ad esempio la Dublin Core Initiative). 30

I namespace vengono implementati aggiungendo un prefisso al nome di ogni elemento e attributo. La sintassi per introdurre un prefisso namespace è la seguente: <prefisso:nome_elemento> 31

I contenitori Spesso è necessario riferirsi ad una collezione di risorse; per dire per esempio che un'opera è stata creata da più di una persona, o per elencare gli studenti di un corso. Per contenere queste liste di risorse si usano i contenitori RDF. 32

RDF definisce tre tipi di oggetti contenitore: Bag: lista non ordinata di risorse o letterali. Si usano per dichiarare che una proprietà ha valori multipli e che l'ordine con cui questi valori sono inseriti non ha alcun significato. Sono ammessi valori duplicati. 33

Sequence: lista ordinata di risorse o letterali. Il contenitore Sequence si usa per dichiarare che una proprietà ha valori multipli e che l'ordine dei valori è significativo. Il contenitore Sequence potrebbe essere usato, per esempio, per conservare un ordine alfabetico dei valori. Sono ammessi valori duplicati. 34

Alternative: una lista di risorse o letterali che rappresentano delle alternative al valore (singolo) di una proprietà. Il contenitore Alternative potrebbe essere impiegato, ad esempio, per indicare traduzioni in altre lingue del titolo di un'opera. Un'applicazione che usa una proprietà il cui valore è un raccolta di tipo Alternative sa di poter selezionare uno fra gli oggetti presenti nella lista. 35

La sintassi per i contenitori è la seguente: container ::= sequence bag alternative sequence ::= '<rdf:seq' idattr? '>' member* '</rdf:seq>' bag ::= '<rdf:bag' idattr? '>' member* '</rdf:bag>' alternative ::= '<rdf:alt' idattr? '>' member+ '</rdf:alt>' member ::= referenceditem inlineitem referenceditem ::= '<rdf:li' resourceattr '/>' inlineitem ::= '<rdf:li>' value '</rdf:li> 36

Perché RDF/XML è meglio di XML XML consente varianti diverse per esprimere gli stessi concetti. I programmi applicativi per interpretare queste variazioni hanno bisogno di una conoscenza a priori dello schema/dtd. RDF impone ulteriori vincoli sintattici su come i concetti devono essere espressi. 37

Noi vogliamo rappresentare la relazione tra un oggetto ed un informazione associata con esso. In XML, potremmo rappresentare questa relazione in modi diversi. Utilizzando RDF definiamo univocamente la struttura: c'è un soggetto un predicato ed un oggetto. 38

RDF < FLESSIBILITA > INTEROPERABILITA Con RDF/XML quindi i programmi possono interpretare le descrizioni in modo consistente. 39