Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Real world Semantics.



Documenti analoghi
Introduzione al Semantic Web

Enrico Fagnoni BOTK IN A NUTSHELL

Creare ontologie ONTOLOGIE, DESCRIPTION LOGIC, PROTÉGÉ STEFANO DE LUCA

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Al giorno d oggi, i sistemi per la gestione di database

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Sistemi informativi secondo prospettive combinate

Siti web centrati sui dati (Data-centric web applications)

1. BASI DI DATI: GENERALITÀ

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

Informatica Documentale

DATABASE.

Le Basi di Dati. Le Basi di Dati

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Strumenti per lo sviluppo e la gestione di Ontologie

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

Database. Francesco Tapparo Informatica e Bioinformatica /16

Un portale semantico per i Beni Culturali

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Base di dati e sistemi informativi

Lezione 9. Applicazioni tradizionali

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

Lezione 1. Introduzione e Modellazione Concettuale

Estrattore Semantico di Ontologie da DB Relazionali. Luca Macagnino

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Informatica Applicata 3.3 OWL. Antonella Poggi. Anno Accademico DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO FILOLOGICHE E GEOGRAFICHE

L o. Walter Ambu japs: una soluzione agile (

Facoltà di Farmacia - Corso di Informatica

Applicazioni web centrati sui dati (Data-centric web applications)

Una metodologia di progettazione di applicazioni web centrate sui dati

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea

Corso di Basi di Dati e Conoscenza

Linked Open Data: pubblicazione, arricchimento semantico e linking di dataset pubblici attraverso il sistema MOMIS

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati

Database. Si ringrazia Marco Bertini per le slides

Presentazione di Cedac Software

Informatica (Basi di Dati)

Grid Data Management Services

Laboratorio di Basi di Dati e Web

Corso sul linguaggio SQL

Caratteristiche principali. Contesti di utilizzo

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

19. LA PROGRAMMAZIONE LATO SERVER

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Introduzione all Architettura del DBMS

Archivi e Basi di Dati

Progettaz. e sviluppo Data Base

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Sistemi Informativi e Basi di Dati

DBMS (Data Base Management System)

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Basi di Dati Relazionali

Capitolo 13. Interrogare una base di dati

Informatica DR KLOE Calcolo

PROXYMA Contrà San Silvestro, Vicenza Tel Fax

Progettaz. e sviluppo Data Base

Introduzione ai Web Services Alberto Polzonetti

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Progettazione Web Applicazioni client-server

Database e reti. Piero Gallo Pasquale Sirsi

Strumenti per la gestione della configurazione del software

Programmazione Java Avanzata Spring - JDBC

UML - Unified Modeling Language

DATABASE RELAZIONALI

Semantic Web: linguaggi e tecnologie

I database. Cosa sono e a cosa servono i Database

Archivio globale della Maremma

Reti di Telecomunicazione Lezione 6

Introduzione ai sistemi di basi di dati

L architettura di un DBMS

GIS e Geo WEB: piattaforme e architetture. Docente: Cristoforo Abbattista abbattista@planetek.it

Organizzazione degli archivi

Data Base. Prof. Filippo TROTTA

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

ITI M. FARADAY Programmazione modulare a.s

Corso di Informatica (Basi di Dati)

Volumi di riferimento

Introduzione. Dicom in Oracle 11g: gestione e vantaggi

Corso di Informatica RDBMS RDBMS. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Corso di Basi di Dati Multimediali

Informatica per le discipline umanistiche 2 lezione 10

Linee di evoluzione dei Database

I database relazionali (Access)

INFORMAZIONI PERSONALI

Grid Data Management Services. Griglie e Sistemi di Elaborazione Ubiqui

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Class Discovery E.

Applicazione: Share - Sistema per la gestione strutturata di documenti

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati


Strumenti di modellazione. Gabriella Trucco

Introduzione al mondo della persistenza. Dott. Doria Mauro

Base Dati Introduzione

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

CUSTOMER RELATIONSHIP MANAGEMENT:

Capitolo 4 Pianificazione e Sviluppo di Web Part

Transcript:

Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 Real world Semantics Eufemia TINELLI

Pubblicare metadati su Web Pubblicare file RDF sul web MIME-type associato al file deve essere application/rdf+xml # per separare indirizzo web del file e il nome interno della porzione della pagina URI usati per navigare il file Svantaggio: per accedere ad una singola risorsa bisogna caricare tutto il file Endpoint SPARQL Un generico client RDF può interrogare l endpoint inviando una query SPARQL L endpoint separa la richiesta dai dati interni all applicazione Microformati ed RDFa 2012 2

Microformati http://microformats.org Costruiti su (X)HTML esistenti per pubblicare e condividere più informazione Progettati per essere modulari ed inseribili all interno di pagine web Modellano standards ampiamente utilizzati (ical, vcard,...) Altri microformati: coordinate geografiche, orari di apertura ristoranti/attività commerciali, CVs, <div class="vcard"> <div class="fn">joe Doe</div> <div class="org">the Example Company</div> <div class="tel">604-555-1234</div> <a class="url" href="http://example.com/">http://example.com/</a> </div> hcard è un semplice formato per rappresentare persone, aziende, organizzazioni, usando lo standard vcard (RFC2426) 2012 3

RDFa - http://www.w3.org/tr/rdfa-syntax/ Resource Description Framework in attributes RDFa è una sintassi di serializzazione per incapsulare un grafo RDF in pagine XHTML Basato sugli stessi principi dei Microformati: non un nuovo linguaggio compatibile con le tecnologie esistenti ma estensibile!! 3 costrutti per rappresentare la tripla RDF <span about= subject >...</span> <a rel= predicate href= object >...</a> <span property= predicate [content= object ]>object</span> Es. I'm currently reading <span about= urn:isbn:0-596-00027-8 > <span property="dc:title">programming Perl</span> by <span property="dc:creator">larry Wall</span> </span>.. Potete contattarmi al <a rel= vcard:email href= mailto:m.rossi@gmail.co mio indirizzo email </a>. 2012 4

Sparql Protocol And Rdf Query Language (SPARQL) Linguaggio di interrogazione per dataset RDF basati su HTTP/SOAP: graph pattern matching Nessuna inferenza propria del linguaggio SPARQL query si compone di Uno SPARQL endpoint accetta queries and restituisce risultati via HTTP 2012 5

SPARQL: Esempio Restituisci il full name di tutte le persone nel dataset 2012 6

SPARQL: Esempio Restituisci la relazione tra John e Mary 2012 7

SPARQL: Esempio Restituisci tutte le persone sopra i 30 anni 2012 8

SPARQL: Esempio Restituisci tutte le persone e (opzionalmente) le loro spose 2012 9

Linked Open Data - LOD 2012 10

Un caso di studio: http://dbpedia.org dbpedia.org/ DBpedia project: estrarre informazione strutturata dawikipedia e renderla accessibile sul Web DBpedia KB descrive più di 2.6 milioni di entità (persone, luoghi, lavori musicali, films, aziende, ) e contiene 3.1 milioni di links a pagine esterne; e 4.9 milioni di RDF links in altri Web data sources 2012 11

Jena2 Ontology Stores vs Jena1 Jena2 è la seconda generazione di Jena toolkit, progetto open-source sviluppato in java per la memorizzazione di triple RDF in conformità alle ultime specifiche del W3C. L architettura di Jena2 presenta un modulo dedicato alla gestione dei grafi RDF (graph implementations in-memory o database-backed, inferred graphs). In particolare, Jena database subsystem implementa la persistenza di grafi RDF usando un database (cioè SQL standard) attraverso una connessione JDBC. Sono attualmente supportati i seguenti DBMS: Postgresql, MySQL, Oracle, Berkeley DB anche se Jena offre un architettura flessibile che permette di importare altri engine SQL. Alcune caratteristiche aggiuntive di Jena 2: uno schema denormalizzato, gestione della reificazione, ottimizzazione delle query (RDQL) ed una interfaccia dedicata alla gestione dei grafi. Jena supporta una serie di ragionatori predefiniti (transitive reasoner, OWL-DL reasoner, ecc.) 2012 12

Schema normalizzato - Jena1 2012 13

Schema denormalizzato Jena2 2012 14

Sesame (1/2) Framework open source in java sviluppato all interno del progetto On-To- Knowledge (IST-1999-10132) che permette la memorizzazione e la ricerca di conoscenza formalizzata secondo lo standard RDF(S). Per la memorizzazione delle triple RDF, Sesame utilizza DBMS quali MySql, PostGres e Oracle. Ontology Middleware Module (OMM) è un middleware, di fatto un estensione di Sesame, che permette la gestione di ontologie e mantiene l'indipendenza dal database grazie ad un architettura che utilizza un data layer denominato SAIL (Storage and Inference Layer). Lo svantaggio è rappresentato dal fatto che lo schema del database varia con le limitazioni ed i costrutti imposti dal DBMS scelto (relazionale oppure a oggetti). In ciascuno schema, però, l informazione è sempre modellata come tripla RDF: soggetto, predicato e oggetto. Sesame offre supporto per il controllo di concorrenza, indipendenza tra schema e istanze ed un query engine dedicato per RQL. 2012 15

Sesame (2/2) Sesame utilizza RDQL (RDF Query Language) come linguaggio di interrogazione a livello semantico delle triple RDF. L ottimizzazione del modello di query è rappresentato dal fatto che la stessa viene analizzata in streaming seguendo la struttura ad albero in cui la query stessa viene suddivisa. In tale struttura ciascun nodo rappresenta un unità di esecuzione. Il principale vantaggio di tale approccio è che, anche i risultati possono essere restituiti in streaming al layer SAIL. Sesame supporta anche SeRQL (Sesame RDF Query Language) che permette di definire path expression di lunghezza arbitraria 2012 16

MySQL schema 2012 17

PostgreSQL schema 2012 18

Oracle RDF Store Oracle Spatial 11g release 2 introduce la prima piattaforma commerciale di data management per applicazioni basate su RDF. Un nuovo object type è stato definito per gestire dati RDF basato su un graph data model: SDO_RDF_TRIPLE and SDO_RDF_TRIPLE_S Le triple RDF sono persistenti, indicizzate ed interrogabili come gli altri object-relational data types. RDF store in Oracle è costruito sull Oracle Spatial Network Data Model (NDM), in cui una network or graph cattura le relazioni tra gli oggetti. RDF graphs sono modellati come una directed logical network in NDM. 2012 19

RDF Graph in ORACLE EXECUTE SDO_RDF.CREATE_RDF_NETWORK('rdf_tblspace'); CREATE TABLE FAMILY_RDF_DATA (id NUMBER, triple SDO_RDF_TRIPLE_S); EXECUTE SDO_RDF.CREATE_RDF_MODEL ('FAMILY', 'FAMILY_RDF_DATA', 'TRIPLE'); INSERT INTO family_rdf_data VALUES (1, SDO_RDF_TRIPLE_S('family', 'http://www.example.org/family/john', 'http://www.example.org/family/fatherof','http://www.example.org/ family/suzie')); 2012 20

Riferimenti 1. E. Della Valle, I. Celino, D. Cerizza, Semantic Web Modellare e condividere per innovare, Pearson (collana Addison Wesley) 2008 2. WILKINSON, K., SAYERS, C., KUNO, H. A., AND REYNOLDS, D. Efficient RDF Storage and Retrieval in Jena2. In The first International Workshop on Semantic Web and Databases (SWDB 03) (2003), pp. 131 150 3. BROEKSTRA, J., KAMPMAN, A., AND VAN HARMELEN, F. Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema. In The First International Semantic Web Conference (ISWC 02) (2002), pp. 54 68. 4. DEL MAR ROLDAN-GARCIA, M., AND ALDANA-MONTES, J. F. A Survey on Disk Oriented Querying and Reasoning on the Semantic Web. In The 22nd International Conference on Data Engineering Workshops (ICDEW 06) (Washington, DC, USA, 2006), IEEE Computer Society, pp. 58 65. 2012 21