Ontology Development. Farid Naimi

Similar documents
<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany

Ontology Development. Qing He

Ontology engineering. How to develop an ontology? ME-E4300 Semantic Web additional material

Ontology Engineering for the Semantic Web and Beyond

INFO216: Advanced Modelling

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 95-96

Ontology Building. Ontology Building - Yuhana

Ontology Development and Engineering. Manolis Koubarakis Knowledge Technologies

Protégé-2000: A Flexible and Extensible Ontology-Editing Environment

CS 5100: Founda.ons of Ar.ficial Intelligence

Building domain ontologies from lecture notes

Introduction to modeling. OO modeling and ontologies

Chapter 8: Enhanced ER Model

A Simplified Guide to Create an Ontology

UNIK Multiagent systems Lecture 3. Communication. Jonas Moen

Designing Ontology Schema and Data Instance for Nutrition Domain

Adding formal semantics to the Web

Models versus Ontologies - What's the Difference and where does it Matter?

Metadata Common Vocabulary: a journey from a glossary to an ontology of statistical metadata, and back

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Chapter 4. Enhanced Entity- Relationship Modeling. Enhanced-ER (EER) Model Concepts. Subclasses and Superclasses (1)

Ontologies Growing Up: Tools for Ontology Management. Natasha Noy Stanford University

Semantic Web Systems Ontologies Jacques Fleuriot School of Informatics

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Knowledge Representations. How else can we represent knowledge in addition to formal logic?

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Introduction to Protégé. Federico Chesani, 18 Febbraio 2010

Efficient Querying of Web Services Using Ontologies

It Is What It Does: The Pragmatics of Ontology for Knowledge Sharing

Enhanced Entity-Relationship (EER) Modeling

Modeling Relationships

Architecture and the UML

This is an author-deposited version published in: Handle ID:.

KNOWLEDGE MANAGEMENT VIA DEVELOPMENT IN ACCOUNTING: THE CASE OF THE PROFIT AND LOSS ACCOUNT

CHAPTER 9 DESIGN ENGINEERING. Overview

Domain-specific Concept-based Information Retrieval System

Semantic Concept Modeling UML Profile

The PROMPT Suite: Interactive Tools For Ontology Merging And. Mapping

Creating Ontology Chart Using Economy Domain Ontologies

Object-Oriented Systems Development: Using the Unified Modeling Language

SEMANTIC MATCHING APPROACHES

Ontology Development and Evolution: Selected Approaches for Small-Scale Application Contexts

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Chapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model.

Contents Contents 1 Introduction Entity Types... 37

Ontologies for Agents

Ontology Creation and Semantic Web for Paddy

Ontology engineering. Valen.na Tamma. Based on slides by A. Gomez Perez, N. Noy, D. McGuinness, E. Kendal, A. Rector and O. Corcho

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes.

Systems Analysis and Design Methods Chapter 7: Data Modeling and Analysis

Ontology Refinement and Evaluation based on is-a Hierarchy Similarity

Oracle Data Modeling and Relational Database Design

A Data Modeling Process. Determining System Requirements. Planning the Project. Specifying Relationships. Specifying Entities

Analysis and Design with UML

Object Design II: Design Patterns

Ontologies. Vinay K. Chaudhri Mark Musen. CS227 Spring 2011

Building the NNEW Weather Ontology

Tutorial: Functions and Functional Abstraction. Nathaniel Osgood CMPT

Programming Logic and Design Seventh Edition Chapter 2 Elements of High-Quality Programs

Class Diagrams in Analysis

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/03/2015

Understanding Taxonomies

represen/ng the world in 1s and 0s CS 4100/5100 Founda/ons of AI

Slide 1 Welcome to Fundamentals of Health Workflow Process Analysis and Redesign: Process Mapping: Entity-Relationship Diagrams. This is Lecture e.

Ontology Evolution: Not the Same as Schema Evolution. Natalya F. Noy 1 and Michel Klein 2

System Concepts and Architecture. Rose-Hulman Institute of Technology Curt Clifton

Generating a Document- Oriented View of a Protégé Knowledge Base

MITOCW MIT6_01SC_rec2_300k.mp4

Context Ontology Construction For Cricket Video

Simple Life-Events Ontology in SU(M)O-KIF

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

Ontology Visualization

OWL a glimpse. OWL a glimpse (2) requirements for ontology languages. requirements for ontology languages

An ontology model to facilitate knowledge sharing in multi-agent systems

A SURVEY ON ONTOLOGY CONSTRUCTION METHODOLOGIES

Meta-Modeling Communication and Interaction inside MASs with Ontologies

Overview. Pragmatics of RDF/OWL. The notion of ontology. Disclaimer. Ontology types. Ontologies and data models

Information technology - Metadata registries (MDR) - Part 5: Naming principles

Semantic Web. Ontology Pattern. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau

CEN/ISSS WS/eCAT. Terminology for ecatalogues and Product Description and Classification

Ontology Approach to Construction of Response and Management Console Subsystems for Intrusion Handling Systems in Wireless LANs

Helmi Ben Hmida Hannover University, Germany

Ontology Evolution: Not the Same as Schema Evolution

SEMANTIC WEB AN INTRODUCTION. Luigi De

Getting Started With Syntax October 15, 2015

CSC290 Communication Skills for Computer Scientists

The Role of Ontology in Modern Expert Systems Development

Software Agents and Multiagent Systems Ontologies

F12: SEMANTICS and ONTOLOGIES

Ontology for Exploring Knowledge in C++ Language

SKOS. COMP62342 Sean Bechhofer

Toward a verification, validation, and accreditation (VV&A) ontology

Database Programming Style Guidelines

Ontologies SKOS. COMP62342 Sean Bechhofer

An Ontology-Based Representation of Financial Criminology Domain Using Text Analytics Processing

Object-Oriented Introduction

Knowledge representation Semantic networks and frames

Inheritance (Chapter 7)

Oracle Data Modelling & Database Design Course Content:35-40hours

Transcription:

Ontology Development Farid Naimi

Overview Why develop an ontology? What is in an ontology? Ontology Development Defining classes and a class hierarchy Naming considerations Conclusion

Why develop an ontology? An ontology defines a common vocabulary for researchers who need to share information in a domain. Why ontology? To share common understanding of the structure of information among people or software agents To enable reuse of domain knowledge To make domain assumptions explicit To separate domain knowledge from the operational knowledge To analyze domain knowledge

What is in an ontology?(1) Formal description of concepts in a domain of classes Properties of each classes describing features and attributes of the class (slots) Restrictions on slots which are called facets or role restriction.

What is in an ontology?(2) In practical terms: defining classes in the ontology, arranging the classes in a taxonomic (subclass superclass) hierarchy, defining roles and describing allowed values for these roles, filling in the values for slots for instances.

Ontology Development Rules for designing ontology: 1) There is no one correct way to model a domain. There are always alternatives. The best solution almost always depends on the application that you have in mind and the extensions that you anticipate. 2) Concepts in the ontology should be close to objects and relationships in your domain of interest. These are most likely to be nouns (objects) or verbs (relationships) in sentences that describe your domain.

Step 1: Determine the domain and scope of the ontology Questions to be answered: What is the domain that the ontology will cover? For what we are going to use the ontology? For what types of questions the information in the ontology should provide answers? Who will use and maintain the ontology?

Step 1: Determine the domain and scope of the ontology Sketch a list of questions that a knowledge base based on the ontology should be able to answer. Does the ontology contain enough information to answer these types of questions? Judging from this list of questions, the ontology will include the information

Step 2: Consider reusing existing ontologies Refine and extend existing sources for the particular domain and task. May be a requirement if our system needs to interact with other applications that have already committed to particular ontologies or controlled vocabularies.

Step 3: Enumerate important terms in the ontology list all terms you would like either to make statements about or to explain to a user. What are the terms we would like to talk about? What properties do those terms have? What would we like to say about those terms?

Step 3: Enumerate important terms Example: in the ontology Important wine-related terms will include wine, grape, winery, location, a wine s color, body, flavor and sugar content; Different types of food, such as fish and red meat; Subtypes of wine such as white wine, and so on.

Step 4: Define the classes and the class hierarchy Possible approaches A top-down development process starts with the definition of the most general concepts in the domain A bottom-up development process starts with the definition of the most specific classes A combination development process is a combination of the top-down and bottom-up approaches

Step 4: Define the classes and the class hierarchy Start by defining classes from the list created in Step 3 Classes in the ontology: The terms that describe objects having independent existence rather than terms that describe these objects. Organize the classes into a hierarchical taxonomy by asking if by being an instance of one class. If a class A is a superclass of class B, then every instance of B is also an instance of A

Step 5: Define the properties of classes (slots) Remaining terms created in step 3 are properties of these classes. From the wine example, the remaining terms are: wine s color, body, flavor, sugar content and location of a winery. For each property in the list, determine which class it describes. In the example: the Wine class will have the following slots: color, body, flavor, and sugar. All subclasses of a class inherit the slot of that class.

Step 6: Define the facets of the slots Slot can have different facets describing the value type, allowed values, the number of the values (cardinality), and other features of the values the slot can take. E.g. The value of a name is a string Slot cardinality defines how many values a slot can have. Some systems distinguish only between single cardinality and multiple cardinality. Slot-value type A value-type facet describes what types of values can fill in the slot.

Step 7: Instances of classes in the hierarchy Defining an individual instance of a class requires choosing a class creating an individual instance of that class filling in the slot values.

Defining classes and a class hierarchy Ensuring that the class hierarchy is correct An is-a relation The class hierarchy represents an is-a relation: a class A is a subclass of B if every instance of A is also an instance of B. Transitivity of the hierarchical relations A subclass relationship is transitive: If B is a subclass of A and C is a subclass of B, then C is a subclass of A.

Defining classes and a class hierarchy No hard rules for the number of direct subclasses. Many well-structured ontologies have between two and a dozen direct subclasses. Two guidelines: If a class has only one direct subclass there may be a modeling problem or the ontology is not complete. If there are more than a dozen subclasses for a given class then additional intermediate categories may be necessary.

Defining classes and a class Multiple inheritance hierarchy Most systems allow multiple inheritance in the class hierarchy: a class can be a subclass of several classes. When to introduce a new class Subclasses of a class usually have additional properties that the superclass does not have, restrictions different from those of the superclass, participate in different relationships than the superclasses

Defining classes and a class hierarchy A new class or a property value? When modeling a domain, we need to decide whether to model a specific distinction as a property value or as a set of classes depends on the scope of the domain and the task at hand. If the concepts with different slot values become restrictions for different slots in other classes, then create a new class for the distinction.

Defining classes and a class hierarchy Set of rules for deciding when an ontology definition is complete: The ontology should not contain all the possible information about the domain: you do not need to specialize more than you need for your application. For our wine and food example, we do not need to know what paper is used for the labels or how to cook shrimp dishes. The ontology should not contain all the possible properties and distinctions among classes in the hierarchy.

Naming considerations Improve the readability of an ontology by using consistent capitalization for class name and use lower case for slot names. Singular or Plural? E.g. class Wine or class Wines? No alternative is better or worse than the other. In practice singular class name is used. Do not add string such as class, property and slot to class name. Avoid abbreviation in class names.

Conclusion After following all the rules and suggestions, one of the most important things to remember is the following: there is no single correct ontology for any domain. Ontology design is a creative process and no two ontologies designed by different people would be the same.

References Ontology Development 101: A Guide to Creating Your First Ontology, Natalya F. Noy and Deborah L. McGuinness, Stanford University, Stanford, CA, 94305