Enrico Fagnoni <e.fagnoni@e-artspace.com> BOTK IN A NUTSHELL 20/01/2011 1
Business Ontology ToolKit Business Ontology Toolkit (BOTK) è un insieme estensibile di strumenti per realizzare applicazioni basate sull paradigma del Semantic Web. BOTK è Open Source 2
Applicazioni di BOTK Con BOTK è possibile realizzare applicazioni specializzate per un particolare ambito di conoscenza. Ad esempio: la gestione di Servizi in un contesto ITIL, un PDMS (Product Data Management System), la gestione di un social network, di un dialogo uomo-macchina o macchina-macchina. BOTK porta la potenza del semantic web all interno di una intranet: aiuta ad organizzare le informazioni, integrando qualsiasi fonte dati. E in grado di organizzare e presentare le informazioni anche quando queste contengono dati incoerenti, duplicati errati, supportando un processo incrementale e distribuito di miglioramento del dato. BOTK nasce da un progetto di E-Artspace (www.eartspace.com), in accordo con le specifiche del Semantic Web rilasciate dal W3C (www.w3.org ) ed è rilasciato con licenza Open Source GPL3. 3
Screenshots 4
BOTK è in grado di comprendere il significato delle informazioni utilizzando le ontologie 5
Ontology Un'ontologia è una rappresentazione formale, condivisa ed esplicita di una concettualizzazione di un dominio di interesse. Ad esempio: l insieme dei Business Services e dei Business Process e dai concetti correlati nella definizione fornita da ITIL è definita dall ontologia ITSMO (http://ontology.it/itsmo) L offerta di prodotti e servizi è descritta dall ontologia GoodRelations (http://purl.org/goodrelations) Il social network è definito dall ontologia FOAF (Friend of a Friend) 6
Il core di BOTK Contiene e gestisce le ontologie che definiscono il vocabolario utilizzato per organizzare la conoscenza. Implementa un triple store capace di gestire alcuni milioni di statement RDF. Comprende un browser semantico facilmente personalizzabile che produce documenti navigabili partendo dai dati contenuti nella base della conoscenza. Comprende un motore di ricerca semantico configurabile e collegato al browser. Espone un end-point SPARQL+ per acceso alla base dati della conoscenza. 7
RESTfull Web Services REST è l acronimo di Representational Transfer State, ed è un paradigma per la realizzazione di applicazioni Web che permette la manipolazione delle risorse per mezzo dei metodi standard del protocollo HTTP. Tutte le funzioni di BOTK sono esportate come REST Web Services. I servizi sono raccolti in package facilmente componibili. L output dei servizi può essere in html, testo, xml, json, csv per una semplice integrazione con le applicazioni 8
HTML Xml Text excel 9
Il Browser Semantico(sui) È un servizio del BOTK per navigare interattivamente i dati contenuti in uno o più storage RDF; Nasce per dotare di una user interface omogenea le applicazioni basate sul paradigma del Semantic Web orientate al Business. È un potente strumento di reporting basato su un motore di ricerca semantico. È facilmente personalizzabile: gestisce viewer specializzati sulla tipologia di dato e supporta la navigazione a facets 20/01/2011 10
Come contribuire a BOTK Per tutti: contribuire al progetto open source (sviluppo, testing, traduzioni, evangelizzazione) Per le aziende: sviluppare una applicazione basata su BOTK (è possibile farsi aiutare da società certificate) modellare i dati aziendali usando RDF e le ontologie sponsorizzare lo sviluppo di BOTK attivando progetti pilota 11
Sviluppare una applicazione 1. Selezionare un dominio (es. IT Service Management) 2. Mappare la struttura dei dati su ontologie esistenti (es. ITSMO) 3. Se necessario,sviluppare una propria ontologia per arricchire le ontologie pubbliche con con concetti proprietari (es. caratteristiche di prodtotto) 4. Identificare le fonti dati (fogli excel, database, applicazioni, dati in XML, etc.) 5. Sviluppare in BOTK i servizi di traduzione delle fonti dati in RDF Opzionalmente: Sviluppare dei viewer e delle facet nel Semantic Browser per presentare i dati in forma personalizzata Personalizzare il look&feel del Semantic Browser Sviluppare servizi di integrazione con altriapplicativi Configurare il motore di ricerca semantico su specifiche esigenze Integrare fonti dati pubbliche (Semantic Web) 12
Links utili http://ontology.it/tools/botk/ home page del progetto http://www.occambee.com/ licenze commerciali applicazioni custom in ambito A.I. http://www.e-artspace.com/ Supporto e licenze commerciali Estensioni in ambito ITIL e PDMS Progetti congiunti e ricerca 13
BOTK e Semantic Web TEORIA E TERMINOLOGIA 14
Struttura delle informazioni Tutte le informazioni (dati e i metadati) sono rappresentate mediante triple o statement in accordo con lo standard RDF (Resource Description Framework) promosso dal W3C: Soggetto Predicato Oggetto soggetto, predicato e oggetto sono chiamate risorse e sono espresse o con litteral (es. 123 ) o con un URI (Uniform Resource Identifier) Gli URI solitamente sono composti da due parti, la prima parte è chiamata namespace, la seconda identifica univocamente la risorsa all interno del namespace: http://botk.mycompany.it/kdb/s_1.1.1 Namespace ID 15
Un insieme di triple è rappresentabile come un grafo orientato. Soggetto Predicato Oggetto Il significato (semantica) dei dati può essere essere formalmente descritto utilizzando grafi. I grafi possono essere combinati. 16
Conosco una persona il cui nome è Eric Miller, la cui mail è em@w3.org ed il cui titolo è Dr. 17
BOTK Facts Nel BOTK ogni documento che contiene dei dati è chiamato data source e viene associato ad un grafo. Le informazioni in esso contenute vengono trasformate in triple RDF. Le triple e il grafo di provenienza sono memorizzate in un triple store che rappresenta la base della conoscenza (KB). Nella base della conoscenza, oltre ai dati sono memorizzate anche tutte le informazioni relative al modello dei dati (metadati), anchesse sottoforma di triple e grafi RDF. La descrizione dello schema dei dati e delle loro relazioni (ovvero i metadati) vengono indicate con il termine ontologie. I dizionari dei termini utilizzati per descrivere le ontologie sono chiamati linguaggi ontologici. 18
BOTK Facts BOTK è indipendente dal linguaggio ontologico utilizzato per descrivere i metadati; sono supportati ad OWL (Ontology web Language), RDFS, SKOS ed in generale qualsiasi linguaggio con una rappresentazione RDF. La base della conoscenza può essere distribuita, l insieme delle informazioni disponibili (ontologie e datasource) disponibili in Internet prende il nome di Semantic Web. E possibile effettuare ricerche complesse su un insieme di grafi utilizzando il linguaggio standard SPARQL. SPARQL può essere utilizzato per interrogare un qualsiasi triple store che espone uno SPARQL End point. I dati di un grafo sono navigabili ipertestualmente; è anche possibile riaggregare i dati in modo dinamico (Facet) in funzione della tipologia dei dati presentati. 19
BOTK Facts Nel Semantic WEB ogni risporsa è identificata da un URI a cui può essere associata ad un tipo definito in una ontologia. SUI consente di visualizzare e navigare tutte le proprietà associate ad un URI presente nella base della conoscenza gestita. SUI supporta differenti modalità di visualizzazione degli URI attraverso i viewers. La forma e il tipo di dato dell URI determina la scelta del viewers da utilizzare. Al tipo dell'uri possono essere inoltre associate viste alternative selezionabili dall utente. Tali viste alternative prendono il nome di facets (sfacettature) e servono per fornire modalità dinamiche di aggregazione dei dati. Le facet possono essere viste anche come micro applicazioni web utilizzabili per creare reportistica. Da un punto di vista strettamente implementativo la differenza tra un facet e un viewer è molto sottile: un viewer è una facet richiamata automaticamente dal browser durante la visualizzazione di un URI 20/01/2011 20
e.fagnoni@e-artspace.com 21