Creazione di una ontologia con Protégé.



Documenti analoghi
Database 1 biblioteca universitaria. Testo del quesito

Guida all uso di Java Diagrammi ER

Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti

Esercizio data base "Biblioteca"

Lezioni di Laboratorio sui Data Base

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

GERARCHIE RICORSIVE - SQL SERVER 2008

Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti)

Come modificare la propria Home Page e gli elementi correlati

Gestione Turni. Introduzione

Libero Emergency PC. Sommario

Esercizio sui data base "Gestione conti correnti"

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Corso di Sistemi di Elaborazione delle informazioni

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Manuale d uso Lexun Area Riservata proprietà di logos engineering - Sistema Qualità certificato ISO 9001 Det Norske Veritas Italia

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

SOMMARIO... 3 INTRODUZIONE...

Dispensa DB Mercato del Lavoro

Guida operativa. My Legal Corner. BestSoft SOFTWARE IN SANITÀ

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE UTENTE Fiscali Free

CERTIFICATI DIGITALI. Manuale Utente

Database 3 affitto veicoli. Testo del quesito

Esercitazione di Basi di Dati

On-line Corsi d Informatica sul web

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

Classificazione: DI PUBBLICO DOMINIO. LOMBARDIA INFORMATICA S.p.A.

Corso Drupal «Project management»

Il personale docente e la segreteria didattica per effettuare la gestione degli scrutini dovranno eseguire semplici operazioni.

NUOVO SISTEMA AGGIORNAMENTO DA FYO

MANUALE PER CONSULTARE LA RASSEGNA STAMPA VIA WEB

Guida per la registrazione alla piattaforma di Gestione dei Corsi per il Consulente Tecnico Telematico

Il BACKUP è disponibile in

Argo DidUp. Vi troverete nel portale Argo da dove potete lanciare l applicativo <Argo DidUp>

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

Integrazione InfiniteCRM - MailUp

SERVIZIO DI MESSAGGISTICA ALL UTENTE. Manuale per l operatore

MAUALE PIATTAFORMA MOODLE

Punto Print Il programma per stampare. Documentazione Tecnica

FPf per Windows 3.1. Guida all uso

la formazione finanziaria è il miglior investimento per il tuo domani

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/ fax: 041/

SW Legge 28/98 Sommario

Amministrazione Trasparente

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

Manuale Utente Albo Pretorio GA

Guida Rapida all uso del License Manager di ROCKEY4Smart (V )

Manuale per l auto registrazione e l invio della documentazione. Qualifica Fornitori QUALIFICA FORNITORI AUTO REGISTRAZIONE INVIO DELLA DOCUMENTAZIONE

Figura 54. Visualizza anteprima nel browser

Gestione Risorse Umane Web

Procedura Recupero Carenze per Alunni con Giudizio Sospeso e Statistica Recupero Carenze

MODULO 5 ACCESS Basi di dati. Lezione 4

Guida all utilizzo della Posta Elettronica Certificata

PORTALE CLIENTI Manuale utente

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal

Manuale Utente MyFastPage

APPENDICE LINEE GUIDA PER SPERIMENTAZIONE WEB

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

L amministratore di dominio

GaraviniSoftware srl MANUALE IVA. Aggiungere un Codice IVA

Guida. Macchina Scratch

4. Fondamenti per la produttività informatica

Si apre la seguente pagina!

CREAZIONE E MODIFICA DELLA PAGINA WEB DELLA BIBLIOTECA Andare nel modulo Biblioteche in alto a sinistra. Digitare nel campo Nome Biblioteca la

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

User Tools: DataBase Manager

Registratori di Cassa

MANUALE ESSE3 Gestione Registro delle lezioni

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

LA GESTIONE DEI VEICOLI AZIENDALI CON MICROSOFT OUTLOOK

GUIDA PER IL DOCENTE ALL UTILIZZO DELL APPLICATIVO ONLINE E PORTFOLIO

Università degli Studi di Messina

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

istruzioni per l uso

Eliminare i contatti duplicati in MS Outlook

Guida al CRM INGENIA Group

PROCEDURE PER LA GESTIONE DEL SOFTWARE E DEI DATI. Installazione, Archiviazione e Ripristino dati per il software Iperthermo

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Tutorial per il profilo utente REDATTORE

Moduli (schede compilabili) in Word Esempio: scheda di alimentazione per un degente

OSSIF WEB. Manuale query builder

Appunti sulle basi di dati. Cos è una base base di dati? Introduzione. D. Gubiani. 19 Luglio 2005

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Progetto di Basi di Dati e Multimidia Laboratorio Struttura dell applicazione web

Mac Application Manager 1.3 (SOLO PER TIGER)

Esercitazione di Basi di Dati

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011

17 Gli scenari. cartelle di lavoro; unendoli poi in un

CREAZIONE E INVIO OFFERTA DI APPALTO DA FORNITORE

Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo

NAVIGAZIONE DEL SI-ERC: UTENTE PROGETTISTA

ESSE3 ESSE3 GUIDA ALLA COMPILAZIONE DEL PIANO DI STUDI ON-LINE. Autori: Distribuito a: Modifiche rispetto alle revisioni precedenti:

Transcript:

Creazione di una ontologia con Protégé. Si è scelto di lavorare con Protégé 3.4, piuttosto che con l ultima release (4.0), in quanto questa non permette ancora l interazione con il linguaggio SPARQL, che viene usato per interrogare una ontologia (in OWL). Facciamo riferimento all ontologia progettata in precedenza che qui sotto riportiamo: Lanciare Protégé e selezionare New Project 1

Selezionare OWL/RDF Files e Next Scrivere http://www.sdf.it/master.owl1 (il nome assegnato all ontologia e master.owl), così come indicato, e poi click su Next: 1 Leggere paragrafo NAMESPACES, in fondo al capitolo. 2

Poi selezionare OWL DL e click su Next Confermare Logic Wiev e quindi click su Finish 3

Viene visualizzata la seguente pagina, che rappresenta l ambiente di lavoro di Protégé. Selezionando via via i tab evidenziati è possibile inserire e gestire classi, relazioni e individui. Creare classi Selezionare OWL Classes; quindi: Tutte le classi sono considerate sottoclassi di Thing. Per creare le altre classi (CorsiLaurea, Materie, Persone), ripetere il procedimento appena visto. 4

Dichiarare le 4 classi, sottoclassi di Thing, disgiunte fra loro; Owl, se non esplicitamente dichiarato, assume che un elemento di una classe possa appartenere a più classi contemporaneamente. 1. Selezionare una classe qualunque 2. click su Add all siblings.. 3. click su Mutually. 4. click su ok Vengono visualizzate le classi disgiunte con la classe selezionata (Facoltà); selezionando un altra classe compariranno le altre. Per aggiungere le sottoclassi Docenti, Amministrativi, Studenti, selezionare la classe Persona e aggiungere le sottoclassi con analogo procedimento a quello adottato in precedenza per aggiungere classi che sono sottoclassi di Thing. 5

Creare Relazioni In OWL le relazioni sono proprietà. OWL distingue due tipi di proprietà: object property: sono le relazioni fra individui appartenenti alle classi (genericamente fra classi); datatype property: sono le relazioni che collegano gli attributi degli individui ai tipi ammessi. Creare object property (relazioni). Selezionare Properties; quindi: Ripetere il procedimento per tutte le altre relazioni. 6

Dobbiamo ora associare le classi alle relazioni create. Dobbiamo cioè stabilire, ad esempio, che la relazione hacorsilaurea si applica agli individui della classe Facoltà e si riferisce agli individui della classe CorsiLaurea. La classe, ai cui individui si applica la relazione, si chiama dominio (domain), la classe, ai cui individui si riferisce la relazione, si chiama condominio (range). Operare nel seguente modo per determinare il dominio: Comparirà Facoltà in Domain; operare nel seguente modo per selezionare il condominio (Range): In Range comparirà CorsiLaurea Allo stesso modo occorre operare per tutte le altre relazioni. 7

Each object property may have a corresponding inverse property. If some property links individual a to individual b then its inverse property will link individual b to individual a. For example, Figure 4.16 shows the property hasparent and its inverse property haschild if Matthew hasparent Jean, then because of the inverse property we can infer that Jean haschild Matthew. 2 Per creare relazioni inverse operare nel seguente modo: Allo stesso modo per le altre relazioni. 2 A Practical Guide To Building OWL Ontologies Using Prot eg e 4 and CO-ODE Tools, Edition 1.1, pag. 28 Matthew Horridge, Simon Jupp, Georgina Moulton, Alan Rector, Robert Stevens, Chris Wroe, The University Of Manchester, http://www.co-ode.org/resources/tutorials/protegeowltutorial.pdf 8

Creare individui La struttura dell ontologia è creata3, ora è possibile popolarla con individui. Per fare ciò occorre stabilire come vogliamo strutturare i vari individui nelle diverse classi (ricordare la struttura delle relazioni nel modello relazionale di una base di dati). In pratica dobbiamo stabilire quali sono gli attributi degli individui. Dobbiamo operare attraverso diverse fasi: 1. creare un elenco di attributi, 2. associare gli attributi agli individui, 3. inserire gli individui nell ontologia, Creare elenco attributi e associare gli atrributi agli individui. Creare gli attributi significa creare datatype properties. Per poter creare un elenco dobbiamo prima decidere quale sia la struttura degli individui delle varie classi: Facoltà: cod, nome, url CorsiLaurea: cod, nome, url Materie: cod, nome, url Persone: cod, cognome, nome, media, url (le sottoclassi Docenti, Amministrativi, Studenti ereditano la struttura di Persone; la sottoclasse Studenti oltre alle datatype properties ereditate avrà anche media). Quindi le datatype properties che dobbiamo creare sono: cod, cognome, nome, media, url. Procedere nel seguente modo: Dopo le fasi 1, 2, 3 premere invio (enter) e procedere con 4, 5, 6. Quindi: 3 E possibile perfezionare l ontologia; per approfondimenti leggere il testo citato in nota 3 e Ontologie OWL: Teoria e Pratica - Prima puntata e Seconda puntata, http://www.capuano.biz/papers/cp_ontologie_1.pdf, http://www.capuano.biz/papers/cp_ontologie_2.pdf, 9

Abbiamo creato un attributo (cod), abbiamo stabilito il range ed abbiamo associato l attributo agli individui delle classi Persone, Facoltà, CorsiLaurea, Materie. Cognome dovrà essere associato solo a Persone, il range è string; nome e url dovranno essere associati a tutte le classi, il range è string; media dovrà essere associato solo a Studenti, il range è int. 10

Inserire gli individui nell ontologia Selezionare il tab Individuals, quindi Notare che, automaticamente, sul lato destro vengono visualizzati gli attributi e le relazioni (in questo caso solo hacorsilaurea) associati agli individui della classe di appartenenza (Facoltà). E possibile valorizzare gli attributi (click sul simbolo + ); Per inserire i corsi di laurea da associare alla Facoltà occorre ciccare sulla seconda iconcina sopra al relativo campo; in questo caso l elenco che viene visualizzato è vuoto in quanto non sono ancora stati inseriti corsi di laurea. Notare che il nome associato all individuo (in Asserted Instances) appena inserito (ScienzeDellaFormazione) è completamente libero; è possibile inserire qualsiasi nome, è comunque preferibile inserirlo tenendo presente il contenuto (come abbiamo fatto in questo caso) Il criterio consigliato da seguire è il seguente: 1. creare gli individui e valorizzare gli attributi; 2. per quanto riguarda le relazioni valorizzare quelle possibili, per poi tornare a completare le altre appena possibile. Ad esempio, se provassimo ad inserire, in questo momento, un individuo della classe Studenti avremmo la situazione illustrata nella seguente immagine. In essa non è possibile valorizzare le relazioni evidenziate in quanto non abbiamo ancora inserito dei corsi di laurea e delle materie. Notare che, automaticamente, vengono visualizzati gli attributi associati agli individui della classe e le relazioni che hanno per dominio la classe di appartenenza dell individuo che si sta valorizzando. In particolare si noti l attributo media che viene visualizzato in questo caso e non verrebbe visualizzato qualora si stesse valorizzando un individuo della classe Docenti o uno della classe Amministrativi. 11

12

Dopo aver caricato diversi individui nelle varie classi è possibile interrogare l ontologia. Un linguaggio per interrogare una ontologia è SPARQL; il linguaggio permette l interrogazione di ontologie espresse in RDFS e OWL (ricordiamo che owl si basa su rdfs). Per poter utilizzare SPARQL dall interno di Protégé occorre: 1. selezionare Reasoning nel menù principale, 2. quindi Open SPARQL Query panel. Si apre in fondo alla pagina un pannello nel quale è possibile impostare ed eseguire queries scritte in SPARQL. SPARQL è un linguaggio abbastanza ampio ed articolato, in questo contesto lo utilizziamo impostando delle ricerche su triple <classe> <relazione> <classe> (dominio, relazione, condominio) Facciamo degli esempi per capire come impostare delle queries. SELECT?x WHERE {?x :insegnamateria :Informatica1} Vengono selezionate tutte le triple inserite nel codice owl alla ricerca di quelle che hanno come relazione InsegnaMateria, come condominio Informatica1; queste sono relazioni fra Docenti e Materie. In pratica si ricercano tutti gli individui di Materie con denominazione Informatica1 e, per ciascuna tripla individuata, viene associato ad x il valore dell individuo che è in relazione con Informatica1 attraverso insegnamateria. SELECT?x WHERE {?x :insegnamateria :Informatica1.?x :operanelcorsolaurea :FormazioneGestioneRisorseUmane. } restituisce chi insegna Informatica1 nel Corso di Laurea Formazione e Gestione delle Risorse Umane; Notare la possibilità di inserire più terne; in questo caso ciascuna deve terminare con un punto.?x deve soddisfare e la prima (?X :insegnamateria :Informatica1.) e la seconda condizione (?x :operanelcorsolaurea :FormazioneGestioneRisorseUmane.). SELECT?x WHERE {?x :hacorsolaurea :ScienzeDellaFormazionePrimaria} Restituisce la Facoltà che ha il Corso di Laurea Scienze Della Formazione Primaria (individuo chiamato ScienzeDellaFormazionePrimaria). SELECT?x?y WHERE {?x :hacorsolaurea?y.?y :hapersona :AlessandriGiuseppe} 13

Restituisce il nome della Facoltà (?x) ed il nome del Corso di Laurea (?y) dove lavora Alessandri Giuseppe. SELECT?x?y?z WHERE {?x :hacorsolaurea?y.?y :hapersona?z.?z :insegnamateria :Informatica1} Restituisce la Facoltà (?x) e il Corso di Laurea (?y) dove esiste un insegnante che insegna Informatica1 e come si chiama La struttura di una query in SPARQL è la seguente: SELECT elenco di ciò che si vuole ottenere FROM quale file OWL utilizziamo per la ricerca WHERE condizioni che ci permettono di rintracciare ciò che stiamo cercando Negli esempi visti appena qui sopra, non abbiamo inserito la clausola FROM in quanto, automaticamente, si fa riferimento alla ontologia che si sta gestendo con Protégé Prima di uscire da Protégé ricordarsi di salvare il progetto: File Save project Assegnare un nome al progetto di Protégé (ha estensione.pprj e non è il file owl); automaticamente viene creato anche il file.owl. E possibile selezionare la cartella dove memorizzare: cliccare sopra al campo Project, sulla destra, sul quadratino nero con un + sopra. Quando, in seguito, si vorrà modificare l ontologia si aprirà il file con estensione.owl. 14

NAMESPACES This section describes namespaces, which are a general naming mechanism and are usually used to facilitate ontology importing. It then describes how to import ontologies in general. 7.2.1 Namespaces Every ontology has its own namespace this is known as the default namespace. An ontology may also use other namespaces. A namespace is a string of characters that prefixes the class, property and individual identifiers in an ontology. By maintaining different namespaces for different ontologies it is possible for one ontology to reference classes, properties and individuals in another ontology in an unambiguous manner and without causing name clashes. For example, all OWL ontologies (including the Pizza ontology developed in this tutorial) reference the class owl:thing. This class resides in the OWL vocabulary ontology that has the namespace http://www.w3.org/2002/07/owl#. In order to ensure that namespaces are unique they manifest themselves as Unique Resource Identifiers 100 (URIs)1 ending in either / or #. For example, the default namespace in Prot eg eowl (the names-pace that is assigned to newly created ontologies in Prot eg e-owl ) is http://a.com/ontology#. This means that all identifiers for classes, properties and individuals that are created in Prot eg e-owl (by de-fault) are prefixed with http://a.com/ontology#. For example, the full name for the class PizzaTopping is http://a.com/ontology#pizzatopping. The full name for the classmargheritapizza is http://a.com/ontology#margheritapizza Fortunately, Prot eg e-owl hides these namespace prefixes which means that we don t have to type in these long winded names every time we want to use a class, property or individual identifier. Namespaces help to avoid name clashes when one ontology references classes, properties and individu-als in another ontology. For example, suppose an ontology about aircraft, AircraftOntology has a class named Wing, which describes the wing of an aeroplane. An ontology about birds, BirdOntology also has a class named Wing, which describes the wing of a bird. The namespace for the AircraftOntology is http://www.ontologies.com/aircraft#. The namespace for the BirdOntology is http://www.birds.com/ontologies/birdontology# Evidently, the Wing class in the AircraftOntology is not the same as the Wing class in the BirdOntology. Now suppose that the AircraftOntology imports the BirdOntology. Because of the namespace mechanism, the full name for the Wing class in the AircraftOntology is http://www.ontologies.com/ aircraft#wing. The full name for the Wing class in the BirdOntology is http://www.birds.com/ontologies/birdontology#wing. Hence, when the AircraftOntology refers to classes in the BirdOntology no name clash will occur. Note that neither of the above namespace URIs necessarily have to be URLs i.e. they don t necessarily have to have a physical location (on the web) URIs are used because they ensure Uniqueness. In order to make referencing classes, properties and individuals more manageable when using multiple namespaces, namespace prefixes are used. A namespace prefix is a short string, usually a sequence of around two or three characters that represents a full namespace. For example, we could use ac to represent the above aircraft ontology namespace http://www.ontologies.com/aircraft# and the prefix bird to represent the bird ontology namespace http://www.birds.com/ontologies/birdontology#. When we now use identifiers such as class names, we prefix the identifier with the namespace prefix and a colon. For example ac:wing or bird:wing. For a given ontology, the default namespace is the namespace for that ontology in Prot eg eowl the default namespace corresponds to the namespace of the ontology that is being edited. When using identifiers that belong to the default namespace (the ontology being edited) a 15

namespace prefix is not used classes, properties and individuals are simply referenced using their local name. However, for imported ontologies we must use a namespace prefix to refer to classes, properties and individuals in the imported ontology. For example, suppose we were editing the aircraft ontology, which has a namespace of http://www.ontologies.com/aircraft# and we wanted to refer to classes in the bird ontology with the namespace of http://www.birds.com/ontologies/birdontology# and the namespace prefix of bird. When we refer to classes without a namespace prefix, for example Wing, we are talking about classes in the aircraft ontology. When we refer to classes with a namespace prefix bird, for example bird:wing, we are talking about classes in the bird ontology. 16