Transcript
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.


Top Related