Practice building pizza.owl ontology using Protege modeling tool, base on Michael DeBillis' great guide.
Here you can find the post by Michael in his site; and the introduction of the guide.
The repository is regularly synced to Gitee:
- Link of Repository in Github: https://github.com/yasenstar/protege_pizza
- Link of Repository in Gitee: https://gitee.com/yasenstar/protege_pizza
Refer to the mindmap file here (note: get FreePlane to open the mindmap):
Source from post of Malcolm Chirholm Ph.D.
Terms | Description |
---|---|
Ontologies | Each is a "view" of the business world (and business information) that is required to meet a specific business need |
Business Rules | Atomic units of logic that govern behavior of concepts and relationships |
Relationships | Other business relationships outside taxonomies and hierarchies |
Hierarchies | How individual things (instances) are associated at multiple levels for specific businees needs |
Taxonimies | The relationships of general with specific concepts |
Definitions | Descriptions of the concepts identified by the terms |
Terms | The specialized terms used in the business, with homonyms, synonyms, and universes of discourse identified |
Thanks for Michael DeBellis's great tutorial on pizza.owl, which is helping to understand the key concepts of ontology and also a way of building practices.
This repository is tracking my hands-on modeling the pizza.owl in step-by-step manner, and you can find the snapshot ontology model files in every step so that you can start your practice from any point.
Check Protege Website, you can find below statements:
Protégé’s plug-in architecture can be adapted to build both simple and complex ontology-based applications. Developers can integrate the output of Protégé with rule systems or other problem solvers to construct a wide range of intelligent systems. Most important, the Stanford team and the vast Protégé community are here to help.
I'm using Protégé to learn pizza.owl and also practice the modeling skill here.
Some reference quick link about Protégé:
- WebProtégé
- Download Windows Version 5.6.1, also have Java package for platform independent installating.
- Protégé wiki
- Protégé in Github, from here you can get latest version
Please follow my Youtube Channel.
Video Title | Link in YouTube | Link in bilibili | 西瓜视频 ixigua |
---|---|---|---|
01 - Introduction | link | link | link |
02 - Practice Guide Document Structure | link | link | link |
03 - Installing Protege and understand Protege User Interface | link | link | link |
04 - Create new Ontology (exercise 01~03) | link | link | link |
05 - Named Classes (section 4.1, exercise 04) | link | link | link |
06 - Using a Reasoner (section 4.2, exercise 05) | link | link | link |
07 - Disjoint Classes (section 4.3, exercise 06) | link | link | link |
08 - Understand RDF Ontology File Structure | link | link | link |
09 - Using Create Class Hierarchy (section 4.4, exercise 07~08) | link | link | link |
10 - Object Properties | link | link | link |
11 - Inverse Properties | link | link | link |
12 - OWL Object Property Characteristics | link | link | link |
13 - OWL Property Domains and Ranges | link | link | link |
14 - Existential Restriction | link | link | link |
15 - Exercise 14: Create Subclasses of Pizza: NamedPizza and MargheritaPizza | link | link | |
16 - Exercise 15: Create Restrictions that define a MargheritaPizza | link | link | |
17 - Exercise 16: Create AmericanaPizza by Cloning MargheritaPizza and Adding Additional Restrictions | link | link | |
18 - Exercise 17: Create AmericanaHotPizza and SohoPizza | link | link | |
19 - Exercise 18: Make Subclasses of NamedPizza Disjoint | link | link | |
20 - Exercise 19: Add a Probe Class called ProbeInconsistentTopping | link | link | |
21 - Primitive Classes - Exercise 20: Create the CheesyPizza class | link | link | |
22 - Exercise 21: Convert CheesyPizza from a Primitive Class to a Defined Class | link | link | |
23 - Universal Restrictions (exercise 22: Create a Defined Class called VegetarianPizza) | link | link | |
24 - Automated Classification and Open World Reasoning (exercise 23) | link | link | |
25 - Defining an Enumerated Class (exercise 24) | link | link | |
26 - Adding Spiciness as a Property (Exercise 25: Create and Use the hasSpiciness Property) | link | link | |
27 - Cartinality Restrictions (exercise 26: Create an InterestingPizza that has at least three toppings) | link | link | |
28 - Defining a Data Property (Exercise 27: Create a Datatype Property called hasCaloricContent) | link | link | |
29 - Customize Protege UI (exercise 28 and 29) | link | link | |
30 -Customize Protege UI (exercise 30) | link | link | |
31 - Create a Datatype Restriction that Every Pizza hasCaloricContent | link | link | |
32 - Create a HighCaloriePizza Defined Class | link | link | |
33 - Adding Order to an Enumerated Class | link | link | |
34 - Names and Namespaces in Ontology (demo only) | link | link | |
35 - Chapter 8 A Larger Ontology with some Individuals | link | link | |
36 - Ontology Query using DL (Exercise 33: Try Some Description Logic Queries) | link | link | |
37 - Ontology Query using SPARQL | link | link | |
38 - Exercise 34: Write Your First SWRL Rule | link | link | |
39 - SWRL Tip Remove Ontology Prefixes from SWRL Rules | link | link | |
40 - Exercise 35: Write Another SWRL Rule | link | link | |
41 - SQWRL Rules ex36 Write a SQWRL Rule | link | link | |
42 - SHACL | link | link | |
43 - WebProtege (Part 1) | link | link | |
44 - WebProtege (Part 2) | link | link | |
45 - WebVOWL | link | link | |
46 - Query by SPARQL (revised) | link |
- An Introduction to Description Logics and Query Rewriting, also available in the repository folder
- A Description Logic Primer
- Reasoning in Description Logics
View here which powered by WebVOWL.
If you find the information here is interesting or useful, please consider donate $1 dollar (secure Paypal link) for a coffee, thanks and enjoy!
Hope you can get nice experience thorugh following this journey together with me, any questions are welcome to reach_me_in_email or check my LinkedIn, thank you! (2023)