Modulo3 Linguaggi: OWL UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re Anno Accademico
2 Agenda Introduzione a OWL Classi OWL Proprietà OWL
3 Linguaggi I linguaggi forniscono meccanismi base che possono essere usati per rappresentare la semantica delle informazioni necessarie per il Semantic Web XML RDF RDF(S) OWL OWL OWL 1.1 OWL 1.1 XML RDF RDF(S) OWL ANNOTAZIONE INTEGRAZIONE INFERENZA
4 Origini di OWL DAML DAML+OIL DAML = DARPA Agent Markup Language OIL = Ontology Inference Layer OIL OWL RDF Tutti influenzati da RDF
5 OWL – principi fondamentali OWL aggiunge ulteriori vocaboli per descrivere proprietà e classi Relazioni tra classi (es. disjointness) Cardinalità (es. "exactly one") Uguaglianza Tipi di proprietà più ricchi Caratteristiche delle proprietà (es. symmetry) Elencazione delle classi
6 Non tutti hanno bisogno di tutta lespressività di OWL OWL Full OWL DL OWL Lite Le tre facce di OWL
7 OWL Sottolinguaggi OWL Little supporta gli utenti per necessità di classificazione e gerarchia attraverso vincoli semplici Attraverso semplici PATH è possibile migrare da thesauri e tassonomie a OWL Little E possibile esprimere 0 e 1 come valori di cardinalità OWL DL supporta gli utente che vogliono massima espressività mentre conservano completezza (tutte le conclusioni sono garantite essere computabili) e decidibilità (tutte le computazioni finiscono in un tempo finito) computazionale Sono definite corrispondenze specifiche con la description logics – campo di ricerca che ha studiato la formulazione formale di OWL OWL Full è inteso per gli utenti che vogliono massima espressività e al tempo stesso la libertà sintattica di RDF senza garanzie computazionali Non tutti i reasoning sono in grado di processare lespressività di OWL Full
8 Relazioni tra lespressività Unontologia valida in OWL Lite è unontologia legale in OWL DL Unontologia valida in OWL DL è unontologia legale in OWL Full Ogni conclusione valida in OWL Lite è una conclusione valida anche in OWL DL Ogni conclusione valida in OWL DL è una conclusione valida anche in OWL Full
9 OWL namespace The built-in vocabulary for OWL all comes from the OWL namespace
10 OWL Classes Le classi forniscono un meccanismo astratto per raggruppare risorse con simili caratteristiche Ogni classe è implicitamente sottoclassse di owl:Think Class description Semplici riferimenti alle classi Class axioms Introduce ulteriori componenti che sono necessari o sufficienti per caratterizzare la classe
11 Tipi di class description OWL distinguishes six types of class descriptions: a class identifier (a URI reference) Descrive la classe introducendo un nome an exhaustive enumeration of individuals that together form the instances of a classenumeration a property restrictionproperty restriction the intersection of two or more class descriptionsintersection the union of two or more class descriptionsunion the complement of a class descriptioncomplement Descrivono la classe introducendo vincoli sulla sua estenzione
12 Class identifier owl:Class è una sottoclasse di rdfs:Class "ex:Human rdf:type owl:Class." è la tripla che esprime
13 Class enumerate Fa riferimento ad una classe che contiene esattamente gli individui elencati La classe "enumeration" è definita utilizzando la proprietà owl:oneOf. I valori associati alla classe deve essere una lista di individui che sono istanze della classe Questo permette alla classe di descrivere attraverso una enumerazione esaustiva le sue istanze.
14 Property restriction Classe di individui che soddisfano una particolare restrizione sulla proprietà Una restrizione di proprietà è un tipo speciale di descrittore di classe, una classe anonima di tutti gli individui che soddisfano la restrizione (precisely one value or cardinality constraint, see below) OWL distingue due tipi di restrizioni Vincoli sul valore che introduce vincoli sulle proprietà quando vengono applicate a particolari descrittori di classe Si può far riferimento a quei individui il cui valore della proprietà adjacentTo dovrebbero essere alcune Regioni, ed usare questa come una classe assioma per la regione stessa ATT: è differente da rdfs:range che deve esse applicata a tutte le situazioni in cui la proprietà è usata Un vincolo di cardinalità introduce vincoli sul numero di valori che la proprietà può assumere nel contesto di una particolare descrizione di una classe Si può introdurre una relazione hasPlayer per una squadra di calcio ed una squadra di baseball Intersection, union and complement Può essere riferito sia a datatype property che a object property
15 Value Constraints owl:allValuesFrom Owl:someValuesFrom Owl:hasValue
16 Wine and Winery RelationImplications allValuesFromFor all wines, if they have makers, all the makers are wineries. someValuesFrom For all wines, they have at least one maker that is a winery.
17 Cardinality constraints owl:maxCardinality 2 owl:minCardinality 2
18 Intersection Descrive la classe la cui estensione vincola precisamente gli individui che sono membri dellestensione di tutte le classi introdotte nella lista
19 union Descrive la classe la cui estensione vincola precisamente gli individui che sono membri dellestensione di almeno una delle classi introdotte nella lista
20 Complement Descrive la classe la cui estensione vincola precisamente gli individui che non sono membri delle classi introdotte nella lista The expression "not meat" could be written as
21 Class axioms OWL contiene tre costrutti del linguaggio per combinare la class descriptions in class axioms Fa riferimento ad elementi addizionali che sono necessari e/o sufficienti per descrivere la classe rdfs:subClassOfrdfs:subClassOf allows one to say that the class extension of a class description is a subset of the class extension of another class description owl:equivalentClassowl:equivalentClass allows one to say that a class description has exactly the same class extension as another class description. owl:disjointWithowl:disjointWith allows one to say that the class extension of a class description has no members in common with the class extension of another class description
22 Properties OWL distinguishes between two main categories of properties that an ontology builder may want to define Object properties link individuals to individuals Datatype properties link individuals to data values Property axioms define additional characteristics of properties OWL supports the following constructs for property axioms RDF Schema constructs: rdfs:subPropertyOf, rdfs:domain and rdfs:range relations to other properties: owl:equivalentProperty and owl:inverseOf global cardinality constraints: owl:FunctionalProperty and owl:InverseFunctionalProperty logical property characteristics: owl:SymmetricProperty and owl:TransitiveProperty
23 RDF Schema constructs rdfs:subPropertyOf axiom defines that the property is a subproperty of some other property Formally this means that if P1 is a subproperty of P2, then the property extension of P1 (a set of pairs) should be a subset of the property extension of P2 (also a set of pairs) rdfs:domain is a built-in property that links a property (some instance of the class rdf:Property) to a class description An rdfs:domain axiom asserts that the subjects of such property statements must belong to the class extension of the indicated class description rdfs:range is a built-in property that links a property (some instance of the class rdf:Property) to to either a class description or a data range An rdfs:range axiom asserts that the values of this property must belong to the class extension of the class description or to data values in the specified data range.
24 subPropertyOf - esempio
25 rdfs:domain - esempio
26 Relations to other properties owl:equivalentProperty construct can be used to state that two properties have the same property extension owl:equivalentProperty owl:inverseOf construct can be used to define such an inverse relation between properties owl:inverseOf
27 Global cardinality constraints A functional property is a property that can have only one (unique) value y for each instance x There cannot be two distinct values y1 and y2 such that the pairs (x,y1) and (x,y2) are both instances of this property If a property is declared to be inverse-functional, then the object of a property statement uniquely determines the subject (some individual) If we state that P is an owl:InverseFunctionalProperty, then this asserts that a value y can only be the value of P for a single instance x There cannot be two distinct instances x1 and x2 such that both pairs (x1,y) and (x2,y) are instances of P.
28 Logical property characteristics owl:TransitiveProperty When one defines a property P to be a transitive property, this means that if a pair (x,y) is an instance of P, and the pair (y,z) is also instance of P, then we can infer the the pair (x,z) is also an instance of P owl:symmentricalProperty A symmetric property is a property for which holds that if the pair (x,y) is an instance of P, then the pair (y,x) is also an instance of P
29 Individual Individuals are defined with individual axioms (also called "facts") We discuss two types of facts Facts about class membership and property values of individuals Facts about individual identity OWL provides three constructs for stating facts about the identity of individuals owl:sameAs is used to state that two URI references refer to the same individual owl:differentFrom is used to state that two URI references refer to different individuals owl:AllDifferent provides an idiom for stating that a list of individuals are all different
30 Individual istanziazione Facts about class membership and property values of individuals
31 Owl:sameAs - esempio
32 owl:AllDifferent - esempio
33 owl:differentFrom - esempio
34 Datatype Focusing on the notion of a data range for specifying a range of data values OWL allows three types of data range specifications A RDF datatype specificationRDF datatype The RDFS class rdfs:Literalrdfs:Literal An enumerated datatype, using the owl:oneOf construct (permette di mettere in alternativa i datatype RDF)enumerated datatype
35 Per approfondimenti OWL Web Ontology Language Reference W3C Recommendation 10 February
36 OWL 1.1 OWL 1.1 extends the W3C OWL Web Ontology Language with a small but useful set of features that have been requested by users, for which effective reasoning algorithms are now available, and that OWL tool developers are willing to support The new features include extra syntactic sugar additional property and qualified cardinality constructors extended datatype support simple metamodelling extended annotations OWL 1.1 Web Ontology Language Structural Specification and Functional-Style Syntax Editor's Draft of 23 May 2007 This version:
37 Ci sono domande?