Carluccio Antonio Carluccio Alessandra Caricola Giovanni Vizzino Anna Università degli Studi di Bari.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

C C++ &.
INFORMATICA Tipi strutturati
Ricorsione in SQL-99.
SEMANTIC WEB Antonio Bucchiarone FBK-IRST Trento, Italy 13 Novembre 2009.
JavaScript 2. JavaScript nelle pagine web. HTML e XHTML Gli script JavaScript sono utilizzabili sia in pagine HTML che XHTML XHTML impone che il codice.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Sintassi (prima parte)
Algoritmi e Programmazione
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
Query OQL e XQUERY a confronto
Università degli Studi di Modena e Reggio Emilia
Analisi e Contromisure di tecniche di Sql Injection
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
Basi di Dati II Sara Romano
Architettura del World Wide Web
Introduzione alla programmazione ll
Array Struttura numerate di dati. Memorizzare molti dati In informatica cè spesso bisogno di memorizzare ed elaborare un insieme costituito da molti dati.
Unità Didattica 2 I Linguaggi di Programmazione
Programmazione logica
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
LINGUAGGI DI PROGRAMMAZIONE
DBMS ( Database Management System)
Basi di dati Claudia Raibulet
HTML Lezione 5 Immagini. URL Un Uniform Resource Locator o URL (Localizzatore di risorsa uniforme) è una sequenza di caratteri che identifica univocamente.
Creare pagine web Xhtlm. Struttura di una pagina.
Tesi di Laurea in Ingegneria Informatica
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
1 Ontology languages. Strato dei modelli LA SCELTA DEL LINGUAGGIO Una volta selezionati i componenti dell’ontologia occorre esprimerli in maniera esplicita,
JavaScript Generalità Cos'è JavaScript?
Lezione 3 Struttura lessicale del linguaggio
Programmazione ad oggetti
Semantic Web. I problemi della ricerca in Web Querying  Ambiguità della formula Browsing  Arbitrarietà nei criteri di classificazione dei dati = Web.
Pagine ASP parte 3 I data base Stefano Schacherl.
Introduzione a Javascript
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
IV D Mercurio DB Lezione 2
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
© Piero Demichelis Tipi strutturati I tipi considerati finora hanno la caratteristica comune di non essere strutturati: ogni elemento è una singola entità.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Metamodellazione in RDF Tesina del corso di Seminari di Ingegneria del Software Alberto Cerullo.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Servizi Internet Claudia Raibulet
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
Problemi, algoritmi e programmazione
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
Approfondimenti SQL.
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
Laboratorio di Ingegneria del Software Laboratorio di Ingegneria del Software Primo Incontro Titolare Prof. Pierluigi Sanpietro.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

Carluccio Antonio Carluccio Alessandra Caricola Giovanni Vizzino Anna Università degli Studi di Bari

COS’E’ RDQL… Il linguaggio RDQL è un linguaggio d’interrogazione per i modelli RDF sviluppato inizialmente dai laboratori Hewlett-Packard nell’ambito del progetto Jena. L'idea è stata quella di fornire un modello di query orientato ai dati : nasce così un linguaggio ad alto livello che consente di interrogare in modo semplice un modello RDF. Università degli Studi di Bari

…COS’E’ RDQL… questo linguaggio è basato su SquishQL (che in se è derivato da rdfDB) ed è compreso nel Rdf Jena Toolkit. Università degli Studi di Bari

SINTASSI RDQL… RDQL interroga i documenti di RDF che indicano il loro URL ( o i loro percorsi (se sono in locale), usando una sintassi simile a SQL. Università degli Studi di Bari Clausola SELECT Seleziona le variabili che devono fornire la risposta alla query.

…SINTASSI RDQL… Clausola FROM Indica le fonti di RDF da interrogare, ogni fonte è racchiusa tra i segni di minore e maggiore e sono separate da virgole. Le fonti possono essere URLs o percorsi per i documenti locali di RDF. Esempio:,, Università degli Studi di Bari

…SINTASSI RDQL… Clausola WHERE… E’ l’ identificatore più importante in una espressione RDQL ed è composta da una sequenza di triple (soggetto, predicato, oggetto), racchiuse tra parentesi e separate da virgole. Università degli Studi di Bari

…SINTASSI RDQL… …Clausola WHERE Un predicato può anche essere un namespace dichiarato con l’identificatore USING. Esempio : (?x,, ?y), (?y,, ?z) Università degli Studi di Bari

…SINTASSI RDQL… Clausola AND Specifica le espressioni booleane. Nell’esempio di prima: (Seleziona tutti gli oggetti che hanno un articolo blu) SELECT ?x FROM WHERE (?x,, ?y), (?y,, ?z) AND ?z=="blue" Università degli Studi di Bari

…SINTASSI RDQL Clausola USING E’ un modo per accorciare la lunghezza delle URI infatti dichiara tutti i namespaces che saranno usati per le proprietà di RDF, ed usa la notazione: Esempio: USING foo per Università degli Studi di Bari

Resource Description Framework(RDF) è un modello astratto finalizzato alla rappresentazione di meta- informazioni relative a risorse accessibili via Web. E’ un linguaggio specificamente progettato per la descrizione di metadati relativi a risorse disponibili attraverso il Web. Università degli Studi di Bari RDF COS’E’…

…RDF COS’E’… L’utilizzo del formato RDF si suddivide nella stesura di due tipi di documenti. La preparazione di un vocabolario di termini specifici del contesto che si vuole rappresentare(RDF schema). La realizzazione della base di metadati che, utilizzando i termini definiti nello schema RDF, descrive le risorse del contesto applicativo a cui si riferiscono Università degli Studi di Bari

…RDF COS’E’… E’ alla base del “Semantic Web” poiché permette di condividere la conoscenza sul Web, per applicativi che debbano scambiarsi informazioni, evitando perdita di significato. RDF si basa sull’idea che le cose che intendiamo descrivere hanno delle proprietà che hanno dei valori; su questa base fornisce un semplice meccanismo per definire dei fatti relativi a risorse (Web). Tale meccanismo è basato sul paradigma SPV (subject, predicate, value/object).

…RDF COS’E’ Supponiamo per esempio di voler dire che una certa pagina web ( è scritta in italiano. è il soggetto (subject) lingua è il predicato (predicate ) italiano è il valore (value/object) è un’URL (Uniform Resource Locator), in altri termini è un identificatore univoco della pagina in questione, che consente di accedervi senza ambiguità alcuna. Il predicato “lingua” e il valore “italiano” sono invece stringhe di caratteri.

Carluccio Antonio Carluccio Alessandra Caricola Giovanni Vizzino Anna Università degli Studi di Bari

Cosa fa la classe queryL ?… Permette di costruire delle query secondo il linguaggio d’interrogazione RDQL. Le query vengono implementate come istanze di questa classe. Fornisce alcuni metodi che permettono, una volta creata la classe, di aggiungere gli identificatori FROM e USIN G, se questi non sono stati forniti alla query. Università degli Studi di Bari

…Cosa fa la classe queryL ? Fornisce dei metodi per verificare la presenza di identificatori e di condizioni all’ interno della query. Fornisce dei metodi che permettono di aggiungere delle condizioni alla query costruita, con gli operatori booleani AND, OR, NOT. Università degli Studi di Bari

Costruttori della Classe I costruttori della classe sono 4 e si differenziano per il numero di argomenti di tipo List: queryL() queryL(paramS, paramW) queryL(paramS, paramF, paramW) query(paramS, paramF, paramW, paramU) Università degli Studi di Bari

Il Costruttore queryL() Crea una istanza vuota della classe. Università degli Studi di Bari

Il Costruttore queryL(paramS, paramW) Crea una istanza contenente una query di base (Select e Where con i loro elementi ). Il primo argomento paramS fornisce gli elementi di Select. Il secondo argomento paramW fornisce gli elementi di Where. Università degli Studi di Bari

Il Costruttore queryL(paramS, paramF, paramW) Crea una istanza contenente una query di base con l’aggiunta dell’ identificatore FROM. Il primo e terzo argomento paramS e paramW vengono utilizzati per fornire gli elementi di SELECT e WHERE. Il secondo argomento paramF fornisce gli elementi di FROM. Università degli Studi di Bari

Il Costruttore queryL(paramS, paramF, paramW, paramU) Crea una istanza contenente una query di base con l’aggiunta dei identificatori FROM e USING. I prime tre argomenti paramS, paramF, paramW vengono utilizzati per fornire gli elementi di SELECT, FROM e WHERE. Il quarto argomento paramU fornisce gli elementi di USING. Università degli Studi di Bari

Esempio 1… SELECT ?z WHERE (?y, ?w, ?z) AND (?z < 5) Corrisponde a : Ed è equivalente a : new queryL(paramS, null, paramW); new queryL(paramS, null, paramW, null); paramS.add(“?z”); paramW.add(“?y”); paramW.add(“?w”); paramW.add(“?z < 5”); paramW.add(“?z”); new queryL(paramS, paramW); Università degli Studi di Bari

…Esempio 2… paramS.add(“?z”); paramW.add(“?y”); paramW.add(“?w”); paramW.add(“?z < 5”); paramW.add(“?z”); paramF.add(“ ”); new queryL ( paramS, paramF, paramW ); SELECT ?z FROM WHERE (?y, ?w, ?z) AND (?z < 5 ) Che è equivalente a : new queryL(paramS, paramF, paramW, null); Corrisponde a : Università degli Studi di Bari

…Esempio 3 SELECT ?y FROM WHERE (?x,, ?z), (?x,, ?y) AND ?z > 20 USING dt for paramS.add(“?y”); paramW.add(“?x”); paramW.add(“ ”); paramW.add(“?z”); paramW.add(“?x”); paramW.add(“ ”); paramW.add(“?y”); paramW.add(“ 20”); paramU.add(“dt”); paramU.add(“ ”); paramF.add(“ ”); new queryL ( paramS, paramF, paramW, paramU ); Corrisponde a : Università degli Studi di Bari

Metodi della Classe… I metodi della classe si dividono in metodi che… Forniscono identificatori in aggiunta: addFrom (List paramF) addUsing (List paramU) Forniscono delle condizioni aggiuntive: addAndCondition (String condition) addOrCondition (String condition) addAndNotCondition (String condition) addOrNotCondition (String condition) Università degli Studi di Bari

…Metodi della Classe Permettono di conoscere lo stato della query: existCONDITION () existFROM () existQueryBase () existUSING () Permette di ottenere la query RDQL, tramite una string: toString () Università degli Studi di Bari

Il Metodo addFrom Permette di aggiungere alla query la sezione FROM. Esempio: Voglio aggiungere alla query la sezione : FROM Devo scrivere la seguente istruzione: nomeClasse.addFrom(“ ”); Università degli Studi di Bari

Il Metodo addUsing Permette di aggiungere alla query la sezione USING. Esempio: Voglio aggiungere alla query: USING dt FOR Devo scrivere la seguente istruzione: nomeClasse.addUsing(List ParamU); Con paramU contenente “dt” e “ ” Università degli Studi di Bari

Il Metodo addAndCondition Permette di aggiungere una condizione con l’operatore AND; se esistono già altre condizioni, viene aggiunta con && altrimenti con AND. Esempio: Voglio aggiungere alla query la seguente condizione: ?z < 7 Devo scrivere la seguente istruzione : nomeClasse.addAndCondition(“?x < 7”); Università degli Studi di Bari

Il Metodo addAndNotCondition Permette di aggiungere la negazione di una condizione con l’operatore AND; se esistono già altre condizioni viene aggiunta con && altrimenti con AND. Esempio: Voglio aggiungere alla query la seguente condizione negata: ?z < 7 Devo scrivere la seguente istruzione: nomeClasse.addAndNotCondition(“?z < 7”); Università degli Studi di Bari

Il Metodo addOrCondition Permette di aggiungere una condizione con l’operatore OR; se esistono già altre condizioni viene aggiunta con || altrimenti con AND. Esempio: Voglio aggiungere alla query la seguente condizione: ?z < 7 Devo scrivere la seguente istruzione: nomeClasse.addOrCondition(“?z < 7”); Università degli Studi di Bari

Il Metodo addOrNotCondition Permette di aggiungere la negazione di una condizione con l’operatore OR; se esistono già altre condizioni viene aggiunta con || altrimenti con AND. Esempio: Voglio aggiungere alla query la seguente condizione negata: ?z < 7 Devo scrivere la seguente istruzione: nomeClasse.addOrNotCondition(“?z < 7”); Università degli Studi di Bari

Il Metodo existCONDITION Verifica nella classe la presenza di condizioni. Il risultato sarà un valore booleano. Esempio: nomeClasse.existCONDITION(); Università degli Studi di Bari

Il Metodo existFROM Verifica nella classe la presenza dell’ identificatore FROM. Il risultato sarà un valore booleano. Esempio: nomeClasse.existFROM(); Università degli Studi di Bari

Il Metodo existUSING Verifica nella classe la presenza dell’ identificatore USING. Il risultato sarà un valore booleano. Esempio: nomeClasse.existUSING(); Università degli Studi di Bari

Il Metodo existQueryBase Verifica nella classe la presenza di una query contenente gli identificatori base SELECT e WHERE. Il risultato sarà un valore booleano. Esempio: nomeClasse.existQueryBase(); Università degli Studi di Bari

Il Metodo toString Permette di ottenere la query costituita come stringa. Il risultato sarà un valore di tipo String. Esempio: nomeClasse.toString(); Università degli Studi di Bari