introduction to ontology engineering with fluent editor 2014
Post on 20-Jan-2017
1.680 Views
Preview:
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, Warsawoffice@cognitum.eu
+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.
top related