• Non ci sono risultati.

2.6 Annotazioni semantiche

Le annotazioni semantiche [33] sono informazioni semantiche associate a ri- sorse web. Si utilizzano per arricchire il contenuto informativo dei documenti e per esprimere in maniera formale, il signicato di una porzione di testo in un documento, di un Web service o di strutture dati coinvolte in un processo di colla- borazione (interoperabilità tra applicazioni software). Vi sono dei criteri specici per classicare le annotazioni; ne elenchiamo di seguito i principali:

ˆ livello di formalità del linguaggio usato: formale, espressa in un linguaggio formale di rappresentazione della conoscenza e che permette di processare i dati senza l'intervento umano (machine understandable) oppure informale, espressa in linguaggio naturale o in un linguaggio controllato e che permet- te di aggiungere informazioni su documenti o risorse, fruibili da un utente umano;

ˆ posizionamento dell'annotazione: embedded, cioè inserita all'interno dello stesso documento annotato oppure attached , cioè memorizzata separata- mente, collegata al documento da un link;

ˆ destinatario dell'annotazione: nel caso di human user ha lo scopo di forni- re informazioni aggiuntive su una risorsa e in questo caso l'annotazione in genere sarà poco formale probabilmente realizzata in linguaggio naturale, mentre nel caso di computer ha lo scopo di esplicitare il signicato di una risorsa e in tal caso l'annotazione deve essere di tipo formale per poi essere processabile da una macchina;

ˆ tipo di risorsa annotata:

 annotazione di documenti: frammento di testo, pagina HTM, immagini, ecc.;

 annotazione di Web Services [29]: esprimere cosa fa un servizio, descri- vere i parametri di input e l'output, solitamente è di tipo formale;  annotazione di strutture dati o processi, coinvolti nello scambio di in-

formazioni tra applicazioni software che cooperano. Solitamente è di tipo formale, ontology-based;

2.6.1. Annotazioni di compatibilità e similarità

ˆ livello di restrizione imposto sul linguaggio:

 absence: i termini del linguaggio possono essere usati senza vincoli;  advised (consigliato): si è liberi di scegliere se utilizzare o meno un glos-

sario, un ontologia, (o anche parole chiavi) in alternativa al linguaggio naturale;

 mandatory (vincolante): c'è l'obbligo di usare un glossario di riferimen- to o un ontologia (annotazione ontology-based).

ˆ modalità di annotazione 1:

 annotazione attraverso istanze di concetti: l'annotazione consiste in associazione di una istanza all'elemento annotato, valorizzazione delle proprietà che descrivono l'istanza;

 annotazione attraverso concetti: l'annotazione consiste in associazione di un concetto dell'ontologia all'elemento annotato e associazione di una composizione di concetti dell'ontologia (attraverso opportuni operatori) all'elemento annotato.

Esistono anche svariati tool di annotazione, molti dei quali presentano i più disparati problemi, come ad esempio Cohse e Melita.

2.6.1 Annotazioni di compatibilità e similarità

Il servizio mashup coinvolge diversi aspetti, estendendosi da servizio di com- posizione a regole per l'annotazione semantica del servizio e del mashup dei com- ponenti e alla mediazione di dati permettendo facili combinazioni di servizi nella applicazione nale del mashup.

Esistono dicoltà nel campo semantico dei mashup, che sottolineano l'impor- tanza delle piattaforme e degli accostamenti, che rendono meno oneroso il carico della composizione di mashup, che richiede capacità di programmazione, conoscen- ze approfondite dei formati di input e output per l'implementazione manuale della mediazione dei dati nella composizione nale. La composizione manuale di pesanti

2.6.1. Annotazioni di compatibilità e similarità

standard si contrappone ai linguaggi più semplici nelle soluzioni di tipo RESTful. Ciononostante, costruendo applicazioni mashup, incominciando da un'abbondan- za di diversi servizi disponibili nel Web, c'è bisogno anche di un supporto per trovare il giusto servizio prima di comporli. La migliore delle nostre conoscenze è un'estensiva spiegazione di come le tecniche avanzate per la scoperta del servi- zio semantico, che non è ancora stato scoperto, possano aiutare il disegnatore di mashup.

In una piattaforma online di mashup che rende disponibili la composizione, il riuso, la divisione e la annotazione di Web APls, è presentato anche il servizio dei mashup [42]. Le diverse caratteristiche della piattaforma risiedono nel linguaggio dello specico dominio, che è introdotto per rappresentare esplicitamente le at- tività che un disegnatore di mashup deve compiere, così come la mediazione dei dati e la mediazione del protocollo di servizio.

I principali lavori descritti in [42], si concentrano sugli algoritmi e sulle solu- zioni di ottimizzazione per un eciente servizio di composizione mashup. Viene proposto un servizio visivo del linguaggio mashup, per comporre ed eseguire le queries nell'ambito dei servizi di ricerca. I sevizi di ricerca sono deniti come se- vizi che rendono disponibili dei dati classicati. La composizione del servizio è costruita come un grafo aciclico direzionato, i cui nodi sono invocazioni del servi- zio e i cui archi sono connessioni tra i servizi. Il lavoro si focalizza sulla denizione di un piano di accesso sico al servizio per l'esecuzione della composizione del servizio Web. Viene proposto anche un algoritmo di evoluzione, che automatica- mente compone dierenti servizi di informazione Web basata su descrizioni del servizio semantico. L'informazione che può essere recuperata dal servizio di invo- cazione Web è automaticamente trasformata in una rappresentazione semantica e presentata come un mashup per gli utenti del sistema. La retrocessione di quella soluzione è l'involuzione del disegnatore di mashup nel processo di composizione, che è essenzialmente automatico e non supporta la riparazione del servizio e la fase di selezione, non assicurando così il migliore adempimento delle intenzioni del disegnatore. Vi sono inoltre un agile modello sia per le applicazioni Web guidate dai dati, che è studiato per la composizione Web del workow, e un linguaggio per questa specica, chiamata BITE. BITE [42] combina le principali composizio- ni del processo SOA con le richieste architetturali di tipo REST e le funzionalità