34
Introduction to Ontology Engineering with Fluent Editor 2014 An introductory course for Ontology Engineering using Controlled Natual Language © 2014 Cognitum. All rights reserved.

Introduction to Ontology Engineering with Fluent Editor 2014

Embed Size (px)

Citation preview

Page 1: Introduction to Ontology Engineering with Fluent Editor 2014

Introduction to Ontology Engineering

with Fluent Editor 2014

An introductory course for Ontology Engineering using

Controlled Natual Language

© 2014 Cognitum. All rights reserved.

Page 2: Introduction to Ontology Engineering with Fluent Editor 2014

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)

Page 3: Introduction to Ontology Engineering with Fluent Editor 2014

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

Page 4: Introduction to Ontology Engineering with Fluent Editor 2014

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

Page 5: Introduction to Ontology Engineering with Fluent Editor 2014

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.

Page 6: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

FluentEdior Interface (1)

Taxonomy Tree derived fromthe knowledge entered in CNL interface

CNL Interface for interaction with a user

Page 7: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

FluentEdior Interface (2)

Reasoner Interfacefor quering questionsin CNL

Page 8: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

FluentEdior Interface (3)

XML Preview for previewing a CNL sentence in an XML format.

Page 9: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

Page 10: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

Page 11: Introduction to Ontology Engineering with 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

Page 12: Introduction to Ontology Engineering with Fluent Editor 2014

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.

Page 13: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

Property Names

OWL: isPartOf → FE CNL: be-part-of OWL: hasBirthDate → FE CNL: have-birth-date

Page 14: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

Ontology & References

Page 15: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

Page 16: Introduction to Ontology Engineering with 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.

Page 17: Introduction to Ontology Engineering with Fluent Editor 2014

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.

Page 18: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

Defining Facts – Properties(roles)

Single fact

… and one more

Tom is-a-child-of Mike.

Poland has-capital Warsaw.

Page 19: Introduction to Ontology Engineering with Fluent Editor 2014

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.

Page 20: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

Page 21: Introduction to Ontology Engineering with 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”

Page 22: Introduction to Ontology Engineering with Fluent Editor 2014

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

Page 23: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

Page 24: Introduction to Ontology Engineering with 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>.

Page 25: Introduction to Ontology Engineering with Fluent Editor 2014

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.

Page 26: Introduction to Ontology Engineering with Fluent Editor 2014

Fluent Editor™ 2014

Page 27: Introduction to Ontology Engineering with 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.

Page 28: Introduction to Ontology Engineering with Fluent Editor 2014

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.

Page 29: Introduction to Ontology Engineering with Fluent Editor 2014

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.

Page 30: Introduction to Ontology Engineering with Fluent Editor 2014

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

Page 31: Introduction to Ontology Engineering with Fluent Editor 2014

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)

Page 32: Introduction to Ontology Engineering with Fluent Editor 2014

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

Page 33: Introduction to Ontology Engineering with Fluent Editor 2014

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

Page 34: Introduction to Ontology Engineering with Fluent Editor 2014

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.