0% found this document useful (0 votes)
113 views26 pages

Abstract: 1 - Ontology and Database Design

The document discusses ontologies and their role in the semantic web. It defines ontologies as a shared vocabulary that captures domain concepts and relationships to allow machines to interpret data. Ontologies play a pivotal role in the semantic web by providing meaning to web data and enabling intelligent services. They define classes, properties, and axioms to formally represent domain knowledge in a machine-readable format. This structured information forms the basis for semantic web applications.

Uploaded by

seunnuga93
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views26 pages

Abstract: 1 - Ontology and Database Design

The document discusses ontologies and their role in the semantic web. It defines ontologies as a shared vocabulary that captures domain concepts and relationships to allow machines to interpret data. Ontologies play a pivotal role in the semantic web by providing meaning to web data and enabling intelligent services. They define classes, properties, and axioms to formally represent domain knowledge in a machine-readable format. This structured information forms the basis for semantic web applications.

Uploaded by

seunnuga93
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 26

1.

ABSTRACT
In this presentation we discuss the concept of semantic web and ontologies. Ontology
is an emerging concept, not only in the field of computer science but also medicine and
other areas. We will first talk about what is semantic web, what is ontology? Then we
will see an example of ontology and their design using an ontology building tool. Later
we will discuss its advantages and how it helps in designing a database design and also
how it helps in improving a database design. Ontology is a specification of a
Conceptualization and is the basic structure around which we can build a knowledgebase.
There are various tools available for developing ontologies and protg is one of the
most widely used ontology development editor which facilitates defining ontology
concepts (classes), properties, taxonomies(or concept hierarchy), and various restrictions,
as well as class instances and which supports several ontology representation languages,
including OWL.

1 |Ontology and Database Design

2. SEMANTIC WEB
2.1 Introduction
The Semantic Web is a mesh of information linked up in such a way as to be
easily processable by machines, on a global scale. We can think of it as being an
efficient way of representing data on the World Wide Web, or as a globally linked
database. Semantic Web provides a common framework that allows data to be
shared and reused across application, enterprise, and reused across community
boundaries.

Semantic Web was invented by Tim Berners Lee, inventer of W3C.


According to Tim Berners Lee, 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.

It is the new-generation Web that tries to represent information such that it can
be used by machines not just for display purposes, but for automation,
integration, and reuse across applications [2].It allows the representation and
exchange of information in a meaningful way [1].

The Semantic Web has been developing a layered architecture, was presented at
XML2000 by Tim Berners-Lee, director of the World Wide Web Consortium
(W3C) [1]:

2 |Ontology and Database Design

Trust
Logic And Proof
Ontology
RDF Schema
RDF
XML Schema
XML
Unicode And URI
Fig 2.1.1: Semantic Web Layered Architecture
Unicode and URI: Unicode, the standard for computer character
representation, and URIs, the standard for identifying and locating resources
(such as pages on the Web), provide a baseline for representing characters used in
most of the languages in the world, and for identifying resources.
XML: XML and its related standards, such as Namespaces, and Schemas, form a
common means for structuring data on the Web but without communicating the
meaning of the data. These are well established within the Web already.
Resource Description Framework: RDF is the first layer of the Semantic Web
proper. RDF is a simple metadata representation framework, using URIs to
identify Web-based resources and a graph model for describing relationships
between resources. Several syntactic representations are available, including a
standard XML format.
RDF Schema: a simple type modeling language for describing classes of
resources and properties between them in the basic RDF model. It provides a
simple reasoning framework for inferring types of resources.
Ontologies: a richer language for providing more complex constraints on the
types of resources and their properties.
3 |Ontology and Database Design

Logic and Proof: an (automatic) reasoning system provided on top of the


ontology structure to make new inferences. Thus, using such a system, a software
agent can make deductions as to whether a particular resource satisfies its
requirements (and vice versa).
Trust: The final layer of the stack addresses issues of trust that the Semantic Web
can support. This component has not progressed far beyond a vision of allowing
people to ask questions of the trustworthiness of the information on the Web, in
order to provide an assurance of its quality.

The Semantic Web is best understood in comparison to the World Wide Web.

Table 2.1.1: Comparison between Www and Semantic Web [12]


The WWW consists primarily of content for human consumption. Content
links to other content on the WWW via the universal Resource Locator (URL).
The URL relies on surrounding context (if any) to communicate the purpose of
the link that it represents; usually the user infers the semantics. Web content
typically contains formatting instructions for a nice presentation, again for human
consumption. WWW content does not have any formal logical constructs.
Correspondingly, the Semantic Web consists primarily of statements for

4 |Ontology and Database Design

application consumption. The statements link together via constructs that can
form semantics, the meaning of the link. Thus, link semantics provide a defined
meaningful path rather than a user-interpreted one. The statements may also
contain logic that allows further interpretation and inference of the statements.

2.2 Need of Semantic Web


Semantic Web play a very important role to replace slow , ineffective ,
inefficient, & non intelligent web processes by fast, effective and inexpensive
automatic processes . There is a need to have an intelligent & efficient web. This
may be possible by -Semantic Web. It also makes the computer and web do our
most of the jobs.

3. ONTOLOGY
3.1 Introduction
In simple terms, Ontology can be defined as a common vocabulary to share
information about a specific domain. This helps in understanding the concepts of
5 |Ontology and Database Design

the domain as well as helps the machine to interpret the definitions of concepts in
the domains and also the relations between them [8]. Ontology together with a set
of individual instances of classes constitutes a knowledge base [1]. Basic building
blocks of ontology design include:

classes or concepts

properties of each concept describing various features and attributes of the


concept

restrictions on slots

Ontologies are (Meta) data schemes, providing a controlled vocabulary of


concepts, each with an explicitly defined and machine processable semantics. By
defining shared and common domain theories, ontologies help both people and
machines to communicate concisely, supporting the exchange of semantics and
not only syntax [2].

3.2 Role of Ontology in Semantic Web


Ontology is an integral part of the semantic web and it plays a pivotal role in
providing meaning to the largely disintegrated data on the web [3].

6 |Ontology and Database Design

Ontology

sun

sun

sun

+
Intelligent
Services

Web of Information
(Current Web)

sun

sun

sun

Web of Knowledge
(Future Web)

Fig 3.2.1: Towards Realization of Semantic Web

3.3 Structure of Ontology


According to Gruber [5], knowledge in ontologies can be formalized using
the following key components: classes or concepts, relations, instances, and
formal axioms (Fig. 2).

7 |Ontology and Database Design

Classes/Concepts

Relations/Properties/Slots/Attributes/Roles
Ontology
Structure
Instances/Individuals

Formal Axioms

Fig 3.3.1: Structure of ontology

3.4 Types of Ontology


There exist much different ontologies, built for many different types of
applications; they vary in both the amount of detail they express and the
generality of their use. We generally find three common layers of knowledge. On

8 |Ontology and Database Design

the basis of their levels of generality, these three layers correspond to three
different types of ontologies, namely:

Generic (or top-level) ontologies, which capture general, domain independent


knowledge (e.g. space and time). Generic ontologies are shared by large numbers

of people across different domains.


Domain ontologies, which capture the knowledge in a specific domain. Domain

ontologies are shared by the stakeholder in a domain.


Application ontologies, which capture the knowledge necessary for a specific
application. An example could be an ontology representing the structure of a
particular Web site. Arguably, application ontologies are not really ontologies,
because they are not really shared.

3.5 Why Use Ontologies?


The question arises is that when we have various other traditional ways to
represent knowledge then why use ontologies. The existence of ontology comes
from the fact that we still have problems in defining terms and relationships of a
domain. The main problem is ambiguity. Ontology helps in removing this
ambiguity by defining terms in a domain in an unambiguous manner. The
advantages of using ontologies are that we can share information and develop a
common understanding of the concepts. It also helps in reusing and analyzing the
domain knowledge [8]. Other reasons to use ontologies are: to make domain
assumptions explicit and also domain knowledge can be separated from
operational knowledge (example, when making a pizza with toppings; a program
can be implemented that creates pizza with certain toppings which can be
9 |Ontology and Database Design

independent of what are the toppings). The programs use ontology for inductive
reasoning,

classification,

problem

solving

techniques,

facilitating

communications and also sharing of information between different systems [2].


Another advantage of using ontology is that making changes to ontology is easier.

3.6 Basic Steps for Building Ontology


The construction of ontologies is very much an art rather than a science. The
attempt is to formalize the ad-hoc process consists of the some basic steps [4]:
i. Determine Scope
ii. Consider Reuse
iii. Enumerate Terms
iv. Define Taxonomy
v. Define Properties
vi. Define Facts
vii. Define Instances
viii. Check for Anomalies
Table 3.6.1: Basic Steps of Construction of Ontology

3.7 Example of Ontology


The figures below show an example of a simple ontology. These are partial
ontology (as they show only the terms in ontology) that describe a real-world
phenomena auction website.
The auction ontology describes terms involved in a website which auctions
products. This is a partial ontology showing the terms involved in an auction
website. A Person can be a buyer or a seller but a buyer can only buy when he
bids therefore he inherits from the Bidder. The Bidder has to register with the
website first and become a customer thus inheritance from the term Customer is
shown. The categorization of products can be extended as needed. The sub10 |Ontology and Database Design

categories of products can be defined as required, example electronics can be


categorized as audio and video.
Auction Ontology
Person
Customer
Bidder
Buyer
Shipper
Seller
Vendor
Transaction
Buying
Selling
Products
Electronics
Audio
Video
Books
Music
Clothes
Men
Women
Children

Buyer

Auction
System

Toys
Purchase goods
Fig 3.7.1: Auction Ontology (created using [5])

p
a ym
en
t

products

Seller

11 |Ontology and Database Design

Fig. 3.7.2: E-R Diagram of Buyer Seller Relationship

3.8 Tool for Designing Ontology


There are various tools in the market for designing ontologies like Protg,
KAON, OiLED, OntoEditor, OWL, Prolog, etc. In this presentation we will
discuss the Protg tool [3]. We can use Protg tool for designing the following
models;
Class model Protg helps in modeling classes, attributes and relationships.
2) Instance editing It helps in automatic generation of interactive forms which
helps

in

entering

valid

instances.

3) Model processing It also provides various plug-ins that help in defining


semantics,

executing

queries,

etc.

4) Model exchange Protg supports models like XML, UML, RDF. The
models can be loaded and saved in any of these formats.

The figures below show how to define terms and relationships using Protg.
Figure 3 shows the terms in the computer science ontology and figure 4 shows
the relationships between these terms. Figure 4 shows the property editor for

12 |Ontology and Database Design

defining the relationships and the constraints on the relationships and terms can
also be defined using Protg. The constraints on the terms can be seen in the
class editor. The blue tagged properties are the relationships between the terms.

13 |Ontology and Database Design

Partial Ontology

Fig.3.8.1: Class Hierarchy in Auction Ontology (Protg)


14 |Ontology and Database Design

The advantages of Protg that makes it a useful tool for ontology designers
as well as programmers are that for a designer this tool helps in finding mistakes
in an ontology which is similar to debugging a code. Designers can find
inconsistencies in the relationships using the tool. This tool is helpful for
programmers/developers

in

lot

of

ways

like

[3]

1) Developers can create a plug-in and test how the system works if an ontology
changes.
2) Plug-in provides an open testing framework. The code that is similar to the
JUnit test cases can be executed.

3.9 Domain Ontologies


A specific type of ontology is known as domain ontology which helps in
database designing. Domain ontology is an ontology that provides knowledge of
the relevant terms of a specific domain. A knowledge base of terms in a domain is
processed for creating a design. The advantage of using ontology here is that it
helps in understanding the semantics of a domain. The ontology can provide
terms that can appear in the application domain and their relationships with each
other. The relationships defined in the ontology play an important role. These
relationships can be mapped to the business rules and they also imply the
integrity constraints in the design [6].

15 |Ontology and Database Design

4. DATABASE DESIGN
4.1 Introduction
The process to produce a detailed data model of a database is known as
designing a database. The data model contains the entities, their attributes and
relationships with other entities [2]. The initial steps in designing a database
include determining the data stored in the database, determining the relationships
between the data elements [2].
A database designer finds difficulty in designing a database as a good design
depends on his understanding of the user requirements. The other problem is that
he might not have the required knowledge of the domain that is being modeled.

4.2 Why Use Ontologies For Database Design?


Ontologies help in representing information for database management
systems. Thus ontologies provide the required domain knowledge for the
database design. This knowledge is useful in creating a database design because it
can suggest what terms i.e. entities will be included in an application domain. It
can also suggest how the terms are related to each other i.e. relationships.
Formally ontology can be seen as a catalog of things that exist in a domain of
interest from the perspective of a certain language [9].

4.3 Ontology and Database Design


The main components of ontology are terms, relationships, and axioms. The
relationships that appear in an ontology are subclass-of (is a), instance-of,
16 |Ontology and Database Design

synonym, and related-to [10; 11]. As stated earlier ontology can capture the
integrity constraints needed for a database design.

There is difference between Relational Database and Knowledgebase System.

Table 4.3.1: Comparison between RDBMS and Ontology [12]

4.4 Creating Ontology


The main steps to develop ontology are [5]:

Specifying the target domain and the initial domain knowledge: A target
domain needs to specified, for example an auction shown in section 3.7 is an

example of a domain.
Identifying terms: The terms in the application domain and their relationship
need to be identified and also domain relationships. For example, terms in
auction ontology are Person, Products, etc. A relationship in this ontology will

be that Person may be customers or vendors.


Extracting concepts: Basically the nouns and verbs need to be extracted from
the requirements which map to entities and relationships respectively.

17 |Ontology and Database Design

Analyzing the extracted features: When the extracted concepts are analyzed,
we are able to identify which terms belong together based on the frequency of
their appearances together. The relationships between the terms can be
generated by examining how close the terms appeared to each other.
The created ontology contains concepts and terms that usually involve binary

relationships. The basic relationships like is a and related to are sometimes


unable to capture domain specific knowledge which is important and needs to be
captured as this knowledge represent the business rules in the ontology.
Therefore, to enforce the business rules we define the domain relationships which
are more elaborate then the binary relationships.
Based on the above knowledge about ontology and database design, we will
now discuss how an Entity-Relationship model can be created using ontology.

4.5 Creating an E-R Model


The ontology plays an important role in designing by defining concepts and
relationships of a particular domain. This process involved mainly two steps:
design creation and design validation. The terms and relationships that are
defined in ontology are used in the database design.

The steps for creating an E-R model using ontology are [5]:
Identifying the initial user terms The potential entities and transitive

inferences need to be identified using the requirements.


Mapping the initial terms to domain terms defined in the ontology For
expansion of terms we need to compare the initial terms identified to those of

18 |Ontology and Database Design

the ontology. The best use of the term can be inferred from ontology by

looking at the relationships like synonym and is a.


Checking for consistency After gathering the potential terms, additional
domain knowledge is needed to check whether the concepts are complete and
consistent. The domain relationships ensure that all the relevant terms and
concepts have been included or excluded. For each term in ontology, domain
relationships are identified and then for each relationship the associated terms
are collected and the corresponding rules are enforced to ensure consistency
of terms. Thus we can see that these domain relationships allow expressing

the business rules.


Generating an E-R model The entities in the model is created using the
terms identified and the relationships are generated using the application
domain semantics that are inherent in the ontology. The verb phrases collected
are used initially and then the previously generated E-R models are used to

identify commonly occurring relationships.


Mapping the E-R model to a relational model A relational data model can be
created using well-established rules of mapping from the entity-relationship
to relational model [13].
Fig.4.5.1 shows how to create and E-R model from scratch using ontology.

The designer started by looking at the application requirements. The initial set of
terms and domain terms are then identified. Consistency checking is done in
order to find consistent terms and an E-R model is created. Fig.4.5.1 also shows
the inputs or information required during the process and what models are created

19 |Ontology and Database Design

in the steps. The consistency check interacts with the designer during the process
as the designer may override inconsistencies.

Fig.4.5.1: Creating an E-R Model [6]

4.6 Validating an E-R model [6]


Ontology also helps in validating and existing E-R model. An E-R model can
be validated by checking whether it includes some of the entities that would be
20 |Ontology and Database Design

typically included in the design of that application domain. The validation of an


E-R model can be done in the following steps:
a) Checking appropriateness of terms The domain knowledge is used to check
the appropriateness of the names of the entities. The terms that are defined in
ontology are the terms that are commonly used in that domain. Ontology can also
contain synonyms which will help the designer in choosing the appropriate labels
for both entities and relationships.
b) Identifying missing terms Sometimes it is difficult to map terms i.e. it is hard
to say that a term is an entity or an attribute. The solution to this problem is that
we can chose to assume that a missing term is a missing entity as ontologies
usually contain classes that represent nouns.
c) Generating an augmented E-R Model Pattern matching for each entity is
done against the entities in the E-R model repository and the relationships are
identified.

Fig.4.6.1 shows how an E-R model can be validated using ontology


information. The domain terms are identified which are appropriate and then the
missing terms are identified. The consistent terms form the E-R model, either
they already exist in the model or they are added to the model.

21 |Ontology and Database Design

Fig.4.6.1: Validation of E-R Model [6]

4.7 Advantages of Using Ontology for Database Design


Using ontology will reduce the amount of work for a designer. When a design
is incomplete, terms from ontology can be shown to the user to check for missing
terms and identify how they are related to other terms [5]. They can also be used
to analyze a design for missing constructs. They can assist in identifying
appropriate terms for an application and can also help to create a higher-level
common database [5].
22 |Ontology and Database Design

5. REVIEW OF WORK DONE


In this seminar report, the progress of work done during initiation of the research
work has been described.
The work done includes:

Review of History and literature of semantic web, ontology, protg software

development.
Study of various researches published in this area.
Comparison of Database Design with traditional methodology and with Ontology.
Identification of various tools for designing ontology.
Creating Auction Ontology using Protg 3.1.
Finding the valid information from the ontology.

6. CONCLUSION
A database design process begins with identifying the users requirements. The
requirements represent a users view of the application domain. From these requirements
23 |Ontology and Database Design

we identify a set of terms, definitions, relationships, and constraints for that application
domain. As stated in the paper a design is mainly two steps: creation and validation. We
can see that ontology helps in doing both the steps in an efficient manner and is also less
time consuming. We saw that with the help of ontology, containing knowledge about a
specific domain, we can create more complete and consistent database designs for that
application domain. It helps in both cases where we have a new model or an existing
model.

7. BIBLIOGRAPHY
[1] Noy and McGuinness ,Ontology Development 101: A Guide to Creating Your First
Ontology,

24 |Ontology and Database Design

Stanford

University,

http://protege.stanford.edu/publications/ontology_development/ontology101-noymcguinness.html
[2] Database Design, http://en.wikipedia.org/wiki/Database_design
[3] Protg, http://protege.stanford.edu/
[4] Ontologies, AAAI, http://www.aaai.org/AITopics/html/ontol.html#cw
[5] Sugumaran and Storey, The Role of Domain Ontologies in Database
Design: An Ontology Management and Conceptual Modeling Environment, ACM
Transactions on Database Systems, Vol. 31, No. 3, September 2006, Pages 10641094.
[6] Sugumaran and Storey, An Ontology-Based Framework for Generating and
Improving Database Design, Springer-Verlag Berlin Heidelberg 2002
[7] Storey, V.C., Goldstein, R.C., Chiang, R.H.L., Dey, D., and Sundaresan, S.,
Database Design with Common Sense Business Reasoning and Learning, ACM
Transactions on Database Systems, Vol.22, No.4, December, 1997, pp.471-512.
[8] Chandrasekaran, Josephson, Benjamins. "What are Ontologies and Why do we need
them". IEEE Intelligent Systems, Jan/Feb 1999.
[9] Sowa, J.F., Ontology, metadata, and semiotics, Lecture Notes in AI #1867,
Springer-Verlag, Berlin, 2000, pp. 55-81.
[10] Mcguinness et al, Ontologies come of age, MIT Press, Cambridge, MA, 2002.
[11] Gomez-Perez, Tutorial on ontological engineering, Proceedings of the 16th
International Joint Conference on Artificial Intelligence, 1999, Sweden (July/Aug.).
[12] Time Berners-Lee, The Semantic Web Revisited, IEEE Intelligent Systems, 2006

25 |Ontology and Database Design

[13] Teorey, Yang and Fry. A Logical Design Methodology for Relational Databases
Using the Extended Entity-Relationship Model, ACM Computing Surveys Vol 18 Issue
2, 1986, pp. 197-222.
[14] Sanjay Kumar Malik, Nupur Prakash, SAM Rizvi , Ontology Revisited: Design
and Development

26 |Ontology and Database Design

You might also like