1 / 41

Chapter 13

Chapter 13. 13 Describing Property Characteristics. Need to be able to describe properties further by Identifying properties of properties (metaproperties) Using classes to make general statements about properties Methods Global restrictions Relating properties Inference shortcuts

efrazier
Download Presentation

Chapter 13

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. Chapter 13

  2. 13 Describing Property Characteristics • Need to be able to describe properties further by • Identifying properties of properties (metaproperties) • Using classes to make general statements about properties • Methods • Global restrictions • Relating properties • Inference shortcuts • Local restrictions

  3. 13.1 Defining Global Property Restrictions • Global property restrictions apply to all uses of a property • As opposed to just when describing individuals • Four restrictions • rdfs:domain (section 9.5.1.5) • rdfs:range (section 9.5.1.4) • owl:FunctionalProperty • owl:InverseFunctionalProperty

  4. 13.1.1 Functional Property • owl:FunctionalProperty class • “Flag” that identifies a property which can have at most one (0 or 1) unique value for a particular subject • May have no value • If a literal value exists for a particular subject, no subsequent statement can specify a different literal value for that subject. • If different object values (or object values & 1 literal) exist for a given subject in two or more different statements, Reasoner can infer that all object values represent the same object. • Can be applied to object &/or datatype properties • Syntax (typedNode syntax discouraged) • <owl:ObjectProperty rdf:ID="propertyName"> <rdf:type rdf:resource="&owl;FunctionalProperty"/></owl:ObjectProperty>

  5. 13.1.1 Functional Properties cont’d • Example (specification) • <owl:ObjectProperty rdf:ID="hasOwner"> <rdf:type rdf:resource="&owl;FunctionalProperty"/></owl:ObjectProperty> • Example (use) • <rest:Restaurant> <hasOwner rdf:resource="#person123"/> <hasOwner rdf:resource="JasonRelles"/></rest:Restaurant> • OK. Reasoner may infer that instance “#person123” is the same instance as “JasonRelles” • <food:menuItem rdf:ID="Pizza"> <hasPrice>$7.00</hasPrice> <hasPrice>$8.00</hasPrice></food:menuItem> • Error! Cannot have 2 different literal values

  6. 13.1.2 Inverse Functional Property • owl:InverseFunctionalProperty class • “Flag” that identifies properties whose values uniquely identify the subject instance of the property (key!) • If different subjects exist for a given value in two or more different statements, Reasoner can infer that all subject values represent the same object. • Inverse of InverseFunctionalProperty is FunctionalProperty • If “hasSerialNumber” is an InverseFunctionalProperty, then its inverse property “isSerialNumberFor” must be a FunctionalProperty (only 0 or 1 unique value) • Inverse functional properties cannot be transitive • Syntax (typedNode syntax discouraged) • <rdf:ObjectProperty rdf:ID="propertyName"> <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/></rdf:ObjectProperty>

  7. 13.2 Relating Properties • In addition to rdfs:subPropertyOf (9.5.1.3), OWL properties can be related to each other by • Equivalence • PropertyA is the same as PropertyB • Inverses • PropertyA is the inverse property of PropertyB

  8. 13.2.1 Stating Property Equivalence • owl:equivalentProperty property • Identifies properties that have the same extension (set of instances) • Properties are “aliases” & subproperties of each other • May describe different concepts with same values • Subproperty of “owl:SameAs” (15.5.1) property • Supports “semantic joins” of ontologies: Reasoner may infer that all statements about PropertyA in OntologyA also apply to PropertyB in OntologyB and vice-versa • Domain & Range: Instance of rdf:Property • Syntax • <owl:ObjectProperty rdf:ID="property1"> <owl:equivalentProperty rdf:resource="property2"/></owl:ObjectProperty>

  9. 13.2.2 Identifying Inverse Properties • owl:inverseOf property • Identifies pairs of properties (A, B) such that • Domain of property A is range of property B • Range of property A is domain of property B • Always symmetric; only need to be expressed one way • If A is the inverse property of B, then B is the inverse of A. • Domain & Range: Instance of owl:ObjectProperty • Syntax • <owl:ObjectProperty rdf:ID="property1"> <owl:inverseOf rdf:resource="property2"/></owl:ObjectProperty>

  10. 13.2.2 Inverse Properties cont’d • Example (specification) • <owl:ObjectProperty rdf:ID="usedInDish"> <rdfs:comment>Dish that this ingredient is used in</rdfs:comment></owl:ObjectProperty> • <owl:ObjectProperty rdf:ID="hasIngredient"> <rdfs:comment>Ingredient used in this dish</rdfs:comment> <owl:inverseOf rdf:resource="#usedInDish"></owl:ObjectProperty> • Example (use) • <Ingredient rdf:ID="ingredient345"> <rdfs:label>avocado</rdfs:label></Ingredient> • <MenuItem rdf:ID="item123"> <rdfs:label>guacamole</rdfs:label> <hasIngredient rdf:resource="#ingredient345"></MenuItem> • Then Reasoner can infer, even if not explicitly stated, that<Ingredient rdf:about="#ingredient345”> <usedInDish rdf:resource="#item123"></Ingredient>

  11. 13.3 Inference Shortcuts • Additional meta-properties (properties of properties) help Reasoners draw correct inferences • TransitiveProperty • SymmetricProperty • Membership in the class is like a flag to the Reasoner • Same idea as Serializable interface in Java

  12. 13.3.1 Transitive Properties • owl:TransitiveProperty class • “Flag” that identifies properties for which transitivity (partial order) holds • If X is related by property P to Y and Y is related by property P to Z, then X is related by property P to Z • Allows Reasoner to infer transitivity down the chain • Syntax • <owl:ObjectProperty rdf:ID="propertyName"> <rdf:type rdf:resource="&owl;TransitiveProperty"/></owl:ObjectProperty> or • <owl:TransitiveProperty rdf:ID="propertyName"/>

  13. 13.3.1 Transitive Properties cont’d • Example (specification) • <owl:TransitiveProperty rdf:ID="smallerThan"/> • Example (use) • <rest:Restaurant rdf:ID="restaurant123"> <rest:smallerThan rdf:resource="#restaurant456"/></rest:Restaurant> • <rest:Restaurant rdf:ID="restaurant456"> <rest:smallerThan rdf:resource="#KnightOwlRestaurant"/></rest:Restaurant> • Then Reasoner can infer, even if not explicitly stated, that “#restaurant123” is smaller than “#KnightOwlRestaurant” • Restrictions on TransitiveProperty in OWL Lite • No local or global cardinality constraints (including functional & inverse functional flags) on themselves, inverses, or superproperties • Domain & range must be the same • Must be subclass of owl:ObjectProperty

  14. 13.3.2 Symmetric Properties • owl:SymmetricProperty class • “Flag” that identifies properties for which symmetry holds • If X is related by property P to Y, then Y is related by property P to X • Only need to specify in one direction; Reasoner infers the other direction • Syntax • <owl:ObjectProperty rdf:ID="propertyName"/> <rdf:type rdf:resource="&owl;SymmetricProperty"/></owl:ObjectProperty> or • <owl:SymmetricProperty rdf:ID="propertyName"/>

  15. 13.3.2 Symmetric Properties cont’d • Example (specification) • <owl:SymmetricProperty rdf:ID="goesWellWith"/> • Example (use) • <rest:MenuItem rdf:ID="cheese"/> • <rest:MenuItem rdf:ID="crackers"> <rest:goesWellWith rdf:resource="#cheese"/></rest:MenuItem> • Then Reasoner can infer, even if not explicitly stated, that “#cheese” goes well with “#crackers” • Restrictions on SymmetricProperty in OWL Lite • Domain & range must be the same, if specified • Must be subclass of owl:ObjectProperty

  16. 13.4 Local Property Restrictions • Sometimes we want to associate property restrictions with particular classes rather than globally • Local property restrictions • Defined as unnamed subclasses of owl:Restriction that satisfy a specific constraint • Associated “owl:onProperty” property identifies object or datatype property being restricted • Second property specifies actual restriction/constraint allowed in OWL Lite • Used for validation and inferencing • Can be thought of as • Limiting values of a class’ properties, or • Specifying characteristic property values that define the class

  17. 13.4 Local Property Restrictions cont’d • Syntax • <owl:Restriction> <owl:onProperty rdf:resource="propertyName"/>specificRestriction</owl:Restriction> • Two types of specific restrictions • Value restrictions • owl:allValuesFrom, owl:someValuesFrom • Cardinality restrictions • owl:minCardinality, owl:maxCardinality, owl:cardinality

  18. Owl Restriction Classes • owl:Restriction is a special kind of class • Only appropriate as non-URI (i.e. blank node) class, note the nuance of the syntax: <owl:Restriction> <owl:onProperty rdf:resource="propertyName"/>specificRestriction </owl:Restriction> • Since we are trying to create restrictions of a property in conjunction with a class (i.e. local restrictions) we have to reference the restriction appropriately Creates a blank node of type owl:Restriction

  19. Blank Node RestrictionExample rdf:type owl:Restriction someValuesFrom onProperty :playsFor :AllStarTeam rdf:type rdf:type rdf:Property rdfs:Class Implied/Required RDF/XML Form <owl:Restriction> <owl:onProperty rdf:resource=“:playsFor”/> <owl:someValuesFrom rdf:resource=“:AllStarTeam”/> </owl:Restriction> N3 Form [ a owl:Restriction; owl:onProperty :playsFor; owl:someValuesFrom :AllStarTeam] Makes three triples although more can be inferred – as depicted above. Square Brackets ([ ]) define a blank node. Usually a space is left after the opening to help hint that a blank node is created.

  20. Using/Referencing a Restriction • Short answer: Say a class is a subclass of a restriction or is equivalent to it. • AllStarPlayer a owl:Class; • subClassOf • [ a owl:Restriction; • owl:onProperty :playsFor; • owl:someValuesFrom :AllStarTeam]. • AllStarPlayer a owl:equivalentClass • [ a owl:Restriction; • owl:onProperty :playsFor; • owl:someValuesFrom :AllStarTeam].

  21. 13.4.1 Value Constraints • Value constraint • Restriction on property’s range when used with specified class • Different than rdfs:range (9.5.1.4), which applies to all classes that use the property • Two types • Universal restriction • owl:allValuesFrom • Existential restriction • owl:someValuesFrom

  22. 13.4.1.1 Universal Restrictions For All • owl:allValuesFrom constraint property • Requires that all property values belong to specified class • Related to universal quantifier from logic • Reasoner can’t assume there are any property instances • If no values, constraint is satisfied • Domain: Instance of owl:Restriction; range: Instance of rdfs:Class • Syntax • <owl:Restriction> <owl:onProperty rdf:resource="propertyName"/> <owl:allValuesFrom rdf:resource="targetClass"/></owl:Restriction> • Example • <owl:Restriction> <owl:onProperty rdf:resource="#dishFeeds"/> <owl:allValuesFrom rdf:resource="&xsd;nonNegativeInteger"/></owl:Restriction> • Constrains members of class being described to having only non-negative integer values for dishFeeds property

  23. 13.4.1.2 Existential Restrictions There Exists • owl:someValuesFrom constraint property • Requires that at least one value of property belong to specified class • Related to existential quantifier from logic (requires an instance to exist) • Specifies minimum cardinality of 1 • Does not prevent values from other classes • Domain: Instance of owl:Restriction; range: Instance of rdfs:Class • Syntax • <owl:Restriction> <owl:onProperty rdf:resource="propertyName"/> <owl:someValuesFrom rdf:resource="targetClass"/></owl:Restriction> • Example • <owl:Restriction> <owl:onProperty rdf:resource="#topping"/> <owl:someValuesFrom rdf:resource="#Cheese"/></owl:Restriction> • Specifies the set of things that have cheese as a topping (but may have other toppings)

  24. 13.4.2 OWL Lite Restricted Cardinality • By default, an OWL class can have an arbitrary number of values associated with its properties • Cardinality constraint restricts # of values property can have for members of particular class • Values of cardinality restrictions are specified using non-negative integers (only 0 or 1 in OWL Lite) • Can be used to • Require a property (min cardinality = 1) • Prohibit a property (max cardinality = 0) • Limit # of occurrences of a property to 0 or 1 • If property max cardinality = 1 and property has 2 or more values, Reasoner infers that all values are equivalent • 3 types • owl:minCardinality, owl:maxCardinality, owl:cardinality

  25. 13.4.2.1 Specify Minimum Cardinality • owl:minCardinality restriction property • At least the specified number of distinct values must be associated with members of the class • Domain: Instance of owlRestriction • Range: Instance of xmls:nonNegativeInteger • 0 or 1 for OWL Lite • Syntax • <owl:Restriction> <owl:onProperty rdf:resource="propertyName"/> <owl:minCardinality rdf:datatype="xsd;nonNegativeInteger">cardinalityValue</owl:minCardinality></owl:Restriction> • Example • <owl:Restriction> <owl:onProperty rdf:resource="#hasPrice"/> <owl:minCardinality rdf:datatype="xsd;nonNegativeInteger">1</owl:minCardinality></owl:Restriction> • All items must have a single price

  26. 13.4.2.2 Specify Maximum Cardinality • owl:maxCardinality restriction property • At most the specified number of distinct values can be associated with members of the class • Speeds searches: once first value found, done! • Domain: instance of owl:Restriction • Range: instance of xlms:nonNegativeInteger • 0 or 1 for OWL Lite • Syntax • <owl:Restriction> <owl:onProperty rdf:resource="propertyName"/> <owl:maxCardinality rdf:datatype="xsd;nonNegativeInteger">cardinalityValue</owl:minCardinality></owl:Restriction> • Example • <owl:Restriction> <owl:onProperty rdf:resource="#hasPartner"/> <owl:maxCardinality rdf:datatype="xsd;nonNegativeInteger">0</owl:maxCardinality></owl:Restriction> • An item (perhaps a sole proprietorship) has no partners

  27. 13.4.2.3 Absolute Cardinality • owl:cardinality restriction property • Exactly the specified number of distinct values must be associated with members of the class • Can identify errors: if cardinality = 0 but value found • Domain: instance of owl:Restriction • Range: instance of xmls:nonNegativeInteger • 0 or 1 for OWL Lite • Syntax • <owl:Restriction> <owl:onProperty rdf:resource="propertyName"/> <owl:cardinality rdf:datatype="xsd;nonNegativeInteger">cardinalityValue</owl:minCardinality></owl:Restriction> • Example • <owl:Restriction> <owl:onProperty rdf:resource="#hasCheeseType"/> <owl:Cardinality rdf:datatype="xsd;nonNegativeInteger">1</owl:Cardinality></owl:Restriction> • An item has exactly one cheese type: no more, no less

  28. 13.4.2.4 Cardinality Summary

  29. 13.4.2.4 Cardinality Summary cont’d

  30. 13.5 Property Characteristics Summary • OWL Lite supports describing properties by • Defining global restrictions to restrict property • Domain, range, functionality, inverse functionality • Defining global relationships between properties • Subproperties, equivalence, inverse • Defining inference shortcuts • Transitivity, symmetry • Defining local property restrictions • Value constraints • All or some values must belong to a particular class • Cardinality constraints • Minimum, maximum, and absolute cardinality

  31. 13.5 Property Characteristics cont’d

  32. Feature Syntax Datatype Properties Object Properties Scope Global Restrictions rdfs:Domain √ √ Global rdfs:Range √ √ owl:FunctionalProperty √ √ owl:InverseFunctionalProperty √ Relationships rdfs:subPropertyOf √ √ owl:EquivalentProperty √ √ owl:inverseOf √ Inference Shortcuts owl:TransitiveProperty √ owl:SymmetricProperty √ Property Value Restrictions owl:allValuesFrom √ √ Local owl:someValuesFrom √ √ Cardinality Restrictions owl:maxCardinality √ √ owl:minCardinality √ √ owl:cardinality √ √ 13.5 Property Characteristics cont’d

  33. Chapter 14

  34. 14 Deriving OWL Lite Classes • Other ways of defining classes besides owl:Class • Properties & restrictions can define class membership & relationships between classes (class expression) • Classes can be defined from other classes • 4 ways to derive classes • Subclass • Equivalent class • Intersection • Class expression

  35. 14.1 Simple Named Subclass • rdfs:subClassOf property (note rdfs:, not owl:) • Used for inheritance/specialization hierarchies • All properties of superclass apply to all subclasses • Transitive property • A class is a subclass (subset) of itself • Multiple inheritance permitted • Reasoner can deduce that an individual of a subclass is also an individual of its superclass • Domain & Range: Instance of rdfs:Class

  36. 14.1 Simple Named Subclass cont’d • Syntax • <owl:Class rdf:ID="SubClassName"> <rdfs:subClassOf rdf:resource="SuperClassName"/></owl:Class> • Example • <owl:Class rdf:ID="Dessert"/> • <owl:Class rdf:ID="Pie"> <rdfs:subclassOf rdf:resource="#Dessert"/></owl:Class> • <owl:Class rdf:ID="KeyLimePie"> <rdfs:subClassOf rdf:resource="#Pie"/></owl:Class> • Reasoner can infer that KeyLimePie is also a Dessert. Can also infer that an instance of KeyLimePie is also an instance of Pie and Dessert.

  37. 14.2 Class Equivalency • owl:equivalentClass property • Identifies classes that have the same extension (set of instances) • Classes are “aliases” & subclasses of each other • May describe different concepts with same values • Subproperty of rdfs:subClassOf • Supports “semantic joins” of ontologies: Reasoner may infer that all statements about ClassA in OntologyA also apply to ClassB in OntologyB and vice-versa • Classes can have multiple equivalent classes • Domain & Range: Instance of owl:Class

  38. 14.2 Class Equivalency • owl:equivalentClass property • Identifies classes that have the same extension (set of instances) • Classes are “aliases” & subclasses of each other • Subproperty of rdfs:subClassOf • Supports “semantic joins” of ontologies: Reasoner may infer that all statements about ClassA in OntologyA also apply to ClassB in OntologyB and vice-versa • Classes can have multiple equivalent classes • Domain & Range: Instance of owl:Class

  39. 14.2 Class Equivalency • Syntax • <owl:Class rdf:ID="Class1"> <owl:equivalentClass rdf:resource="Class2"/></owl:Class> • Example 1 • <owl:Class rdf:ID="SodaDrink"> <owl:equivalentClass rdf:resource="#PopDrink"/></owl:Class> • Example: Defining a class using property restriction • <owl:Class rdf:ID="LunchDish"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="onMenu"/> <owl:allValuesFrom rdf:resource="#LunchMenu"/> </owl:Restriction> </owl:equivalentClass></owl:Class>

  40. 14.3 OWL Lite Intersection • owl:intersectionOf property • Defines a class that includes all individuals that belong to all specified classes (logical AND) • Domain & Range: Instance of owl:Class • Syntax • <owl:Class rdf:ID="ClassName"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="AnotherClass1"/> <owl:Class rdf:about="AnotherClass2"/> </owl:intersectionOf></owl:Class> • Example • <owl:Class rdf:ID="FriedFood"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#MenuDish"/> <owl:Restriction> <owl:onProperty rdf:resource="#cookingMethod"/> <owl:hasValue rdf:resource="#Fry"> // OWL DL, not valid in OWL Lite! </owl:intersectionOf></owl:Class>

  41. 14.4 Derived Classes Summary • OWL classes can be derived by • Defining a subclass • Stating two classes are equivalent • Defining a class as the intersection of two or more other classes

More Related