• Non ci sono risultati.

Analisi delle prestazioni della piattaforma semantica smart-m3 mediante il benchmark lubm

N/A
N/A
Protected

Academic year: 2021

Condividi "Analisi delle prestazioni della piattaforma semantica smart-m3 mediante il benchmark lubm"

Copied!
75
0
0

Testo completo

(1)

1

ALMA MATER STUDIORUM – UNIVERSITÀ DI

BOLOGNA

CAMPUS DI CESENA

SCUOLA DI INGEGENERIA E ARCHITETTURA

CORSO DI LAUREA IN INGEGNERIA BIOMEDICA

TITOLO DELL’ELABORATO

Analisi delle prestazioni della piattaforma

semantica Smart-M3 mediante il benchmark

LUBM

Elaborat o i n Cal col atori el ett roni ci

Rel atore : Presentat a da Chiar.m o P rof. Luca Roffia Lorenz a Bertarelli

Correl at ori : Ing . Fabi o Viol a Prof. Al fredo D’Elia

Sessi one II

(2)

2

INDICE

ABSTRACT ... 4

1. Introdu zion e ... 5

1.1 Panoram a appl icati vo ... 5

1.2 Tel em edi cina e IoT ... 6

1.3 Un requisito fondamentale: l’interoperabilità ... 7

2 Web S eman tico ... 8

2.1 Vers o il W eb Sem ant ico ... 8

2.2 Archit ett ura del Web Sem anti co ... 9

2.3 Li vello1: st andard UR I ... 10

2.4 Li vello 2: XM L e namespace ... 11

2.5 Li vello 3: R DF ... 12

2.6 Li vello 4: Ont ologia ... 16

2.7 Li velli 5 e 6 : Logi ca, prova e fiduci a ... 16

3 SMART –M3 ... 17

3.1 Int roduzione ... 17

3.2 Strutt ura Sm art -M3 ... 18

3.3 SPARQL ... 22

4 BENCH MARK ... 25

4.1 Cos’è il benchmark ... 25

4.2 Archit ett ura general e ... 25

4.3 Suite di programmi utilizzati ... 26

4.4 S IB valutat e ... 27

4.4.1 RedS IB ... 27

4.4.2 CuteS IB ... 29

4.4.3 S IB OSGi ... 29

4.5 Il benchmark LUBM ... 31

4.5.1 Gerarchi a dell e class i ... 32

4.5.2 Dat at ype e obj ect properti es ... 33

4.5.3 Set di quer y ... 34

4.5.4 Met ri che di perform ance ... 35

5 Valu tazion e d ell e p restazioni ... 36

(3)

3

5.2 Analisi ri sult ati ... 42

5.2.1 S IB non persi stenti ... 42

5.2.1.1 Dat as et da 1 uni veristà ... 42

5.2.1.2 Dat as et da 5 uni versi tà ... 46

5.2.1.3 Considerazioni fi nal i ... 49

5.2.2 S IB persist enti ... 50

5.2.2.1 Dat as et da 1 uni versi tà ... 50

5.2.2.2 Dat as et da 5 uni versi tà ... 52

5.2.2.3 Dim ensi one del datastore ... 55

5.2.2.4 Considerazioni fi nal i ... 56

5.2.3 Influenza dell’ordine dei pattern sull’esecuzione delle queries ... 56

5.2.4 Analisi dei t empi di cari camento ... 58

5.2.5 Analisi sull a compl etezza delle queri es ... 59

6 Estension e L UB M p er Publi sh/Subs crib e ... 60

7 Con clusioni e svilup pi futuri ... 64

8 Appendi ce ... 65

8.1 Codi ce SPAR QL de ll e quer y del benchm ark LUBM ... 65

9 Bibliografia ... 70

(4)

4

ABSTRACT

Il software Smart -M3, eredit at o dal progett o europeo SOF IA, concl usosi nel 2011, perm ett e di creare una pi att aform a d'i nt eroperabi lit à indipendent e dal tipo di dispositivi e dal l oro domini o di ut ilizzo e che m iri a forni re un Web S em anti co di inform azioni condivisibili fra entit à s oft ware e dis posi tivi , creando am bi enti intel li genti e coll egam enti t ra il mondo real e e virt uale. Questo è un campo in continua as ces a grazie al progressivo e regolare s viluppo sia dell a t ecnol ogi a , nell 'am bito dell a m iniat urizzazione dei dispos itivi , che dell e pot enzi alit à dei

sistemi embedded. Questi si st em i perm ettono, t ramit e l 'uso sempre m aggi ore di

sensori e attuat ori , l 'el aborazione dell e i nformazi oni proveni enti dal l’est erno. È evi dente , come un soft ware di tal e port at a , possa avere una moltepli cit à di applicazioni, al cune dell e quali , nell ’ambito dell a Bi omedica, può esprim ers i nell a t el em edi cina e nei si st emi e-Heat h. Per e -Healt h si int ende i nfatti l ’ut ilizzo di st rum enti basati s ulle tecnologie dell 'i nform azione e dell a com uni cazione , per sost enere e prom uovere la prevenzione, l a diagnosi, i l tratt am ent o e il monitoraggio del le mal atti e e l a gestione dell a salut e e dell o stil e di vit a.

Obi ettivo di quest a tesi è fornire un set di da ti che mi rino ad ottimizz are e perfezionare i crit eri nell a s cel ta applicati va di t ali st rutt ure . Mis ureremo prest azioni e capacità di s vol gere pi ù o m eno velocem ente, preci sam ente e d accurat am ent e, un parti col are compit o per cui t al e s oft ware è s tato progett at o. Ci ò si cost rui sce sull ’esecuzione di un benchmark su divers e impl em ent azioni di Smart-M3 ed in particol are s ul component e cent ral e denom inat o S IB (S em anti c Information Broker ).

(5)

5

1. Introduzione

1.1 Panorama applicativo

L’Internet of Things (IoT) è un nuovo paradigma in cui il mondo delle tecnologie dell’informazione e della comunicazione è strettamente integrato con il mondo reale delle cose [1]. L’i dea di Io T si bas a sulla pres enz a intorno a noi di una varietà di cos e o di ogget t i, com e sensori, attuatori o t elefoni cellul ari interoperabili che sono in grado di interagi re tra loro e cooperare con i loro vi cini per raggiungere uno s copo speci fico. L’ Int ernet of Thi ngs offre num eros e opportunit à in div ersi sett ori e cont esti. Tra gli am biti appli cativi pi ù consoli dat i in It alia t roviam o oggetti che ris pecchi ano solo marginalm ent e le caratt eri stiche di apertura e raggiungibilità che caratterizzano l’Internet of Things come: l’antintrusione e la videosorv eglianza, la gestione delle fl otte aziendali, la tracciabilità di “oggetti di valore”, come ad esempio apparecchiature el ettrobi omedi cal i , l a m anutenzione di disposi tivi e im pi ant i , il m onit oraggio del traffi co citt adino e l a l ocalizzazi one dei mezzi uti li zzati per i l tras porto pubbli co . Al gruppo degli ambi ti consoli dati appart engono anche soluzi oni carat terizzat e da una m aggiore r aggi ungibilit à degli oggetti e i n al cuni cas i dall a pres enza di funzionalit à di el aborazi one dati i n local e , ad es em pio : i contatori i nt elli gent i per la mis urazione dei cons umi elet tri ci , le sol uzioni dom otiche per l’energy managem ent , l a si curezz a dell e persone e l a gestione di scenari am bi ent ali e i servizi di infomobi li tà.

L’ecosistema che costituisce l’Internet of Things è attualmente caratterizzato da soluzioni altamente et erogenee a livell o di hardware, s oft ware e protocolli di com uni cazi one t ra gli ogget ti del mondo reale e il mondo di gi tal e di Int ernet. La mancanza di st andard per i primi due li velli (HW, SW e com uni c azione) ha dunque portato a soluzioni in cui l’aspetto chiave dell’interoperabilità è gestito solo a livel lo di dato, att raverso apparati e sol uzioni con funzioni di gat ewa y. Un alt ro aspett o chiave della futura Int ernet of Things sarà com unque la st andard izzazi one dei protocol li di com uni cazione e appl icat ivi t ra i dispositi vi [ 2].

(6)

6

1.2 Telemedicina e IoT

L’OMS (Organizz azione Mondi al e dell a Sani tà ) adotta nel 1997 l a s eguent e definizione:

“La telemedicina è l’erogazione di servizi sanitari, quando la distanza è un

fattor e criti co, per cui ` è necessario usar e, da part e degli operatori , l e tecnologi e dell’informazione e delle telecomunicazioni al fine di scambiare informazioni utili alla di agnosi, al tr attament o ed all a pr evenzione del le mal attie e per gar antir e un’informazione continua agli erogatori di prestazioni sanitarie e supportare la ricer ca e la val utazi one della cura .” [3].

La t el emedi cina nas ce con lo s copo di mi gl iorare la qual ità di vita del paziente, agevolare e mi gliorare la quali tà del l avoro di m edici e infermi eri , increment are l’efficienza e la produttività del servizio sanitario . Da allora un ampio numero di sistemi è st ato real izzato con l o scopo principal e di ridurre il t empo che il personal e m edi co deve spendere per il paziente garant endo al cont empo un alt o livel lo di qualit à . Ini zialm ent e i sist emi di tel em edi cina erano dedicati a specifiche applicazioni quali la t el e-cardiol ogi a, tel e -radi ologia, t ele -di alisi , etc. C on l’avvento di nuove piattaforme, rese possibili dall a presenza di Internet (incluse piatt aform e mobili ) e con lo svil uppo di Location Bas ed S ervice, l a col lezione d i dati acqui siti da di fferenti s ens ori (indoss abil i, st azionari , posizionati in cas a piuttosto che in altri am bienti ) è divent ata una realt à . Quindi l’appli cazione dell a telemedicina porta l’assistenza a casa del paziente, consente la consul tazione tra speci alist i lont ani , favoris ce l a condivi sione dell e conoscenze e dei p rot ocolli diagnostico -terapeuti ci , mettendo a di sposizione dell’i nt ero sistema assist enzial e un’i nfrast rutt ura di gesti on e dell e i nform azioni clini che pot ent e ed efficace.

Lo svil uppo d i nuovi sens ori e att uat ori hanno aper to l a strada a nuovi s cenari in campo s anit ario e nuove opportunità per i servizi di healthcare attualm ent e inv esti gat e in proget ti di ricerca [4]. Ne è un es empi o CHIR ON, un progetto UE (2010 -2012), che propone un’archit ettura per l a gesti one efficace dell a s alut e e una compl et a assist enz a sanit ari a . La sfida pri nci pale è qu ell a di i nt egrare i n sistemi sanit ari l e pi ù recenti inform azioni sui pazi ent i con i loro dati st ori ci , al fine di t rasform are le inform azioni raccolte i n un valido supporto diagnost i co. Prim a di tutt o, i dati raccol ti da più font i et erogenee, (sensori ,archivi e dat abas e)

(7)

7

devono ess ere res i facilm ent e reperibili e per quest o immagazzinati e uniformem ente rappres ent ati i n una pi att aform a condi vis a. A tal e s copo C HIR ON defini sce i s egue nti tre li velli : il li vel lo ut ent e, il pi ano medi co, e il piano stati sti co. Il prim o riguarda l e int erazioni coi pazi enti (monitoraggio e feedback local e). Il piano m edico mira all ’int eraz ione con il personal e medi co (valut azione dei dati cli ni ci, di agnosi , pi ani fi cazione del tratt am ent o e l 'e secuzione ). Ed infine il pi ano st atisti co int eres sa le int erazioni con ri cercatori. Il ci clo di cure i nt egrato si basa sul cont inuo scambi o di inform az ioni tra questi t re livelli . La piat taform a propost a è un cl as si co es em pio di i nteroperabili tà per la gesti one di un spazi o inform ativo , cons ent e un approccio personalizzat o in as sist enz a s anit ari a e adem pi e i requisiti proposti dall a t el em edi cina [5] .

1.3 Un requisito fondamentale: l’interoperabilità

“L’interoperabilità è la capacità di due o più sistemi, reti, mezzi, applicazioni o com ponenti di s cambiare informazi oni fra loro e di ess ere poi in grado di utilizzarle . ” [6].

In una soci et à global izzata che vede una sempre cres cent e diversit à di sist emi e di applicazioni, l’interoperabilità rende possibile lo sviluppo di mercati e sistemi gl obali, prevenendo gli indes iderati effetti dell a fram ment azione. Dunque l’interoperabilità è la capacità di un sistema o di un prodotto informatico di cooperare e di s cambiare inform azioni con altri si st emi o prodotti i n m ani era pi ù o meno compl et a e pri va di errori, con affidabilit à ed ot timizz azione del le ri sorse. L’obiettivo è facilitare l’interazione fra sistemi differenti, nonché lo scambio e l’utilizzo di informazioni anche fra sistemi in formativi non omogenei. L’interoperabilità è organizzata su tre livelli [7]:

Tecnica: consente ai sistemi informativi di scambiarsi dati e servizi att ravers o interfacce, form ati e protocoll i standard.

Semantica : cons ente di att ribuire il medesi mo si gnifi ca t o alle inform azioni s cambiat e autom ati cam ente fra i sist emi inform ati vi cooperanti .

Organizzativa : consente di attribuire ruoli, doveri e responsabilità precis e ad ogni organizzazione coi nvolta in processi condivisi.

(8)

8

2 Web Semantico

2.1 Verso il Web Semantico

Parall el am ent e all a diffusi one di form e di connetti vit à continua, di int ercon -nes sione e aggregazi one tra indivi dui e oggetti, si è veri fi cat o uno svil uppo e un consolidamento di standard per l’interoperabilità, lo scambio dell’informazione, la rappresent az ione di dati e m et adati, l ’organizza zione, l a ges tione e i l ri uso dell a conos cenza. In parti col are, il Web sem antico agis ce com e col lant e ed è il luogo in cui l’informazione è organizzata secondo modelli condivisi e diventa significativa anche per l a macchi na, che può trat tarl a in mani era effi ci ent e e d aut om atica [8]. Lo scenario attual e del WWW (World Wi de Web) è quello di un enorme i nsi eme di pagine HTM L coll egat e fra loro att raverso li nk ed accessi bili a tt ravers o i l prot ocollo HTTP (Hyper Text Transfer Protocol) . Gli utenti s i muovono quindi sul web grazie all a loro es peri enz a di navi gazione e all a capaci tà di evocazione che poss ono avere parol e o espressi oni chiave.

Il termine “Web Semantico” è stato proposto per la prima volta nel 2001 da Tim Berners Lee [9]. Da allora il termine è s t ato associ ato all ’idea di un web nel qual e agis cano agenti int elli genti , ci oè appl icazioni in grado di com prendere il significato dei testi sulla rete e perciò in grado di guidare l’utente direttamente verso l ’inform azione ricercat a , oppure sostitui rsi a lui nel lo s vol gim ento di al cune operazioni . Un agent e dovrebbe:

 Comprendere il significato dei testi presenti sulla rete.

 Creare percorsi in base alle informazioni richieste dall’utente, guidandolo poi verso di esse.

 Spostarsi di sito in sito , collegando logicamente elementi diversi dell’informazione richiesta.

 Verificare l’attendibilità di un’informazione.

Con quest a tecnologia è possi bile aut om atizzare l a ri cerca dell e pagine, poiché all’atto della creazione del contenuto le informazioni sono definite ed inserite secondo precise regole s emanti che. Il Web S em anti co è un’ est ensione del web corrente , in cui le informazi oni hanno un ben preciso si gni fi cato e i n cui com put er e ut enti l avorano in cooperazione. Ciò che si vuol e creare è un sis tem a che

(9)

9

aut omat icam ent e combina la conoscenz a proveni ent e da font i diverse e che si a i n grado di crearne di nuova.

2.2 Architettura del Web Semantico

Il codi ce i n grado di com pi ere operazi oni semanti che dipende dall o schema utilizzato per archi viare le inform azi oni, ovvero da un insiem e di regol e sull’organizzazione dei dati. Il principio centrale del Web Semantico è l’utilizzo di m etadati , necess ari per annot are l e ris orse e per descrivere le rel azioni che essi hanno con alt re risorse , utilizz ando form alismi, att i ad es sere process ati da si stemi soft ware [10] [11][12]. Si compone dei seguen ti 6 li vel li :

F i g u r a 1 a r c h i t e t t u r a w e b s e ma n t i c o

Il Web Semanti co è un ambi ent e dichi arato in cui si s peci fi ca il si gnifi cato dei dati e non il m odo i n cui si i nt ende utili zzarli. La semanti ca dei dati consist e nel dare al la macchina dell e inform azioni uti li in modo che ess a p oss a utilizzare i dat i nel m odo corretto e la t ecnol ogi a di ri ferim ento per l a codifica. Lo s cambio e il riutil izzo di met adati è basat o sul m odello con cui tut t i gli el em enti s ono rappresent abili da t riple RDF[16] sint att icament e corrett e , m a pri ve di sen so. P er att ribuirvi un s enso è neces sari o int ro durre cl assi di oggetti i nizi an do a defini re i l domini o a cui fa riferm ento l ’ informazi one che si vuol e rappres ent are. Si hanno dunque:

 Dati

 metadati (riportano i dati ai concetti di uno schema)

(10)

10

Infine l a rappres ent azione dell a conoscenz a e l e regol e che perm ettono di dedurre ed esport are ult eriore conos cenza è defi nita da una ontol ogi a. P er l a definizione dell e ont ologi e i linguaggi m aggiorment e utilizz ati sono RDFs e OW L [20] . Per l a loro i nterrogazione s ono stat i definit i diversi li nguaggi e ambi enti , tra cui SP ARQ L (Simpl e Protocol and R DF Quer y Language ) [27] . Quest ’ultimo è l o standard proposto dal W3C e quello at tualm ente più d i ffuso e com prende t re diverse specifiche: il protocollo per l’accesso ai dati per l’in terrogazione remota di basi di dati RDF, il linguaggi o per defini re le quer y e il form at o per l a rappresent azione dei ris ult ati.

2.3 Livello1: standard URI

Il Web si bas a s ull o standard UR I ( Uniform R esource Identifi ers)[13] per l a definizione univoca di indirizzi internet. Consiste nell’attribuzione di una stringa che identi fi ca univocam ent e una risorsa generica, che può ess ere un i ndi rizzo web, un documento, un’immagine, u n file, un servizio, ect. Gli URI costituiscono la tecnol ogi a di base ideal e con l a qual e cos truire un web gl obal e, in quanto è possibile con essi definire qualsiasi oggetto e poi immetterlo nel web. L’URI divi ene un nom e per una ri sors a, accessibile o m e no attraverso int ernet .

La produzione e l’uso di URI non è controllata da nessuna persona o organizz azione, ciò vi conferis ce flessibi lità, ma al cont empo è caus a di perdi ta di uni cità. P er ovvi are a questo probl em a a l medesimo livello è ass oci at o all ’ UR I un sistema uni code. Si t rat ta di un si stema di codi fi ca (s equenza di b yt e) che ass egna un numero univoco ad ogni caratt ere usato per l a scrittura di tes t i, indipendent ement e dall a lingua, piat taforma i nform ati ca o programm a. Prevede una codifica fino a 21 bit e supporta un repertorio di codici numeri ci che pos sono rappresent are circa un milione di caratt eri. Ciò appare suffi ci ent e a copri re anche i fabbis ogni di codifi ca di s critti del pat rimonio stori co dell 'umanit à, nell e divers e lingue e negl i svari a ti si st emi di segni utilizzati . Si prefi gge dunque di copri re tutti i caratt eri rappresent abili , garantendo l a compat ibilit à e l a non sovrapposizione con le codi fiche dei caratteri già definiti , ma lasci ando comunque dei ben precisi campi di codici "non us at i", da riservare per l a gest ione aut onoma all 'i nt erno di applicazioni parti col ari .

(11)

11

2.4 Livello 2: XML e namespace

L’XML (eXtesible Markup Language) non ha come scopo principale quello di des crivere la formatt azione e la visualizzazione di un docum ent o, ma semplicem ent e quel lo di des crivere l a struttura dell’i nformazi one , qui ndi l a sint assi [14]. L’X M L è un fram ework per la defi nizione di linguaggi . Ogni linguaggio XM L ri v olto a un parti col are domini o appli cati vo è int rinsecam ent e internazional e e indipendent e dall a pi att aform a , m a i linguaggi hanno al cune caratt eristi che condi vise:

 utilizzano la stessa sintassi base per il markup

 sfruttano lo stesso insieme di strumenti generici per l’elaborazione dei docum enti.

Non è un linguaggi o singol o che può essere est eso per adatt arsi ad al t ri usi , m a una not azione comun e con cui è possi bile cost rui re linguaggi m arkup. Quest a libert à tutt avi a lo rende poco adatt o a defini re com pletament e l a struttura e l’interscambio di informazioni tra diverse realtà. È stata quindi favorita la creazione di nuovo li nguaggio: i l linguaggi o R DF.

Per fiss are l e idee prendi amo i n considerazione l a rappresent azione di un generi co articolo a caratt ere tecnico e proviamo a rappres ent arlo s econd o i l modello XM L:

F i g u r a 2 E s e mp i o d i a l b e r o X M L

Nel la fi gura abbi am o un elem ento padre denominato articolo che conti ene un a lista di elementi che rappresentano i vari paragrafi dell’articolo. Ciascun paragrafo a sua volta conti ene del testo, degli esem pi di codi ce e dell e i mmagi ni. La m aggior part e degli elementi di quest a st ruttura ad a lbero di documenti possiede degl i att ributi: tit olo, tipo, fil e [15]. La strutt ura logi ca di un documento XML dipende

(12)

12

dall e s celte proget t uali . Siam o noi a decidere com e organizzare gli element i all’interno di un documento XML. Non esistono regole universali per l’organizzazione logica di un documento se non il buon senso e l’esperienza. La strut tura l ogi ca di un documento XML vi ene t radott a in una corris pondent e strut tura fi si ca impl ement at a t ramit e un fi le di t est o , creat o con un qual siasi edi tor e com pos ta di elem enti sint atti ci chiam ati

tag: questi

forni scono una not azione per arri cchi re i documenti di t est o e la possi bilit à di coll egare altri docum enti e fil e.

La rappres ent azione fisica del docum ento XM L visto pri ma può ess ere l a seguent e:

F i g u r a 3 e s e mp i o d i c o d i c e X M L

2.5 Livello 3: RDF

RDF (R esource Descri ption Fram ework) è uno st andard propost o dall a W3C com e set di linguaggi dichi ara ti vi, adatt ato a descri vere la s trut t ura di una part e dell a realt à. XM L è i nvece i l form ato di seri alizz azione più usato per RDF. L’R DF

(13)

13

è lo strum ento bas e per l a codi fi ca, lo scambi o e il riutil izzo di metadat i st rutt urat i e consent e interoperabili tà tra appli cazi oni che si s cam bi ano i nform azioni sul web. Non des crive l a sem anti ca, m a fornis ce una base com une per pot erla es prim ere definendo l a s em antica dei t ag XML [16][17][18]. RDF è costi tuit o da due com ponenti :

 RDF Model and S yntax che definisce un modello di dati RDF e la sua codifi ca XM L s enza defini re rel azioni.

 RDF S chema che definisce specifici vocabolari per i metadati e creare nessi fra gli oggetti .

L’RDF-Model fornisce un modello per descrivere le risorse che possono avere dell e propri et à. Defi ni amo com e risorsa qualunque cosa che può ess ere rappresent ata da un UR I, com e proprietà una speci fi ca carat teristi ca o att ributo di una risors a e com e asserzion e la tripl a compos ta da una ris orsa, una propri et à e un val ore o un UR I (in quest’ultim o caso questo punt a ad un’alt ra ris orsa per quell a propri et à ). L’as serzi one des crive dunque le carat terist iche di una risors a e le rel azioni con alt re ri sors e e la possi amo rappres ent are com e:

SOGGETTO+PR ED ICATO+OGGETTO .

L’RDF-Schema definisce dei vocabolari, quindi l’insi eme delle proprietà sem anti che.Ques to perm ett e di defini re nuovi ti pi di classi e gerarchie di cl ass i . Deriva dai Namespace XM L e fornisce un m etodo per identi ficare in m aniera non ambigua la semantica e le convenzioni dell’uso delle proprietà. Nella seguente fi gura è raffi gurato un modo per espri mere l o st at em ent RDF in form a graf i ca utilizzando un grafo etichett ato ori ent at o nel quale l a risorsa è rappres ent at a da un’ellisse, la proprietà da un arco orientato, che parte dalla risorsa e punta all’oggetto, e l’oggetto da un rettangolo.

(14)

14

Per cercare di comprendere m eglio il dat a model RDF consideri am o un es empio in cui andiamo a descrivere, mediante RDF, il metadato riguardante l’autore di una pagina HTM L. L’inform azione che vogli amo descri vere è la s eguente: M ario R oss i è l’autore della pagina http://nome_di_un_dominio/esempio.html

F i g u r a 5 p r i ma r a p p r e s e n t a z i o n e s o g g e t t o - p r e d i c a t o - o g g e t t o a t t r a v e r s o i l mo d e l l o R D F

L’oggetto di uno statement RDF può essere a sua volta una risorsa, consentendo in quest o modo di descrivere i n m ani era più approfondit a il valore dell a propri et à. Consideriamo l’esempio precedente e vediamo di aggiungere maggiori informazioni riguardanti l’autore della pagina HTML (ad e sempio e-mail e numero di tel efono). In questo caso dobbi am o aggiungere all o stat em ent precedent e, l a des crizione dell a ris ors a autore che può ess ere identi fi cata in mani era univoca utilizzando ad esempio l’URI della sua Homepage. Lo statement RDF espresso in forma grafi ca di vent a quindi:

F i g u r a 6 s e c o n d a r a p p r e s e n t a z i o n e s o g g e t t o - p r e d i c a t o - o g g e t t o a t t r a v e r s o i l mo d e l l o R D F

Il

primo esem pio di st atement R DF può essere espresso, utili zzando la si ntassi XM L, nel seguent e modo:

(15)

15

F i g u r a 7 p r i ma r a p p r e s e n t a z i o n e r i s c r i t t a c o n u n a s i n t a s s i X M L

L’elemento <rdf:RDF> racchiude la definizione dello statement RDF ed al suo interno trovi amo l a definizione di due Namespace: i l prim o è rel ativo al Nam es pace RDF, m en t re il secondo Namespace conti ene l’UR I che identi fica l o schem a R DF utilizzato per des crivere l a sem anti ca e le convenzioni che regolano l’utilizzo delle proprietà presenti nello statement. La descrizione del metadato è contenuta all’interno dell’elemento <rdf: Descript ion> ed il suo att ributo about i dent ifi ca la ris orsa all a quale si riferis ce il met adato stesso. La propri et à dello st at em ent è des critt a utilizzando il tag <a:aut hor>, secondo l e regol e che sono espress e nel rel ati vo schem a R DF. Il s econdo es em pio di st at em ent RDF, es press o s econdo l a s int assi XM L, divent a:

F i g u r a 8 s e c o n d a r a p p r e s e n t a z i o n e r i s c r i t t a c o n u n a s i n t a s s i X M L

In questo caso, all’interno dello statem ent RDF abbiamo la definizione di due risorse (i denti ficat e dai due el em enti <rdf: Description>) che sono m esse i n relazione attraverso l’uso dell’attributo rdf :res ource pres ent e nell’elemento

(16)

16

<a:author> [19]. In questo modo l a des crizi one dell a seconda risors a (quella relativa all’autore del documento ) viene assegnata come valore della proprietà

author dell a prima ri sors a.

2.6 Livello 4: Ontologia

Gli s chemi RDF hanno del le limit azioni, non possono i nfatti ri conos cere l e cl assi equival enti e limitare il num ero di proprietà da us are. Per colm are quest e lacune s ono st ate introdott e l e ontologi e OW L (Web Ontology Language) ovvero un insieme di regol e di inferenz e. Pi ù semplicem ent e un’ ontologia perm ett e di speci fi care in modo aperto e si gnifi cativo i concetti e l e rel azioni che caratt erizzano un certo domi nio di conoscenza. Il li nguaggio OW L estende RDFs perm ett endo una not evole ri cchezz a sem anti ca. Una caratt eristica fondam ental e è infatti l a pos sibili tà di des cri vere cl as si i n modo pi ù ricco, di stinguendo fra cl as si dis gi unt e per cui nessuna ist anz a può app art enere ad ent rambe l e cl as si , oppure cl assi come int ers ezi one di alt re due o pi ù.

Anche per l e propri et à è possibi le dare descrizioni mol to ricche e raffinate , pot endo disti nguere fra propri et à transitive, simm et ri che, funzional i o com e invers e di alt re.

Infine, un’evol uzione im portant e è l a possibilit à di disti nguere tra propri et à che hanno com e val ori dati sem pli ci (Datat ypeP ropert y) o vere e propri e cl ass i (ObjectP ropert y) . L’ont ologia è costit uita da una Taxonom y (Vocabul ar y + Structure) e dell e R ela tionshi ps, cont raint s and rul es [20][21].

2.7 Livelli 5 e 6 : Logica, prova e fiducia

Quest a part e del

Web Semantico

non è stat a ancora sviluppat a. L'obiettivo è quello di realizzare dei sist emi i n grado di formulare ogni principi o logico e perm ett ere ai com pu ter di ragionare, per

inferenza

, us ando questi pri ncipi .

Una volt a costruiti questi si stemi "logi ci ", pot remmo uti lizzarli per provare qualcosa. Persone i n tutto il mondo possono scri vere ist ruzioni logi che. Quindi la macchina può segui re questi link "semantici " per costrui re di mostrazioni [10] . In sint esi avremo:

(17)

17

 Un livello logico: a ffinché il W eb Semantico possa effettivamente aiutarci in una vas ta gamma di situazioni, est raendo aut onom am ent e inform azioni utili dall a m ol e di docum enti annot ati sem ant i cam ent e, è i ndispensabil e cost ruire un pot ent e linguaggio logi co per realizzare l e i nferenze (ovvero procedim enti dedutti vi medi ant e cui, a part ire da una o pi ù prem ess e, s i ricava, per vi a logi ca, una conclusi one).

 Un livello di Prova: dove le conclusioni ottenute saranno validate tramite motori di vali dazione costituiti da s equenze di formule deri vat e da assi omi.

 Un livello Trust: con cui il sistema restituirà solo quelle informazioni che secondo il richi edente proverranno da ut enti di indubbi a attendibili tà. Lo scenario che s i vuol e real izza re è che un utente comunica al s uo comput er che ha fiduci a i n una persona, a sua vol ta questa pers ona ha fiduci a in alt re persone e ques t e ultim e in alt re. Tutte ques te rel azioni di fiducia si aprono a ventaglio e formano il

Web of Trust

.

3 SMART –M3

3.1 Introduzione

La pi att aform a Smart-M3 è st ata sviluppat a all’i nt ern o del progett o Europeo SOF IA (S m art Obj ect For Int elli gent Appli cation ), un progetto Art emis dell a durat a di t re anni che coinvol ge dici annove part ner di quattro nazioni europee divers e. Obi ett ivo di SOF IA è stato realizzare una piat taform a innovativa di interoperabili tà s em anti c a [22][23].Sm art-M3 (dove M 3 s t a per M ulti vendor, Multi device e M ult i dom ain) è il nom e di un progetto soft ware open -s ource che mira a fornire una piatt aform a di scam bio delle i nform azi oni trami t e la quale entit à et erogenee possano i nteroperare . La comprensibil ità dell e i nform azioni s i bas a sul modello ontologico di dati che perm ett e di creare una piattaform a di interoperabili tà i ndi pendent e da l tipo di disposi tivo e dal domini o di util izzo. Prevede un met odo di memorizzazi one dei dati basato sul m odello RDF e utilizz a un protocoll o di comuni cazi one in form ato RDF/ XM L che s upport a il linguaggi o SPARQL attraverso i l q ual e è possi bil e interrogare e m odi fi care l a conoscenza .

(18)

18

3.2 Struttura Smart-M3

La pi att aform a Sm art M3 si s uddi vide i n due parti:

SIB (Semantic Information Broker ), un nucleo centrale, ospitato da un dispositivo fi si co, che contiene l’i nformazione e fornis c e la bas e dell a conos cenza. Ne pos sono esist ere divers e im plement azion i, ne sono u n es empi o l a R edS IB , monolit ica e scritt a i n C o la S IB in tecnologi a OSGi basat a s ul linguaggi o J ava e quindi avent e m aggiore vers atilit à, modul arit à e port abil ità.

KP (Knoledge Processor): qualsiasi dispositivo in grado di ospitare il soft ware per ins erire o recuperare informazi oni at traverso la S IB . Può ess ere paragonat o ad un interprete che traduce dal linguaggio specifico di un dis posit ivo al linguaggi o parl ato dal l a S IB. Un KP può essere un KP cosi ddetto C onsumer se viene utilizzat o per leggere informazioni dal la S IB m a non invi arne; vi cevers a può ess ere un KP Producer, o infine un Aggregator s e svol ge ent ram be le funzioni. I KP possono ess ere s critti i n un buon nume ro di linguaggi di programmazione at traverso una seri e di AP I [24].

La nozi one di appl icazione in uno S m art Space diff eri sce radi calm ent e dal concetto di appli cazione tradizional e.

F i g u r a 9 r a f f i g u r a z i o n e S I B e K P

Nel caso più s empli ce, t utt a l 'i nform azion e di uno S mart Space è imm agaz zinata da una sol a S IB, m a vi è l a possibilit à concettual e di connett ere pi ù S IB tra di loro . Ogni KP vede tutto il cont enuto informat ivo dello S mart Space indipendent ement e dall a S IB a cui effett ivam ent e si connett e. L'inform azione in uno S m art Space vi ene m emorizzat a com e grafo R DF, i n accordo ad una ontologia definit a ed il ruolo dei KP è di int errogare tal e sistem a richiedendo inform azioni o

(19)

19

eff ettuan do modifi che su di ess e utilizzando le primiti ve previ ste dal protoco l lo di com uni cazi one con l a S IB .

La comunicazione con l a S I B ri chi ede un protocoll o ben defi nito: lo Sm art Space Access Protocol (SSAP ), basato su mess aggi in linguaggi o XM L. Qualsi asi mess aggio invi at o al la S IB è s eguito da un m ess aggio di risposta dalla S IB.

L'SSAP al mom ent o prevede i s eguent i ti pi di mess aggi :

 JOIN: è il primo messaggio da inviare alla SIB per iniziare la com uni cazi one e contiene l e i nform azioni di chi eff ettua l a richi est a di connessione. Il m es s aggio di rispost a è l ’insi em e de lle inform azioni sulla S IB ass oci at o al rifi uto dell a connessione o l a conferm a .

 LEAVE: chiude la connessione con la SIB. P er riaprirla si deve inviar e nuovam ent e i l m ess aggio di J oin. La risposta dall a S IB conferma o m eno la chi usura dell a connes sione.

 INSERT: è il messag gio che permette di inserire triple nella SIB. La tripla è in formato RDF ed è composta da S oggetto , Predi cato e Oggett o. La S IB conferma o m eno l 'inserim ent o, ma non eff et tua alcun controllo sull a coerenz a dei dati .

 REMOVE: è l 'operazione opposta alla Inse rt, permette di rimuovere una lista di t ripla. Anche in questo cas o la S IB conferm a o m eno l a rim ozione, ma non effett ua alcun cont roll o.

 UPDATE : ha come parametri due liste di triple. La prima viene rimossa e la s econda vi ene aggiunt a ed ancora una volt a la S IB conferm a o meno l e operazioni . È important e notare che quello ch e si otti ene con l 'Update s i può ott enere anche con una R emove e una Ins ert.

 QUERY: è il messaggio per leggere informazioni d alla SIB. Servono per cercare t ripl e nel m edesi mo grafo e all e quali l a S IB ris ponde con t utt e l e tripl e trovate .

 SUBSCRIBE: serve per ricevere una notifi ca dalla SIB quando viene mani pol at a una tripla che corri sponde al patt ern specificato . La S IB conferma o m en o la Subscri be e invia una noti fi ca appena viene eff ettuat a una Ins ert , R emove o Updat e che ri guarda quell a t ripl a.

(20)

20

SUBSCR IBE, UNS USCR IBE e P UBLIS H impl em ent ano il paradi gma di mess aggisti ca Publi s h/Subs cribe dove mi ttent i (publis her s ) non sono programm at i per invi are i loro messaggi a destinat ari speci fici (subscriber s ).

I m es saggi sono differenziat i in canali, senz a a l cuna informazi one sull a conos cenza int rinseca. I Subscri bers esprimono l’i nt eress e per uno o più canal i, ricevendo m ess aggi , ma s enza conoscere i p ublishers coinvolti . Quest o disaccoppi am ento fra subs cribers e publi shers cons ente una maggiore s calabilit à e una topologi a di rete più di nami ca. Dunque i cli ent espli cit ano in una SUBSCR IB E i nomi dei canal i a cui s ottos criversi. I mess aggi inviat i da alt ri cl ient per quest i canali s aranno quindi indirizz ati dal la S IB a tutti i cli ent is critti . Un cli ent sottos critto a uno o più canali non dovrebbe esegui re comandi, s e non per inscri versi o cance ll arsi da o verso altri canali [25] .

F i g u r a 1 0 r a p p r e s e n t a z i o n e g r a f i c a d e i me s s a g g i S S A P

Vediamo com e es em pio due tipi di m ess aggi SS AP di quer y S PARQ L:

il messaggio di richiesta di esecuzione della query che il KP invia all a S IB

(21)

21

Per primo di s eguito viene most rat a l a st rutt ura di un tipi co mess aggio XM L del prot ocollo SSAP di richi est a di query di t ipo SP ARQ L, che il KP invia all a S IB.

F i g u r a 1 1 me s s a g g i o d i r i c h i e s t a d i e s e c u z i o n e d e l l a q u e r y c h e i l K P i n v i a a l l a S I B Come si può not are, la radice del messaggio, com e per tutti i messaggi dell e alt re operazioni previste dal pro tocollo, è SSAP -m ess age. Al s uo int erno cont iene i seguenti t ag:

 node_id, campo che identifica il KP che richiede l'operazione;  space_id, identifica lo smart space;

 transaction_id, contiene il numero associato all'attuale operaz ione del KP;  transaction_t ype, identifica il tipo di operazione da effettuare;

mess age_t ype, indi ca s e il m essaggi o è i nvi ato dal KP al la S IB (REQUEST) o vi ceversa (CONF IRM). Inoltre, un ult eriore tipo è (IND IC AT ION) che viene inviato da l la S IB quando deve m andare noti fiche per sottos crizioni .

Questi sono i t ag presenti in t utti i m essaggi SSAP per quals iasi primitiva. Invece, quelli s peci fi ci per l 'operazi one di query s ono:

parameter name=”type”, campo che indica se l'operazione di query è del tipo SPAR QL oppure RDF -M3 . Quest e sono gli uni ci due tipi di linguaggi di quer y support ati dall a S IB ut ilizzat a;

 parameter name=”quer y”, campo in cui viene inserita la stringa corri spondent e all a quer y SP ARQ L.

(22)

22

Di seguit o è m ost rata l a struttura di un tipico mess aggi o XM L del protocol l o SSAP di ri spos ta ad una ri chiesta di quer y, che la S IB invia al KP.

F i g u r a 1 2 me s s a g g i o d i r i s p o s t a c h e c o n t i e n e i r i s u l t a t i c h e l a S I B i n v i a a l K P

Rispetto al m es saggi o di ri chiesta quer y analizzato precedentemente, il mess age_t ype è di ti po C ONF IRM ed inoltre sono pres enti i s eguenti due cam pi:

 parameter name=”status”, il quale indica lo stato della risposta, ovvero l'avvenut a o non avvenuta esecuzi one del la quer y da part e del la S IB; parameter name=”results”, tag al cui interno è presente la risposta

RDF/XM L, nel caso in cui l a quer y s ia st at a es egui ta corrett ament e. [26]

3.3 SPARQL

SPARQL (Simpl e P rotocol and RDF Quer y Language) è un linguaggio di interrogazione per R DF. Nasce infat ti per manipol are e recuperare dati RDF.

Le quer y SP ARQ L si basano sul meccanismo del "patt ern m at ching" e in parti col are s u un cos trutt o, il "t ri ple pattern", che ri calca l a confi gurazione a t ripl e dell e asserzioni

RDF

fornendo un modello fl essi bil e p er l a ricerca di corri spondenz e [27] [28][29][30] .

F i g u r a 1 3 e s e mp i o d i t r i p l e p a t t e r n

Questo "tri pl e p att ern" prevede due vari abili ( cont rassegnate con

?

), che fungono in un cert o senso da incogni te dell 'int errogazione,

cd:autore

funge invece da cost ant e: le tri pl e

RDF

che trovano ri scont ro nella base di dat i

(23)

23

ass oc eranno i propri termini all e vari abil i corrispondenti. La strut tura generica di una quer y è c ompost a da:

 PREFIX: assegna un prefisso ad un names pace al fine di abbreviare gl i UR I. Tale prefis so può ess ere utiliz zato per riferire t ra mite un Qname compatto (es. “ cd: ”) le risorse presenti nel grafo da interrogare.

 Un costrutto per indicare il tipo di quer y, ovvero per identificare quale i nform azione viene restituita. Esi s tono di vers e form e di quer y in SPAR QL int rodott e da diverse parol e chiave come:

SELECT: fornisce l’elenco delle varia bili da riportare nel risultato. CONS TRUC T: ot ti ene il grafo RDF specificato da un graph templat e. ASK: testa l a pres enza o as senza di una s oluzione nel graph patt ern. DESCR IBE: otti ene un grafo R DF cont ente dati ri guardanti le ris ors e.  FR OM: i ndi ca l a s orgente dei dati da i nterrogare.

 Graph patt ern: s e t di t ripl e pattern s critte come una s equenz a. La cl ausola W HER E: defini sce un crit eri o di s el ezione s pecificando t ra parent esi { una o più tri ple , isol ando un s ottografo del grafo R DF.

Per chi ari re ecco una sem pli ce quer y di selezione SP ARQ L:

F i g u r a 1 4 e s e mp i o d i q u e r y S P A R Q L

Appli cando l a quer y al s et di tri ple, si ott iene il s eguente ri sul tato:

F i g u r a 1 5 e s e mp i o d i r i s p o s a t t a b u l a r e S P A R Q L

Nel li nguaggio SPARQL possono essere rappresent ati i seguenti oggetti:

 URI, rappresentabili anche tramite QNames (Qualified N ames), ovvero con sintassi : <prefis so>: <R esourceNam e> (cd:aut or )

(24)

24

 Variabili (precedute, indif ferentemente, da un ? o u n $)  Operatori su grafi

Sintassi Tri pl e P att ern :

 I triple pattern sono separate da punti (.)

 Predicate -Object Lists: In un pattern è possibile specificare più triple aventi uno st ess o soggetto indi cando questo una volt a sol a e facendol o seguire da una li st a di coppie predi cat o -oggetto s egui te dal s imbolo “;” (es. {? person foaf:knows :m ario_ros si ; foaf:nam e ? nam e }).

 Object Lists: Se dei triple -pattern condividono sia il predicato che il soggett o, all ora è possibil e es primere tali tripl e indi candone il soggetto e il predicat o e s eparando i var i oggetti con il simbolo “,” .

 (es. { ? person foaf:knows :mario_rossi , :gino_bianchi }).

È possibil e vincol are il mat ching del Graph Pat tern utilizzando divers i operatori, funzioni o anche dell e est ensi oni dedi ca t e com e:

 FILTER: usato per porre delle restrizioni sui valori da associare alle vari abili .

 OPT IONA L: introduce una condi zione opzionale, se questa non è verificat a non ritorna ness un risult ato, ma neanche elimi na il resto dell e soluzioni.

 UN ION: seleziona tutte le soluzioni che sono in collegamento con almeno un t ripl e pattern.

O modificatori di sequenza SPAR QL come:

 DIS INCT: permette di escludere i valori duplicati.  LIM IT: pone restrizioni al numero di restrizioni.

 OFFSET: permette di salta re un certo n umero di risultati.  ORDER BY: imposta l’o rdine dei risultati della quer y

(25)

25

4 BENCHMARK

4.1 Cos’è il benchmark

Nel l 'inform ati ca il benchm ark è un m etodo di misurazione delle perform ance. Il benchmark (o benchmar king ) consiste in un test finalizzato ad ott enere le prest azioni di es ecuzione di un com put er o di un programm a inform ati co (soft ware). Pos si amo disti ngue due ti pologi e di benchm ark:

 Benchmark hardware . È un test per misurare la velocità di calcolo di un com put er e l 'occupazi one dell e ri sors e ( i n m emori a). Consis te nell 'esecuzi one di un al gori tmo su di versi computer per ottenere un indi cat ore dell a prest azione i n es ecuzione.

 Benchmark software . È un test per misurare la velocità di esecuzione dell e operazi oni d a part e di un apposito s oft ware. Consent e di verifi care il grado di effi ci enz a di un p rogramm a inform ati co (software ) scritto i n un det erminato linguaggi o e t radott o in linguaggio macchina con un com pilatore.

4.2 Architettura generale

Nel nost ro campo appli cat ivo facciam o riferim ent o ad un benchm ark nato per test are le prest azioni di R DF Store, confront andoli con altri R DF Store o ult eriori sistemi di perform ance , com e SPAR QL to SQL r ewriter o dat abas e rel azional i. Inol tre esis tono numeros e pubbl icazioni che si incent rano sull a valut azione del cari co, del ragionament o e dell e prest az ioni dell e quer y, ment re pochi sono gl i studi effet tuati per l a valut azione dell e performance dei sist emi pubbl ish/ subs cribe. Nel lo speci fi co ci siam o bas ati sul benchmark LUBM: A benchmark for OW L knowledge base s yst ems .

L’obiettivo che ci siamo proposti di rag giunger con questa tesi è la valutazione dell a S IB, dunque non appl i cherem o tal e benchm ark al l’R DF Store, ma al sist em a che si i nt erfacci a ad ess o e fa da t ramit e nell a com un i cazione con i KP. Abbi am o effettuato i test sul server “mml.arces.unibo.it” sul quale sono state rese disponibil i l e seguenti S IB:

(26)

26 – SIB OSGi persistente;

– RedSIB non persistente _ con storage in RAM basato su Berkeley DB ; – RedSIB persistente _ BerkeleyDB 5.3;

– RedSIB persistente _ Virtuoso;

– RedSIB non persistente _ con storage in RAM basato su hash . – CuteSIB non persistente

4.3 Suite di programmi utilizzati

È st ato realizzat o come primo com ponent e i l programma per le quer y “query_test”. Tale programma ha le seguenti caratteristiche: è scritto in P ython, è in grado di t est a re più S IB in modo sequenzi al e , accett a in ingresso query SPARQL ed è i n grado di it erare le quer y un num ero prefi ss ato di volt e. Support a anche l 'ins eri mento della S IB l eggendol o d a fil e i n form ato N3. Questo consent e di sfrutt are lo st ess o programm a anche per altri benchm ark t ra i qual i ad es empi o SP2B [31] e non solt ant o per LU BM . Infine fornis ce in usci ta un f il e CVS (Comm a Separat ed Value ) contenent e tut te le t e mpisti che, l e medi e e il num ero di risul tat i riport ati e un grafico in form ato SVG ( S calabl e Vector Graphic ), ovvero un linguaggio di grafi ca vettori al e bidi me nsional e basato s u XM L sviluppato dal consorzio W3C

.

Lo sviluppo della suit e di test è coadiuvat o da un sist em a di revisi one (Git), il cui repos itor y è s u G ithub (un s ervizio web di hosting per lo sviluppo di progetti soft ware, che può es sere utilizzat o anche per la condi visione e la m odi fi ca di fil e di tes to) all 'i ndi rizzo:

https:/ / github.com/desmovalvo/Sm artM 3_tes tsuit e.git

.

Ment re il primo programm a è utilizzat o per valut are l e quer y , il secondo è adoperato per valut are i t empi di ins erim ent o dell a conos cenz a di bas e del la S IB.

Questo è , “Fill er”, anche’esso scritt o i n Ph yton con una li cenza GP L, cons ent e di cari care il dat as et di dati sul la S IB in form ato OW L e N3 con uno step di 100 ontol ogi e per volt a, fornendo in uscit a il num ero di t ri pl e che devono ess ere inserit e, quell e effett ivam ent e inserit e e i tempi di caricam ent o.

(27)

27

Per comprendere ap pieno quanto es eguit o dalle singol e query di t est, ci si amo serviti di un set di programmi e appli cazi oni utili all ’analisi . Questi sono:

 L’applicazione SmartDashboard versione 1.0.0.0. associata a SEPA SPARQL Dashboard versione 1.0.5682.19155. La prim a consente di cari care fil e .owl prim a sull a cache poi sull a S IB e di visual izzar e grafi cam ent e cl as si e propri et à di tali ontologie. La s econda invece, fornis ce una int erfaccia per defi nire i paramet ri di connes sione (IP del server e port a dell a S IB) e veri fi care l a connessione trami te ping (online). Effettuato il collegamento l’applicazione consente di eseguire un set di quer y o updat e s pecifi cando il tipo di cli ente com e produttore o consum atore. Quest e , att uate singol armente o cari cate da un fil e .xml , sono raffi gurate negl i appositi spazi. Una volt a effettuat e è pos sibil e verificare la loro riuscit a e i t em pi (ms ) di esecuzi one , m ent re i ris ultati sono vis ual izzati sott o form a di t riple e quindi facilm ent e consult abili .  Protégé. Un editor open -source di ontologie gratuito , che fornisce

un'interfacci a ut ent e grafi ca , per defi ni re ontologi e o com e nel nostro caso l a poss ibilit à di estrapol are l e informazioni di base s ull e entit à come : Class Hi earch y, TopDat aP ropert y, Obj ect Propert y, Domains e Ranges utili per l a corret ta c omprensi one dell e quer y.

4.4 SIB valutate

La S IB, come gi à m enzionat o , è l a responsabil e dell a conversione e cont rollo dell e appl icazioni condivis e in S m art -M 3. Sono st ate i mpl ement at e di vers e S IB , che verranno valut at e e confrontat e in quest a t esi .

4.4.1 RedSIB

N

el lo speci fi co l a R edS IB è basata su uno store Redl and ( progettat o all’inizio del 2000 ), un i nsi em e di librerie di software , che fornis cono i l supporto per l’R DF. RedS IB è scritt a in C e fa us o dell e li breri e D -Bus (il che ne limi ta l’utilizzo al solo sist em a operati vo GNU/ Li nux ). Il Redl and Context ha il c ompit o comune di fondere grafi e monitorare le sorgenti . In parti col are si occupa di abilit are l a fusi one/ aggi ornamento/scissi one di grafi, identificare sott ografi con nodi -cont ext,

(28)

28

dichiarare identit à, dichi arare proveni enze e aggiungere t ripl e attravers o un nodo -context diverso , che può es sere ogg ett o di altre di chiarazioni [32][33]. Redl and pres ent a [3 4]:

 librerie di base e API (Application Programming Interface) pe r mani pol are il grafico RDF.

 Storage per i grafici.

 Interrogazioni con SPARQ L.

 Più linguaggi per leggere e scrivere RDF come RDF/XML, N -triple e turtl e.

 La possibilità di aggregare dati.

L’API degli utenti prevede che le triple possano essere aggiunte, rimosse o cercate facilm ent e. P er l a m emorizzazione dell e tri ple esist ono due cl ass i di store:

 “in-memory store” nel quale viene selezionato un nodo come punt o di part enza per l a navi gazione del grafo. La m emori a è im pl em ent at a com e una l ist a doppi a, molto semplice da sviluppare e com prendere per verificarne l a corret tezza. Apparti ene a questa cl as se la R edS IB volati le in RAM.

 “hash store“ che fa uso di hash di chiavi associati al nodo centrale. Gli hash pos sono ess ere in m emori a non persist ent e oppure persist ent e ; medi ant e Berkel e y DB (BDB) o Vi rtuoso ( database managem ent s ys t em che tramit e licenza open source , possono ess ere util izzati s ulla m aggior part e dei sist emi operat ivi )

.

Appart engono a ques ta cl ass e l a RedS IBh, l a RedS IB Berkele y DB e la RedS IB Vi rtuos o.

Virt uos o è princi pal ment e un dat abas e SQL obj ect -rel ational. Com e dat abas e fornisce il meccani smo dell e t rans azioni, un int erprete SQL, stored -procedure, backup con un checkpoint sicuro ed inoltre supporta SPARQL per l’interrogazione di dati RDF mem orizzati. Con vi rtuoso è possi bil e s viluppare s oluzioni che utilizzano XM L com e livello fondam ent ale per l’acces so ai dati, t ram ite il qual e viene fornit o un accesso t rasparent e ai dati st rutt urati e non strutturati. In parti col are i docum enti XM L possono essere generati si a i nteram ent e che dal web e memorizzarti nell’ecosistema di virtuoso. Virtuoso è progettato per

(29)

29

avvantaggi arsi del support o multi -read e multi-proces sor, esso cons ist e in un singolo process o con un numero vari abile di t hread condi visi dai clients. Più thread poss o no cooperare sull a st es s a st rut tura dati , caus ando l a m inim a interferenza l’uno con l’altro. I thread condividono una cache dell e pagine del dat abas e, m ent re l e vecchi e pagi ne sono scritt e su dis co come process o in background a mini m a priorit à. Tutte l e t abell e del database s ono cons ervat e in un singolo insieme di file. Un insi em e s eparat o è invece us at o pe r i fil e t emporanei [35].

Berkele y DB offre le stess e funzional ità di archivi azione dei sistemi di dat abas e rel azionali, com e t rans azioni e recupero, mul ti-proces so r e mul ti -t hreadi ng, backup e repli ca per le a ppli cazioni ad alt a concorrenza . Berkele y DB è in grado di gest ire i dat abas e in memori a, su dis co o in form a combinat a ed è progettato per funzionare in modo complet am ent e autom ati co, per garanti re una gestione dell 'am minis trazione runtim e , programm aticam ent e cont rol lat a . Berkel e y DB offre una veloce, scal abil e, affidabil e b ibl iot eca i n un pi ccol o spazi o [36].

4.4.2 CuteSIB

Quest a S IB si bas a s u R edS IB e us a l a sua m edes ima logica , è i nfatti s cri tto i n C.Si tratt a di un progett o recente, realizzat o in Russia dal Lab orat orio dell’università Petrozavodsk, la cui prima versione è sta ta resa disponibile il 17/08/2015. La pri ncipal e novit à int rodotta di quest a S IB è la rim ozione di D -BUS, supporta pl ug -in, ovvero est ensioni dell e funzionalit à ori ginarie , relat ive all a parte di ret e e fa uso dell e l ibreri a QT, una libreri a

multipiattaforma

per l o sviluppo di program mi con

interfaccia grafica

[37].

4.4.3 SIB OS Gi

OSGi è un'organizzazione no -profi t, indipendent e, che l avora per defi nire e prom uovere s peci fi che per l a fornit ura di s ervizi per am bi enti di ret e. L’OSGi è considerat o oggi come un " Uni versal Middlew ar e "," Softw are che si scr ive una

volt a sol a e quindi è utilizz abil e i n forma binar ia uni versal mente: in molte di vers e piattaf orme, molti settori e per molti scopi di versi " (Pet er Kri ens - OS Gi Nucl eo

Plat form Group). Si trat ta di un si stem a di servizio per pi at taform e. Supporta il linguaggio di programmazione Java il qual e im pl ement a un com plet o e di namico modello a componenti [38][39]. Il fram ework di OSGi:

(30)

30  È semplice;

 È dinamico;  È adattivo;

 Fornisce un'AP I completa per la gestione del ciclo di vita;

Tecni cam ent e l e s pecifi che della pi att aform a OS Gi i ntroducono i l concetto bundl e , inteso com e archivio (J AR) , cont enent e l’i mpl em ent azione dei s ervizi e l e direttive di distribuzione ed installazione all’interno della piattaforma, oltre che le dipendenz e da alt ri package e s ervizi. Il framework OS Gi è di fatto l’am bient e di es ecuzione dei bundle . I bundle pos s on o ess ere inst all ati, avvi ati, fermat i , aggiornati e disinst allati s enz a far cadere l’i nt ero sist em a. In quest a caratteris tica risi ede l a fort e dinami cit à [40]. Le soluzioni bas at e su OSGi s ono facil i da implementare, perché lo st andard specifica come sono i nstallati e gestiti i com ponenti . In parti col are l a S IB OS Gi , realizzat a dall ’U niversit à di Bologna in coll aborazione con Eurot ech (2011), sfrutta il fram ework appena descritt o ed è cost ituit a da diversi bundle. La s ua architett ura è bas at a s ull ’approccio OSGi e i suoi componenti s ono confi gurat i a partire dall e AP I. I Bundl e che com pongono la S IB OSGi sono:

 TCP Bundle;

 Message Handler Bundle;  SSAP Bundle;

 Token Handler Bundle;  Tools Bundle;

 SIB Bundle;

 Subscription Bundle;  JOIN Bundle;

 Persistent Update Bundle.

Il modulo responsabile della gestione dell’interfacciamento con il mondo est erno è il TCP Bundle , il qual e l egge il messaggio ri cevuto dai KP e vi aggiunge un ri feri mento per renderlo processabi le dal Mes sage Handler Bundl e. Quest’ultimo delega il messaggio al SSAP Bundle il quale ha il compito di crearne una rappres entazione i nterna (a cui i l Token Handl er Bundl e assegna un

(31)

31

identificati vo uni voco) , che il S IB Bundle sfrutt erà per proc ess are l a ri chi est a e forni re una ris post a appropri at a. S IB Bundl e si appoggi a alle li breri e J ENA, un

framework Java di ultima generazione,

per l o s viluppo di applicazioni ori ent at e al

web semantico

. Il l inguaggi o J AVA e il fram ework OS Gi rendono la S IB port abil e su di versi sis tem i operat ivi come Windows e MAC OS olt re a GNU/ Li nux.

4.5 Il benchmark LUBM

Vari si st emi dell a conos cenza che sono stati svil uppati per l a m emorizzazione, ragionam ento e i nt errogazi one del W eb Sem antico differi scono sull a base di divers i fat tori com e la m em ori a (vol atil e o persist en t e) o il grado di ragionam ent o. Generalm ent e ci s ono due requi sisti fondam ent ali per t ali sis t emi , l a s cal abilit à e l’efficienza, associati a una capacità di ragionamento suff icientemente elevata da pot erl o sost enere. Per val utarli s ono necess ari e est es e dim ensioni di dati e ri cche ontol ogi e. Il LUBM [41] estende quer y su un ampi o s et di dati, impiegat o su un’ontologia dalle medie dimensioni e media complessità. Questa ontologi a si basa su un domi nio universit ari o e i suoi dati sono generati e poi inst all ati su un dispositivo da valut are.

Il test nell’articolo [41] è realizzato per mettere a confronto differenti classi di sistemi , per i quali sono res tituiti risul tat i sperim ent ali, ragionamenti ed oss ervazioni.

Il benchmark è st ato creato con i s eguenti obbi ett ivi:

1. Sostenere quer y est es e, ovvero non sol o quer y intenzionali (su cl as si e propri et à), m a quest e ultim e associat e ad un uso dei dati int ell igente. 2. Ott enere una scal a ar bit rari a di dati , per rendere possi bil e l a variazi one

dell e dim ensi one dei dati

3. Bas arsi s u una ontol ogi a di medi e di mensioni e medi a complessità.

L’ontologia usata nel Benchmark è Univ-Bench la quale descrive università, uffici e l e atti vit à che si ver i fi cano al suo interno. L’ontologi a include 43 cl assi e 32 propri et à (25 Obj ectPropert y e 7 Dat at ypeP ropert y ).

(32)

32

4.5.1 Gerarchi a d ell e clas si

L’albero seguente mostra la gerarchia delle classi dell’ontologia del benchmark LUBM.

(33)

33

4.5.2 Datatyp e e o b ject p rop erti es

Le tabelle seguenti mostrano le proprietà dell’ontologia suddivise per object properti es e dat at ype propert ies.

F i g u r a 1 7 O b j e c t p r o p e r t i e s d e l b e n c h ma r k L U B M

(34)

34

4.5.3 Set di qu ery

Le 14 quer y (Q1..Q14) sono scritt e in SPARQL per t enere conto dei s eguent i fat tori:

 Formato input (ovvero ampiezza dello spazio di ricerca)  Selettività

 Complessità

 Informazioni sulla gerarchia  Assunzione di deduz ioni logiche

Sono st ate s celte una seri e di quer y , che copro no una gamm a di quest e propri età . Alcune hanno maggi ore i nput , alt re m aggiore s el etti vit à, alt re ancora sono in grado di dare inform azioni su profondit à e larghezza d i una gerarchi a. La tabell a seguente mostra un’analisi delle varie query rispetto ai fattori sopra riportati:

Ampio

spazio di

ricerca

Alta

selettività

Alta

complessità

Gerarchia

delle

classi

complessa

Reasoning

Q1

x

x

Q2

x

x

x

Q3

x

x

x

x

Q4

x

x

x

Q5

x

x

x

Q6

x

x

Q7

x

x

x

Q8

x

x

x

x

Q9

x

x

x

Q10

x

Q11

x

Q12

x

x

Q13

x

x

x

Q14

x

(35)

35

4.5.4 Metri che di p erforman ce

Il benchm ark defini sce inoltre l e s egu enti metri ch e di p erforman ce a cui faremo ri feri mento nell a val utazi one dell e prest azioni dell a S IB :

 Tempo di caricamento

È il tempo di mem orizzazione dei dati , compreso il tem po trascorso in qualsi asi el aborazione analisi o ragi onam ent o.

 Formato repositor y

Dim ensi one risul tante del reposit or y dopo aver caricat o i dati di riferim ent o. Questo dato è mis urat o solo per sist emi con memoria persist ente .

 Tempo di risposta della quer y  Completezza della quer y e solidità

Un sist em a è compl eto s e genera t utte l e ri spos te che vengono ri chi es te, tuttavi a nel web sem anti co rispost e parzi ali s aranno ugualm ent e accett abil i , per questo s i parl a di grado di compl et ezza. La soli dit à, invece, misura il grado di validità di ogni ris post a.

 Metrico combinato

È la combinazione fra tempo di rispos ta, compl et ezza e s olidit à. Tal e met rica può ess ere usat a per fornire una cl assi fi ca assolut a dei sist emi. È facilm ente variabil e e dovrebbe es sere us at a con una attent a considerazione dei param et ri utilizzati nel cal col o.

(36)

36

5 Valutazione delle prestazioni

Per lo s vol gimento dei t es t abbi amo creato un nost ro pers onale am bient e di lavoro, bas ato s ul m odello espresso da l LUBM, ma s ul qual e sono st at e apport at e divers e modifi che. Dopo un'att ent a analisi dei file OW L di LUBM è emers a l a necessit à di aggiungere in tutti gl i OWL (eccetto Univ -bench.owl ) il seguent e Nam es pace:

xml:base= "htt p://s wat.cs e.lehi gh.edu/ onto/univ -bench.owl ".

Inol tre, l 'anali si degli OW L ci ha consentito di veri fi care che in LUBM si utilizzano molto i b Node, ti po logi a di dato non gestit o dall a RedS IB, indicatore di un sicuro fallimento nell’inserimento di molt e inform azioni i n tal e S IB. I test sono stati effettuati sull a seguent e confi gurazi one:

Server (sul quale vengono eseguite le varie SIB): 12 CPUs Intel Xenox CPU ES -2430 v2 @ 2.5 GHz 6 Cores , 64 GB di R AM, Ubuntu Server 15.04. Le SIB vengono eseguite all’i nterno di una macchina virtuale dedicat a (Ubunt u 12.04 LTS, 32 GB R AM , 8 CP Us ).

Client (sul quale vengono lanciati i programmi di test sotto descritti): macchina vi rtual e Vi rtual Box, con sist em a operat ivo Debi an, con 2 GB di RAM e un process ore (si stema ho st: port atil e ASUS con process ore Intel i7-3610QM (6 Cores ) a 2.3 GHz, con 4 GB di RAM e si st ema operati vo Windows 7 Hom e Premium ). Il cli ent è collegat o al s erver att ravers o una connessione LAN a 100 Mbps.

Attraverso il t erm inal e vi ene richi amat o il programm a “fil ler.p y” e cari cato il dat as et di i nt eres se nell e rispetti ve port e. Quest o processo permette di ott enere le met riche rel ati ve al num ero di trip l e che devono ess ere ins erit e (t ripl e i ns ert ed ), il num ero effetti vo di tripl e inserit e (Tripl e int o the S IB) e i l tempo di cari cament o (El apsed tim e) .

(37)

37

F i g u r a 1 9 R i c h i a mo d e l p r o g r a m ma " f i l l e r . p y " e c a r i c a me n t o d a t a s e t

In quest o es empi o viene caricat a la S IB mml.arces .uni bo.it: 7710 con il dat as et da una uni versit à (il param et ro step consent e di speci fi care il num ero di tri ple da inseri re ad ogni it erazione) . Successivam ent e per l ’esecuzione dei t est vi en e richi am ato i l programma “quer y_t est.p y”

F i g u r a 2 0 R i c h i a mo d e l p r o g r a m ma " q u e r y _ t e s t . p y "

In quest a dimostrazi one vi ene caricat o il fil e d i quer y.p y da cui verrà es eguit a l a quer y "Q13 " per 3 volte. Le S IB da t est are sono la mml .arces .unibo.it :10030 e l a mml.arces.unibo.it: 7701 a cui s ono st ati assegnat i i nomi "R edS IB" e "OS Gi ".

È poss ibil e anche usufruire del com ando --hel p per avere una des crizione com plet a del s uo util izzo.

(38)

38

F i g u r a 2 1 r a p p r e s e n t a z i o n e c o ma n d o - - h e l p

I t est sono st ati eseguiti nel s eguent e ordine:

1. Sono st at e val utat e le quat tro S IB non persist enti: S IB OS Gi, R edS IB , RedS IBh e Cut eS IB prim a con il dat aset LUBM ad una universit à , poi s u cinque.

2. E tre S IB persi ste nt i: S IB OSGi, R edS IBBDB e R edS IBVi rt uoso . Co n il medesim o ordine di dat as et .

(39)

39

5.1 Sintesi dei risultati

Nel seguente paragrafo è riportata la sintesi dei risultati ottenuti dall’esecuzione dei test precedentem ent e descritti .

F i g u r a 2 2 T e mp i d i c a r i c a me n t o c o n d a t a s e t d a 1 e 5 u n i v e r s i t à ( L U B M ( 1 , 0 ) e L U B M ( 5 , 0 ) ) p e r i l c a s o n o n p e r s i s t e n t e

F i g u r a 2 3 T e mp i d i c a r i c a me n t o c o n d a t a s e t d a 1 e 5 u n i v e r s i t à ( L U B M ( 1 , 0 ) e L U B M ( 5 , 0 ) ) p e r i l c a s o p e r s i s t e n t e

(40)

40

F i g u r a 2 5 T e mp i d i r i s p o s t a d e l l e q u e r i e s p e r i l d a t a s e t d a 1 u n i v e r s i t à , n o n p e r s i s t e n t e .

(41)

41

F i g u r a 2 6 T e mp i d i r i s p o s t a d e l l e q u e r i e s p e r i l d a t a s e t d a 1 u n i v e r s i t à , p e r s i s t e n t e .

Riferimenti

Documenti correlati

Questi livelli sono stati attentamente sviluppati come risultato di numerose consultazioni da parte dei diversi portatori di interessi al fine di ritrovare un equilibrio tra

La reazione di formazione di nitro – IPA in fase eterogenea a carico degli IPA adsorbiti sul particolato richiede un’elevata concentrazione di agenti nitranti La massima parte

Infine a velocità nulla (s=1) la coppia assume un valore dell'ordine di grandezza della coppia nominale, al costo però di correnti molto alte (dell'ordine di 5÷10 volte la

• Poiché le reazioni chimiche richiedono varie ore (o anche un giorno), I valori di ozono in una certa zona possono essere dovuti alle emissioni di NOx- VOC poste a diversi km

Dalla distribuzione in Figura 6.2 si evince che all’ingresso del core lo schema Upwind calcola una ampia zona di diffusione tra i flussi provenienti dai 4 loops, questo

I parametri che sono stati lasciati liberi di assumere valori differenti da caso a caso sono: il numero di elementi in senso assiale e circonferenziale, i moduli dei carichi e

Predicted relations connecting pulsational (period and amplitude of pulsation) and structural (mass, luminosity and effective temperature) parameters, as based on a wide set

I pedici 1 e 2 corrispondono ai valori medi relativi al marciapiede sottopalo e opposto