1 / 35

OWL: Ontology Web Language

OWL: Ontology Web Language. Pierluigi D’Amadio a.a.2003/2004. OWL. Semantics. RDF(S). RDF. XML. Syntax. Web Semantico: una visione?. Estensione del WWW: Macchine capaci di processare e di “capire” il significato dei dati Linguaggi proposti dal W3C. Ontologie: definizioni a confronto.

kalani
Download Presentation

OWL: Ontology Web Language

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. OWL: Ontology Web Language Pierluigi D’Amadio a.a.2003/2004

  2. OWL Semantics RDF(S) RDF XML Syntax Web Semantico: una visione? • Estensione del WWW: • Macchine capaci di processare e di “capire” il significato dei dati • Linguaggi proposti dal W3C

  3. Ontologie: definizioni a confronto • “a systematic explanation of being” (Philosophy) • “… defines the basic terms and relations including the vocabulary of a topic area as well as the rules for combining terms and relations to define extensions to the vocabulary.” (Neches) • “… an explicit specification of a conceptualization.” (Gruber) • “An ontology is a formal and explicit specification of a shared conceptualization.” (Borst) • “… a logical theory which gives an explicit, partial account of a conceptualization.” (Guarino)

  4. XML • Vantaggi: • estendibilità del linguaggio: ciascuno ha la possibilità di scrivere un proprio schema • fornisce uno standard per rappresentare le informazioni tramite alberi etichettati • Svantaggi: • La semantica non è specificata formalmente

  5. RDF versus XML • In XML è importante l’ordine con cui sono fatte le asserzioni, in RDF no. • La semantica in RDF è specificata formalmente, in XML è immersa nelle etichette che si associano ai tag e nella sintassi del DTD. • La specifica formale di RDF è raggiungibile a: • http://www.w3.org/TR/REC-rdf-syntax/

  6. RDF: Modello • Soggetto: La risorsa che si vuole descrivere • Predicato: Una proprietà della risorsa • Oggetto: Il valore della proprietà • Una combinazione dei precedenti elementi è detta statement (o regola) emptiesInto River BodyOfWater Il valore della proprietà [Oggetto] Una proprietà della risorsa [Predicato] La risorsa che si vuole descrivere [Soggetto]

  7. RDF: Esempio RDF fornisce l’attributo ID per identificare la risorsa che viene descritta. 1 L’attributo ID vive nel namespace RDF. 2 <?xml version="1.0"?> <River rdf:ID="Yangtze" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.geodesy.org/river#"> <length>6300 kilometers</length> <startingLocation>western China's Qinghai-Tibet Plateau</startingLocation> <endingLocation>East China Sea</endingLocation> </River> L’identificatore "fragment” indica la fine del namespace. 3

  8. emptiesInto BodyOfWater River range domain RDF Schema • RDF Schema fornisce nozioni di modellazione per: • esprimere classi (Class) e le interrelazioni tra classi (subClassOf). • definire proprietà (Property,subPropertyOf) e associarle alle classi. • domain, range • definire le istanze (non necessariamente ground) con la proprietà type type River Yangtzee

  9. 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

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

  11. Definire Property in OWL • OWL usa rdfs:range, rdfs:domain, e rdfs:subPropertyOf. • OWL introduce due classi di Property: • owl:ObjectProperty è la classe di proprietà che hanno come valore un oggetto istanza di una classe (Resource2Resource) • owl:DatatypeProperty è la classe di proprietà che hanno come valore un dato di tipo semplice o strutturato (rdfs:Literal o XML Schema built-in datatype)

  12. Gerarchia delle property classes rdf:Property owl:InverseFunctionalProperty owl:DatatypeProperty owl:FunctionalProperty owl:ObjectProperty owl:TransitiveProperty owl:SymmetricProperty • FunctionalProperty e InverseFunctionalProperty possono essere usate per associare • Resources a Resources, oppure Resources a un RDF Schema Literal o a un XML(S) datatype. • InverseProperty è una proprietà di ObjectProperty

  13. Esempio: la tassonomia delle sorgenti d’acqua NaturallyOccurringWaterSource BodyOfWater Stream Brook River Ocean Tributary Lake Sea Rivulet

  14. Symmetric Properties type SymmetricProperty connectsTo Se un sorgente d’acqua A connectsTo una sorgente B, allora la sorgente B connectsTo A. NaturallyOccurringWaterSource Properties: connectsTo: NaturallyOccurringWaterSource <owl:ObjectProperty rdf:ID="connectsTo"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#SymmetricProperty"/> <rdfs:domain rdf:resource="#NaturallyOccurringWaterSource"/> <rdfs:range rdf:resource="#NaturallyOccurringWaterSource"/> </owl:ObjectProperty>

  15. Transitive Properties type TransitiveProperty containedIn Se A è containedIn B, B è containedIn C allora A è containedIn C. Properties: containedIn: BodyOfWater Sea <owl:ObjectProperty rdf:ID=“containedIn"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/> <rdfs:domain rdf:resource="#Sea"/> <rdfs:range rdf:resource="#BodyOfWater"/> </owl:ObjectProperty>

  16. Functional Properties type FunctionalProperty emptiesInto Per ogni istanza c’è al più un valore per la property Properties: emptiesInto: BodyOfWater River <owl:ObjectProperty rdf:ID=“containedIn"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:domain rdf:resource="#Sea"/> <rdfs:range rdf:resource="#BodyOfWater"/> </owl:ObjectProperty>

  17. Inverse Properties inverseOf emptiesInto feedsFrom Se una proprietà P1 associa la Resource1 alla Resource2, allora la Inverse property associa la Resource2 alla Resource1 Properties: emptiesInto: BodyOfWater Properties: feedsFrom: River River BodyOfWater <owl:ObjectProperty rdf:ID="feedsFrom"> <owl:inverseOf rdf:resource="#emptiesInto"/> <rdfs:domain rdf:resource="#BodyOfWater"/> <rdfs:range rdf:resource="#River"/> </owl:ObjectProperty

  18. Inverse Functional Properties Per un dato valore di range il dominio è unico Properties: emptiesInto: BodyOfWater Properties: feedsFrom: River River BodyOfWater (functional) <owl:ObjectProperty rdf:ID="feedsFrom"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/> <owl:inverseOf rdf:resource="#emptiesInto"/> <rdfs:domain rdf:resource="#BodyOfWater"/> <rdfs:range rdf:resource="#River"/> </owl:ObjectProperty>

  19. Global vs Local Flueve: a River emptiesInto Sea Properties: emptiesInto: BodyOfWater River • rdfs:range stabilisce una global restriction su emptiesInto, ossia, rdfs:range value si applica a River e a tutte le sottoclassi di River. • Nel contesto di Flueve, vogliamo restringere il range della property emptiesInto alla sola classe Sea, ossia vogliamo una local restrictionof emptiesInto. Flueve

  20. <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#emptiesInto"/> <owl:allValuesFrom rdf:resource="#Sea"/> </owl:Restriction> </rdfs:subClassOf> 2 anonymous class Specifica la risorsa usando owl:Restriction. Specifica che tutti i valori sono presi da Sea Due forme di rdfs:subClassOf <rdfs:subClassOf rdf:resource="#River"/> 1 Specifica la classe usando l’attributo rdf:resource.

  21. Restrizioni • Tutti i valori devono appartenere ad una data classe (allValuesFrom). • Al più un valore deve appartenere ad una certa classe (someValuesFrom). • La restrizione prescrive un valore specifico (hasValue). • La restrizione impone un vincolo sulla cardinalità delle occorrenze dell’attributo (cardinality,mincardinality,maxcardinality)

  22. rdfs:Class owl:Class Definire Classi in OWL • Le classi di OWL sono molto più espressive delle classi di RDF Schema classes. <rdfs:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/> </rdfs:Class> <owl:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/> </owl:Class> RDFS OWL

  23. Classi: Esempio River Properties: emptiesInto: BodyOfWater Flueve (French): “un fiume che sfocia nel mare". Flueve Rivìere (French): “un fiume che sfocia in un lago o in un altro fiume”. Rivìere

  24. intersectionOf <owl:Class rdf:ID="Flueve"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#River"/> <owl:Restriction> <owl:onProperty rdf:resource="#emptiesInto"/> <owl:allValuesFrom rdf:resource="#Sea"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> I membri di questa classe anonima sono istanze che hanno la proprietà emptiesInto in cui tutti i valori sono istanze di Sea. River Flueve

  25. L’ereditarietà multipla <owl:Class rdf:ID="Flueve"> <rdfs:subClassOf rdf:resource="#River"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#emptiesInto"/> <owl:allValuesFrom rdf:resource="#Sea"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> I membri di questa classe anonima sono istanze che hanno la proprietà emptiesInto in cui tutti i valori sono istanze di Sea. River Flueve Ci potrebbero essere dei Rivers che sfociano nel mare che non sono Flueves

  26. River Rivìere unionOf I membri di questa classe anonima sono istanze che hanno la proprietà emptiesInto in cui tutti i valori sono istanze di Sea. <owl:Class rdf:ID="Rivìere"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#River"/> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Restriction> <owl:onProperty rdf:resource="#emptiesInto"/> <owl:allValuesFrom rdf:resource="#Sea"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#emptiesInto"/> <owl:allValuesFrom rdf:resource="#River"/> </owl:Restriction> </owl:unionOf> </owl:Class> </owl:intersectionOf> </owl:Class> I membri di questa classe anonima sono istanze che hanno la proprietà emptiesInto in cui tutti i valori sono istanze di River.

  27. WaterSource ManMadeWaterSource complementOf NaturallyOccurringWaterSource Intersezione delle WaterSource e il complementOf ManMadeWaterSource. <owl:Class rdf:ID="NaturallyOccurringWaterSource"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#WaterSource"/> <owl:Class> <owl:complementOf rdf:resource="#ManMadeWaterSource"/> </owl:Class> </owl:intersectionOf> </owl:Class>

  28. oneOf: enumerare le istanze di una classe <owl:Class rdf:ID="Kyoto-Protected-River"> <rdfs:subClassOf rdf:resource="#River"/> <owl:oneOf rdf:parseType="Collection"> <geo:River rdf:about="http://www.china.org/geography/rivers#Yangtze"/> <geo:River rdf:about="http://www.us.org/rivers#Mississippi"/> <geo:River rdf:about="http://www.africa.org/rivers#Nile"/> <geo:River rdf:about="http://www.s-america.org/rivers#Amazon"/> … </owl:oneOf> </owl:Class> Qui enumeriamo i fiumi che sono protetti dal Trattato di Kyoto

  29. LakeOceanSea Ocean Lake Sea Vogliamo affermare che BodyOfWater è equivalente a LakeOceanSea. equivalentClass <owl:Class rdf:ID="BodyOfWater"> <rdfs:subClassOf rdf:resource="#NaturallyOccurringWaterSource"/> <owl:equivalentClass rdf:resource="http://www.other.org#LakeOceanSea"/> </owl:Class>

  30. disjointWith <owl:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/> <owl:disjointWith rdf:resource="#Brook"/> <owl:disjointWith rdf:resource="#Rivulet"/> <owl:disjointWith rdf:resource="#Tributary"/> </owl:Class> • In questa definizione di River, un’istanza di River non può • essere un’istanza di Brook, Rivulet o Tributary. • La proprietà disjointWith è una proprietà simmetrica.

  31. rdfs:Class owl:Class owl:Restriction Sommario delle proprietà delle classi Properties: subClassOf: rdfs:Class domain: rdfs:Class range: rdfs:Class Properties: intersectionOf: rdf:List unionOf: rdf:List complementOf: owl:Class oneOf: rdf:List equivalentClass: owl:Class disjointWith: owl:Class Properties: onProperty: rdf:Property allValuesFrom: rdfs:Class hasValue: someValuesFrom: rdfs:Class cardinality: xsd:nonNegativeInteger minCardinality: xsd:nonNegativeInteger maxCardinality: xsd:nonNegativeInteger

  32. OWL statements • owl:sameIndividualAs • Applicabile a due istanze • Rinforza functionalProperty • owl:differentFrom • Applicabile a due istanze • Può portare a contraddizioni con functionalProperty • owl:AllDifferent • Applicabile a un set di istanze

  33. OWL Full OWL DL OWL Lite Le tre facce di OWL • Non tutti hanno bisogno di tutta l’espressività di OWL:

  34. 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.

  35. OWL Resources • OWL Guide fornisce una buona descrizione di OWL con molti esempi: • http://www.w3.org/TR/owl-guide/ • OWL Reference è una guida completa e dettagliata: • http://www.w3.org/TR/owl-ref/ • Per tutti gli altri documenti OWL, e informazioni su Semantic Web: • http://www.w3.org/2001/sw

More Related