An introductory course for Ontology Engineering using Controlled Natural Language. Fluent Editor (FE) is an ontology editor that is a tool for editing and manipulating ontologies. The main feature of Fluent Editor is that it uses controlled natural language (CNL) to communicate with a user. Communication with CNL is a more suitable for human users alternative to XML-based OWL editors.
2. Fluent Editor™ 2014
Semantic web
Semantic web is…
… a web of Linked Data
Linked Data ...
… is a structered data format –
Web Ontology Language (OWL)
in RDF format
… - machines can understand it
and reason about it (formal logic)
… is linked to other data (your
data refres to some other
ontologies, people can refer to
yours)
3. Fluent Editor™ 2014
Ontology
Ontology ...
… is a formal description of a
domain of knowledge (university
education)
… lists most important concepts
(staff, student) and instances
(Prof. Smith, Student John)
… describes relationships
between objects (Prof. Smith
teaches John, requirements for
obtaining a diploma)
… typically is written in Web
Ontology Language (OWL) RDF
format
4. Fluent Editor™ 2014
Fluent Editor (FE)
FE is..
An ontology editor for editing
and manipulating ontologies.
FE supports..
Controlled Natural Languge
interface + Predictive Editor.
Knowledge representation for
semantic technologies :
formal logic, OWL 2, RDF, SWRL
Reasoning engine : HermiT
5. Fluent Editor™ 2014
Controlled Natural Language in FE
CNL is a subset of natural language with restricted grammar and vocabulary
in order to reduce the ambiguity and complexity inherent in full natural language.
Ontology OWL 2 + SWRL Controlled English in FluentEditor
Ontorion Controlled Natural Language (OCNL) in Fluent Editor is automatically
translated into and from description logic, OWL 2, SWRL.
6. Fluent Editor™ 2014
FluentEdior Interface (1)
Taxonomy Tree derived from
the knowledge entered in CNL interface
CNL Interface for interaction with a user
11. Fluent Editor™ 2014
Concept/Class Definition (1)
young-male-man very-beautiful-girl
Class identifiers start with a small letter and use dashes
between words.
All standard OWL class identifiers are transformed in this rule.
ex) OWL: VeryBeautifulGirl → FE CNL: very-beautiful-girl
12. Fluent Editor™ 2014
Instances
John is a person.
Instance identifier = each part starts with a capital letter
and they are separated with dashes.
John-Dow Tanker-Accident-X
OWL: JohnDow → FE CNL: John-Dow
THE-”K22 P2”
To specify the instance of a concept, class assertion is enough.
13. Fluent Editor™ 2014
Property Names
OWL: isPartOf → FE CNL: be-part-of
OWL: hasBirthDate → FE CNL: have-birth-date
16. Fluent Editor™ 2014
Concept Subsumption
Every boy is a young-male-man.
Saying that one concept subsumes the other we define
IS-A/taxonomic relation and a concept hierarchy.
17. Fluent Editor™ 2014
Value Partition / Disjoint Union
Something is a person if-and-only-if-it-either is a
child, is a young-thing, is a middle-age-thing or
is an old-thing.
A disjoint union axiom states that a class C is a disjoint union
of the class expressions CEi , 1 ≤ i ≤ n, all of which are pairwise
disjoint.
18. Fluent Editor™ 2014
Defining Facts – Properties(roles)
Single fact
… and one more
Tom is-a-child-of Mike.
Poland has-capital Warsaw.
19. Fluent Editor™ 2014
Defining Facts – Property(role) Restrictions
Existential role restrictions
Universal role restrictions
Every person is-a-child-of
a parent.
Every person is-a-child-of
nothing-but parents.
These restrictions are complementary to each other.
However, they do not imply each other.
Something is a happy-person if-and-only-if-it
has-child a happy-person and has-child
nothing-but happy-persons.
24. Fluent Editor™ 2014
Semantic Rules Schema
SWRL: antecedent (body) → consequent (head)
FE : If <antecedant> then <consequent>.
„Whenever the conditions specified in the antecedent hold, then
the conditions specified in the consequent must also hold”
FE : If <clause> [and <clause>]*
then <consequent-clause> [and <consequent-clause>]*.
If a person is-year-old greater-or-equal-to 18 then the person is an adult-person.
Language Rules
SWRL antecedent (body) → consequent (head)
FE If <antecedant> then <consequent>.
25. Fluent Editor™ 2014
Variables in Semantic Rules
Variables in semantic rules :
• a/the class-name
• a/the thing
• a/the class-name (n) : If more variables of the same type to
come, mark them in different numbers in parenthesis.
If a person(1) has-parent a person(2) and the person(2) is a female-person then
the person(1) has-mother the person(2).
If a patient has-tumor-rupture Not-Specified then the patient has-risk-group
Risk-Group-Tn.
If a thing is a person then the thing has-name (some string value).
If a thing (1) hosts a thing(2) and the thing(2) hosts an application then the
thing(1) hosts the application.
27. Fluent Editor™ 2014
Instances & Property Assertions
Server-1 is a server.
Server-2 is a server.
Virtual-Machine-1 is a virtual-machine and is-running-on Server-1.
Virtual-Machine-1 hosts Application-1.
Virtual-Machine-2 is a virtual-machine and is-running-on Server-2.
Virtual-Machine-2 hosts Application-2.
Server-1 has-ip-address equal-to '173.194.70.102'.
Server-1 has-ip-address equal-to '173.194.70.103'.
Server-1 has-ip-address equal-to '173.194.70.104'.
Server-2 has-ip-address equal-to '206.109.36.45'.
Application-1 is an application that serves Customer-1 and serves Customer-2.
Application-2 is an application that serves Customer-3.
Application-1 has-name equal-to 'Fluent Editor'.
Application-1 has-name equal-to 'Fluent Editor 2014'.
Application-2 has-name equal-to 'Ontorion'.
Customer-1 is a customer and has-severity Critical.
Customer-2 is a customer and has-severity Medium.
Customer-3 is a customer and has-severity Low.
28. Fluent Editor™ 2014
Property Axioms
Something is a severity if-and-only-if-it is either Critical or Medium or Low.
Something is a priority if-and-only-if-it is either Critical or Medium or Low.
Every-single-thing that has-reported-date (some datetime value) is an incident.
Every-single-thing that was-reported-by something is an incident.
Every-single-thing was-reported-by nothing-but operators.
Part-2:'Incidents'.
Incident-1 has-reported-date equal-to 2014-09-01 and is reported by Operator-1.
Incident-1 affects Server-1.
Incident-2 has-reported-date equal-to 2014-09-09 and is reported by Operator-1.
Incident-2 affects Application-2.
29. Fluent Editor™ 2014
Semantic Rules
Questions:
• Who-Or-What reports Incident-1 ?
• Who-Or-What is affected by Incident-1 ?
• Who-Or-What is affected by something that is reported by Operator-1 ?
• Who-Or-What serves something that has-severity Critical ?
• Who-Or-What affects something that serves something that has-severity Critical ?
If the incident affects a server and a virtual-machine is-running-on the server
and the virtual-machine hosts an application then the application is affected by
the incident and the virtual-machine is affected by the incident.
If an incident affects a virtual-machine and the virtual-machine hosts an
application then the application is affected by the incident.
If an application is affected by the incident and the application serves a
customer and the customer has-severity a severity then the incident has-priority
the severity.
30. Fluent Editor™ 2014
How to build ontology
Start simple
… what are the most important
concepts?
… what are the relations
between these concepts?
… what knowledge should be
inferred (add rules)?
Think big
… Search in the Linked Open
Vocabularies to find the more
common vocabularies
31. Fluent Editor™ 2014
Referencing – pros & cons
Cons
…be careful when using other
ontologies, check the source and
check that it is working correctly
(e.g. QUDT)
… do not be tempted to model a
world when defining music
genres (BBC ontologies)
… do not reference ontology too
big for your machine (SNOMED)
Pros
… you can obtain reliable
properties of chemical
compounds (RSC ontologies)
… your knowledge will be
updated (DBpedia)
… your ontology will share a
common context (DC ontology)
32. Fluent Editor™ 2014
Performance matters
To improve performance…
… think what are the typical questions to your ontology
… think what facts will typically be reasoned in your
ontology
… use OWL profiles: OWL RL, OWL EL
OWL profile is a subdialect of full OWL DL – it uses fewer
types of statements and rules, but gives better
guarantees on performance
33. Fluent Editor™ 2014
Further learning
If you are interested, you can:
• Download free (for non-commercial use) version of FluentEditor from page
http://www.cognitum.eu/semantics/FluentEditor/
• Build your own ontology of a chosen topic
• Try to add references to some datasets that will give context to your ontology
(good start: Dublin Core (DC) ontology or HCLS/POMROntology – Problem-
Oriented Medical Record Ontology
• Explore DBpedia (semantic Wikipedia) with Fluent Editor - download file
DBpedia Ontology T-BOX (Schema) from http://wiki.dbpedia.org/services-
resources/ontology
• Stay tuned with techblog.cognitum.eu
34. Fluent Editor™ 2014
Fluent Editor http://www.cognitum.eu/Semantics/FluentEditor/
Ontorion Server http://www.cognitum.eu/Semantics/Ontorion/
Cognitum Technology Blog http://techblog.cognitum.eu
Cognitum | PL, Warsaw
office@cognitum.eu
+48 22 250 2541
www.cognitum.eu/semantics
The fragment of Linked Open Data cloud diagram
has been taken from http://lod-cloud.net/
Pictures that visualize the presented axioms are done
with the use of OWLGred editor and Protege.
Some examples are taken from OWL 2 primer:
http://www.w3.org/TR/2012/REC-owl2-primer-20121211
The company, product and service names used in this web site are for identification purposes only.
All trademarks and registered trademarks are the property of their respective owners.