tutorial
DESCRIPTION
Tutorial. Le Phuoc Son Hoang Huu Hanh Hue University. What is Protégé?. Protégé is a free, open-source platform Provides a suite of tools to construct domain models and knowledge-based applications with ontologies - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/1.jpg)
Tutorial
Le Phuoc SonHoang Huu Hanh
Hue University
![Page 2: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/2.jpg)
What is Protégé? • Protégé is a free, open-source platform• Provides a suite of tools to construct domain
models and knowledge-based applications with ontologies
• Support the creation, visualization, and manipulation of ontologies in various representation formats.
![Page 3: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/3.jpg)
What is Protégé? The Protégé platform supports two main ways of modeling ontologies:
• The Protégé-Frames editor • The Protégé-OWL editor
![Page 4: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/4.jpg)
Protégé-OWLThe Protégé-OWL editor enables users to:
• Load and save OWL and RDF ontologies.• Edit and visualize classes, properties, and
SWRL rules.• Define logical class characteristics as OWL
expressions.• Execute reasoners such as description logic
classifiers.• Edit OWL individuals for Semantic Web
markup.
![Page 5: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/5.jpg)
Download Protégé-OWLhttp://protege.stanford.edu/
• Protégé 4 - support for OWL 2.0• Protégé 3 - support for OWL 1.0, RDF(S), and
Frames
![Page 6: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/6.jpg)
Protégé-OWL 3.4.1
![Page 7: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/7.jpg)
Install Protégé-OWL 3.4.1
• Select “Basic + OWL” in the installation Wizard
![Page 8: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/8.jpg)
Protégé User Interface
![Page 9: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/9.jpg)
Properties Tab
![Page 10: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/10.jpg)
Individuals Tab
![Page 11: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/11.jpg)
Saving Projects
![Page 12: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/12.jpg)
Building an OWL Ontology
![Page 13: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/13.jpg)
Components of OWL Ontologies
• Individuals: represent objects in the domain that we are interested in.
![Page 14: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/14.jpg)
Components of OWL Ontologies
• Properties: binary relations on individuals.
![Page 15: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/15.jpg)
Components of OWL Ontologies
• Classes: sets that contain individuals.
![Page 16: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/16.jpg)
Building an OWL Ontology • Start Protégé• When the Create
New Project dialog box appears, select ‘OWL/RDF Files’ from the ‘Project Type’ list section.
![Page 17: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/17.jpg)
Building an OWL Ontology • Specify a URI for
this ontology.
Pizza Ontology
![Page 18: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/18.jpg)
Building an OWL Ontology • Select which
elements of OWL and RDF you want to use in your project.
![Page 19: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/19.jpg)
Creating named class• Select the Classes tab use the ‘Create subclass’
to create Pizza, PizzaBase and PizzaTopping.• Ensuring that owl:Thing is selected before the
‘Create subclass’ button is pressed;• Rename the class using the ‘Class editor
widget’.
![Page 20: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/20.jpg)
Creating named class
![Page 21: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/21.jpg)
Creating named class
The Initial Class Hierarchy
![Page 22: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/22.jpg)
Disjoint Classes• To specify classes that are disjoint from the
selected class the ‘Disjoints widget’ which is located in the lower right hand corner of the ‘OWLClasses’ tab is used.
![Page 23: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/23.jpg)
Disjoint Classes• Select the class Pizza in the class hierarchy.• Press the ‘Add all siblings...’ button on the
disjoint classes widget.
![Page 24: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/24.jpg)
Using The OWL Wizards To Create Classes
• The OWL Wizards plugin is an extensible set of Wizards that are designed to make carrying out common, repetitive and time consuming tasks easy.
![Page 25: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/25.jpg)
Using The OWL Wizards To Create Classes
• Use the ‘Create multiple subclasses...’ Wizard to create ThinAndCrispy and DeepPan as subclasses of PizzaBase.
![Page 26: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/26.jpg)
Using The OWL Wizards To Create Classes
![Page 27: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/27.jpg)
Using The OWL Wizards To Create Classes
![Page 28: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/28.jpg)
Using The OWL Wizards To Create Classes
![Page 29: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/29.jpg)
Using The OWL Wizards To Create Classes
• PizzaTopping: MeatTopping, VegetableTopping, CheeseTopping and SeafoodTopping.
• MeatTopping: SpicyBeefTopping, PepperoniTopping, SalamiTopping, HamTopping.
• VegetableTopping: TomatoTopping, OliveTopping, MushroomTopping, PepperTopping, OnionTopping and CaperTopping.
• PepperTopping: RedPepperTopping, GreenPepperTopping and JalapenoPepperTopping.
• CheeseTopping: MozzarellaTopping, ParmezanTopping.
• SeafoodTopping: TunaTopping, AnchovyTopping and PrawnTopping.
![Page 30: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/30.jpg)
ClassHierarchy
![Page 31: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/31.jpg)
Meaning of subClasses
![Page 32: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/32.jpg)
OWL Properties• There are two main types of properties, Object
properties and Datatype properties. • Object properties link an individual to an individual. • Datatype properties link an individual to an XML
Schema Datatype value or an rdf literal. • OWL also has a third type of property – Annotation
properties. • Annotation properties can be used to add information
(metadata— data about data) to classes, individuals and object/datatype properties.
![Page 33: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/33.jpg)
The DifferentTypes of
OWL Properties
![Page 34: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/34.jpg)
Create Properties
![Page 35: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/35.jpg)
Create Properties
![Page 36: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/36.jpg)
Create subProperties
![Page 37: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/37.jpg)
Inverse Properties
![Page 38: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/38.jpg)
Inverse Properties
![Page 39: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/39.jpg)
Inverse Properties
![Page 40: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/40.jpg)
Inverse PropertiesisToppingOf < - - > hasTopping
![Page 41: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/41.jpg)
Functional Properties
Property CharacteristicsWidget
![Page 42: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/42.jpg)
Inverse Functional Properties
![Page 43: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/43.jpg)
Transitive Properties
![Page 44: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/44.jpg)
Transitive Properties
![Page 45: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/45.jpg)
Symmetric Properties
![Page 46: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/46.jpg)
Property Domain and Range
The domain and range for the hasTopping property and its inverse
property isToppingOf
![Page 47: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/47.jpg)
Property Domain and Range
Specify the range of hasTopping
Range Widget
![Page 48: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/48.jpg)
Property Domain and Range
Specify the domain of hasTopping
Domain Widget
![Page 49: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/49.jpg)
Property Domain and Range
Specify the domain of isToppingOf
=> Specify the domain and range for the hasBase property and its inverse property
isBaseOf
![Page 50: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/50.jpg)
Describing and Defining Class
• Property Restrictions- Quantifier Restrictions- Cardinality Restrictions- hasValue Restrictions.
![Page 51: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/51.jpg)
Describing and Defining Class
• Quantifier Restrictions- The existential quantifier, which can be read as at least one, or some.- The universal quantifier, which can be read as only
![Page 52: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/52.jpg)
Existential Restrictions
The Restriction hasTopping Mozzarella. This restriction describes the class of individuals that have at least one topping that is Mozzarella. The restriction describes an
anonymous (unnamed) class of individuals that satisfy the restriction.
![Page 53: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/53.jpg)
Existential Restrictions
Conditions Widget
![Page 54: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/54.jpg)
Existential Restrictions
Add a restriction to Pizza that specifies a Pizza must have a
PizzaBase
Type PizzaBase or ...
![Page 55: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/55.jpg)
Existential Restrictions
Conditions Widget: Description of a Pizza
![Page 56: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/56.jpg)
Existential Restrictions
In order for something to be a Pizza it is necessary for it to have a (at least one)
PizzaBase
![Page 57: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/57.jpg)
Creating Some Different Kinds Of Pizzas
Create a subclass of Pizza called NamedPizza, and a subclass of NamedPizza
called MargheritaPizza
![Page 58: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/58.jpg)
Creating Some Different Kinds Of Pizzas
Create an existential restriction on MargheritaPizza to specify that a MargheritaPizza has at least one
MozzarellaTopping
![Page 59: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/59.jpg)
Creating Some Different Kinds Of Pizzas
Create an existential restriction on MargheritaPizza to specify that a MargheritaPizza has at least one
TomatoTopping
![Page 60: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/60.jpg)
Creating Some Different Kinds Of Pizzas
Create AmericanaPizza by cloning and modifying the description of MargheritaPizza
![Page 61: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/61.jpg)
Creating Some Different Kinds Of Pizzas
Create AmericanaPizza by cloning and modifying the description of MargheritaPizza
![Page 62: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/62.jpg)
Creating Some Different Kinds Of Pizzas
Create an AmericanHotPizza and a SohoPizza
• An AmericanHotPizza is almost the same as an AmericanaPizza, but has Jalapeno peppers on it—create this by cloning the class AmericanaPizza and adding an existential restriction along the hasTopping property with a filler of JalapenoPepperTopping.
• A SohoPizza is almost the same as a MargheritaPizza but has additional toppings of olives and and parmezan cheese create this by cloning MargheritaPizza and adding two existential restrictions along the property hasTopping, one with a filler of OliveTopping, and one with a filler of ParmezanTopping.
![Page 63: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/63.jpg)
Creating Some Different Kinds Of Pizzas
Create an AmericanHotPizza and a SohoPizza
![Page 64: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/64.jpg)
Creating Some Different Kinds Of Pizzas
Create an AmericanHotPizza and a SohoPizza
![Page 65: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/65.jpg)
Creating Some Different Kinds Of Pizzas
Make subclasses of NamedPizza disjoint from each other
![Page 66: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/66.jpg)
Using a Reasoner• compute the inferred ontology class hierarchy• consistency checking
Determining the OWL Sub-Language
![Page 67: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/67.jpg)
Using a Reasoner
![Page 68: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/68.jpg)
Inconsistent Classes
Add a Probe Class called ProbeInconsistentTopping which is a subclass of
both CheeseTopping and Vegetable
![Page 69: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/69.jpg)
Inconsistent Classes
The Class ProbeInconsistentTopping found to be inconsistent by the reasoner
![Page 70: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/70.jpg)
Inconsistent Classes
Remove the disjoint statement between CheeseTopping and
VegetableTopping, what happens?
![Page 71: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/71.jpg)
Necessary And Sufficient Conditions (Primitive and
Defined Classes)• All of the classes that we have created so far
have only used necessary conditions to describe them.
• Necessary conditions can be read as, “If something is a member of this class then it is necessary to fulfil these conditions”.
• With necessary conditions alone, we cannot say that, “If something fulfils these conditions then it must be a member of this class”.
• A class that only has necessary conditions is known as a Primitive Class.
![Page 72: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/72.jpg)
Create a subclass of Pizza called CheesyPizza and specify that it has at least one topping that is a
kind of CheeseTopping
Necessary And Sufficient Conditions (Primitive and
Defined Classes)
![Page 73: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/73.jpg)
Convert the necessary conditions for CheesyPizza into necessary & sufficient conditions
Necessary And Sufficient Conditions (Primitive and
Defined Classes)
![Page 74: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/74.jpg)
Use the reasoner to automatically compute the subclasses of CheesyPizza
Necessary And Sufficient Conditions (Primitive and
Defined Classes)
![Page 75: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/75.jpg)
Download and install a recent version of Graphviz:
http://www.graphviz.org
OWLViz
![Page 76: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/76.jpg)
OWLViz Displaying the Asserted Hierarchy for CheesyPizza
OWLViz
![Page 77: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/77.jpg)
OWLViz Displaying the Inferred Hierarchy for CheesyPizza
OWLViz
![Page 78: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/78.jpg)
Create a class to describe a VegetarianPizza
Universal Restrictions
![Page 79: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/79.jpg)
Create a class to describe a VegetarianPizza
Universal Restrictions
![Page 80: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/80.jpg)
Convert the necessary conditions for VegetarianPizza into necessary & sufficient
conditions
Universal Restrictions
![Page 81: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/81.jpg)
Closure Axioms• Press the ‘Classify taxonomy’ button.• You will notice that MargheritaPizza and also
SohoPizza have not been classified as subclasses of VegetarianPizza
![Page 82: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/82.jpg)
Add a closure axiom on the hasTopping property for MargheritaPizza
Closure Axioms
![Page 83: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/83.jpg)
Add a closure axiom on the hasTopping property for SohoPizza
Closure Axioms
![Page 84: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/84.jpg)
Automatically create a closure axiom on the hasTopping property for AmericanaPizza
Closure Axioms
![Page 85: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/85.jpg)
Automatically create a closure axiom on the hasTopping property for AmericanHotPizza
Closure Axioms
![Page 86: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/86.jpg)
Use the reasoner to classify the ontology
Closure Axioms
![Page 87: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/87.jpg)
Visualizating in OWLViz
Closure Axioms
![Page 88: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/88.jpg)
Visualizating in OWLViz
Closure Axioms
![Page 89: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/89.jpg)
Value Partitions
to refine our descriptions of various classes.
![Page 90: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/90.jpg)
Value Partitions
Create a ValuePartition to represent the spiciness of pizza toppings
![Page 91: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/91.jpg)
Value Partitions
Create a ValuePartition to represent the spiciness of pizza toppings
![Page 92: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/92.jpg)
Value Partitions
Create a ValuePartition to represent the spiciness of pizza toppings
![Page 93: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/93.jpg)
Value Partitions
Create a ValuePartition to represent the spiciness of pizza toppings
![Page 94: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/94.jpg)
Using Quick Restriction Editor
Use the properties matrix wizard to specify the spiciness of pizza toppings
![Page 95: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/95.jpg)
Using Quick Restriction Editor
Use the properties matrix wizard to specify the spiciness of pizza toppings
![Page 96: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/96.jpg)
Using Quick Restriction Editor
Use the properties matrix wizard to specify the spiciness of pizza toppings
![Page 97: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/97.jpg)
Using Quick Restriction Editor
Use the properties matrix wizard to specify the spiciness of pizza toppings
![Page 98: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/98.jpg)
Using Quick Restriction Editor
Use the properties matrix wizard to specify the spiciness of pizza toppings
![Page 99: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/99.jpg)
Creating Individuals
The Individuals Tab
![Page 100: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/100.jpg)
Creating Individuals
Create a class called Country and populate it with some individuals
![Page 101: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/101.jpg)
Creating Individuals
Create a class called Country and populate it with some individuals
![Page 102: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/102.jpg)
hasValue Restrictions• A hasValue restriction, denoted by the symbol ,
describes the set of individuals that have at least one relationship along a specified property to a specific individual.
• For example, the hasValue restriction hasCountryOfOrigin Italy (where Italy is an individual) describes the set of individuals (the anonymous class of individuals) that have at least one relationship along the hasCountryOfOrigin property to the specific individual Italy.
![Page 103: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/103.jpg)
hasValue Restrictions
Create a hasValue restriction to specify that MozzarellaTopping has Italy as its country of
origin
![Page 104: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/104.jpg)
hasValue Restrictions
Create a hasValue restriction to specify that MozzarellaTopping has Italy as its country of
origin
![Page 105: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/105.jpg)
hasValue Restrictions
Create a hasValue restriction to specify that MozzarellaTopping has Italy as its country of
origin
![Page 106: Tutorial](https://reader035.vdocuments.net/reader035/viewer/2022062411/568166b6550346895ddabc8a/html5/thumbnails/106.jpg)
Thanks for your attention