AldoGangemi (Talk | contribs) (New page: {{Exercise Description Template |Tutorial=Ontology Design with the NeOn Toolkit - NeOn tutorial |Title=Units 1.3-1.4: Basic OWL ontology design |Problem=[Opening NTK, creating a project, c...) |
AldoGangemi (Talk | contribs) |
||
Line 11: | Line 11: | ||
Natural language is able to describe very different types of facts with the same structure, for example: | Natural language is able to describe very different types of facts with the same structure, for example: | ||
− | * | + | * Ahab hates Moby Dick [fact] |
− | * Captain | + | * Captain Ahab is in command of the Pequod [fact] |
* Moby Dick is white [attributive fact] | * Moby Dick is white [attributive fact] | ||
* The Pequod is a whaler [classification fact] | * The Pequod is a whaler [classification fact] | ||
Line 19: | Line 19: | ||
* Whaler is a class [formal fact] | * Whaler is a class [formal fact] | ||
* Whales are a delicious food for Japanese people [contextual fact] | * Whales are a delicious food for Japanese people [contextual fact] | ||
− | * Moby Dick represents the internal fighting of | + | * Moby Dick represents the internal fighting of Ahab's [interpretive fact] |
But this functionality of natural language cannot be reproduced easily for machine interpretation. The formal interpretation of OWL can help us with that. | But this functionality of natural language cannot be reproduced easily for machine interpretation. The formal interpretation of OWL can help us with that. | ||
Line 32: | Line 32: | ||
---> Let's create a new ontology "Moby Dick" | ---> Let's create a new ontology "Moby Dick" | ||
− | * | + | * Ahab hates Moby Dick |
* Moby Dick is a whale | * Moby Dick is a whale | ||
Line 45: | Line 45: | ||
* Moby Dick is black | * Moby Dick is black | ||
* Moby Dick is in command of the Pequod | * Moby Dick is in command of the Pequod | ||
− | * | + | * Ahab hates the third character of the white whale |
− | * | + | * Ahab is a class |
In order to limit (and to guide) the design of ontologies, OWL restricts the expressivity of RDF. | In order to limit (and to guide) the design of ontologies, OWL restricts the expressivity of RDF. | ||
Line 53: | Line 53: | ||
[OWL exercises: 1) types, subclasses, and inheritance] | [OWL exercises: 1) types, subclasses, and inheritance] | ||
− | * | + | * Ahab hates Moby Dick |
− | * | + | * Ahab is a human |
* Moby Dick is a whale | * Moby Dick is a whale | ||
* Whale is a class | * Whale is a class | ||
Line 87: | Line 87: | ||
!* Moby Dick is a human | !* Moby Dick is a human | ||
− | !* | + | !* Ahab is a Whale |
since they would lead the ontology to an "inconsistency" | since they would lead the ontology to an "inconsistency" | ||
Line 108: | Line 108: | ||
* Since Moby Dick can be food for Yukio, then Yukio can be fed by Moby Dick | * Since Moby Dick can be food for Yukio, then Yukio can be fed by Moby Dick | ||
− | * Since | + | * Since Ahab hates Moby Dick, he dislikes it |
This is called materialization. | This is called materialization. | ||
Line 131: | Line 131: | ||
* Moby Dick is the same as "The White Whale" | * Moby Dick is the same as "The White Whale" | ||
− | * | + | * Ahab is different from Yukio |
Tutorial | Training:Ontology Design with the NeOn Toolkit - NeOn tutorial |
---|---|
Title | Units 1.3-1.4: Basic OWL ontology design |
Opening NTK, creating a project, creating a new ontology (Michael)]
[Natural language and formal interpretation]
Formal interpretation is not (only:)) an academic game It gives us a precise way to establish what we are talking about, and therefore to provide reliable automated inferences when needed.
Natural language is able to describe very different types of facts with the same structure, for example:
But this functionality of natural language cannot be reproduced easily for machine interpretation. The formal interpretation of OWL can help us with that.
Each entity in an ontology is a web resource, and has a URI. Each fact can be expressed as a triple.
[RDF exercise]
basic structure: Subject-Predicate-Object
---> Let's create a new ontology "Moby Dick"
If the fact includes three entities, you can embed a triple in another
But this is not allowed in OWL. During the training we will see how to represent also such cases. As a matter of fact, you can declare any fact in RDF, even "unusual" or "abnormal" ones:
In order to limit (and to guide) the design of ontologies, OWL restricts the expressivity of RDF. No more is any triple allowed, but only those that respect the constraints of OWL formal semantics
[OWL exercises: 1) types, subclasses, and inheritance]
Notice that some inferences are now allowed:
This is called inheritance. But, if modelled as in the previous exercises, the following is prevented in OWL:
!* Since Moby Dick a whale, and Whale is a class, then Moby Dick is a class !* Since Mammal is a subclass of Vertebrate, and Vertebrate is a group, then Mammal is a group
Lesson learnt: in OWL we must distinguish when "is a" means "type", and when it means "subclass" Tomorrow we'll see more on how to represent these cases.
\\\\\changed from here on\\\\\
[OWL exercises: 2) disjointness and consistency: use Radon to check the ontology after each addition]
In formal semantic languages, we can usually state when two classes are disjoint. This provides greater clarity, and works fine for "integrity checks", called "coherency" or "consistency", in ontologies Equipped with the disjointWith axiom, we can now exclude the following:
!* Moby Dick is a human !* Ahab is a Whale
since they would lead the ontology to an "inconsistency"
and we can also exclude the following:
!* Whamans are whales and humans
since they would lead the ontology to an "incoherence"
[OWL exercises: 3) domains, ranges, inverses, subproperties, materialization, and classification]
Some new inferences are now allowed:
This is called materialization.
This is called classification. But the following is prevented: (open source, disjointness etc.)
!* Yukio can be food for Moby Dick
Since the Web is an open world, if we say something that is not explicitly put in our axioms, we cannot exclude it, and then we have to add a new axiom, e.g.:
!* Since Yukio can be food for Moby Dick, which is a whale, and whales can be food for Japanese humans, then Yukio is also a whale, while Moby Dick is also a Japanese human
But this generates an inconsistency, if we had modelled JapaneseHuman as a subclass of Human, since Human and Whale are disjoint classes, and JapaneseHuman is also disjoint with Whale, for ->inheritance
[OWL exercises: 4) sameness and difference]
Due to open world assumption, it is important to explicitly declare if any two individuals are the same or are different (when this is known).
The formal semantics of OWL is currently based mostly on so called "description logics". The main difference that description logics have introduced is the generalization of classes to kinds of construct that can be interpreted as a set of individuals.
---> Let's create a new ontology "Aquatic organisms"
[OWL exercises: 5) boolean concepts]
Firstly, "boolean" class constructors:
[OWL exercises: 6) restrictions]
Secondly, "relational" class constructors:
[OWL exercises: 7) nominals]
Thirdly, "enumerating" class constructors:
[OWL exercises: 8) equivalence and automated subsumption/classification]
Differently from other conceptual modelling languages, OWL allows to state formal equivalence between two classes. Equivalence works implictly with class constructors (ontology APIs generate internal classes that are equivalent to class constructors), but equivalence can be stated explictly.
---> Let's create a new ontology "Cetaceans"
[OWL exercises: 9) symmetry and transitivity]
Object properties can be symmetric, or transitive. "Sibling" is an example of both symmetric and transitive object property.
[OWL exercises: 10) imports]
Solutions: