1 / 53

Ontologie: RDF e OWL

Ontologie: RDF e OWL. UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re @unicam.it. Anno Accademico 2006-07. RDF: scopo. RDF: Scopo. Hanno bisogno di un linguaggio ontologico con cui definire il significato associato ai metadati Esempio parentela

lynton
Download Presentation

Ontologie: RDF e OWL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ontologie: RDF e OWL UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

  2. RDF: scopo Barbara Re

  3. RDF: Scopo • Hanno bisogno di un linguaggio ontologico con cui definire il significato associato ai metadati • Esempio parentela • Un uomo è un essere umano ed è un maschio • Una donna è un essere umano ed è femmina • Una madre è una donna che ha figli almeno un essere umano • Un genitore è un padre o una madre • Un nonno è un uomo cheha_figlioalmeno un genitore • I termini sottolineati sono parte del linguaggio utilizzato per definire madre, padre, … , nonno Barbara Re

  4. RDF: Scopo • Il linguaggio ontologico deve però essere • Formale • Perché automaticamente decodificabile • Il linguaggio italiano non è adatto • Esplicito • Perché bastato su strutture di immediata applicazione • un, è un, che, almeno un, o sono abbastanza espliciti • Perciò occorre definire esplicitamente e in modo formale il significato dei termini del linguaggio ontologico (un, è un, che, almeno un, o) Barbara Re

  5. RDF Vocabulary Description Language • RDFS: RDF Vocabulary Description Language o RDF Schema è un linguaggio ontologico adatto perché • È formale • Essendo costruito sopra RDF • È esplicito • Specifica un insieme predefinito di risorse e predicati RDF per • Definire classi e predicati • Controllare quali classi e predicati debbono essere utilizzati contemporaneamente Barbara Re

  6. Iniziamo con la prima ontologia • Creare una classe • ex:Artista rdf:type rdfs:Class • Creare sottoclasse • Ex:Pittore rdf:subClassOf ex:Artista • Ex:Scultore rdfs:subClassOf ex:Artista • Creare un esemplare (instance) • ex:Rodin rdf:type ex:scultore Barbara Re

  7. … ed ancora • Uso di “Multiple inheritance” • Ex:ArtistaMultidisciplinare rdfs:subClassOf ex:Pittore • Ex:ArtistaMultidisciplinare rdfs:subClassOf ex:Scultore • Uso di “Multiple instantiation” • Ex:Michelangelo rdf:type ex:Pittore • Ex:Michelangelo rdf:type ex:Scultore Barbara Re

  8. Proprietà • Creare una proprietà • ex:crea rdf:type rdf:Property • Usare una proprietà • ex:Rodin ex:crea ex:il bacio • Creare sotto proprietà • ex:dipinge rdfs:subPropertyOf ex:crea • ex:scolpisce rdfs:subPropertyOf ex:crea Barbara Re

  9. Gerarchie di proprietà • Controllare quali classi e predicati devono essere utilizzati contemporaneamente • ex:crea rdfs:domain ex:Artista • ex:crea rdfs:range ex:opera • ex:dipinge rdf:domain ex:pittore • ex:dipinge rdf:range ex:opera • ex:scolpisce rdfs:domain ex:scultore • ex:scolpisce rdfs:range ex:scultore Barbara Re

  10. Graficamente Barbara Re

  11. Ereditarietà!!! Barbara Re

  12. Barbara Re

  13. Una singola tripla Barbara Re

  14. Protegè

  15. La piattaforma Protégé • Esistono due modalità per creare le ontologie in Protégé: • Il Protégé-Frames editor, consente di costruire e popolare le ontologie che sono basate su “frame”, secondo il protocollo OKBC (Open Knowledge Base Connectivity protocol [www.ai.sri.com/~okbc/]). In questo modello, un’ontologia è costituita da un’insieme di classi organizzate in gerarchia, rappresentanti un insieme di concetti. Le classi sono caratterizzate da slot e relazioni • Il Protégé-OWL editor, consente di costruire ontologie per il Semantic Web, in particolare secondo il linguaggio OWL [www.w3.org/2004/OWL/]. Un’ontologia OWL può includere descrizioni di classi, di proprietà e le loro istanze. Barbara Re

  16. Main Barbara Re

  17. :THING • Tutte le classi individuate come capostipiti di una gerarchia, saranno figlie di :THING (sarà la classe più generale della nostra ontologia). • (Nota: la :SYSTEM_CLASS è utilizzata da Protégé per definire le strutture dei form) Barbara Re

  18. Creazione di Classi Barbara Re

  19. Role • All’interno di Protégé Classes Tab si può definire il “role” di una classe: • Astratta • Concreta • Una caratteristica importante è che Protégé supporta l’ereditarietà multipla. • Inoltre si possono definire gli slot, i vincoli sui valori degli slot, le relazioni fra le classi e le proprietà. Barbara Re

  20. Nel dettaglio Barbara Re

  21. Le proprietà di una classe • Definite le classi, si devono descrivere le proprietà di queste, che nell’ontologia saranno gli slot. • Gli slot possono rappresentare: • proprietà estrinseche (ad esempio il gusto di un vino) • proprietà intrinseche (ad esempio il nome) • parti di un oggetto, nel caso in cui questo sia strutturato (possono essere parti sia “astratte” sia “concrete”) • le relazioni con altre classi • Gli slot possono avere dei vincoli, ad esempio il tipo, il numero di valori (la cardinalità)… • In Protégé i tipi previsti sono: boolean, float, integer, string, symbol (consente di enumerare i valori possibili), class, instance, any; inoltre la definizione dell’attributo può essere obbligatoria o meno (settando in maniera opportuna il flag “required”) e uno slot può avere una cardinalità singola o multipla. Barbara Re

  22. Proprietà di una classe (1) Barbara Re

  23. Proprietà di una classe (2) Barbara Re

  24. Inverse slot • Il valore di uno slot può dipendere dal valore di un altro slot. • Ad esempio ad un Paziente si può fare un’Anamnesi e l’Anamnesi è relativa solo ad un paziente. • Il Sistema è in grado di assicurare la consistenza della conoscenza di base in tal senso. Ad esempio cancellando un’istanza di Anamnesi, • Protégé provvederà a rimuovere il corrispettivo riferimento dal paziente. Barbara Re

  25. Classi e slot Barbara Re

  26. Protegè slot Tab Nota: se dovete eliminare uno slot che avevate precedentemente creato, si consiglia vivamente di eliminarlo sempre da Protégé Slot Tab, in quanto se viene eliminato per mezzo dell’interfaccia Protégé Class Tab, lo slot non verrà definitivamente eliminato ma rimarrà presente nell’ontologia non legato a nessuna classe. Barbara Re

  27. Protégé Instance Tab • All’interno di Protégé Instance Tab si possono andare a definire le istanze per le varie classi. • Definire un’istanza significa • Scegliere una classe • Creare un’istanza della classe • Immettere i valori degli slot Barbara Re

  28. Istanze Barbara Re

  29. Plug in • Proprietà dei Plug-in: • Estendono le funzionalità di Protégé per adempiere a molteplici necessità (Visualizzazione, Importazione/Esportazione ad altri formati, etc…) • Ogni plug-in ha un suo tab associato attivabile attraverso il menù Project Configure • Ontoviz: • Plug-in per la visualizzazione grafica dell’ontologia • Si basa su GraphViz, il quale deve essere correttamente installato • Consente di specificare differenti livelli di dettaglio (Classi, Slots, SottoClassi, Istanze, Relazioni,etc…) • Consente di specificare uno o più soggetti centrali della visualizzazione (Se si desidera visualizzare tutta l’ontologia si può specificare semplicemente THING) Barbara Re

  30. Ontoviz Barbara Re

  31. OWL

  32. OWL: Sommario • Origini di OWL • Properties • Symmetric, Transitive, Functional, Inverse Functional • range, domain, subPropertyOf, inverseOf, equivalentProperty • Class • SubClassOf, intersectionOf, unionOf, complementOf, Enumeration, Equivalence, Disjoint • Statements sulle istanze ground • sameIndividualAs,DIfferentFrom,AllDifferent • 3 facce di Owl • Lite,DL,Full Barbara Re

  33. DAML OIL RDF Tutti influenzati da RDF DAML = DARPA Agent Markup Language OIL = Ontology Inference Layer DAML+OIL OWL Origini di OWL Barbara Re

  34. OWL Full OWL DL OWL Lite Le tre facce di OWL • Non tutti hanno bisogno di tutta l’espressività di OWL Barbara Re

  35. Confronti OWL FullOWL DLOWL Lite Tutto quello che è stato presentato è disponibile nella versione Full. E’ inoltre possibile miscelare le descrizioni OWL con RDF(S). Non è possibile usare owl:cardinality con TransitiveProperty. Non è possibile avere classi membro, ad esempio definire metaclassi. Non è possibile usare owl:minCardinality o owl:maxCardinality. I soli valori consentiti sono per owl:cardinality sono 0 e 1. Non sono disponibili owl:hasValue, owl:disjointWith, owl:one of, owl:complementOf, owl:unionOf. Barbara Re

  36. Protégé-OWL editor Bundled in Protégé 2.1 (Full): 1 2 3 Barbara Re

  37. OWL (in Protégé) Individuals (e.g., “FourSeasons”) Properties Classes (e.g., “Hotel”) Barbara Re

  38. Sydney SydneysOlympicBeach BondiBeach Individual • Represent objects in the domain • Specific things • Two names could represent the same “real-world” individual • Individuals are also known as instances. Individuals can be referred to as being ‘instances of classes’. Barbara Re

  39. Proprità • Properties are roughly equivalent to slots in Protege. • They are also known as roles in description logics and relations in UML and other object oriented notions • Sono relazioni binarie sugli individui Barbara Re

  40. Classi • The word concept is sometimes used in place of class • Classes are a concrete representation of concepts Barbara Re

  41. hasAccomodation hasAccomodation Destination Accomodation Sydney BestWestern FourSeasons Range and Domain • Property characteristics • Domain: “left side of relation” (Destination) • Range: “right side” (Accomodation) Barbara Re

  42. Cairns Canberra Coonabarabran Sydney Superclass Relationships • Classes can be organized in a hierarchy • Direct instances of subclass are also (indirect) instances of superclasses Barbara Re

  43. RetireeDestination City Cairns BondiBeach Sydney Class Relationships • Classes can overlap arbitrarily Barbara Re

  44. UrbanArea RuralArea City Destination Woomera CapeYork Sydney Sydney Class Disjointness • All classes could potentially overlap • In many cases we want to make sure they don’t share instances disjointWith Barbara Re

  45. (Create a new OWL project) Barbara Re

  46. (Create simple classes) Barbara Re

  47. (Create class hierarchy and set disjoints) Barbara Re

  48. (Create Contact class with datatype properties) Barbara Re

  49. (Edit details of datatype properties) Barbara Re

  50. (Create an object property hasContact) Barbara Re

More Related