introduction to ontology engineering with fluent editor 2014
TRANSCRIPT
Introduction to Ontology Engineering
with Fluent Editor 2014
An introductory course for Ontology Engineering using
Controlled Natual Language
© 2014 Cognitum. All rights reserved.
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 itand reason about it (formal logic)
… is linked to other data (yourdata refres to some otherontologies, people can refer to yours)
Fluent Editor™ 2014
Ontology
Ontology ... … is a formal description of a
domain of knowledge (universityeducation)
… lists most important concepts(staff, student) and instances(Prof. Smith, Student John)
… describes relationshipsbetween objects (Prof. Smithteaches John, requirements for obtaining a diploma)
… typically is written in Web Ontology Language (OWL) RDF format
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
Fluent Editor™ 2014
Controlled Natural Language in FECNL 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.
Fluent Editor™ 2014
FluentEdior Interface (1)
Taxonomy Tree derived fromthe knowledge entered in CNL interface
CNL Interface for interaction with a user
Fluent Editor™ 2014
FluentEdior Interface (2)
Reasoner Interfacefor quering questionsin CNL
Fluent Editor™ 2014
FluentEdior Interface (3)
XML Preview for previewing a CNL sentence in an XML format.
Fluent Editor™ 2014
Fluent Editor™ 2014
Fluent Editor™ 2014
Concept/Class Definition (1)
young-male-man very-beautiful-girl
Class identifiers start with a small letter and use dashesbetween words.
All standard OWL class identifiers are transformed in this rule.
ex) OWL: VeryBeautifulGirl → FE CNL: very-beautiful-girl
Fluent Editor™ 2014
Instances
John is a person.
Instance identifier = each part starts with a capital letterand 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.
Fluent Editor™ 2014
Property Names
OWL: isPartOf → FE CNL: be-part-of OWL: hasBirthDate → FE CNL: have-birth-date
Fluent Editor™ 2014
Ontology & References
Fluent Editor™ 2014
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.
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 unionof the class expressions CEi , 1 ≤ i ≤ n, all of which are pairwisedisjoint.
Fluent Editor™ 2014
Defining Facts – Properties(roles)
Single fact
… and one more
Tom is-a-child-of Mike.
Poland has-capital Warsaw.
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-ithas-child a happy-person and has-child nothing-but happy-persons.
Fluent Editor™ 2014
Fluent Editor™ 2014
Data Property Assertions
John has-name equal-to 'John'.
Lenka borns-on-date equal-to 1975-11-10.
Tanker-Accident has-time equal-to 2013-07-08T09:30:40.40. hasTime=“2013-07-08T09:30:40.40”
Fluent Editor™ 2014
Data Property Domain & Range
Every-single-thing that has-name (some value)is a person.
Every-single-thing has-name nothing-but (some string value).
Keywords for date property values • (some value) : equivalent to rdfs:Literal• (some string value) : xsd:string• (some integer value) : xsd:int• (some boolean value) : xsd:boolean• (some real value) : xsd:double• (some datetime value) : xsd:datetime
Fluent Editor™ 2014
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>.
Fluent Editor™ 2014
Variables in Semantic RulesVariables 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.
Fluent Editor™ 2014
Fluent Editor™ 2014
Instances & Property AssertionsServer-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.
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.
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 bythe incident and the virtual-machine is affected by the incident.
If an incident affects a virtual-machine and the virtual-machine hosts anapplication then the application is affected by the incident.
If an application is affected by the incident and the application serves acustomer and the customer has-severity a severity then the incident has-priority the severity.
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
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 musicgenres (BBC ontologies)
… do not reference ontology toobig for your machine (SNOMED)
Pros … you can obtain reliable
properties of chemicalcompounds (RSC ontologies)
… your knowledge will be updated (DBpedia)
… your ontology will share a common context (DC ontology)
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 yourontology
… use OWL profiles: OWL RL, OWL EL
OWL profile is a subdialect of full OWL DL – it uses fewertypes of statements and rules, but gives betterguarantees on performance
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
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, [email protected]
+48 22 250 2541www.cognitum.eu/semantics
The fragment of Linked Open Data cloud diagramhas 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.