1 / 52

OWL

OWL. Representing Information Using the Web Ontology Language. OWL DL, OWL Full, and Applications. Section 4. Section 4. Chapter 17: OWL DL OWL DL dialect, restrictions, remaining OWL constructs Chapter 18: OWL Full Elimination of all restrictions Chapter 19: OWL Dialect Selection

jillnewman
Télécharger la présentation

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. OWL Representing Information Using the Web Ontology Language

  2. OWL DL, OWL Full, and Applications Section 4

  3. Section 4 • Chapter 17: OWL DL • OWL DL dialect, restrictions, remaining OWL constructs • Chapter 18: OWL Full • Elimination of all restrictions • Chapter 19: OWL Dialect Selection • How to select the appropriate dialect • Chapter 20: Applications • Provides use case for Semantic Web enabled application

  4. OWL DL Chapter 17

  5. 17 OWL DL • OWL DL • DL: Description Logics • Information representation technique with well-defined semantics supporting inferencing • Contains all OWL vocabulary • Has fewer restrictions than OWL Lite • Restrictions ensure decidability • Chapter covers • OWL DL • Complex classes • Required property values • Enumerated data values

  6. 17.1 OWL DL Restrictions • Most important restriction: • Type separation (classes, properties, and individuals are disjoint)

  7. 17.1.1 OWL DL Vocabulary Additional Constructs in OWL DL Constructs less restricted in OWL DL

  8. 17.2 Complex Classes & Expressions • Complex classes • Composed of class expressions • Analogous to math expression • Constructed of atomic symbols and anonymous classes in allowed patterns • Describe membership criteria • Classes described by • Class names (URIrefs) • Enumerations • Property restrictions • Boolean combinations of class expressions

  9. 17.2.1 Enumerated Classes • An enumeration is a predefined set of individuals • owl:oneOf property • Exhaustively specifies member individuals known a priori in advance • Closed list; items cannot be added, so list should be very stable • Reasoners infer maxCardinality from count of members • Domain: instance of owl:Class; Range: instance of owl:List • Syntax • <owl:Classrdf:ID="className"> <owl:oneOfrdf:parseType="Collection"> <classURIrefrdf:about="individualURIref"/> </owl:oneOf></owl:Class> • Example • <owl:Classrdf:ID="TrafficLightColors"> <owl:oneOfrdf:parseType="Collection"> <traffic:LightColorrdf:about="#Red"/> <traffic:LightColorrdf:about="#Yellow"/> <traffic:LightColorrdf:about="#Green"/> </owl:oneOf></owl:Class>

  10. 17.2.2 Disjoint Classes • owl:disjointWith property • Asserts that 2 classes have no individuals in common • Instances of a class cannot be members of both classes • Symmetric • Classes can be disjoint with multiple classes • Every class is disjoint with owl:Nothing • Domain & Range: instance of owl:Class • Syntax • <owl:Classrdf:ID="Class1"> <owl:disjointWithrdf:resource="Class2"/></owl:Class> • Example • <owl:Classrdf:ID="AlcoholicDrink"> <owl:disjointWithrdf:resource="#NonAlcoholicDrink"/></owl:Class

  11. 17.2.3 Boolean Class Combinations • Class extensions are sets • OWL DL supplies Boolean properties • owl:intersectionOf • owl:unionOf • owl:complementOf

  12. 17.2.3.1 Intersection Property • owl:intersectionOf property • OWL Lite restrictions removed • Can be used to define a class • Includes individuals common to all identified classes • Equivalent to AND operation in logic • Domain: instance of owl:Class • Range: instance of rdf:List • Example • <owl:Classrdf:ID="ApplePieAlaModeDish"> <owl:intersectionOfrdf:parseType="Collection"/> <owl:Classrdf:about="#ApplePieDish"/> <owl:Classrdf:about="#IceCreamDish"/> </owl:intersectionOf></owl:Class>

  13. 17.2.3.2 Union Property • owl:unionOf property • Defines a class • Includes individuals in any specified class (one or more) • Equivalent to OR operation in logic • Domain: instance of owl:Class • Range: instance of rdf:List • Example • <owl:Classrdf:ID="FruitPies"> <owl:unionOfrdf:parseType="Collection"/> <owl:Classrdf:about="#ApplePie"/> <owl:Classrdf:about="#CherryPie"/> <owl:Classrdf:about="#LemonPie"/> <owl:Classrdf:about="#KeyLimePie"/> </owl:intersectionOf></owl:Class>

  14. 17.2.3.3 Complement Property • owl:complementOf property • Defines a disjoint class • All individuals who are not in the specified class • Equivalent to negation operation in logic • Usually used with intersectionOf • Domain & Range: instance of owl:Class • Example: • <owl:Classrdf:ID="MeatDish"> <owl:intersectionOfrdf:parseType="Collection"/> <owl:Classrdf:about="#MenuDish"/> <owl:complementOfrdf:resource="#VegetarianDish"/> </owl:intersectionOf></owl:Class>

  15. 17.2.3.4 Set Operator Summary

  16. 17.3 Requiring a Property Value • owl:hasValue property • Local restriction that specifies that • Objects must have identified property • Property must have specified value • Can also have other values for the same property • Can use to define classes based on property values • Domain: instance of owl:Restriction • Example • <owl:Classrdf:ID="ChocolatePie"> <rdfs:subClassOf> <owl:Restriction> <owl:onPropertyrdf:resource="#hasPieFilling"/> <owl:hasValuerdf:resource="#Chocolate"/> </owl:Restriction> </rdfs:subclassOf></owl:Class>

  17. 17.4 Enumerated Data Values • owl:DataRange class • Specified with owl:oneOf and rdf:Lists • Like enumerated classes, but lists of values instead • Example • <owl:DatatypePropertyrdf:ID="YesNo"> <rdfs:range> <owl:DataRange> <owl:oneOf> <rdf:List> <rdf:firstrdf:datatype="&xsd;string">No</rdf:first> <rdf:rest> <rdf:List> <rdf:firstrdf:datatype="&xsd;string">Yes</rdf:first> <rdf:restrdf:resource="&rdf;nil" /> </rdf:List> </rdf:rest> </rdf:List> </owl:oneOf> </owl:DataRange> </rdfs:range></owl:DatatypeProperty>

  18. 17.5 OWL DL Summary • OWL DL • Restricted form of OWL Full • Contains all constructs of OWL Full • Extends OWL Lite by adding • Class expressions • Property value requirements • Enumerated data values

  19. OWL Full Chapter 18

  20. 18 OWL Full • OWL Full • Complete specification of the OWL lanugage • Extension of RDF • Logical Layer • Allows developer to say anything about anything • Unrestricted use of RDFS • Superset of RDF and RDFS

  21. 18.1 OWL Full’s Differing Perspective • OWL Full • Supports all OWL constructs • Relaxes all restrictions on OWL DL (17.1)

  22. 18.1.1 Type Separation • No strict separation of classes, properties, individuals and data values • Classes can be treated as objects • Objects can be treated as classes • Etc.

  23. 18.1.2 Individuals • In OWL Full, rdfs:Resource is equivalent to owl:Thing • Therefore all data values are individuals

  24. 18.1.3 Classes as Individuals • A resource can be considered both • A class of individuals and • An individual of some other class • Class can be a member of its own extension! • In OWL Full, owl:Class is equivalent to rdfs:Class • In OWL DL & OWL Lite, owl:Class is a subclass of rdfs:Class

  25. 18.1.4 Properties • In OWL Full, owl:ObjectProperty and rdf:Property are equivalent • Object and datatype properties do not have to be disjoint • owl:DatatypeProperty can be owl:InverseFunctionalProperty • rdfs:domain & rdfs:range can have descriptions as values • Annotation properties can be used anywhere; no need for owl:AnnotationProperty class

  26. 18.1.5 Property Restrictions • OWL Full has owl:hasValue (same as OWL DL), but relaxes restrictions on XMLS datatypes

  27. 18.2 OWL Full Summary • OWL Full • Complete, unrestricted species of OWL • Most expressive • No restrictions • Cost: decidability • Inference engines probably will never support all of OWL Full

  28. OWL Dialect Selection Chapter 19

  29. 19.1 Choosing Your Weapon • Select dialect that • Sufficient to meet requirements • Most restrictive • Most widely supported • OWL Lite is usually best, if possible • OWL Lite is valid OWL DL and valid OWL Full • Use OWL DL if you need its advantages • Fewer restrictions, better support cardinality, etc. • OWL Full is the last resort • Use only if you need its expressive power

  30. 19.2 Migrating XML & RDF to OWL • Existing RDF is only guaranteed to be valid in the OWL Full dialect • E.g., for OWL Lite & DL, URIrefs of classes, properties, & individuals must be explicitly typed • Full list of restrictions in App. E of OWL Ref • http://www.w3.org/TR/owl-ref/ • XML files should be migrated to RDF/XML first

  31. 19.3 Language Selection Summary • Need decidability and computability? • OWL DL or OWL Lite • Need all OWL constructs? • OWL DL or OWL Full • Don’t need the kitchen sink? • OWL DL

  32. 19.4 Satisfaction of Information Representation (IR) Requirements

  33. 19.4 Satisfaction of IR Req’ts cont’d

  34. 19.4 Satisfaction of IR Req’ts cont’d

  35. 19.5 OWL Dialect Selection Summary

  36. OWL Applications Chapter 20

  37. 20 OWL Applications • Applications • Implementation layer • Composed of • Software • Ontologies • Instance files • OWL designed for the web, but works fine in a stand-alone application • Multiple uses for OWL with distributed ontologies and instance files

  38. 20.1 Application Example • Mark wants to find an open restaurant that serves Key lime pie • Possible solution • Mark enters search request on concierge web service provided by restaurant association • Web service extracts menu & hours of operation data published on restaurant websites in format compliant with restaurant ontology • Web service inferences & searches data • Results returned to Mark’s browser

  39. 20.1.1 OWL Lite Solution • Need to develop • “Restaurant association” ontology • Instance data for restaurants (i.e. Knight Owl) • Solution to be developed in OWL Lite

  40. 20.1.1.1 Ontologies • Key classes • HoursOfOperation class • Related by hasDailyHours property to • DailyHours class • Related by openOn and closedOn properties to • Hours of operation data to be stored in an RDF/XML instance file compliant with Hours Of Operation (HOO) ontology • Restaurant class shown but not used in this demo

  41. 20.1.1.1 Ontologies cont’d • http://www.restaurant.org/hoursOfOperation-ont.owl <?xml version="1.0" encoding="UTF-8?> <!DOCTYPE rdf:RDF[ <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> ]> <rdf:RDFxmlns:xsd="http://www.w3.org/2001/XMLSchema#"xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"xmlns:owl="http://www.w3.org/2002/07/owl#"xmlns ="http://www.restaurant.org/hoursOfOperation-ont#"xml:base="http://www.restaurant.org/hoursOfOperation-ont#" > <owl:Ontologyrdf:about=""><rdfs:label>Hours of Operation Ontology</rdfs:label><rdfs:comment>This ontology is used an example for various OWL constructs</rdfs:comment><owl:versionInfo>$Id: hoursOfOperation-ont.owl,v 1.2 2004/11/02 12:34:56 </owl:versionInfo> </owl:Ontology>

  42. 20.1.1.1 Ontologies cont’d • http://www.restaurant.org/hoursOfOperation-ont.owl <!-- Classes --> <owl:Classrdf:ID="Restaurant"/> <owl:Classrdf:ID="HoursOfOperation"/> <owl:Classrdf:ID="DailyHours"><rdfs:label>Daily Hours</rdfs:label><rdfs:comment>represents a set of opening hours for specified days of the week</rdfs:comment> </owl:Class> <!-- Properties --> <owl:DatatypePropertyrdf:ID="openingTime"><rdfs:rangerdf:resource="&xsd;time"/> </owl:DatatypeProperty> <owl:DatatypePropertyrdf:ID="closingTime"><rdfs:rangerdf:resource="&xsd;time"/> </owl:DatatypeProperty> <owl:ObjectPropertyrdf:ID="openOn"><rdfs:rangerdf:resource="#DayOfWeek"/> </owl:ObjectProperty>

  43. 20.1.1.1 Ontologies cont’d • http://www.restaurant.org/hoursOfOperation-ont.owl <!-- Properties continued --> <owl:ObjectProperty><owl:DatatypePropertyrdf:ID="closedOn"><rdfs:rangerdf:resource="#DayOfWeek"/> </owl:ObjectProperty> <owl:DatatypeProperty><owl:DatatypePropertyrdf:ID="effectiveDate"><rdfs:rangerdf:resource="&xsd;date"/> </owl:DatatypeProperty> <owl:ObjectProperty><owl:DatatypePropertyrdf:ID="hasDailyHours"><rdfs:rangerdf:resource="#DailyHours"/> </owl:ObjectProperty> <owl:ObjectProperty><owl:DatatypePropertyrdf:ID="hasHoursOfOperation"><rdfs:rangerdf:resource="#HoursOfOperation"/> </owl:ObjectProperty> <!-- Instances for days of the week --> <DayOfWeekrdf:ID="Sunday"><rdfs:label>Sunday</rdfs:label> </DayOfWeek>

  44. 20.1.1.1 Ontologies cont’d • http://www.restaurant.org/hoursOfOperation-ont.owl <!-- Instances for days of the week continued --> <DayOfWeekrdf:ID="Monday"><rdfs:label>Monday</rdfs:label> </DayOfWeek> <DayOfWeekrdf:ID="Tuesday"><rdfs:label>Tuesday</rdfs:label> </DayOfWeek> <DayOfWeekrdf:ID="Wednesday"><rdfs:label>Wednesday</rdfs:label> </DayOfWeek> <DayOfWeekrdf:ID="Thursday"><rdfs:label>Thursday</rdfs:label> </DayOfWeek> <DayOfWeekrdf:ID="Friday"><rdfs:label>Friday</rdfs:label> </DayOfWeek> <DayOfWeekrdf:ID="Saturday"><rdfs:label>Saturday</rdfs:label> </DayOfWeek> </rdf:RDF>

  45. 20.1.1.2 Hours of Operation Individuals • Knight Owl Restaurant hosts its Hours of Operation information on its webserver • Instance file imports & complies with restaurant association’s Hours ofOperation Ontology • Example Hours of Operation • “Effective 4/1/2004, Knight Owl’s hours are:” • Sunday Closed • Monday through Friday, 9am to 8pm • Saturday 9:30am to 9pm • Assumptions • Restaurant association provides web service to search menus & hours • Association maintains registry of participating restaurant’s instance files

  46. 20.1.1.2 Hours of Operation cont’d • http://www.knightowlrestaurant.com/hours040104.rdf <?xml version="1.0" encoding="UTF-8?> <!DOCTYPE rdf:RDF[ <!ENTITY hoo "http://www.restaurant.org/hoursOfOperation-ont#" <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> ]> <rdf:RDFxmlns:xsd="http://www.w3.org/2001/XMLSchema#"xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"xmlns:owl="http://www.w3.org/2002/07/owl#"xmlns:hoo="http://www.restaurant.org/hoursOfOperation-ont#" xmlns ="http://www.restaurant.org/hoursOfOperation-ont#"xml:base="http://www.restaurant.org/hoursOfOperation-ont#" > <owl:Ontologyrdf:about=""><rdfs:label>Hours of Operation Information for Knight Owl Restaurant</rdfs:label><rdfs:comment>This contains the hours of operation for the Knight Owl</rdfs:comment><owl:versionInfo>$Id: hours.rdf,v 1.2 2004/11/02 12:34:56 </owl:versionInfo><owl:importsrdf:resource=" http://www.restaurant.org/hoursOfOperation-ont"/> </owl:Ontology>

  47. 20.1.1.2 Hours of Operation cont’d • http://www.knightowlrestaurant.com/hours040104.rdf <!-- Daily Hours --> <hoo:DailyHoursrdf:ID="KOWeekdayHours040104"><hoo:openOnrdf:resource="&hoo;Monday"/><hoo:openOnrdf:resource="&hoo;Tuesday"/><hoo:openOnrdf:resource="&hoo;Wednesday"/><hoo:openOnrdf:resource="&hoo;Thursday"/><hoo:openOnrdf:resource="&hoo;Friday"/><hoo:openingTimerdf:datatype="&xsd;time"/>09:00:00+8</hoo:openingTime><hoo:closingTimerdf:datatype="&xsd;time"/>20:00:00+8</hoo:closingTime> </hoo:DailyHours> <hoo:DailyHoursrdf:ID="KOSaturdayHours040104"><hoo:openOnrdf:resource="&hoo;Saturday"/><hoo:openingTimerdf:datatype="&xsd;time"/>09:30:00+8</hoo:openingTime><hoo:closingTimerdf:datatype="&xsd;time"/>21:00:00+8</hoo:closingTime> </hoo:DailyHours> <hoo:DailyHoursrdf:ID="KOSundayHours040104"><hoo:closedOnrdf:resource="&hoo;Sunday"/> </hoo:DailyHours>

  48. 20.1.1.2 Hours of Operation cont’d • http://www.knightowlrestaurant.com/hours040104.rdf <hoo:Restaurant rdf:ID="KORestaurant"><hoo:hasHoursOfOperation rdf:resource="#KORestHOO040104"/> </hoo:Restaurant> <hoo:HoursOfOperation rdf:ID="KORestHOO040104"><hoo:hasDailyHours rdf:resource="#KOWeekdayHours040104"/><hoo:hasDailyHours rdf:resource="#KOSaturdayHours040104"/><hoo:hasDailyHours rdf:resource="#KOSundayHours040104"/><hoo:effectiveDate rdf:datatype="&xsd;date">2004-04-01</hoo:effectiveDate> </hoo:HoursOfOperation> </rdf:RDF>

  49. 20.2 Supporting Applications • The purpose of representing information in OWL is to support application functionality. • By providing a consistent method for representing information and explicitly providing semantics, new and exciting Semantic Web applications will emerge • OWL must be used correctly & consistently

  50. 20.2.1 Inappropriate Applications • OWL • Suffers from many of the same challenges as XML • Relatively new • Not a large base of software tools • Not a large workforce conversant with OWL • Possible performance issues due to verbosity of RDF/XML • Reasoning hard to scale; rules somewhat limited • Only works with textual data, not binary

More Related