ontology engineering in uml: best practices & lessons ... · an ontology . is a specification...

115
+ Ontology Engineering in UML: Best Practices & Lessons Learned of a Working Ontologist Elisa Kendall Thematix Partners LLC OMG Technical Meeting, 19 March, 2013

Upload: others

Post on 13-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

+

Ontology Engineering in UML: Best Practices & Lessons Learned of a Working Ontologist

Elisa Kendall Thematix Partners LLC OMG Technical Meeting, 19 March, 2013

Page 2: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

2

+

Mars was photographed by the Hubble Space Telescope in August 2003 as the planet passed closer to Earth than it had in nearly 60,000 years. Image Credit: NASA, J. Bell (Cornell U.) and M. Wolff (SSI)

A sunset on Mars creates a glow due to the presence of tiny dust particles in the atmosphere. This photo is a combination of four images taken by Mars Pathfinder, which landed on Mars in 1997. Image credit: NASA/JPL

Recent images from instruments on board the Mars Reconnaissance Orbiter take much more detailed, narrower views of specific features of the Martian surface. Image credit: NASA/JPL

The Planetary Data Store (PDS) is a distributed repository of 40+ years’ imagery & data taken by a range of instruments on many diverse missions, available for scientific

research.

Content management

Copyright © 2013 Thematix Partners LLC

2

Page 3: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

3

+

Provenance/sources for tracking family members in the 19th century include early census data (often error prone), military records, passenger & immigration lists, online documents (e.g., county histories, church histories, etc.)

• Historical/forensic research requires cross-domain search of a wide variety of resources within a given geo-spatial/temporal context

• Similar capabilities are essential for business intelligence, law enforcement, government applications – all require terminology reconciliation

Smart search

3

Copyright © 2013 Thematix Partners LLC

Page 4: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

4

+ Merchandising

4

“Comfort-Oriented”

Flight

Attribute 1 Attribute 2 Leg Room Attribute 4 Attribute 5 Attribute 5 On-Off Access Attribute 7 Attribute 8 Attribute 9 Media Options Attribute 11 Attribute 12 Meal Options Attribute 14 Attribute 15 Time of Day Attribute 17 Attribute 18 Distance to Gate Attribute 20 Attribute 21 Flight Characteristics Attribute N …

Copyright © 2013 Thematix Partners LLC

Presenter
Presentation Notes
Suppliers can merchandise offerings in innovative ways, unique to the brand, that better fit customer needs and desires and differentiate from the competition. Take for example an airline wishing to allow the customer to search for “comfort oriented flights” that use certain attributes of the flight to create “synthetic categories” of availability. Here, key attributes such as leg room, media options, and other facts create a class of availabilities that offer greater comfort. One can imagine other ‘synthetic search’ scenarios, such as “disability friendly,” “commuter friendly,” “easiest connections” and the like.
Page 5: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

5

+ Search Engine Optimization

5

Use search engines as a front door to transaction

Dramatically increase relevance by inclusion of more meaningful, synonymic tags

Enrich search results, adding ratings, video, prices, avails, amenities, locality etc.

Copyright © 2013 Thematix Partners LLC

Presenter
Presentation Notes
Enhance search across many search engines at once. Control the quality and criteria for relevance. Avoid the expense, upkeep and currency issues of intermediaries. As search engine functionality extends, take advantage of transactional as well as descriptive aspects of search results. Hilton could provide same as Pegasus. One point of leverage is semantics disintermediates aggregators. Ability to produce many more meaningful description tags – synonyms – that enhance relevance. -- provide results from Bing, Yahoo and Google as illustration -- not as good as it can be: we need to mock-up something even better.
Page 6: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

6

+ Tutorial Outline

Introduction to Knowledge Representation

OWL Basics & Using UML /ODM for Modeling OWL Ontologies

Putting it all together

6

Copyright © 2013 Thematix Partners LLC

Page 7: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

7

+ Part 1: Introduction to Knowledge Representation

A little background and a few definitions

Layers of abstraction & conceptual modeling

Classifying ontologies

A little methodology

7

Copyright © 2013 Thematix Partners LLC

Page 8: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

8

+ Historical Context

Knowledge Representation Cross-disciplinary field with historical roots in philosophy, linguistics,

computer science, and cognitive science

Goal is to represent the meaning of knowledge unambiguously, so that it can be understood, shared, and used by computational agents acting on behalf of people to accomplish some task

Plato and Aristotle at the School of Athens, by Raphael

Philosophical origins Socrates questioning, Plato’s studies of epistemology –

the nature of knowledge

Aristotle’s shift to terminology, development of logic as a precise method for reasoning about knowledge

Arguments for the existence of God dating back to Anselm of Canterbury

Medieval theories of reference and of mental language, Scholastic logic

8

Copyright © 2013 Thematix Partners LLC

Page 9: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

9

+ Historical Context

“Brain Cells for Grandmother” Neuroscientists continue to debate today how we store

memories One theory, documented as recently as this month in a

Scientific American article, suggests that single neurons hold our memories, as concept cells

“Each concept – each person or thing in everyday experience – may have a set of corresponding neurons assigned to it” Rodrigo Quian Quiroga, Itzhak Fried and Christof

Koch, February 2013 issue, Scientific American “…a relatively few neurons, numbering in the thousands

or perhaps even less, constitute a “sparse” representation of an image.”

“ Our brain may use a small number of concept cells to represent many instances of one thing as a unique concept – a sparse and invariant representation … What is important is to grasp the gist of particular situations involving persons and concepts that are relevant to us, rather than remembering an overwhelming myriad of meaningless detail.”

“The full recollection of a single memory episode requires links between different but associated concepts … If two concepts are related, some of the neurons encoding one concept may also fire to the other one.”

9

Copyright © 2013 Thematix Partners LLC

Visual perception - Neural coding from the University of Leicester, Department of BioEngineering

Page 10: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

10

+

An ontology is a specification of a conceptualization. – Tom Gruber

Knowledge engineering is the application of logic and ontology to the task of building computable models of some domain for some purpose. – John Sowa

Artificial Intelligence can be viewed as the study of intelligent behavior achieved through computational means. Knowledge Representation then is the part of AI that is concerned with how an agent uses what it knows in deciding what to do. – Brachman and Levesque, KR&R

Knowledge representation means that knowledge is formalized in a symbolic form, that is, to find a symbolic expression that can be interpreted. – Klein and Methlie

The task of classifying all the words of language, or what's the same thing, all the ideas that seek expression, is the most stupendous of logical tasks. Anybody but the most accomplished logician must break down in it utterly; and even for the strongest man, it is the severest possible tax on the logical equipment and faculty. – Charles Sanders Peirce, letter to editor B. E. Smith of the Century Dictionary

Definitions

10

Copyright © 2013 Thematix Partners LLC

Page 11: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

11

+ What is an Ontology?

An ontology specifies a rich description of the

Terminology, concepts, nomenclature

Properties explicitly defining concepts

Relations among concepts (hierarchical and lattice)

Rules distinguishing concepts, refining definitions and relations (constraints, restrictions, regular expressions)

relevant to a particular domain or area of interest.

11

Copyright © 2013 Thematix Partners LLC

Page 12: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

12

+ Logic and Ontology

Predicate logic is harder to read than the original English, but is more precise: Every semi-trailer truck has at least 3 axles.

(∀ x)(((SemiTrailerTruck(x) ∧ (∃ y)(SemiTrailer(y) ∧ (hasPart (x,y))) ∧

(SemiTrailerTruck(x) ∧ (∃ z)(TractorUnit(z) ∧ (hasPart (x,z)))) ⊃ (∃ s)(set(s) ∧ (count(s,(≥3)) ∧ (∀ w)(member(w,s) ⊃ (Axle(w) ∧ hasPart(x,w))) )).

Logic is a simple language with few basic symbols.

The level of detail depends on the choice of predicates – these predicates represent an ontology of the relevant concepts in the domain.

Different choices of predicates represent different ontological commitments.

* Derived from Knowledge Representation: Logical, Philosophical, and Computational Foundations, John F. Sowa, Brooks/Cole, Pacific Grove, CA, 2000.

12

Copyright © 2013 Thematix Partners LLC

Page 13: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

13

+

Ontologies provide a common vocabulary for use by independently developed resources, processes, services

Agreements among organizations sharing common services can be made with regard to their usage; the meaning of relevant concepts can be expressed unambiguously

By composing / mapping ontologies and mediating terminology across participating events, resources and services, independently-developed services can work together to share information and processes consistently, accurately, and completely

Ontologies also ensure

Valid conversations among agents to collect, process, fuse, and exchange information

Accurate searching by ensuring context using concept definitions and relations instead of/in addition to statistical relevance of keywords

Ontology-based Technologies

13

Copyright © 2013 Thematix Partners LLC

Page 14: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

14

+ Features of KR languages

Vocabulary – a collection of symbols Domain-independent logical symbols (e.g., ∀ or ⊃) Domain-dependent constants, identifying individuals, properties, or

relations in the application domain or universe of discourse Variables, whose range is governed by quantifiers Punctuation that separates or groups other symbols

Syntax – formation rules that determine how symbols can be combined in well-

formed expressions

rules may be stated in a linear grammar, graph grammar, or independent abstract syntax

Semantics – a theory of reference that determines how the constants and variables

are associated with things in the universe of discourse

a theory of truth that distinguishes true statements from false statements

Rules of Inference – rules that determine how one pattern can be inferred from another

if the logic is sound, the rules of inference must preserve truth as determined by the semantics

14

Copyright © 2013 Thematix Partners LLC

Page 15: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

15

+ Logic Logics vary from classical FOL along six dimensions: Syntax Subsets limit permissible operators or combinations, e.g., propositional logic

(without quantifiers), Horn-clause (excludes disjunctions in conclusions, such as Prolog), terminological or definitional logics (containing additional restrictions, e.g., description logics)

Proof Theory restricts or extends permissible proofs: • Intuitionistic logic and relevance logic rule out certain extraneous information

• Non-monotonic logics allow introduction of default assumptions

• Access-limited logic restricts the number of times a proposition can be used in a proof; Linear logic allows a proposition to be used only once

• Modal logic incorporates modal auxiliaries (◊p means p is possibly true; �p means p is necessarily true), temporal logic extends model logic to include always, sometimes

• Intensional logics express concepts such as need, ought, hope, fear, wish, believe, know, expect, and intend

Model Theory modifies the truth value of statements in terms of some model of the world: classical FOL is two-valued; a three-valued logic introduces unknowns; fuzzy logic uses the same notation as FOL but with an infinite range of certainty factors (1.0 to 0.0)

Ontology – frameworks may include support for built-in components, such as set theory or time

Meta-language – language for encoding information about objects

15

Copyright © 2013 Thematix Partners LLC

Page 16: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

16

+ Description logic

A family of logic-based Knowledge Representation formalisms Descendants of semantic networks and KL-ONE Describe domain in terms of concepts (classes), roles (relationships), and

individuals (instances)

Distinguished by Formal semantics

• Decidable fragments of FOL • Closely related to Propositional, Modal, and Dynamic Logics

Provision of inference services • Sound and complete decision procedures for key problems • Implemented systems (highly optimized)

Applications include Configuration – product configurators, consistency checking, constraint

propagation, first significant industrial application (e.g., CLASSIC)

Ontologies – ontology engineering (design, maintenance, integration), reasoning with ontology-based mark-up, service description and discovery

Databases – consistency of conceptual schemata, schema integration, query subsumption (w.r.t. conceptual schemata)

16

Copyright © 2013 Thematix Partners LLC

Page 17: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

17

+

An ontology is a conceptual model of some aspect of a particular universe of discourse (or of a domain of discourse)

Typically, ontologies contain only “rarified” or “special” individuals, metadata, representing elemental concepts critical to the domain

A knowledge base is a persistent repository for Ontology & metadata representing individuals, facts, & rules about how they

can be combined or relate to one another

Metadata, facts & rules only – in some applications and frameworks the ontology is separately maintained

Most inference engines require in-memory deductive databases for efficient reasoning (including commercially available reasoners)

A knowledge base may be implemented in a physical, external database, such as a relational database, but reasoning is typically done on a subset (partition) of that knowledge base in memory

Knowledge bases, databases, & ontology

17

Copyright © 2013 Thematix Partners LLC

Page 18: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

18

+

Reasoning is the mechanism by which the assertions made in an ontology and related knowledge base are evaluated by an inference engine.

In classical logic, the validity of a particular conclusion is retained even if new information is received.

This may change if some of the preconditions are actually hypothetical assumptions invalidated by the new information.

The same idea applies for arbitrary actions – new information can make preconditions invalid.

Generally, there are two issues that a reasoner must address: If some conclusion is invalid, which other conclusions are also invalid? If some action cannot be performed, which others are at risk?

The “housekeeping” associated with tracking the threads that support answering these questions is called truth maintenance.

Reasoning & Truth Maintenance

18

Copyright © 2013 Thematix Partners LLC

Page 19: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

19

+

If all new information is “positive”, then all prior conclusions should remain valid.

Problems arise if new information negates a prior assumption, causing it to be withdrawn.

What does it mean to negate (withdraw) an assumption? Conclusive information is not available? The assumption cannot be proven? The assumption is not provable using certain methods? The assumption is not provable given a fixed quantity of time?

The answers to these questions can result in different definitions of negation and differing interpretations by non-monotonic reasoners.

Solutions include chronological and “intelligent” backtracking algorithms, heuristics, circumscription algorithms, justification or assumption based retraction, and so forth, depending on the reasoner and methods used for truth maintenance.

Reasoning efficiency is dependent, in part, on the algorithms applied for truth maintenance.

Negation

19

Copyright © 2013 Thematix Partners LLC

Page 20: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

20

+ Explanations and Proofs

When a reasoner draws a particular conclusion, many users and applications want to understand why?

Primary motivations include interoperability, reuse, and trust

Understanding the provenance of the information and results is crucial, especially when web-based information is involved What information sources were used (source)

How recently they were updated (currency)

How reliable these sources are (authoritativeness)

Was the information directly available or derived, and if derived, how (method of reasoning)

Methods used to explain why a reasoner reached a particular conclusion include explanation generation and proof specification

20

Copyright © 2013 Thematix Partners LLC

Page 21: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

21

+ Analysis approaches

Definitions range from high-level mind mapping and brainstorming … to detailed collaboration, dialog, and information modeling to support knowledge sharing

Tools are equally diverse, from inexpensive brainstorming tools to sophisticated ontology and software model development environments

Common capabilities include

“drawing a picture” that includes concepts and relationships between them

producing sharable artifacts, that vary depending on the tool – often including web sharable drawings

21

Copyright © 2013 Thematix Partners LLC

Page 22: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

22

+

Knowledge Representation / Management for Large Scale Applications Provide broad metadata, process, service & asset management facilities (including

feedback/lessons learned…)

Enable rich cross-domain, cross-process, cross organizational modeling supported by mapping & transformation services to provide maximum flexibility, interoperability

Leverage standards and best practices in information architecture, metadata modeling, management, registration, and governance, and asset management & registration

Provide incremental reasoning capabilities for model validation, transformation services

Repeatable, reusable, interoperable

Contextual • Identify subject areas

Conceptual • Define the meaning of things in the organization

Logical • Describe the logical representation of properties

Physical • Describe the physical means by which data is stored

Definition • Represent the coding language on a specific development platform

Instance • Hold the values of the properties applied to the data in a schema

Ontology

Ontology, Conceptual ER, Conceptual Business Process …

ER, Relational, XML Schema

XML, source code, scripting languages, stored procedures…

Physical KBs, databases, asset repositories…

*Layering diagram courtesy Kenn Hussey

Abstraction Layers

22

Copyright © 2013 Thematix Partners LLC

Page 23: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

23

+ Hypothetical Conceptual Model “EU-Rent”

Produced using Embarcadero EA/Studio Business Modeler Edition, courtesy Kenn Hussey

23

Copyright © 2013 Thematix Partners LLC

Page 24: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

24

+ Hypothetical Logical Model “EU-Rent”

Produced using Embarcadero ER/Studio, courtesy Kenn Hussey

24

Copyright © 2013 Thematix Partners LLC

Page 25: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

25

+

Produced using Embarcadero ER/Studio, courtesy Kenn Hussey

Hypothetical Physical Model “EU-Rent”

25

Copyright © 2013 Thematix Partners LLC

Page 26: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

26

+ Classifying ontologies

Level of Complexity

Leve

l of

Expr

essi

vity

Simple Taxonomy Glossary

Topic Map Concept Map

Hierarchical Taxonomy

Entity – Relationship Model

Database Schema

OO Software Model

KR System

XML Schema

Classification techniques are as diverse as conceptual models; and generally include understanding

Level of Expressivity

Level of Complexity / Structure

Granularity

Target Usage, Relevance

Amount of Automation, Reasoning Requirements

Prescriptive vs. Descriptive / Reliability / Level of Authoritativeness

Design Methodology

Governance

Vocabulary Management, Metrics

26

Copyright © 2013 Thematix Partners LLC

Page 27: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

27

+ Framework of dimensions

Semantic Dimensions Expressiveness: represents how well a KR language addresses

increasingly complex semantics

Structure: represents how well an ontology encodes semantics, with the same or less expressivity than the KR language

Granularity: represents the level of detail specified in an ontology

Pragmatic Dimensions Intended use: the original use case(es), or purpose for developing a

particular ontology

Automated reasoning: the extent to which the ontology is designed to be used for automated reasoning

Prescriptive vs. Descriptive: the extent to which an ontology was intended to be used for descriptive purposes vs. normative prescriptive use (i.e., with high degree of concern for correctness)

Reference: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2007

27

Copyright © 2013 Thematix Partners LLC

Page 28: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

28

+ Considerations

Intended use of ontologies, including domain requirements (e.g., scientific and engineering apps require formulas, units of measure, computations that may be challenging to represent)

Intended use of KRSs that implement them, including reasoning requirements, questions to be answered

For distributed environments, the number and kinds of resources, processes, services requiring ontologies – how distributed, how unique, developed collaboratively or independently, dynamic community participation or static

What kinds of transformations are required among processes, resources, services to support semantic mediation

Ontology and KRS alignment / de-confliction / ambiguity resolution requirements

Ontology and KRS composition requirements, dynamic vs. static composition, in what environment and under what constraints

Performance, sizing, timing requirements of target environment

28

Copyright © 2013 Thematix Partners LLC

Page 29: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

29

+

Requirements, domain & use case analysis are critical Develop initial source/reference material Focus on system or application requirements Iterative development starting with a “thread” that covers basic

capabilities can ground the work and prioritize decisions

Need to understand and communicate Architectural trade-offs, cost & technical benefits The nature of the information & kinds of questions that need to be

answered drive the architecture, approach, and ontology scoping and design

Use discipline from formal domain analysis and use case development in UML to document and explain requirements identify requisite information sources and ontologies needed limit scope creep

Reuse standards and well-tested, available ontologies whenever possible

A little methodology …

29

Copyright © 2013 Thematix Partners LLC

Page 30: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

30

+ What to look for A controlled vocabulary

FAA & IATA airport codes, ACRISS car codes, …

A hierarchical or taxonomic structure (for query expansion) Vehicle, Ground-based Vehicle, Wheeled Vehicle, Powered Vehicle, Automobile,

Sedan…

Knowledge supporting structured queries Find all available hybrid SUVs or hybrid sedans that can seat four adults within a

reasonable taxi ride of Planet Hollywood, Las Vegas for 3-4 days the week of June 20th

Efficient inference (i.e., limited expressive power) vs. increased expressivity (potentially expensive or resource bounded computation)

Custom reasoning for temporal relations, geospatial, dynamic algorithm / equation evaluation, process-specific, conditional operations

Computational tractability

30

Copyright © 2013 Thematix Partners LLC

Page 31: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

31

+ Using use cases to gather requirements

A good summary for every use case should include: A description of the basic business requirement / need the use case is intended to support Primary goals Scope – identify any known boundaries as a starting point Pre-conditions and post conditions – any assumptions you know about the state of the

“system”/world before and after Actors and interfaces – identify primary actors, information sources, interfaces to existing or

new systems Triggers – what kicks off the use case, any particular series of events, situation, activity, etc., and

any that affect the flow Performance requirements – including any sizing or timing constraints, “ilities” , etc.

Outline the major process steps for both the “normal”, or primary scenario, and alternative flows, such as if things don’t go well

Use case and activity diagrams – typically done in UML, but could be visio, power point, or whatever tools your team is comfortable with

Usage scenarios – you should have at least two narrative “stories” that describe how one of the main actors would experience the use case, with the intent of identifying additional requirements

Competency Questions – identify as many of the questions you want the ontology / knowledge base to answer as possible

Resources – describe any known contributing knowledge bases, other external resources that will be participating in the use case to the degree possible

31

Copyright © 2013 Thematix Partners LLC

Page 32: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

32

+

General concepts as well as domain-specific knowledge

Basic starting point – cross-domain definitions Namespace definitions, metadata, naming conventions, governance policies Commonly used structures & vocabularies, such as domain-specific

vocabulary & messaging standards, international country & language codes (ISO), national postal addressing or other government standards, industry best practices

Common metadata for ontology & schema management (e.g., Dublin Core, for documents & models, ISO 1087 for synonyms & similar relations, MIME media types for images & multimedia, etc.)

Domain vocabularies must be prioritized, selected based on business requirements, clear ROI

Common early targets include Smart search (pull); customer experience & cross-sell / upsell (push) Richer interoperability among trading partners Service registration, description, discovery & management Asset/artifact repository search & retrieval Automated verification

Start with canonical definitions

32

Copyright © 2013 Thematix Partners LLC

Page 33: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

33

+

Layout a high-level architecture for key ontologies and ontology elements Identify the relationships among elements – roles, domain, interface,

process, utility Define an approach for gathering content from subject matter experts,

possibly based on IDEF5 (Integrated Definition Methods) Ontology Capture Method Analysis, that includes Understanding and documenting source materials An interview template Traceability back to your use cases

For each ontology element Describe its domain and scope, how it will be used Identify example questions and anticipated/sample answers for the application(s)

it will support Identify key stakeholders, ownership, maintenance, resources for instance

knowledge Describe anticipated reuse/evolution path Identify critical standards, resources that it must interoperate with, dependencies

Resources http://www.idef.com/IDEF5/html http://www.kbsi.com/technology/methods/sbont.htm

Capturing definitions

33

Copyright © 2013 Thematix Partners LLC

Page 34: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

34

+ Terminology analysis

ISO 704, Principles & Methods for Terminology Work, provides a methodology for describing concepts & terms Uses ISO 1087 for terminology

Uses ISO 860 for terminology “harmonization” (alignment) methods

Basis for typical methods used for taxonomy development today

Describes how to flesh out definitions Recommendations strategies for relating terms to one

another using standard vocabulary ISO 1087 – great resource for language to describe kinds of

relationships, acronyms & other designations, preferred vs. deprecated terms, etc.

ISO 860 augments this with recommendations for vocabulary comparison

34

Copyright © 2013 Thematix Partners LLC

Page 35: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

35

+ Modularity

Guidance on modularity is limited

When is any model “too big”?

Can individual parts evolve independently, and if so, shouldn’t that dictate module boundaries?

Can individual parts be used independently, and if so, shouldn’t that also dictate module boundaries?

For ontologies, particularly OWL ontologies, individuals should be managed separately from “schema” to facilitate reasoning during development (i.e., if you add an individual that creates a logical inconsistency, most reasoners won’t load the ontology at all)

Current practices in the semantic web community address modularity either statically or dynamically

Static approaches include adherence to “DL-Safe” rules and suggestions in papers by Alan Rector (University of Manchester)

Dynamic approaches include use of tools that can assist in determining whether or not an ontology is appropriately modularized, using reasoning to perform rewriting with respect to soundness and completeness for a given ontology

35

Copyright © 2013 Thematix Partners LLC

Page 36: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

36

+ Separation of concerns

Critical dimensions aid in determining module boundaries – separate business-related content from technical detail aspects of the business content, such as branding, from others

describing distribution rights separate disciplines into independent modules

Other considerations include separation based on back-end store / source repositories application boundaries, system interfaces distributed resources the need to reason over some parts of the knowledge base

but not others to answer sets of critical questions performance requirements, for reasoning, query answering,

etc. asserted vs. inferred content

36

Copyright © 2013 Thematix Partners LLC

Page 37: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

37

+ Key methodology issues

Naming conventions and versioning policies are critical for –every– organization Namespace definitions for ontologies are critical, along with policies for their

management that are well understood http://<authority>/<subdomain>/<topic>/<date, in YYYYMMDD

form>/filename.extension is common practice in some organizations, with use of GRDDL to support content negotiation to the latest version

Levels of hierarchy may be added for large organizations or modularized ontologies

Use “id.name.ext” or “ontology.name.ext” vs. “www.name.ext,” for the authority component of the URL is increasing in some communities

Namespace prefixes (abbreviations) for individual modules, especially where there are multiple modules, can be important

For model elements – These vary by “content community” – data modelers often use underscores at

word boundaries, spaces in names – which semantic web tools may not handle well, semantic web practitioners use camel case

Guidelines should be provided to development teams for naming classes or class-like elements (SBVR concepts), properties or property-like elements (SBVR roles, for example), individuals (objects in UML) so that conceptual models developed in UML or a UML profile can be exported consistently for reuse

37

Copyright © 2013 Thematix Partners LLC

Page 38: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

38

+ Best practices in namespace development

Availability – people should be able to retrieve a description about the resource identified by the URI from the network (albeit internally)

Understandability – there should be no confusion between identifiers for networked documents and identifiers for other resources URIs should be unambiguous URIs are meant to identify only one of them, so one URI can't stand for both a

networked document and a real-world object Separation of concerns in modeling “subjects” or “topics” and the objects in the

real world they characterize is critical, and has serious implications for designing and reasoning about resources

Simplicity – short, mnemonic URIs will not break as easily when shared for collaborative purposes, and are typically easier to remember

Persistence – once a URI has been established to identify a particular resource, it should be stable and persist as long as possible Exclude references to implementation strategies, as technologies change over

time (e.g., do not use ‘.php’ or ‘.asp’ as part of the URI scheme), and organization lifetime may be significantly shorter than that of the resource

Manageability – given that URIs are intended to persist, administration issues should be limited to the degree possible Some strategies include inserting the current year or date in the path so that URI

schemes can evolve over time without breaking older URIs Create an internal organization responsible for issuing and managing URIs, and

corresponding namespace prefixes

38

Copyright © 2013 Thematix Partners LLC

Presenter
Presentation Notes
distilled from several W3C notes and inspired, in part, by Tim Berners-Lee's article "Cool URIs don't change" [Cool, 1998; CoolURIs, 2008]
Page 39: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

39

+ Best practices in publishing vocabularies

Provide readable documentation, about the vocabulary or model, including the terms, their definitions, proper usage patterns and scenarios, and clear examples

Articulate your maintenance policies, so that those depending on the information model can understand how stable it is, how to provide feedback to its stewards, and so forth

Identify versions and allocate URIs to the unique information models so that they can be referenced Every version of a defined or imported XML schema module, information

model, document, etc., aside from locally defined, internal modules, must have a unique namespace.

This allows us to align schema versioning with namespace versioning, as appropriate for some applications.

Publish the formal schema (or ontology)

Provide a means for your community of users to provide feedback

39

Copyright © 2013 Thematix Partners LLC

Page 40: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

40

+ Model element naming

For naming entities in an ontology – there are some rules of thumb that vary by community of practice data modelers often use underscores at word boundaries, spaces

in names – which semantic web tools may not handle well (ok in labels)

some name properties <domain><predicate><range>, others <predicate><range>, & others <predicate>, but not necessarily consistently

semantic web practitioners typically use camel case; property naming varies by domain & community of practice

for very large ontologies, some use unique identifiers to name concepts and properties, with human readable names in labels only – depends on tooling that helps people interpret the content

The key is to establish & consistently use guidelines tailored to your organization

Guidelines for classes/concepts (e.g., OWL classes, CL names, SBVR concepts), properties (e.g., OWL properties, CL relations, functions, SBVR roles), individuals (objects in UML) – so that conceptual models developed in one tool can be exported consistently to other tools & formats essential

40

Copyright © 2013 Thematix Partners LLC

Page 41: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

41

+ Metadata for ontologies & elements

Metadata should be standardized at both the model level and the element level for every model (not just ontologies)

Model level metadata can reuse properties from the Dublin Core Metadata Terms, from the Simple Knowledge Organization System (SKOS), ISO 11179 Metadata Registry standard with ISO 1087 Terminology support, emerging W3C work on provenance and others

Most annotations should be optional at the element level, but a minimal set, including names, labels, and formal, text definitions, is important for reusability & collaboration

Consistent use of the same annotations (properties, tags) improves readability, facilitates automated documentation generation, and enables better search over ontology repositories

Model level metadata may reuse organization-specific taxonomies to enable better search through RDFa tagging, for example

Latest version of an OMG architecture board recommended vocabulary for specification metadata for use in OMG standards is available to members at http://www.omg.org/cgi-bin/doc?ab/2013-02-02

Specifications up for review at the OMG March Technical Meeting, in Reston, including the Information Exchange Framework (IEF) Packaging Policy Vocabulary (IEPPV) and Financial Industry Business Ontology (FIBO), use this

41

Copyright © 2013 Thematix Partners LLC

Page 42: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

42

+ Change management

Change management and traceability is not well defined at the element level for ontologies, still a research topic

Approach to element-level versioning to support reasoning is to track two parallel streams: one for additions to the ontology, one for retractions; often managed as two separate files

MOF versioning suggests linking to a workspace; use of a default workspace would get the latest version, and tools such as MagicDraw© can provide an indication of the differences

MOF versioning does not support reasoning about the differences so that users can determine the impact of applying the changes, which is frequently required in the semantic web community – addition or deletion of axioms can change downstream reasoning results, especially

where there are complex dependencies

Mechanisms that preserve the versioning detail in generated artifacts, such as RDF/XML serialized OWL, are essential Consider the use cases/justification for whatever level of versioning detail is

needed on a project by project basis

Balance with usability/performance

42

Copyright © 2013 Thematix Partners LLC

Page 43: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

43

+

A quick intro to RDF and RDF Schema

Basic constructs: descriptions & classes

Class expressions

Properties & restricting property values

Individuals & data ranges

Miscellaneous class axioms

New features of OWL 2

A few rules of thumb Depth vs. breadth, naming, synonymous terms Class vs. property value, class vs. individual Limiting scope

Motivation for using UML

Ontology development using the Ontology Definition Metamodel (ODM)

Relationships to other OMG & ISO Standards

Part 2: OWL Basics

43

Copyright © 2013 Thematix Partners LLC

Page 44: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

44

+

"The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation."

-- Tim Berners-Lee

Semantic Web

44

Copyright © 2013 Thematix Partners LLC

Page 45: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

45

+ Guiding Principles

Historically, knowledge representation and reasoning systems have operated under closed world assumptions

Uncertainty is magnified under open-world, “wild, wild web” conditions, making reasoning much more difficult

Semantic web languages are designed to support less certainty, to provide “better” search results, informed answers to questions, not absolutes

Because they are based on XML, such languages can assist businesses in leveraging existing investment in mark-up, content, and data To augment business intelligence/analysis and knowledge mining To support knowledge sharing and collaboration, augment enterprise

information integration Enrich web services and other applications Support policy-based applications and ensure compliance with policy

at a lower cost with higher potential ROI than traditional computing methods

45

Copyright © 2013 Thematix Partners LLC

Page 46: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

46

+

Describes relationships

Uses URIs used for naming

Language has graph based model RDF/XML serialization (exchange syntax) other presentation syntaxes (N3, Turtle, …)

Specification, W3C presentations, tools are available at Semantic Web: http://www.w3.org/standards/semanticweb/ Linked Data: http://www.w3.org/standards/semanticweb/data RDF: http://www.w3.org/standards/techs/rdf#w3c_all

RDF “next steps” revision working group is making specific enhancements, “fixes” to the standard

RDF Working Group: http://www.w3.org/2011/rdf-wg/wiki/Main_Page

Candidate Recommendation for a Turtle (Terse RDF Triple Language) specification – published 19 Feb 2013, at http://www.w3.org/TR/2013/CR-turtle-20130219/

Current Working Draft for RDF 1.1 Concepts and Abstract Syntax – published 15 Jan 2013, at http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/

Resource Description Framework (RDF)

46

Copyright © 2013 Thematix Partners LLC

Page 47: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

47

+

http://www.omg.org/news/meetings/tc/dc-13/TechnicalMeeting#Conference

http://www.omg.org/news/meetings/tc/dc-13/TechnicalMeeting#HyattRegencyReston

http://www.omg.org/news/meetings/tc/dc-13/TechnicalMeeting#heldAt Graph:

XML/RDF: <rdf:Description rdf:ID=“Conference"/> <omg-tm:heldAt rdf:resource="#HyattRegencyReston"/> </rdf:Description>

N3: omg-tm:Conference omg-tm:heldAt omg-tm:HyattRegencyReston .

Subject

Predicate

Object

RDF Notation Options

47

Copyright © 2013 Thematix Partners LLC

Page 48: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

48

+

An RDF vocabulary that provides for identifying:

classes,

subsumption (inheritance) relations for classes,

subsumption (inheritance) relations for properties,

domain and range for properties

RDF Schema (RDFS)

48

Copyright © 2013 Thematix Partners LLC

Page 49: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

49

+

Graph:

XML/RDF: <rdf:Description rdf:ID="Hotel"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> </rdf:Description> <rdfs:Class rdf:ID=“ConferenceHotel"> <rdfs:subClassOf rdf:resource="#Hotel"/> </rdfs:Class> <omg-tm:ConferenceHotel rdf:ID=“HyattRegencyReston“/>

RDF Schema (RDFS)

rdfs:Class

omg-tm:Hotel

omg-tm:ConferenceHotel

rdf:type rdfs:subClassOf

rdf:type

omg-tm:HyattRegencyReston

rdf:type

49

Copyright © 2013 Thematix Partners LLC

Page 50: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

50

+ The Web Ontology Language (OWL)

Two languages emerged in parallel to address semantic web requirements DAML-ONT, supported by the DARPA/DAML program OIL (Ontology Inference Layer) developed by EU & US researchers

Merged DAML+OIL was submitted to the W3C 2002, formed the basis for the WebOnt Working Group

OWL extends RDF Schema Has an RDFS based syntax and reuses some RDF vocabulary (e.g., subClassOf,

domain, range) Adds rich primitives and redefines others (transitivity, inverse, cardinality

constraints, complex class definitions)

Describes the structure of a domain in terms of classes and properties

Uses RDFS for class/property membership assertions (ground facts), XML Schema Datatypes

OWL specifications became W3C recommendations in February 2004

OWL 2 specifications was adopted in October 2009, with minor revisions in December 2012

50

Copyright © 2013 Thematix Partners LLC

Page 51: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

51

+ Describing classes

A class is a concept in the domain Vintage – a wine made from grapes grown in a specified year A set of characteristics (flavor, body, color, sugar…)

A class is a collection of elements with similar properties

White wine – wines made from white grapes

White table wine – wines made from white grapes that are not appellations or regional (not “quality wine” in the EU)

A class expression defines necessary conditions for membership (specific varietal, field, micro-climate, date picked, date bottled)

Instances of classes Daniel Gehrs 2009 Merlot Robert M. Parker, Jr,’s Wine Advocate review, dated February 28, 2002 Los Olivos, Santa Barbara County, California, USA

51

Copyright © 2013 Thematix Partners LLC

Page 52: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

52

+ Classes are organized into subclass-superclass (or

generalization-specialization) hierarchies

True subclass relationships are the basis of a formal is-a hierarchy Classes are “is-a” related if an instance of the subclass is an instance of

the superclass

is-a hierarchies are essential for classification

Violation of true is-a hierarchical relationships can have unintended consequences & and cause errors in reasoning

Class expressions should be viewed as sets, and subclasses as a subset of the superclass, in contrast with a collection of attributes as classes are sometimes specified in object oriented programming

Examples FloweringPlantType is a subclass of PlantType

Every flowering plant is a plant; every instance of a flowering plant (e.g., Azalea indica 'Alaska' (Rutherfordiana hybrid) is an instance of a flowering plant

Azalea is a subclass of FloweringPlantType, Rhododendron

Monrovia is a company that breeds, grows, and sells flowering plants

Class inheritance

52

Copyright © 2013 Thematix Partners LLC

* courtesy Monrovia web site

Page 53: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

53

+ Class expressions

53

6 primary kinds of class expressions in OWL

5 anonymous

Definitions can be nested using set-theoretic constructs Copyright © 2013 Thematix Partners LLC

Page 54: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

54

+ Example class hierarchy with other expressions

Example from ISO 1087 combining subclass-superclass and union expressions

Provides a more accurate representation of the relationships defined in the ISO standard than a strict is-a hierarchy would

54

Copyright © 2013 Thematix Partners LLC

Page 55: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

55

+ Example class hierarchy with other expressions

55

Copyright © 2013 Thematix Partners LLC

Page 56: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

56

+ Modeling considerations for class hierarchy development Practitioners tend to start Top-down - define the most general concepts first and then

specialize them Bottom-up - define the most specific concepts and then organize

them into more general classes Combination (typical – breadth at the top level and depth along a

few branches to test design)

Class inheritance is transitive A is a subclass of B (white wine, dessert wine are subclasses of

wine) B is a subclass of C (sauvignon blanc is a subclass of white wine,

late harvest wine is a subclass of dessert wine) therefore A is a subclass of C (late harvest sauvignon blanc is a

subclass of white wine, dessert wine, & wine) Start with a more formal is-a approach, tease out whether other

expressions are more appropriate based on use cases, formal definitions when available, etc.

56

Copyright © 2013 Thematix Partners LLC

Page 57: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

57

+

Subsumption (necessary) A ⊆ B where B

is a class description

partial or primitive class

Definition (necessary and sufficient) C ≡ D where D

is a class description

complete or defined class

A

B

C

D

Class axioms

57

Courtesy Evan Wallace, NIST

Copyright © 2013 Thematix Partners LLC

Page 58: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

58

+ Disjoint classes

A

B Classes are disjoint if they cannot have common instances

Disjoint classes cannot have any common subclasses

If winery and wine are disjoint, then there is no instance that is both a winery and a wine; there is no class that is both a subclass of winery and a subclass of wine

Disjointness is often used to aid consistency checking

Disjointness is also helpful in teasing out subtle distinctions among classes across multiple ontologies

Equivalence is also often used to identify the same concepts across ontologies that may be named differently, or to name classes defined through class axioms

58

Copyright © 2013 Thematix Partners LLC

Page 59: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

59

+ Properties

Properties describe characteristics, features, or attributes of the members of a class Every flowering plant has a bloom color, color pattern, flower form, petal

form, etc.

Classes of properties intrinsic: properties of the plant itself such as the optimal sunlight, soil

conditions, expected height, Sunset climate zone, and so forth extrinsic: properties imposed externally such as the grower and price whole-part relations geospatial, mereonomic relations: what microclimates are this plant well

suited to, where in a particular historic garden will you find it

Data and object properties simple attributes typically have primitive data values (e.g., strings,

numbers) complex properties refer to other entities (e.g., an individual grower,

such as Monrovia, or organization such as the American Orchid Society) OWL reasoning requires strict separation of data and object properties

59

Copyright © 2013 Thematix Partners LLC

Page 60: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

60

+ Properties in OWL 2

60

Copyright © 2013 Thematix Partners LLC

Page 61: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

61

+ Domain & range properties

In OWL and many other KR languages, relations (properties) are strictly binary

The domain & range represent the source & target arguments, respectively, for the property

Domain – the class (or classes) that may have the property − Wine is the domain of the property hasWineColor

Range – the class (or classes) defining valid property values − everything that fulfills the hasWineColor property is an instance of the enumerated class {red, white, rose}

Some KR languages that inherently support n-ary relations, such as CL, do not make this distinction More flexible, intuitively more like mathematics, where functions have

ranges (or return types) but not all relations are functions

Requires additional relations to specify argument order, which can be critical for ontology alignment

61

Copyright © 2013 Thematix Partners LLC

Page 62: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

62

+ Meta-properties – global cardinality restrictions

Functional

Inverse Functional

Domain

Domain

Range

Range

Courtesy Evan Wallace, NIST

62

Copyright © 2013 Thematix Partners LLC

Page 63: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

63

+ Class & property inheritance

A subclass inherits all the properties from its super class If a wine has a name and flavor, a red wine also has a name and flavor

If a class has multiple super classes, it inherits properties and restrictions from all of them Latin is both an individual language and an ancient language. It inherits “has

attested literature: true” from ancient language and “has indigenous name: lingua latina” from individual language

63

Copyright © 2013 Thematix Partners LLC

Page 64: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

64

+ Class expressions that restrict property values

Number restrictions describe or limit the number of possible values a particular property can have A language must be associated with at least one English name and at

least one French name

A language may be associated with zero or more Indigenous names

Cardinality – similar meaning to classical set theory, measures the number of elements in the set (restriction class) Cardinality – cardinality N means the class defined by the property

restriction must have exactly N values (individual or literal values)

Minimum cardinality - 1 means that there must be at least one value (required), 0 means that the value is optional

Maximum cardinality - 1 means that there can be at most one value (single-valued), N means that there can be up to N values (N > 1, multi-valued)

64

Copyright © 2013 Thematix Partners LLC

Page 65: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

65

+ Simple number restriction examples

Creating a class of individuals that have exactly one color & a class of individuals that have more than one color

Note that the relationship between SingleColoredThing and the restriction class is modeled as an equivalence relationship, meaning that membership in the restriction class is a necessary and sufficient condition for being a SingleColoredThing

65 <owl:ObjectProperty rdf:about="&re;hasColor"> <rdfs:range rdf:resource="&re;Color"/> <rdfs:domain rdf:resource="&re;ColoredThing"/> </owl:ObjectProperty> <owl:Class rdf:about="&re;Color"/> <owl:Class rdf:about="&re;ColoredThing"/> <owl:Class rdf:about="&re;MultiColoredThing"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="&re;hasColor"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality> </owl:Restriction> </owl:equivalentClass> </owl:Class> <owl:Class rdf:about="&re;SingleColoredThing"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="&re;hasColor"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </owl:equivalentClass> </owl:Class>

Copyright © 2013 Thematix Partners LLC

Page 66: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

66

+ Qualified cardinality number restriction example

OWL 2 provides the capability to further qualify cardinality by specific classes and data ranges

Patterns that reuse a smaller number of significant properties, building up more complex class expressions that limit the set of valid values are common, useful in complex classification systems

66

Copyright © 2013 Thematix Partners LLC

Page 67: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

67

+ Qualified cardinality number restriction example

<owl:ObjectProperty rdf:about="&re;hasCharacteristic"> <rdfs:range rdf:resource="&re;Characteristic"/> </owl:ObjectProperty> <owl:Class rdf:about="&re;BloomColor"> <rdfs:subClassOf rdf:resource="&re;Characteristic"/> <rdfs:subClassOf rdf:resource="&re;Color"/> </owl:Class> <owl:Class rdf:about="&re;Characteristic"/> <owl:Class rdf:about="&re;Color"/> <owl:Class rdf:about="&re;FloweringPlantType"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&re;hasCharacteristic"/> <owl:onClass rdf:resource="&re;BloomColor"/> <owl:minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minQualifiedCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

67

Copyright © 2013 Thematix Partners LLC

Page 68: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

68

+ Class expressions that restrict possible values by type

Universal (allValuesFrom) and existential (someValuesFrom) quantification allValuesFrom is the OWL equivalent for ∀(x), and restricts the possible

values for a property to members of a particular class or data range someValuesFrom is the OWL equivalent for ∃(x), and restricts the possible

values for a property to at least one member of a particular class or data range

Specific value (hasValue) restrictions a single data value (e.g., the color property for a RedWine must be filled

with the value “red”) an individual member of a class (e.g., Winery is the value restriction on

the hasMaker property on the class Wine)

Enumerations – lists of allowable individuals or data elements

Combinations of the above that include both restrictions and boolean class expressions (union – logical or, intersection – logical and, complement – logical not)

68

Copyright © 2013 Thematix Partners LLC

Page 69: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

69

+ Class expression restricting all values for a given property

Azaleas are members of the set of flowering plants whose bloom color must be either an RHSColor (Royal Horticultural Society) or ASAColor (Azalea Society of America)

69

* courtesy Azalea Society of America

Copyright © 2013 Thematix Partners LLC

Page 70: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

70

+ And the OWL for that …

<owl:Class rdf:about="&re;Azalea"> <rdfs:subClassOf rdf:resource="&re;FloweringPlantType"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&re;hasBloomColor"/> <owl:allValuesFrom> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="&re;ASAColor"/> <rdf:Description rdf:about="&re;RHSColor"/> </owl:unionOf> </owl:Class> </owl:allValuesFrom> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

70

* courtesy Azalea Society of America

Copyright © 2013 Thematix Partners LLC

Page 71: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

71

+ Another typical pattern combining restrictions & boolean connectives

Use of equivalence expressions like this, describing RHSFloweringPlantType as a flowering plant and something whose bloom colors must be from the set of colors defined by the Royal Horticultural Society is a common pattern

71

Copyright © 2013 Thematix Partners LLC

Page 72: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

72

+ And the corresponding OWL for that …

72

<owl:Class rdf:about="&re;RHSFloweringPlantType"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <rdf:Description rdf:about="&re;FloweringPlantType"/> <owl:Restriction> <owl:onProperty rdf:resource="&re;hasBloomColor"/> <owl:allValuesFrom rdf:resource="&re;RHSColor"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class>

Copyright © 2013 Thematix Partners LLC

Page 73: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

73

+ Class expression restricting some & exact values for a given property

73

Copyright © 2013 Thematix Partners LLC

Page 74: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

74

+ And the OWL for that …

74 <owl:Class rdf:about="&re;Azalea"> <rdfs:subClassOf rdf:resource="&re;FloweringPlantType"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&re;hasBloomColor"/> <owl:allValuesFrom> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="&re;ASAColor"/> <rdf:Description rdf:about="&re;RHSColor"/> </owl:unionOf> </owl:Class> </owl:allValuesFrom> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&re;hasBloomColorPattern"/> <owl:someValuesFrom rdf:resource="&re;ASAColorPattern"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Copyright © 2013 Thematix Partners LLC

Page 75: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

75

+ ... <owl:Class rdf:about="&re;SingleColoredAzalea"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Restriction> <owl:onProperty rdf:resource="&re;hasBloomColorPattern"/> <owl:hasValue rdf:resource="&re;Solid"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="&re;hasBloomColor"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> <rdfs:subClassOf rdf:resource="&re;Azalea"/> </owl:Class> <owl:NamedIndividual rdf:about="&re;Solid"> <rdf:type rdf:resource="&re;ColorPattern"/> </owl:NamedIndividual>

75

Copyright © 2013 Thematix Partners LLC

Page 76: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

76

+ Individuals and data ranges

An individual (instance, object in other paradigms) Any class that an individual is a member of, or is an individual of, is a type

of the individual

Any superclass of a class is an ancestor of (or type of) the individual

Specify property values for the individual Property values should conform to the constraints such as range, value

type, cardinality restrictions, etc.

Enumerated classes & data ranges are commonly used to specify the complete set of valid values for a particular property

76

Copyright © 2013 Thematix Partners LLC

Page 77: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

77

+ Example enumerated class of individuals

77

Copyright © 2013 Thematix Partners LLC

Page 78: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

78

+ Complex data ranges & restrictions

78

Copyright © 2013 Thematix Partners LLC

Aggregating datatype restrictions via an intersection to specify the average size of an Azalea in the landscape.

Page 79: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

79

+ New features in OWL 2

New property constructs Reflexive, irreflexive, & asymmetric properties

Property chains

Disjoint properties

Keys

Self-reflexive properties

Qualified cardinality restrictions

Negative property assertions

New class axioms Disjoint unions

Disjoint classes

79

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 80: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

80

+ More new features

Extended datatype handling

Better support for XML Schema Datatypes

New datatypes for OWL specifically (owl:real, owl:rational, rdf:PlainLiteral)

Custom datatype definition & use of xsd facets / datatype restrictions

New data range restrictions

Intersections, unions, complements

Support for punning

Limited support for a particular element to be defined as both a class & individual, for example

Improved support for annotations (e.g., metadata about ontologies, provenance, transformation detail, etc.)

See http://www.w3.org/TR/owl2-new-features/ & http://www.w3.org/TR/owl2-quick-reference/ for detail

Current work specifically focused on provenance: http://www.w3.org/2011/prov/wiki/Main_Page

80

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 81: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

81

+ Rules of Thumb

Cycles are common in many KR systems, though rarely “a good thing”

Cycles are disallowed by some tools because they prohibit “code generation”, export -- including RDF/OWL

Classes A, B, and C have equivalent sets of instances By many definitions, A, B, and C are

equivalent Use owl:equivalentClass instead of

creating cycles

81

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 82: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

82

+ Class hierarchy analysis

Siblings should be specified at roughly the same level of generality -- compare to section and subsections in a book

82

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 83: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

83

+ More on class definition analysis

Classes that have single subclasses may be incompletely defined, unless additional children are specified in subordinate modules

Subclasses of a class typically have more detailed definitions Additional properties

Constraints/restrictions on inherited properties

Participate in further qualified relations

Compare to bullets in a bulleted list

If a class has a large number of subclasses, it may be useful to define intermediate levels For wine, for example there are natural groupings around wine

color

If no natural classification exists, the long list may be appropriate

83

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 84: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

84

+

A “wine” is not a subclass of “wines”

A particular vintage should be classified as an instance of the class Wines

Class names should be either all singular or all plural

Synonymous names for the same concept should be modeled as alternate designations, not as unique classes (in the same ontology)

Many systems & standards facilitate synonymous term representation (e.g., ISO 1087)

OWL allows defining necessary and sufficiency condition definitions thereby allowing synonym definitions to be “first class” terms (as appropriate, through equivalence / same as relations)

MariettaOldVinesRed

Class

Instance

instance-of

Inheritance, naming, synonyms

84

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 85: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

85

+

Are concepts with distinct property values used in restrictions on other properties?

How important is the distinction for the domain?

Class definitions for most domains should be fairly stable – i.e., they should not change frequently once the definitions are established and individuals created

Class vs. property value

85

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 86: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

86

+ Class vs. individual

Individuals are the most specific entities in an ontology

If concepts form a natural hierarchy, represent them as classes

If they might have individuals, represent them as classes

86

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 87: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

87

+ Limiting scope

An ontology should not contain all the possible information about the domain No need to specialize or generalize more than the application

requires No need to include all possible properties of a class

• Only the most salient properties • Only the properties that the application requires

Ontologies of wine, food, and their pairings probably will not include details such as: Bottle size (half bottle, full bottle, magnum, …) Label color Wine bottle color (green, amber, …) Individual plants and their location in a historic garden Azalea indica 'Alaska' (Rutherfordiana hybrid) might be a class or

might be an individual, depending on the use case and application requirements

87

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 88: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

88

+

A little review: Every semi-trailer truck has at least 3 axles.

(∀ x)(((SemiTrailerTruck(x) ∧ (∃ y)(SemiTrailer(y) ∧ (hasPart (x,y))) ∧

(SemiTrailerTruck(x) ∧ (∃ z)(TractorUnit(z) ∧ (hasPart (x,z))))

⊃ (∃ s)(set(s) ∧ (count(s,(≥3))

∧ (∀ w)(member(w,s) ⊃ (Axle(w) ∧ hasPart(x,w))) )).

Why UML for Ontology Modeling?

88

Copyright © 2013 Thematix Partners LLC

Page 89: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

89

+ XML angle brackets can be equally difficult to read

89

Copyright © 2013 Thematix Partners LLC

Page 90: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

90

+ Editors such as Protégé are better …

90

Copyright © 2013 Thematix Partners LLC

Page 91: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

91

+ As complexity increases, it can be difficult to follow relationships …

91

Copyright © 2013 Thematix Partners LLC

Page 92: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

92

+ And it’s worse with individuals

92

Copyright © 2013 Thematix Partners LLC

Page 93: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

93

+ UML’s well-known graphical notation is more accessible to many

93

Copyright © 2013 Thematix Partners LLC

Page 94: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

94

+ A little more background …

UML provides a graphical notation, but OWL & UML are very different languages

Language mapping from OWL to UML only covers a fraction of the UML language – to logical (class) diagrams

Key distinctions: • Properties in OWL are first-class citizens, second class in UML

(meaning, it’s difficult to map OWL properties directly to UML properties or associations)

• UML supports n-ary relations whereas in OWL, properties are typically binary

• OWL uses true set theoretic concepts (intersection, union, complement, etc.), where UML has historically been less formal

• Although UML 2.5 semantics are closer to OWL, many practitioners don’t use the set theoretic features

This is overly simplified – the mapping is not straightforward, but the benefits of having a graphical notation are acknowledged in the W3C OWL 2 community.

94

Copyright © 2013 Thematix Partners LLC

Page 95: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

95

+ UML/MOF and KR Together

MOF technology streamlines the mechanics of managing models as XML documents, Java objects, CORBA objects

Knowledge Representation supports reasoning about resources Supports semantic alignment among differing vocabularies and nomenclatures Enables consistency checking and model validation, business rule analysis Allows us to ask questions over multiple resources that we could not answer

previously Enables policy-driven applications to leverage existing knowledge and

policies to solve business problems Detect inconsistent financial transactions Support business policy enforcement Facilitate next generation network management and security applications

while integrating with existing RDBMS and OLAP data stores

MOF provides no help with reasoning

KR is not focused on the mechanics of managing models or metadata

Complementary technologies – despite some overlap

95

Copyright © 2013 Thematix Partners LLC

Page 96: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

96

+ Bridging KR and MDA

96

Copyright © 2013 Thematix Partners LLC

Page 97: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

97

+ Metadata Management Scenarios

97

Copyright © 2013 Thematix Partners LLC

Page 98: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

98

+

ODM is Object Management Group’s standard for model driven ontology development (adopted in October 2006, finalized in May 2009) – available at http://www.omg.org/spec/ODM/1.0/

A family of metamodels & profiles that enable model interchange, ontology development in UML 2

Grounded in formal logic enabling reasoning engines to understand, validate, and apply ontologies developed using the ODM

Mappings to other OMG standards are either in work or under consideration, including

Information Management Metamodel (IMM) for exchange of ER, logical & physical database models, use of database schema for ontology development

SysML for exchange of systems engineering models, use of SysML models as a basis for ontology development, use of standard vocabularies for systems design

BPMN/BMM for use of standardized business vocabularies in business process modeling

Production Rule Representation (PRR), Semantics for Business Vocabularies and Rules (SBVR) for rule interchange – draft mapping from SBVR to OWL via an ontology represented in UML/ODM and OWL will be available as an IBM Technical Report shortly, with the mapping ontology made open source on code.google. com

Ontology Definition Metamodel (ODM)

98

Copyright © 2013 Thematix Partners LLC

Page 99: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

99

+ Next Steps at OMG

W3C is moving the ball forward on a number of relevant fronts: RDF 1.1 (simplification, bug fixing, provenance), OWL 2, etc.

Next edition of ODM (ODM 1.1) will support both the changes proposed for RDF 1.1 (RDF Source, RDF Dataset, literal simplification, etc.,) and OWL 2

RFP to support APIs for knowledge base access (API4KBs) – submissions will reuse ODM RDF and OWL metamodels

Initial submission effort is underway

Focus is on an interoperable framework for integration of Semantic Web based knowledge bases and reasoners with other applications including rule engines, text and data mining, machine learning, analytics

Development of critical vocabularies as ontologies, including

Date Time Vocabulary – currently supports SBVR, OCL, CL/CLIF, and mapping to OWL is in work

Information Exchange Framework (IEF) Packaging Policy Vocabulary (IEPPV)

Financial Industry Business Ontology (FIBO)

99

Copyright © 2013 Thematix Partners LLC

Page 100: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

100

+ Relationship to Other Standards

Update to support OWL 2 is underway -- ODM 1.1 revision planned for June 2013, including support for OWL 2 and RDF 1.1

CL Metamodel is identical to the UML diagrams in ISO 24707; revision to support revisions to the ISO standard are in work, mainly to module-related concepts

High degree of synergy between ODM and Topic Maps ISO 13250 working group

Current work in ISO JTC1 SC32 to update ISO 11179 (Metadata Registration) references ODM; also addressing alignment with SKOS (Simple Knowledge Organization System) and Dublin Core

All ODM metamodels are referenced and used in ISO CD 19763 (MMF – Metamodel Framework, Model Registry specification)

100

Copyright © 2013 Thematix Partners LLC

Page 101: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

101

+

A number of commercial and government taxonomies for document-related asset management extend Dublin Core Metadata Terms (DCMI, http://www.dublincore.org/ ) Simple Knowledge Organization System (W3C,

http://www.w3.org/TR/skos-reference/

Common approach to metadata is to reuse & extend these vocabularies where applicable

Some (typically large) organizations also extend ISO 11179-3 Metadata Registry, ISO 19763 Model Registry standards as appropriate

JPL’s planetary science data store (PDS) uses ISO 11179 Edition 2, may be updated to support emerging Edition 3, for example

OMG Common Terminology Services 2 (CTS2) uses a combination of Dublin Core, SKOS, and ISO 11179 as a basis for term registration (adopted June 2011)

Additional Metadata Standards for Definitions & Registries

101

Copyright © 2013 Thematix Partners LLC

Page 102: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

102

+ Syntax Checking

Consistency Checking

Instance Data Analysis & Evaluation Services

Example Applications

Demo – Visual Ontology Modeler (VOM)

Questions

Part 3: Putting It All Together

102

Copyright © 2013 Thematix Partners LLC

Page 103: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

103

+ Syntax checking

103 For RDF & OWL Ontologies RDF syntax checking, graph visualization

• W3C RDF Validator (http://www.w3.org/RDF/Validator/)

• Jena API & Toolkit (http://jena.sourceforge.net/)

OWL syntax checking, OWL dialect determination • OWL Consistency Checker

(http://clarkparsia.com/pellet/, also provides full OWL 2 DL reasoning capabilities)

• OWL 2 Validator (Univ. of Manchester, http://owl.cs.manchester.ac.uk/validator/ )

• Protégé OWL (http://protege.stanford.edu/)

• Jena API & Toolkit (http://jena.sourceforge.net/)

Every tool provides unique capabilities; sophisticated projects may require multiple approaches

Tools listed are open source, commercial options are also available

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 104: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

104

+ Consistency checking and analysis

Requirements are typically application specific

RDF vocabularies should be checked by an RDF validator or rule engine Jena Semantic Web Framework - http://jena.sourceforge.net/ Pychinko, MindSwap’s Rete-based RDF-friendly rule engine – (CWM clone)

http://www.mindswap.org/~katz/pychinko/

OWL Ontologies should be run through a consistency checking reasoner Pellet (open source, originally from Mindswap, supported by Clark & Parsia, LLC) –

http://clarkparsia.com/pellet/, RacerPro – http://www.racer-systems.com/ FaCT++ – http://owl.man.ac.uk/factplusplus/ HermiT OWL Reasoner – http://www.hermit-reasoner.com/ KAON2 infrastructure for managing OWL-DL, SWRL, and F-Logic ontologies –

http://kaon2.semanticweb.org/ VIStology's ConsVISor OWL Consistency checker – http://68.162.250.6:8080/consvisor/

OWL instance data may also be run through checking tools TW Instance data evaluation - http://onto.rpi.edu/demo/oie/

OOPS! (OntOlogy Pitfall Scanner!) ontology engineering tool available from the School of Computer Science at Universidad Politécnica de Madrid, UPM -- http://oeg-lia3.dia.fi.upm.es/oops/index-content.jsp can also provide helpful hints

OntoClean methodology for ontology analysis – see http://en.wikipedia.org/wiki/OntoClean for links to the seminal papers on this

104

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 105: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

105

+

Valid RDF/XML Documents (Valid OWL Syntax Representation)

Valid OWL (FOL consistency checked,

deductive closure)

Pellet OWL DL Reasoner

Valid OWL (DL consistency checked, concept

satisfiability checked)

Ontology Registry & Library

Example process

Ontologies should be checked to ensure consistency, limit potential for invalid conclusions

Application Environment

TW Instance Data Evaluation

105

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 106: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

106

+

A new ontology New instance data

Wine ontology

wine:EarlyHarvest wine:LateHarvest

wine:Wine rdfs:subClassOf rdfs:subClassOf

owl:disjointWith

wine:BadWineClass

rdfs:subClassOf rdfs:subClassOf

wi:BadWineInstance

rdf:type rdf:type

Case1: semantic inconsistency caused by a new class.

Case2: semantic inconsistency caused by a new instance.

Inconsistencies caused by distributed OWL data

106

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 107: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

107

+ TW OWL instance-data evaluation

Motivation Objective metrics are needed to evaluate if semantic web instance

data is ready for practical use Next generation Chimaera (Stanford Knowledge Systems

Laboratory tool, late 1990’s – early 2000’s) for more diverse and more instance-oriented applications

Challenges Criteria for “ready for use” vary across applications Existing syntax and logical-consistency checking is not enough for

applications using some standard practical assumptions (e.g. closed world, unique names, …)

Solution Extensible & customizable service-oriented architecture Integrated environment for evaluating issues beyond standard

syntactic correctness and logical consistency

See http://onto.rpi.edu/demo/oie/

107

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 108: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

108

+ Semantically-Enabled Business Applications

Valid Reference Knowledge Base Domain Vocabulary (Ontology Components)

+ Reference Data

procedure <<ontologyClass>>

Binary Increase Congestion (BIC) <<ontologyClass>>

High Speed TCP (HSTCP) <<ontologyClass>>

TCP Vegas <<ontologyClass>>

TCP Westwood <<ontologyClass>>

TCP New Reno <<ontologyClass>>

TCP Hybla <<ontologyClass>>

Explicit Congestion Notification <<ontologyClass>>

TCP Westwood Plus <<ontologyClass>>

Standard TCP <<ontologyClass>>

Transactional TCP <<ontologyClass>>

Equal Cost Multipath <<ontologyClass>>

Round Robin <<ontologyClass>>

Weighted Round Robin <<ontologyClass>>

Interface Round Robin <<ontologyClass>>

Random <<ontologyClass>>

Weighted Random <<ontologyClass>>

Least Connection Scheduling <<ontologyClass>>

Weighted Least Connection Scheduling <<ontologyClass>>

Locality Based Least Connection Scheduling <<ontologyClass>>

Shortest Expected Delay Scheduling <<ontologyClass>>

Differentiated Services <<ontologyClass>>

Class Based Queueing <<ontologyClass>>

Priority Based Queueing <<ontologyClass>>

Token Bucket Filtering <<ontologyClass>>

Hierarchical Token Bucket Filtering <<ontologyClass>>

Random Early Drop <<ontologyClass>>

Stochastic Fair Queueing <<ontologyClass>>

Algorithm <<ontologyClass>>

Forwarding Algorithm <<ontologyClass>>

Load Balancing Algorithm <<ontologyClass>>

Quality of Service (QoS) Algorithm <<ontologyClass>>

Congestion Control Algorithm <<ontologyClass>>

Flow Control Algorithm <<ontologyClass>>

Document Repository

Document Repository Schema & Index

Document Mining & Extraction Service Reference Vocabulary Drives Extraction - UIMA-based services (Open Source) - TIBCO Spotfire, Inxight, others

Document Content Mention / Cross-Reference

Archive

Sem

anti

cally

-En

han

ced

Sea

rch

/ R

etri

eval

P

ub

lish

/ S

ub

scri

be,

Ag

ent-

Dri

ven

Use

r A

cces

s P

refe

ren

ce /

Ro

le-b

ased

Cu

sto

m D

eliv

ery

Policy KB

Use Cases • Call Center Operations to identify conflicting Service Advisories • Intelligence Analysis – supporting research operations • Semantically enhanced Fraud Detection • IP Content Publication & Management for Media

108

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 109: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

109

Organization and Management of Data to Support Automation

109

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Presenter
Presentation Notes
Need to restate the point here that we will provide starting points / scaffolding, enough to get started, and then grow / evolve the information architecture over time
Page 110: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

110

+ Model Driven Service Provisioning

GE Water and Process – InSight Remote Monitoring & Diagnostics application

Cross-industry – Beverage, Chemical Processing, Commercial, Food, General Industrial, Hydrocarbon Processing, Life Sciences, Medical Dialysis, Microelectronics, Mining & Mineral Processing, Municipal, Pharmaceutical, Power, Primary Metals, Residential, Transportation

Cross-domain – Boiler Water Treatment, Cooling Water Treatment, Feedstock Flexibility Solutions, Fuel Flexibility Solutions, Mobile Water, Petrochemical Process Solutions, Process Separations, Water Recovery, Water Scarcity Relief

Common hardware, software, process foundational components

Common goals for service offerings, provisioning, reporting across industries & solutions – what was done and why, how the services were accomplished, how did the customer benefit, metrics

Solution includes conceptual information models representing concepts, services, processes, relationships across them, large domain-specific knowledge bases, web-based service deployment & data management

Assists GE customers in reducing water, energy & labor costs, improves water and process treatment programs

Within 6 months of deployment – over 200+ plants were licensed users

110

Copyright © 2013 Thematix Partners LLC & McGuinness Associates

Page 111: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

111

+ Visual Ontology Modeler (VOM) Demo

111

Copyright © 2013 Thematix Partners LLC

Page 112: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

112

Visual Ontology Modeling is a new and valuable method for the development of commercial and scientific ontologies. Multiple diagrammatic “points of view” simplify understanding and maintenance of large, complex ontologies. It bridges the gap between the Semantic Web and the world of UML modeling.

112

Copyright © 2013 Thematix Partners LLC

Page 113: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

113 113

Page 114: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

114

+ Acronym Soup

CL – ISO 24707 Common Logic: a family of first order logic languages, including Conceptual Graphs & Common Logic Interchange Format – a successor to the Knowledge Interchange Format (KIF), http://cl.tamu.edu/

DAML – DARPA Agent Mark-up Language, one of the primary languages leading to the development of OWL, http://www.daml.org/

DARPA – Defense Advanced Research Projects Agency, http://www.darpa.mil/

DL – Description Logics: a subset of first order logic, for which tractable & complete reasoning systems are available

Linked Data and RDFa, http://www.w3.org/standards/techs/rdfa#w3c_all

MDA – Model-Driven Architecture, http://www.omg.org/mda/

ODM – Ontology Definition Metamodel, http://www.omg.org/spec/ODM/1.0/

OWL – W3C Web Ontology Language, OWL 2 specifications, http://www.w3.org/standards/techs/owl#w3c_all

OWL-S – a set of OWL ontology components that extend the W3C OWL specifications to support Semantic Web Services, http://www.daml.org/services/owl-s/1.1/

114

Copyright © 2013 Thematix Partners LLC

Page 115: Ontology Engineering in UML: Best Practices & Lessons ... · An ontology . is a specification of a conceptualization. 10 – Tom Gruber Knowledge engineering . is the application

115

+ More Acronym Soup

PML – Proof Markup Language – Provenance Interlingua, www.inference-web.org

PRR – Production Rules Representation, http://www.omg.org/spec/PRR/1.0/

RIF – Rule Interchange Format, http://www.w3.org/standards/techs/rif#w3c_all

RDF – Resource Description Framework, http://www.w3.org/TR/rdf-concepts/

Semantic Annotations for WSDL and XML (SAWSDL), http://www.w3.org/standards/techs/sawsdl#w3c_all

Simple Knowledge Organization System (SKOS), http://www.w3.org/standards/techs/skos#w3c_all

SPARQL – Semantic Web Query Language, http://www.w3.org/standards/techs/sparql#w3c_all

Semantic Web Rule Language (SWRL), http://www.w3.org/Submission/SWRL/

115

Copyright © 2013 Thematix Partners LLC