Ontology Development for Online Food Ordering

taupesalmonInternet και Εφαρμογές Web

21 Οκτ 2013 (πριν από 3 χρόνια και 5 μήνες)

124 εμφανίσεις
















Ontology Development for Online Food Ordering
System Management







Author: Md. Alamgir Hussain


ID: 1071553011







Supervisor: Dr Joanna Isabelle OLSZEWSKA


Date: 18

March, 2011


School of Computing & Engineering



A Project report

submitted in partial fulfilment of the

requirements

f
or the

degree of

MSc Information Systems


Management
in the School of Computing & Engineering
at the

University

of Huddersfiel
d


2

Acknowledgement




Throughout the course of completing this project, I was faced with many
challenging aspects which would have been impossible to complete without the help
of certain individuals. I would have not been successful in reaching my full potential
without them an
d thus, would like to take this opportunity to express my gratitude
towards these persons.


First and foremost, I would like to sincerely thank my project supervisor Dr
Joanna Isabelle OLSZEWSKA, who carried out a
great

job in providing me with
guidance t
hroughout the duration of this project. The meetings with Dr Joanna
enabled me to further construct my project effectively and played an integral role in
aiding me towards attaining my goals. She is an excellent supervisor whose
expertise provided much as
sistance.


Secondly, I would like to thank the faculty members of the School of
Computing and Engineering: Dr Steve Wade, Dr David Wilson and
Ms
Julie
Wilkinson for the productive workshops they arranged throughout the course of this
project
.



I would li
ke to particularly thank the staff of Meal4You for their cooperation
throughout the duration of this project who provided me with the necessary
information and resources to successfully complete this project.


Finally, a big thank you to my family, friend
s and colleagues with whom, I was
able to discuss aspects of this project. Without their immense support and
encouragement I would have not been able to complete this project.


I am very grateful to all persons mentioned who have had involvement with
this

project. Sincere apologies to anyone I have not mentioned.


Thank you all.





3

Abstract





“Meal4You” is
a

food ordering company

situated in
Balsall Heath,
Birmingham
, UK
.

They have number of member restaurants in West Midlands

and
provide a food takeaway service to the customer. The company needed a food
ordering system to integrate all their member restaurants throughout the UK; to
manage contents of the various restaurants; to facilitate customers to access their
local restau
rants, and to browse different food menus, ingredients, and prices.


For this purpose, we propose an ontological approach to combine and share
the knowledge about these “Meal4You” restaurants, their food menus, and delivery
services. The ontology identifies semantic key concepts of restaurants including
postcode, address, a
rea of delivery, opening hours, meal dishes, ingredients, prices,
etc. and represents this domain knowledge in a hierarchical structure.


In this MSc project, we developed this “Meal4You” ontology using a skeletal
methodology to define the scope of the on
tology, to capture various meals concepts
from restaurant scenarios, and to codify it in OWL
-
DL language. The integration of
concepts, objects, data, and individuals into the ontology was done with the Protégé
-
OWL tool.


As a result of this, customers co
uld query about restaurants, e.g. by using
their post code. They could search various meal dishes from the listed restaurants
and also adapt the ingredients. Customers could also query about different food
items such as what types of pizza are available, w
hat kind burgers the restaurants
could offer, what toppings are included to this, etc.


“Meal4You” ontology has successfully met all these functions, and the report
documents all the content of the ontology development.





4

Table of Content


Chapter 1: Introduction

................................
................................
..............................

6

1.1 Introduction

................................
................................
................................
......

6

1.2 Scope of Study

................................
................................
................................

7

1.3 Overview

................................
................................
................................
.........

7

Chapter 2: Ontological Engineering

................................
................................
...........

9

2.1 Introduction

................................
................................
................................
......

9

2.2 Definition of Ontology

................................
................................
......................

9

2.3 Methodologies for Building Ontologies

................................
...........................

10

2.3.1 Cyc Methodology

................................
................................
....................

10

2.3.2 Enterprise Ontology (EO) Methodology

................................
..................

11

2.3.3 Toronto Virtual Enterprise (TOVE) Modelling Methodology

.....................

11

2.3.4 KACTUS Methodology

................................
................................
............

11

2.3.5 Skeletal Methodology

................................
................................
.............

11

2.3.6 METHONTOLOGY

................................
................................
.................

12

2.3.7 SENSUS Methodology
................................
................................
............

12

2.3.8 Enhanced Methodology

................................
................................
..........

12

2.3.9 Integrated Ontology Development Methodology

................................
.....

12

2.4 Comparison between
Methodologies

................................
.............................

13

2.5 Ontology Languages

................................
................................
.....................

14

2.5.1 Knowledge Interchan
ge Format (KIF)

................................
.....................

14

2.5.2 LOOM

................................
................................
................................
.....

14

2.5.3 FLogic

................................
................................
................................
.....

14

2.5.4 Operational Conceptual Modelling Language (OCML)

............................

15

2.5.5 S
imple HTML Ontology Extension (SHOE)

................................
.............

15

2.5.6 Resource Description Framework (RDF)

................................
................

15

2.5.7 XML
-
based Ontology
-
exchange Language (XOL)

................................
...

15

2.5.8 DARPA Agent Markup Language (DAML)

................................
..............

15

2.5.9 Ontology Web Language (OWL)

................................
.............................

16

2.6 Comparison between Ontology Languages

................................
...................

16

2.7 Ontology Development Tools
................................
................................
.........

17

2.7.1 Ontolingua

................................
................................
..............................

17

2.7.2 Ontosaurus

................................
................................
.............................

17

2.7.3 WebOnto

................................
................................
................................

17

2.7.4 Protégé 2000

................................
................................
..........................

17

2.7.5 Web Ontology Design Environment (WebODE)

................................
......

18

2.7.6 OILEd

................................
................................
................................
.....

18

2.7.7 OntoEdit

................................
................................
................................
.

18

2.7.8 DAML UML Exchanged Tool (DUET)

................................
......................

18

2.8 Comparison between Ontology Development Tools

................................
......

19

Chapter 3: Developed “Meal4You” Ontology

................................
...........................

21

3.1 Methodology Choice

................................
................................
......................

21

3.1.1 Ontology Purpose, Scope, and Domain

................................
..................

21

3.1.2 Acquisition and Conceptualisation of the Domain Knowledge

.................

21

3.1.3 Reuse of Existing Ontologies

................................
................................
..

21

3.1.4 Ontology Formal Specification

................................
................................

21

3.1.5 Ontology Population

................................
................................
...............

22

3.1.6 Evaluation and Documentation of the Ontology

................................
......

22

3.2 Analysis of the scope of ontology

................................
................................
..

22

3.2.1 Interviews

................................
................................
...............................

22

3.2.2 Food Delivery Management Process

................................
......................

22

3.2.3 Online Food Ordering Process

................................
................................

23

3.3 Building the ontology

................................
................................
.....................

25


5

3.3.1 Knowledge Capture

................................
................................
................

25

3.3.1.1 “Meal4You” Concepts

................................
................................
..........

25

3.3.1.2 “Meal4You” Properties

................................
................................
.........

32

3.3.2 Ontology Coding

................................
................................
.....................

33

3.3.3 System Integration

................................
................................
..................

35

Chapter 4: Results and Discussion

................................
................................
..........

38

Chapter 5: Conclusions

................................
................................
...........................

46

References

................................
................................
................................
..............

48

List of Figures

................................
................................
................................
..........

54

Glossary

................................
................................
................................
..................

55

Appendices

................................
................................
................................
.............

56

Appendix A: Project Proposal

................................
................................
..............

56

Appendix B: Terms of References

................................
................................
.......

61

Appendix C: Professional Issues

................................
................................
.........

70

Appendix D: Menus

................................
................................
.............................

76

D.1 Nass’ Restaurant Menu

................................
................................
.............

76

D.2 Shinwari’s Restaurant Menu

................................
................................
.....

77

D.3 Khan’s Restaurant Menu

................................
................................
...........

78

D.4 Saleem’s Restaurant Menu

................................
................................
.......

79

D.5 Chicken Hut’s Restaurant Menu

................................
................................

80


6

Chapter 1: Introduction


1.1 Introduction



This project is focussed on the development of an ontology based on the
“Meal4You” customers’ online food ordering system accessed many thousands time
per day (Meal4You, 2011). Hence, our “Meal4You” ontology aims to manage
information about meals’ composit
ion, price, ordering, and delivery.


Generally, clients want to access updated menus including all food items,
prices, and to receive instant order confirmation when they place an order. Moreover,
customers need restaurants’ details such as postcode, sin
ce they preferentially order
food from local restaurants because they have an idea of the food proposed by these
restaurants and also because the ordered meals could be delivered within a
reasonable wait time.


The project takes into account several issue
s regarding companies’ strategic
business plans enabling customer “
to

order

takeaways in a smart way
”. Indeed, all
restaurants have their own strategy including unique food items and origins (e.g.
Bangladeshi, Indian, Pakistani, etc.), meal deals allowing
the customer to order more
food at a lower price, and restaurants’ details including postcode, opening hours and
areas for food delivery to make the order process quick and easy.


Hence, our ontology will need to represent the restaurants, menus, a
nd prices
in an organised manner. Indeed, among the different dishes of restaurants, some
items are similar to each others; some have the same ingredients, or same prices. To
solve these issues, the “Meal4You” ontology is required to provide meaningful
con
cepts and relations to identify the knowledge and to represent it in a formal way.



Apart from the food management, the ontology is also going to integrate
knowledge to enable the customer to place an order. Indeed, the ontology will
provide some information to choose meal dishes such as rice, chicken, beef, mutton,
burger, pizza, etc. by

including concepts about the different ingredients and toppings.

The ontology will also consist of concepts related to restaurants’ contact details in
order to facilitate the food delivery. For example, our ontology will contain some
logical relations ba
sed on the restaurant opening hours. When customers will try
restaurant in order to place an order, they will automatically know whether the

7

restaurant is open or closed and thus, if the food order is possible. Moreover, the
user will be able to select the

restaurants not only by postcode, but also by cities and
addresses.


Finally, in the ontology development phase, we will identify various concepts
and relationships form different food management scenarios in order to reuse some
knowledge when building

“Meal4You” ontology.

1.2 Scope of Study



The scopes of study are as follows:


1)

Analysis of different ontology development methodologies to select one in the
context of the application development;

2)

Review of different development tools to build the doma
in ontology;

3)

Comparison between the different formal languages to implement an
ontology;

4)

Investigation of the “Meal4You” online ordering system, restaurants’
organisation as well as menus to gather data in purpose of analysing and
building the ontology;

5)

De
finition of the knowledge concepts for the ontology development by
identifying scopes and applications;

6)

Development and demonstration of “Meal4You” ontology’s concepts and
relationships;

7)

Evaluation of the whole ontology;


1.3 Overview



Chapter 2

focuses on ontological engineering. It presents several definitions
of the ontology and describes methodologies, languages, and tools to develop and
implement ontologies.


Chapter 3

proposes an ontological approach for the online food
-
ordering
system man
agement, by using a particular methodology for the ontology
development which includes the analysis of the scope of the ontology using different
techniques, e.g. interviews, business modelling, etc. Finally, the chapter describes
the building of the ontolo
gy and discusses how to capture, code, and integrate the
“Meal4You” ontology.


8


Chapter 4

evaluates the ontology developed during this project
in terms of
aims and objectives. It also demonstrates the range of possibilities of the “Meal4You”
ontology with the illustration of different kinds of queries.


Chapter 5

concludes the project by summarising various aspects of the
ontology development i
ncluding challenges, solutions, and recommendations for the
users.







9

Chapter 2:
Ontological Engineering


2.1

Introduction


Ontological Engineering is defined as a set of activities related to the ontology
development process, ontology life
cycle, methods and methodologies, tools, and
languages for building the ontologies (
Gómez
-
Pérez,

A. et al., 2004).


Ontological approaches
are

widely used

for captur
ing, sharing, and
representing
knowledge

in applications such as knowledge management, nat
ural
language processing, information integration and retrieval, as well as in new
emerging fields like e
-
Commerce and Semantic Web (
Gómez
-
Pérez,

A. et al., 2004).


2.2 Definition of Ontology


The term ontology comes from the Philosophy and literally mean
s “
a
systematic explanation of being
” (
Gómez
-
Pérez,

A. et al., 2004).


Since the last two decades, ontology has become relevant in Computer
Science. Different authors define the term Ontology in different ways.


Neches

provided the first definition of an ontology in the Knowledge
Engineering community as follows:


An ontology defines the basic terms and
relations comprising the vocabulary of a topic area as well as the rules for combining
terms and relations to define e
xtensions to the vocabulary


(Neches, R. et al., 1991).
This definition is mainly focused on building the ontology by identifying some

basic
terms and relationships b
etween or among them,

to combine these terms
to provide
a definition of knowledge base.




Next,
Gruber defined
the
ontology as “
an explicit specification of a
conceptualisation


(
Gruber
, T.R., 1993). Current definitions are based on the
Gruber’s formalism.



Then, Guarino provided another definition of the ontology as


a logical theory
which

gives an explicit, partial account of a conceptualisation
” (Guarino, N. and

10

Giaretta, P., 1995). He also proned the idea what

a pers
on or a group of people can
use and share conceptualization.


There are some other definitions based on the process
followed to build
ontologies. T
he definition
introduced

by Bernaras in the
framework of the KACTUS
project

is: “
It [an
ontology] provides the means for describing explicitly the
conceptualization behind the knowledge represented in a knowledge base


(Berna
ras,
A. et al., 1996
). This
point of view shows the importance of extracting
structures from knowledge bases and to choose an ontological approach to do that. It
implies that the same ontology can be used for various knowledge bases which
would share the s
ame concepts.




The definition used in

SENSUS
ontologies is:

An ontology is a hierarchically
structured set of terms for describing a domain that can be used as a skeletal
foundation for a knowledge base


(Swartout, B. et al., 1997), and it highlights t
he
intrinsic hierarchical structure of ontologies.


Borst slightly modified the Gruber’s definition and stated that “
Ontologies are
defined as a formal specification of a shared conceptualisation

(
Borst, W.N
.,
1997
).


Studer has merged Gruber’s and Borst’s definitions as follows:

Conceptualization
refers to an abstract model of some phenomenon in the world by having identified the
relevant concepts of that phenomenon. Explicit means that the type of concepts
used, and
the constraints on their use are explicitly defined. Formal refers to the fact
that the ontology should be machine

readable. Shared reflects the notion that an
ontology captures consensual knowledge, that is, it is not private of some indi
vidual,
but accep
ted by a group.


(Studer, R. et al., 1998).


More definitions of ontologies have been introduced in Artificial Intelligence
(AI) literacy, but the most common in the ontology community is that of Gruber.

2.3
Methodologies for Building Ontolog
ies


Many methodologies have been developed to build an ontology. We present
some of the most well known procedures.

2.3.1 Cyc Methodology



The Cyc methodology was introduced to capture some common
-
sense
knowledge from people about the knowledge world. It codifies this knowledge in a

11

formal language to build a knowledge base (Lenat, D. B. and Guha, R.V., 1990). The
methodology consists first i
n manually codifying common
-
sense knowledge and then,
in its extracting and accruing knowledge by using computer aided tools.

2.3.2 Enterprise Ontology (EO) Methodology


The
methodology introduced by

Uschold, M. and King, M. (1995) proposes
four phase
s
:

(
i) identifications of the purpose of the ontology; (ii) ontology building
which consists of three parts:
capture

to identify the domain concepts and their
relations;
coding

to represent the ontology in a formal language; and
integration

to
share ontology k
nowledge; (iii) evaluation of the ontology to check that the developed
ontology meets the scope of the project; (iv) documentation of the ontology.

2.3.3 Toronto Virtual Enterprise (TOVE) Modelling Methodology



This

methodology

was proposed
within the
TOVE project (
Gruninger, M.
and
Fox
,

M.
,

1995
)

and consists of the following stages: (i) capturing motivating
scenarios, which include problem scenario and solutions; (ii) f
ormulation of informal
competency questions
that the ontology must be able to answe
r; (iii) specification in
first
-
order logic of the terminology of the ontology; (iv) formulation of

formal
compe
tency questions; (v) s
pecification
using first
-
order logic
of axioms and
definitions
of

the terms used in the
ontology; and (vi) f
inally,
defini
tion of
completeness theorems for the developed ontology (Fernandez
-
Lopez, M. and
Gomez
-
Perez, A
., 2002).

2.3.4 KACTUS Methodology


The methodology was proposed within the Esprit KACTUS project (Bernaras,
A. et al., 1996) and consists of the following

actions: (i) specifying the application
knowledge base to model concepts tries; (ii) designing the ontology using a bottom
-
up strategy; (iii) building and refining the ontology for a specific application.

2.3.5 Skeletal

Methodology



Uschold, M. and
Gruninger, M. (1996) defined a skeletal methodology in six
phases: (i) identification and definition of the domain, purpose
,

and scope of
ontology; (ii) acquisition and conceptualisation of
the
domain knowledge including
the
hierarchization
of domain terms

and the definition of relationships among or between
them; (iii) reuse of existing ontologies; (iv) formal specification of the ontology to
represent the ontology in a formal language; (v) population of the ontology with

12

individual instances by using deve
lopment tools to create individual

classes and
instances; (vi) and finally, evaluation and documentation in terms of consistency and
competency of the developed ontology.


2.3.6 METHONTOLOGY


In (
Fernandez, M.

et al., 1997), a methodology called METHONTO
LOGY is
proposed
for building ontolog
ies

from scratch.

The first step of this methodology is to
identify the scope of the ontology and its functionality. The next step consists in
gathering knowledge. For this purpose, many techniques such as brainstorming
, text
analysis, interviews, knowledge acquisition tools, etc. could be used. The third step is
the conceptualisation process which builds the domain of the ontology with all the
knowledge keywords grouped around concepts. The last step is the documentatio
n
of all the previous steps when building the ontology.

2.3.7 SENSUS Methodology


This methodology enables the sharing of common knowledge between two
ontologies. The methodology includes the following steps: (i) identification of the
seed terms which ar
e domain specific concepts; (ii) manual link of these seed terms
to SENSUS; (iii) addition of paths to the root where all concepts are included from the
seed terms to the linking nodes of SENSUS; (iv) addition of new domain terms
relevant to the ontology;
(v) and finally, addition of complete sub trees of those nodes
which have a large number of paths through them
(Swartout, B. et al., 1997).

2.3.8
Enhanced Methodology


The methodology proposed by Ohgren, A.

and

Sandkuhl, K.
(
2005)

summarises the previous approaches in

four phases: (i) r
equirement analysis

to
define the scope of ontology including what the ontology will do; (ii) ontology building
by identifying concepts and their relations, e.g. “is
-
a” relations, associations and
sy
nonyms in a middle
-
out approach; (iii
)
ontology i
mplementation

by using an
appropriate tool like Protégé or OntoEdit; (iv
)

e
valuation and maintenance

to ensure
that the developed ontology meets all the requirements.

2.3.9
Integrated Ontology
Development Methodology


This methodology presented by
Chaware, S.

and Rao, S. (2010) consists of
four steps: (i)
i
dentification of the user scenario to capture the domain knowledge;


13

(ii) formulation of formal and informal questions to define the scope of

the ontology;
(iii) ext
raction of terms and constrains

to satisfy the needs of the ontology; and
finally,
(iv) ontology building.

2.4 Comparison between Methodologies


In this section we present a brief evaluation of methodologies described in
Sectio
n 2.3. in terms of life
-
cycle coverage of the ontological development process as
well as in terms of ontology reuse.


Cyc Methodology offers various steps to build an ontology. It supports
knowledge acquisition process, but there is no appropriate guide
lines for the ontology
configuration, verification, and validation.




The methodology proposed in Enterprise Ontology (EO) covers the whole
ontology development life
-
cycle. It supports the integration of existing ontologies only
in the last development
phase. Moreover, there is no detailed guidelines to use this
methodology.



The approach used in Toronto Virtual Enterprise (TOVE) modelling is usally
too complex for small
-
scale applications. It covers the complete ontology
development life
-
cycle but doe
s not allow the reuse of ontologies.



KACTUS methodology does not support the whole ontology development life
cycle, since ontology configuration, installation, operation or supports are not
covered.



Skeletal methodology covers the whole ontology development process.
Furthermore, it provides support in building ontologies as well as in integrating and
reusing them.



METHONTOLOGY methodology is considered as one of the most mature
methodology as it s
upports the development and the integration of ontologies.
However, there is no possibility for reuse of existing ontologies in early development
stages.



SENSUS methodology defines the scope of the ontology and helps in building
it, but it does not sup
port its reuse.



14



Enhanced methodology is a mixed approach which supports the entire
ontology development life
-
cycle, but its maturity is not yet proven.



Integrated ontology development methodology covers the initialization and
building phases of the
ontology but does not provide any particular guidelines on the
ontology reuse.



2.5 Ontology Languages


Several languages have been introduced for ontologies formal representation.
In this section, we present the most popular ones.

2.5
.1 Knowle
dge Interchange Format (KIF)



Knowledge Interchange Format (KIF) was introduced by Genesereth, R. and
Fikes, R. (1992) as a formal language to share knowledge between various computer
systems. KIF includes features as following:



It has declarative semant
ics to understand language expressions without
translator or interpreter;



It is logically comprehensive and thus, could provide expressions of arbitrary
sentences in first
-
order predicate calculus;



It provides meta
-
knowledge to make explicit the knowledge
representation;



It owns translatability and thus, could help in translating declarative
knowledge bases to typical knowledge representation languages;



It maximizes readability and could be used as a publication language for
knowledge bases and to assist humans with knowledge translation problems
(Pulido, J.R.G. et al., 2006).

2.5.2 LOOM


LOOM

was

developed as an environment for the development of intell
igent
systems for knowledge representation and reasoning in AI. LOOM includes
declarative components for definitions, rules, facts, and default rules. It also contains
systems to support production rules, and object
-
oriented methods (
MacGregor, R.
,
1991).


2.5.3 FLogic


FLogic stands for
Frame

Logic

and is a logic
-
based language primarily
develop for deductive databases. FLogic integrates features of object
-
oriented

15

programming and helps to represent concepts, relations, taxonomies, functions and
deduct
ive rules of ontology (Kifer, M. et al., 1995).

2.5.4 Operational Conceptual Modelling Language (OCML)


Operational Conceptual Modelling Language (OCML) was introduced to
support the construction of knowledge models, allowing the specification and
operati
onalization of classes, relations, axioms and functions of ontology. OCML was
developed to create executable ontologies (Motta, E., 1999).

2.5.5 Simple HTML Ontology Extension (SHOE)


SHOE integrates ontologies into web documents (Luke, S. and Heflin, J.,
2000). SHOE allows to represent concepts, n
-
ary relations, taxonomies, instances,
and deductive rules to enable humans to annotate web pages with knowledge
readable for intelligent age
nts.

2.5.6 Resource Description Framework (RDF)


RDF has been developed by the World Wide Web Consortium (W3C) to create a
metadata model for describing web resources. The RDF data model consists of three
types of statements: subject (the resource), predi
cate (relationship between the
subject and the object), and object. It is widely used as a representation format in
many projects and as a knowledge management system handling applications such
as browsing, editing, validating, querying, storing, etc. (

mez
-
Pérez,

A. et al.,
2004).

2.5.7 XML
-
based Ontology
-
exchange Language (XOL)


XOL was designed to provide a format for exchanging ontologies which include both
metadata such as class definitions and ground facts such as object definitions. XOL
syntax is based on XML, while its semantics use the Open Knowledge Base
Connectivity (OKBC
)
-

Lite model as in object
-
oriented knowledge representation
systems
(Karp, P.D. et al., 1999)
.

2.5.8 DARPA Agent Markup Language (DAML)


DAML has been developed to support the Semantic Web and was based on
RDF. The DAML has been upgraded to DAML+OIL

(Ontology Inference Layer) and
could use both RDF and XML. It allows the representation of concepts, taxonomies,

16

relations, and instances to create ontologies and to markup information in a machine
-
readable way (Horrocks, I. et al., 2001).


2.5.9 Onto
logy Web Language (OWL)


The

OWL language

is based on W3C standards and provides knowledge
re
presentation features to define
an

ontology. It is compatible with early ontology
languages including SHOE and DAML+OIL. OWL is used to create classes,
properties,

and individuals
. The OWL
-
DL (Description Logic) allows to provide some
restrictions between classes and individual instances and thus enables the use of
reasoners

(Harmelen, F.V. et al., 2003).


2.6 Comparison between Ontology Languages


In this sectio
n, we present a short comparison of ontology development
languages described in Section 2.5.



Knowledge Interchange Format (KIF) shares concepts and relations by using
first
-
order logic and helps to understand language expressions without a translator or
an interpreter. KIF makes knowledge representation explicit.


LOOM builds knowledge base by using descriptive logic. It can represent
concepts, instances, relations and functions of ontologies.


FLogic integrates object
-
oriented programming features to represent
knowledge. FLogic can be used to represent concepts, relations, and functions of
ontologies.


OCML is a frame
-
based language and can be used to execute classes,
instances, and relations o
f the ontology.


SHOE represents ontological classes, axioms, relations, and functions for
HTML documents.




RDF is used to create metadata and description of web and it has sufficient
resources for frame
-
based knowledge representation.


XOL is
used to create classes, taxonomies, and binary relationships, but it
does not integrate any inference engine.



17

DAML provides support for Semantic Web and was primarily based on RDF,
then extended to DAML+OIL to support also XML.


OWL is used to create c
lasses, instances, relations, and individuals of an
ontology and could be embedded with description logic (DL).

2.7 Ontology Development Tools


Many ontology development tools have been proposed to provide support for
the ontology development process and
its usage. The most used ontology
development tools are described in this section.

2.7.1 Ontolingua


Ontolingua Server (Farquhar, A. et al., 1996) was developed to make easy
the ontology development by using a form
-
based web interface. It has an ontology
editor which supports collaborative editing, browsing, and creation of ontologies. The
editor also pr
ovides translators to following languages: DMAL+OIL, KIF, OKBC,
LOOM, Prolog, CLIPS, etc. The server enables the storage and maintenance of the
ontologies.

2.7.2 Ontosaurus


The Ontosaurus (Swartout, B. et al., 1997) was introduced to build LOOM
ontolog
ies by means of the web and it consists of two modules: an ontology server to
store the knowledge, and an ontology editor to classify concepts and to edit instant
matching queries expressed in the ontology. Ontosaurus provides language
translator service t
o KIF, KRSS, and C++.

2.7.3 WebOnto



WebOnto allows editing and browsing the ontology collaboratively over the
web. WebOnto provides a graphical interface and uses OCML language (Domingue,
J., 1998).

2.7.4 Protégé 2000


Protégé 2000 (Noy, N.F. et al., 2000) has been developed at Stanford
University. It
is a free, open
source and standalone ontology

editor. It provides an
integrated knowledge
-
based editing environment, which allows conceptualisation,
visualisation, and man
ipulation of ontologies.
Protégé
-
OWL
(Horridge, M., 2009
)

18

could directly generate OWL files which
can be access
ed

from different programm
ing
language platforms like XML

or Java.


2.7.5 Web Ontology Design Environment (WebODE)


WebODE has been deve
loped to directly access the ontologies. That means
a well defined Application Programming Interface (API) supplies through an
application server. WebODE ontologies are conceptualised with a very expressive
knowledge model. WebODE contains an ontology edit
or, ontology
-
based knowledge
management system, and automatic semantic
-
web portal generator. The ontology
editor has different user interfaces: an HTML
-
form
-
based editor for editing all the
terms of the domain ontology and a graphical user interface (GUI)
for editing axioms
and rules. WebODE owns also importation and translation services to other
languages which allow to generate WebODE ontologies in XML and in several other
ontology languages, such as RDF(S), OIL, DAML+OIL, or OWL (Arpirez, J.C. et al.,
20
01).

2.7.6 OILEd


OILEd (Bechhofer, S. et al., 2001) was developed as a freeware editor for OIL
ontologies, and later adapted to DAML+OIL ontologies. OILEd can connect DL
reasoners including Fast Classification of Terminologies (FaCT) inference engine to
check consistency of class taxonomies. However, it was not primarily designed to
offer a full environment to develop large
-
scale ontologies.



2.7
.
7

OntoEdit




OntoEdit is a collaborative knowledge engineering environment that is easily
expandable thro
ugh a flexible plug
-
in framework. OntoEdit supports each action of
the ontological development process including: browsing, inspecting, and codifying. It
uses GUI views of conceptual structures of concepts, relations, and hierarchies
rather than ASCII repr
esentation. The conceptualisation of an ontology is internally
stored using an ontological model which can be mapped into different representation
languages such as DAML+OIL or RDF (Sure, Y. et al., 2002).


2.7.8 DAML UML Exchanged Tool (DUET)


DUET provides a Unified Modelling Language (UML) visualisation and
authoring environment for DAML+OIL ontologies (Kogut, P. et al., 2002). This tool is
useful to model concepts with UML and then to translate them into DAML+OIL to use

19

them in software devel
opment. It also allows to work with several ontologies in the
same time.

2.8 Comparison between Ontology Development Tools



This section presents a comparison between various ontology developments
tools described in Section 2.7


Ontolingua server

was introduced to develop ontology with frame
-
based
interface. Ontolingua editor supports collaborative editing to create ontologies and
also provides a translator service to KIF, LOOM, OKBC, DMAL+OIL, Prolog, CLIPS
etc. However, it does not offer any gra
phical view nor inference engine.


The Ontosaurus is used to represent knowledge, to classify concepts and to
edit instant matching queries expressed in domain ontology. It also provides a
language translator service to KIF, KRSS and C++, but no graphic
al views.


WebOnto is used as a collaborative editor for the ontology and it uses OCML,
but it does not provide any extensibility features.


WebODE can to directly access the ontologies. WebODE has an HTML
-
form
-
based editor to edit terms used in the do
main ontology. WebODE provide importation
and translation services to various languages to generate WebODE ontologies in
XML and in other ontology languages such as RDF(S), OIL, DAML+OIL, OWL, etc.
However, it is not standalone.


OILEd was used as a sta
ndalone editor for OIL and DMAL+OIL ontologies. It
connect reasoners like FaCT, but does not provide any graphical view.


OntoEdit is a collaborative knowledge engineering environment which
supports various actions through ontology development process in
cluding: browsing,
inspecting, and codifying. It provides interoperability and translations to languages
such as XML, RDF etc., but no graphical views.


DUET is useful to model ontologies with UML which provides translation
service to DAML+OIL languages,

but does not offer viable storage nor the use of
inference engine.


20


Protégé
is a free, open
source and standalone ontology

editor. It provides an
integrated knowledge
-
based editing environment

to create classes, instances,
relationships and individuals and rich graphical menus
. The
output of
Protégé OWL
file
can be executed with different programming language such as XML, Java etc.



21

Chapter 3: Developed “Meal4You”
Ontology


3.1 Methodology Ch
oice


When building an ontology, it is important to address the goal of an ontology
and its scopes; to capture the concepts from the application environment; to codify
these concepts and their relations in a formal language. To develop the “Meal4You”
ont
ology, we have chosen the “Skeletal Methodology” (see Section 2.3.5) mainly
because it is one of the most mature ontology development methodology which
covers the whole ontology development life
-
cycle and because it enables the reuse
of already existing on
tologies. In context of our “Meal4You” ontology development,
the adopted methodological steps could be summarized as follows.

3.1.1 Ontology Purpose, Scope, and Domain


We analyse the scope of the ontology by using different analysis methods
such as interviews to collect data; use case diagram and business practice modelling
(BPML) diagrams to identify data flows.

3.1.2 Acquisition and Conceptualisation of the Domai
n Knowledge


To build the “Meal4You” ontology, we capture the domain terms in the
restaurant menus (See Appendix D) and we define the hierarchy of the meals
-
related
concepts and their relationships.

3.1.3 Reuse of Existing Ontologies


As the restaurants propose some pizzas, we have reused “Pizza” ontology
(Horridge, M., 2009
) in our “Meal4You” ontology and we have extended it with new
pizzas’ names and toppings. For the other concepts regarding the exotic dishes, we
have defined our own

keywords and relationships.

3.1.4 Ontology Formal Specification


We use OWL
-
DL language to represent “Meal4You” ontology in a formal
language.





22

3.1.5 Ontology Population


“Meal4You” ontology is manually populated with Protégé
-
OWL v 4.0.2
(
Horridge,

M., 2009
) to create the classes and the properties.

3.1.6 Evaluation and Documentation of the Ontology


In this step we evaluate the whole ontology development process to ensure
that it has met all the requirements of the project described in terms of r
eference (see
Appendix B). The evaluation of the “Meal4You” ontology is presented in Chapter 4.


We have also kept the records of all the stages of the ontology development
and the resulting documentation is the base of the following sections.

3.2 Analy
sis of the scope of ontology


We have chosen different analysis methods such as interviews and business
practice modelling (BPM) to define the scope of “Meal4You” ontology we have
developed.

3.2.1 Interviews


We have used the interview method to collect

data for this project because
interviews can ensure a clear and complete view of the process (Curtis, G., 1998).
We have set several meetings with the managers of the company who own
“Meal4You” website to gain a plain understanding of the online system th
at they use.
We have also met restaurant owners as well as customers to get an idea of the food
ordering and delivery process. During the meetings, we have discussed about
various issues regarding the functionality of the project, e.g. how the system works
,
what features the system provides, who are the target audience, etc. The company
personnel has referred us to visit one of their websites (N
ass

F
ast

F
oods

L
td
, 2011)
and provided us with some food menus to help us in collecting data (see Appendix
D).

3.2.2 Food Delivery Management Process


We used Unified Modeling Language (UML) to capture

the functional
requirements of the system

(Martin, F., 2004)
.

In particular, we focus on use
-
case

23

diagram to describe the interaction between the actors (users) and

the food
-
ordering
system.


In fact, customers are often browsing the food menus listed at the home
pages of the various accredited restaurants in order to find foods for which they wish
to place an order. Customer could add the wanted meals to his/her sh
opping basket,
and could also add or remove some ingredients from the dishes. Then, the customer
could look at the shopping basket and if necessary, remove some meals from the
basket. When a customer wishes to place an order, she/he provides credit card
d
etails for sales confirmation. We illustrate this scenario in the use
-
case diagram
presented in Fig.1.






Figure
1
: Use Case Diagram


3.2.3 Online Food Ordering Process


Business Process Modeling Language (BPML) diagram represents the flow of
the system covering relevant rules, event, and data flows. BPML enables to construct

24

a clear executable process specification of the system including loop constructs,
execution handli
ng, and transactions to help programmers throughout the
development phase
(Allweyer, T., 2010)
.


In this project, a number of processes are identified. First, the customer
browses the “Meal4You” home page to choose a restaurant. At this point, there are
t
wo possibilities: the selected restaurants could be open or closed. If the restaurant is
open, then customer browses the food menu of this restaurant. Otherwise, s/he have
to search for another restaurant. When the customer has selected one food item,
s/he

can view his/her basket or continue to add meals and specify some particular
ingredients s/he wants or not. After finishing the dish the dishes’ selection, the
customer views his/her basket and then could place an order or leave the system. In
the case, t
he customer wants to place the order, s/he needs to provide payment
details which are checked by the finance system. If this is successful, the restaurant
receives the customer’s food order and processes it. After a wait time due to the
meal dishes’ cookin
g and delivery, the customer will receive his/her order. The BPML
diagram represents this process in Fig.2. The entire process is contained in a pool.
The pool is divided into different lanes each for a different acting agent (customer,
restaurant, finance

system).



Figure
2
: Business Process Model


25

3.3 Building the ontology

3.3.1 Knowledge Capture


The general concepts of the designed “Meal4You” ontology as well as the
ontology hierarchy are presented in Section 3.3.1.1, while their relations and
properties are described in Section 3.3.1.2.

3.3.1.1 “Meal4You” Concepts


The “Meal4You” major concepts

are “Food Menus” and “Restaurant”. First,
we will introduce the “Food Menu” class and next the “Restaurant” one.































Figure
3
:
Classes and sub
-
classes of the “FoodMenu” concept
.


The subclasses of “Food

Menu” (see Fig.3) follow the various meal names such as

Burger

,

ChickenDish

,

ChickenNugget

,

ChickenSoup

,

Dessert

,

Drink

,

26


Flavour

,

FreshJuice

,

FreshMilkshake

,

Fries

,

GarlicBread

,

Kebab

,

KidMeal

,

MeatDish

,

Nan

,

PizzaExclusive

,

RiceDishe

,

Sauce

,

Spinach

,

Sundries

,

TawaDishe

,

TotBtot

, and

VegetableNugget

.

The taxonomy also includes:
important semantic notations such as “
Flavour”


Ingredient

,

Origin

,

Price

,

and

SideOrder

.



“Pizza” concept (see Fig.4) have been based on “Pizza.owl” ontology
(Horridge, M.,
2009
) and extended with new concepts (e.g.
KoftaKebabTopping
), whereas all other
concepts have been define from scratch by ourselves.

























Figure
4
:
Some of the “Pizza”
-
related classes.



To illustrate a specific sub
-
class, we have chosen the “Burger” concept as shown in
Fig.5
-
7. The burgers could be divided into three sub
-
classes based on their names in

27

the menus (“
BeefBurger
” and “
VegeBurger
”) and the third one related to their
topping.























Figure
5
: “
BeefBurger
-

related
classes.




















Figure
6
: “VegeBurger”
-
related classes.














28
























Figure
7
: “BurgerTopping”
-

related
classes
.


Another important type of classes are “Flavour” and “Ingredients” (See Fig.8), as they
can be shared by different meal dishes.























Figure
8
:
“Ingredient”
-
related classes.


The ingredient taxonomy which consists of
“AlluSpicy”
,

“Beef”
,

“Chickpeas”
,

“Chicken”
,

“GreenChilli”
,

“Lamb”
,

“Mutton”
,

“Onion”
,

“Paneer”
,

“Pepper”
,

“TarkaDal”

29

and “Tomato” enables the customer to find food by ingredients rather than by dishes’
names.


Drinks are divided into different beverage classes such as “ColdDrink” and “HotDrink”
as illustrated in Fig.9. The “ColdDrink” has some sub
-
classes such as trademarks
(“7UP, “Coke”, “Diet Coke”, “Locozade”, “Mineral Water”, “Pepsi”, “Ribena”,
“Rubicon”, “T
ango”, “Vimto”) and the “HotDrinks” sub
-
classes are the well
-
known
semantic meaningful “Cappuccino”, “Coffee”, “ColdCoffee”, “DeshiTea”, “Tea”, and
“YellowTeaWithFreshMint”.






Figure
9

:


Drink

-
related class
.


Food dishes can be also ordered by origins
(
e.g. Bangladeshi) as illustrated in
Fig.10.








Figure
10
: Food country of “origin”
-
classes.


30



A price list (in Pounds) such as in Fig.11 is provided to the customer.









































Figure
11
: “Price”
-
related classes.


Side orders related concepts are shown in Fig.12.












Figure
12
: “SideOrder”
-

related classes
.


31

Restaurants participating in the
“Meal4You” data base are shown in Fig. 13. There
related concepts are restaurant name (e.g. ChickenHutRestaurant), opening hours
(e.g. 11am
-
12pm), address (e.g. 370StratfordRoad), and postcode (e.g. B115AB).
These are useful to find a restaurant in the are
a of the customer lives and to be sure
about opening hours in order to place orders in open restaurants.





































Figure
13
: “Restaurant”
-

related classes.








32

3.3.1.2 “Meal4You” Properties


Properties of the “Food Menu” concepts of the ontology “Meal4You” are presented in
Fig. 14.



Figure
14
:

BlueBurger


propert
ies
.


For example, we see that “BlueBurger” is a “BeefBurger” and it is available in Nass’
Restaurant.


The properties of the “
Restaurant
” concepts have individual member restaurants
such as “ChickenHut”, “KhanRestaurant”, “NassRestaurant”, “SaleemsRestaurant”,
and “ShinwariRestaurant” as shown in the Fig.15.


Figure
15
:
“Restaurant” properties.


33

3.3.2 Ontology Coding


In this phase, we are using Protégé v 4.0.2
(Horridge, M., 2009
) and OWL
-
DL
language to codify the domain concepts for the following reasons:



Protégé
-
OWL (see Sections 2.7.4 & 2.8) is completely free and

a standalone editor
which offers user
-
friendly graphical views. It also allows the integration of the

domain
ontology with different ontology representation languages such as OWL, DAML+OIL,
XML
,

etc.
and the use of reasoner such as FaCT++.


OWL

is

the W3
C standard. OWL describes concepts, properties, and individuals
such as shown in Fig. 16, and integrates Description Logic (DL) in its OWL
-
DL
version we used in the project. So, it is well suited for codifying our ontology which is
based on a website (“Mea
l4You”).




Figure
16
: OWL schema represent
ing

different data properties class.



34

Figure 16 shows OWL description of class restaurants which have various data
properties such as “
hasName”, “hasAddress”, “hasPostcode”, “hasOpeningHours”;
and relations with individual members such as “
ShinwariRestaurant”
.


35

3.3.3 System Integration


The ontology integration includes the integration of classes, objects, and individual
members.
The details of the integration process are presented below.



Figure
17
:
C
lasses

Hierarchy
.


Figure
17

shows the hierarchy of
various

concepts of “Meal4You” domain ontology

which are interrelated with different object properties, data properties, and individual
members
.



Figure
18
: Object properties.



36

In Fig.18, we present the various object properties of the “Restaurant” concept such
as “hasArea
Of”, “hasPostcodeOf”, “hasOpeningTimeOf”, “hasDistanceToDeliveryOf”,
“hasAddressOf”, and those of the “Food Menu” concept such as “
cookedIn”,
“hasCountryOfOrigin”, “hasDeal”, “hasFlavour”, “hasIngredients”, “isIn”,
“isIngredientOf”, “isToppingOf”, “servedI
n”
.



Figure
19
: D
ata properties.


The data properties related to the “Restaurant” concept are illustrated in Fig.19. The
data properties include: “
has Area”
, “
hasName”, “hasAddress”, “hasPostcode”,
“hasOpeningTimes”,
“hasDistanceToDelivery”.

These data properties are used to
share knowledge between individual members and specific concepts.
















37


Figure
20
: Individual members


Figure 20 shows the list of individual members which
have a relation with various
concepts. The individual members like “
NassRestaurant”, “KhanRestaurant”,
“ShinwariRestaurant”, “SaleemsRestaurant”, “ChickenHut”

are the members of the
Restaurant concept
. Various meals’ names are individual members of sub
-
cla
sses of
the “Food Menu” concepts and share common properties.


We can the annotations of the fully integrat
ed “Meal4You” ontology in Fig. 21.



Figure
21
: “Meal4You” ontology annotations


38

Chapter 4: Results and Discussion



To
evaluate our ontology, we first checked the consistency of our “Meal4You”
ontology by running the FaCT++ reasoner incorporated into the Protégé tool as
shown in Fig.22.

Figure
22
: FaCT++ r
easoner


Applying this reasoner to our
ontology produces the inferred classes hierarchy and
the axioms such as illustrated in Fig.23.


Figure
23
:
Inferred Axioms


39

Then we analyse the ontology metrics thus, our “Meal4You” ontology has 389
classes, 26 object properties,
and 6 data properties. We have defined 805 sub
-
classes, 10 equivalent classes, and 56 disjoined classes. Our ontology contains 2
inverse properties, 2 transitive properties, 79 class axioms, and 30 data properties
axioms as presented in Fig.24.






























Figure
24
:
“Meal4You”
-
ontology metrics




40

Next, we propose a series of queries, and their results to validate the fidelity, and the
relevance of an ontology.


The first queries are about the availability of meal dishes in some specific restaurants
(e.g. “NassRestaurant” Fig.25, and “ShinwariRestaurant” Fig.26). In fact, each meal
dish is associated to one or more restaurants preparing it, through the relation “i
sIn”.



Figure
25
: Query about meals’ availability in “
NassRestaurant
”.



Figure
26
:

Query about meals’ availability in “ShinwariRestaurant”.


The query results are shown in Figs.25
-
26. and allow to identify which restaurant has
which menu. The query results in Fig.25 and Fig.26 show the correct restaurant
menu.


41


“Meal4You” enables the customer to ask about the ingredients, composing a meal
s/he
wants to know its composition. Hence, the Fig.27 shows the query result of what
is inside “
AcharGoshtMutton
” dish.




Figure
27
: Query about Ingre
dients.


The same kind of idea is behind queries about
the topping of specific dishes. For
example, Fig.28 shows the burger topping query result: “BlueBurger” has
“BlueCheeseTopping” and “SaladTopping”. These queries help the customer with
choosing the ri
ght ingredients as well as toppings and/or flavours.




Figure
28
:
Query about topping.



42


Figure 29 shows
query about IceCream’s flavours the available one in “Meal4You”
database are “
ChocolateFlavour
” and “
VanilaFlavour
”.



Figure
29
:
Query about

flavour
.



Figure

30 presents the query result that “
Kebab”
has a
“servedIn
” relations with Nan,
which means all kebabs are served in “Nan”.




Figure
30
:
Query about meal
composition.


Queries could be raise about food origin like in Fig.31. Indeed, “Meal4You” ontology
associates a country to each
dish (e.g.
“SindhiPilau”

is from Pakistan).



43


Figure
31
:
Query about foods country of origin.



Some restaurants could
offer special prices for some meals and customer like to be
aware about that. For this purpose, “hasDeal” query is useful as demonstrated in Fig.
32 where “
6VegetableNuggets
” costs £1.90.




Figure
32
:
Query

about meals’ deal.



Queries could be also about the prices of some specific dishes such as “
GarlicPizza

(see Fig. 33). The query result shows the different prices of the pizza such £6.90,
£9.50, and £10.70 depending on the pizza size.





44


Figure
33
:
Query about meals’ price
.


Another type of questions could be about the area delivery of restaurants. F
igure 3
4

shows the query result
about the


NassRestaurant

which
has
a
distance of delivery
of

3 Miles

.

This

helps customer
s

to place an order
in

the

right

restaurant
s.




Figure
34
:
Query about

delivery distance.


Queries could also be about restaurant opening hours: which restaurant opens at
which time. Figure 35 shows the query results
for “SaleemsRestaurant”
, they helping
customers to place order within restaurant opening times, i.e. from 12pm
-
12am in
this case.


45



Figure
35
: Query about restaurant opening hours.




46

Chapter 5: Conclusions



This chapter concludes the project by summarising various aspects of the
ontology development including challenges, solutions and recommendations for the
users.


The project was intended to develop an ontology for “Meal4You”. The
purpose of the onto
logy development is for helping customers to get information
about restaurants, the food they propose as well as the meals’ prices and to provide
guidance in the food ordering and delivery process.




Mea4You” ontology identified the main key concepts of t
he domain as “Food
Menu” and “Restaurant”. For the “Food Menu” concept, relations such as
“hasIngredients” or “hasFlavour” have been developed to enable the customer to find
if a meal contains a specific ingredient s/he could (or not) eat, e.g. because of
allergies. Moreover, “Meal4You” ontology also defined properties related to the
“Restaurant” concept such as restaurant name, address, postcode, area, opening
hours, and distance to delivery. Therefore, customer can search local restaurants
that are able t
o deliver to his/her door the ordered food.



To develop this “Meal4You” ontology, we proposed a hierarchy to classify the
“Meal4You” concepts and then, we integrated classes, objects, data, and individuals
to build our domain ontology by using ontology d
evelopment tool Protégé.



We evaluated our “Meal4You” domain ontology by checking its consistency,
fidelity, and relevance, according to the skeletal methodology. For that, we ran the
reasoner and we set a number of queries. For example, we tested what a
re the
toppings available for burgers or what are the prices for pizzas in some restaurants.
We also processed queries about restaurants’ opening hours or which origin is the
food they offer. Our ontology successfully provided answers to all these queries.




Moreover, our developed “Meal4You” ontology could be reused for ontologies
with similar domains, sharing common concepts. On the other hand, the OWL file
can be executed with various programming languages such JAVA or XML, allowing a
wider use of “Meal
4You” ontology for web applications.




47


In conclusion, the project met all the requirements of which was intended and
the developed “Meal4You” ontology can be executed by different web programming
language for further any web application development.





48

References


(Arpirez, J.C. et al., 2001) Arpirez, J.C., Corcho, O., Fernandez
-
Lopez, M., Gomez
-
Perez, A. (2001), “WebODE: A scalable ontological engineering
workbench”,
In

Proceedings of the First International Conference on
Knowledge Capture,

pp. 6
-
13.


(Allweyer, T., 2010) Allweyer, T. (2010),
BPMN 2.0: Introduction to the Standard for
Business Process Modelling,

2
nd

Ed., Herstellung und Verlag,
Germany.


(Bennion, F.A.R.,
1969
) Bennion, F.A.R. (1969),

Professional Ethics
,

Charles Knight,
London
, UK.


(Bernaras, A. et al., 1996) Bernaras, A., Laresgoiti, I., Corera, J. (1996), “Building
and reusing ontologies for electrical network applications”,
In

Proceedings of the
European Conference on
Artificial Intelligence
, pp.
298
-
302.



(
Borst, W.N
.,
1997
)

Borst, W.N. (1997)
,


Construction of
engineering ontologies for
knowledge sharing and r
euse

,
PhD Thesis, University of Tweenty,
Enschede, Netherlands,
Ph. D
-
thesis series No. 97
-
14
.


(
Bray
,T. et al., 2008)
Bray
,T.,
Paoli
, J.,
Sperberg
-
McQueen
,
C.M.,
Maler
, E.,
Yergeau
, F. (2008),
Extensible Markup Language (XML) 1.0,


5
th

Ed.,
W3C r
ecommendation

[online] Available at: <

http://www.w3.org/TR/REC
-
xml/
> [Accessed 15
th

December 2010]


(Bainbridge, D.,
2000
) Bainbridge, D. (2000),

Computer Law
, 4
th

Ed., Pearson
Education, London, UK.




(Bechhofer, S. et al., 2001) Bechhofer, S., Horrocks, I., Goble, C., Stevens, R.
(2001), “OilEd: A reason
-
able ontology editor for the semantic web”,
In

Proceeding of the Joint German/Austrian Conference on Artificial
Intelligence, Lecture Notes in Artificial Intelligence
, Vol. 2174, pp. 396
-
408, Springer, Berlin, Germany.

(Bott, F. et al., 2001)

Bott, F., Coleman, A.,

Eaton, J. & Rowland, D. (2001),

Pro
fessional Issues in Software Engineering
,

Taylor & Francis,
London
, UK.



(Bechhofer, S.,
2002
)

Bechhofer, S. (2002)
,

Ontology l
anguage
s
tandardisation
e
fforts
[online] Available at: <
www.lsi.upc.edu~bejaraiaaia
-
webd4.0.pdf

> [Accessed 20
th

December 2010]


(Curtis, G., 1998) Curtis, G. (1998),
Business I
nformation
S
ystems
A
nalysis,

Design
and P
ractice
,

3
rd

Ed., Addison Wesley Longman, Essex, UK.


(Corcho, O. et al., 2002)

Corcho, O., Fernandez
-
Lop
ez, M., Gomez
-
Perez, A.
(2002), “
Methodologies, tools and lang
uages for building ontologies.
W
here is heir meeting points?
”,

Data
and

Knowledge Engineering
,
46

(2003):
41
-
64.



49

(
Corcho, O.
,

2005
)

Corcho, O. (2005)
,

A L
ayered
D
eclarative
A
pproach to
O
ntology
T
ranslation with
K
nowledge
P
resentation
, IOS Press,
Amsterdam
, Netherlands.


(Cardoso, J., 2007) Cardoso, J. (2007),
Semantic Web Services: Theory, Tools, and
Applications
, IGI Global, London, UK.


(Chaware, S. and

Rao, S.
,

2010
)

Chaware, S.
and

Rao, S. (2010)
,

“Integrated
approa
ch to ontology development methodology with c
a
se s
tudy
”,
International Journal of Database Management Systems, v
ol. 2, pp.
13
-
19.



(Domingue, J., 1998) Domingue, J. (1998), “Tadzebao and Webonto: Discussing,
browsing and editing ontologies on the web”,
In

Proceedings of the
11
th

Knowledge Acquisition Workshop
, pp. 1
-
20.


(Davies, J. et al., 2003) Davies, J., Fensel, D., Harmelen, F. (2003),
Towards the
Semantic Web Ontology
-
driven Knowledge Management
, John Wiley
& Sons Ltd, West Essex, UK.


(Farquhar, A.

et al., 1996) Farquhar, A., Fikes, R., Rice, J. (1996), “The Ontolingua
Server: A tool for collaborative ontology construction”,
In

Proceedings
of the 10
th

Knowledge Acquisition for Knowledge
-
Based Systems
Workshop,

pp. 44.1
-
44.19.




(
Fernandez, M.

e
t al., 1997)

Fernandez, M., Gomez
-
Perez, A., Juristo, N. (1997)
,


METHONTOLOGY: From

ontological a
rt
towards ontological
engineering”,
In Proceedings of the

AAAI Spring

Symposium

Series
,

pp. 33
-
40
.


(
Fernandez
-
Lopez, M. and Gomez
-
Perez, A.,
2002
),
Fernand
ez
-
Lopez, M. and
Gomez
-
Perez, A
. (2002)
,

“Overview and analysis of m
ethod
ologies for
building ontologies”,

The Knowledge Engineering Review,
17
(2):
129
-
156.


(Genesereth, R. and Fikes, R., 1992) Genesereth, R. and Fikes, R. (1992),
“Knowledge inter
change format”,
Technical Report Logic


92
-
1,
Computer Science Department, Stanford University.


(
Gruber
, T.R., 1993)
Gruber,
T. R
. (1993)
, “Toward p
rinciples for th
e design of
ontologies used for knowledge s
haring
”,

International Journal Human
-
Co
mputer Studies,

v
ol. 43, pp. 907
-
928.


(Guarino, N. and Giaretta, P., 1995) Guarino, N. and Giaretta, P. (1995), “Ontologies
and knowledge bases towards a terminological classification”, In:
Mars, N. (Ed.),
Towards Very Large Knowledge Bases
, pp 25
-
32, IOS
Press, Amsterdam, Netherlands.


(
Gruninger, M.
and
Fox M.
,

1995
)
Gruninger, M.

and

Fox M. (1995)
,

“Methodologies
for the design and evaluation of o
ntologies

,

In

Proceedings

of the
W
orkshop on Basic Ontological Issues in Knowledge Sharing,
pp. 6.1
-
6.10.


(
Gotterbarn
, D. et al., 1999)

Gotterbarn, D., Miller, K., and Rogerson, S. (1999)
,

Software
e
n
gineering c
ode of
e
thics is
a
pproved
[online] Available at:

50

<
www.usna.eduUserscsneedham
coursesic480sprAY09SE_Code_Of_
Ethics.pdf

> [Accessed 10
th

January 2011]


(
Gómez
-
Pérez,

A. et al., 2004)
Gómez
-
Pérez, A., Fernández
-
López, M., and Corcho,
O.,
(2004)
,
Ontological Engineering with E
xamples from the
A
reas of
Knowledge Management, e
-
Commerce
and the Semantic Web
,

Springer
-
Verlag
,

London
,

UK
.


(Hadzic, M. et al., 2009) Hadzic, M., Wongthongtham, P., Dillon, T., Chang, E.
(2009),
Ontology
-
Based Multi
-
Agent Systems
, Springer, Berlin,
Germany.


(Harmelen, F.V. et al., 2003) Harmelen, F.V., Hendle
r, J., Horrocks, I., McGuinness,
D.L., Patel
-
Schneider, P.F., Stein, L.A. (2003),
OWL web ontology
language reference, W3C working draft

[online] Available at: <

http://www.w3.org/TR/2003/WD
-
owl
-
ref
-
20030331/
> [Accessed 1
st

of
December 2010]


(Horridge, M.
, 2009
)

Horridge, M. (2009
), A practical guide to building OWL
ontologies using Protégé 4 and CO
-
ODE tools,

1.2 Ed., [online]
Available at:
<http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/resources/
ProtegeOWLTutorialP4_v1_2.pdf> [Accessed 28
th

November 2010]


(Horrocks, I. et al., 2001) Horrocks, I., Harmelen, F.V., Patel
-
Schneider, P.F. (2001),
Reference description of the DAML+OIL ontology markup language
[online] Available at: <

http://www.daml.org/2001/03/reference.html>
[Accessed

4
th

December 2010]

(Irish, V.,
1991
)
Irish, V. (1991)
,

Intellectual Property
, McGraw
-
Hill,

Berkshire
, UK.


(Jasper, R. and Uschold, M., 1999)

Jasper, R. and Uschold, M. (1999), “
A
f
ramework

for u
nderstanding and
c
lassifying
o
ntology
a
pplications
”,
In

Proceedings of the

Ontology Workshop,

International Joint
Conference on Artificial Intelligence
, pp. 16
-
21.


(Kogut, P. et al., 2002) Kogut, P., Cranefield, S., Hart, L., Dutra, M., Baclawski, K.,
Kokar, M., Smith, J. (2002), “UML for ontology developmen
t”,
The
Knowledge Engineering Review
, 17(1): 61
-
64.


(Kifer, M. et al., 1995) Kifer, M., Lausen, G., Wu, J., (1995), “Logical foundation of
object
-
oriented and frame
-
based languages”,
Journal of the ACM,

42(4):741
-
843.


(Karp, P.D. et al., 1999)


Karp, P.D., Chaudhri, V.K., Thomere, J. (1999),
XOL:
An XML
-
Based Ontology Exchange Language
[online] Available at: <
http://www.ai.sri.com/pkarp/xol/xol.html> [Accessed 30
th

November
2010]


(Luke, S. and Heflin, J., 2000) Luke, S. and Heflin, J. (2000), S
HOE 1.01, Proposed
specification, SHOE project [online] Available at:
<
http://www.cs.umd.edu/projects/plus/SHOE/spec1.01.html
>
[Accessed 27
th

January 2011]



51

(Lunn, K.,
2002
)
Lunn, K. (2002)
,

Software Development
with UML

[online] Available
at: <

compeng.hud.ac.uk/scomsjw/powerpoint/Modelling/oddshoe.ppt
> [Accessed 3rd January 2011]


(Lacy, L.W., 2005) Lacy, L.W. (2005),
OWL: Representing Information Using the
Web Ontology Language,

Trafford Publishing, Canada.


(Lenat, D. B. and Guha, R.V., 1990
) Lenat, D. B. and Guha, R.V. (1990),
Building
Large Knowledge
-
Based Systems: Representation and Inference in
the Cyc Project,
Addison
-
Wesley, Boston, USA.


(Meal4You, 2011) Meal4You, Ltd. (2011) [online] Available at:
<www.meal4you.co.uk> [Accessed 20
th

November 2010]


(
MacGregor, R.
, 1991)
MacGregor, R.

(1991),


Inside the LOOM classifier
”,
SIGART
bulletin
,
2(3):70
-
76.


(Motta, E., 1999) Motta, E. (1999),
Reusable Components for Knowledge Modelling,

IOS Press, Amsterdam, Netherlands.


(Martin, F., 2
004) Martin, F. (2004),
UM
L Distilled: A Brief Guide to The Standard
Object Modelling Language,
3
rd

Ed., Pearson Education, Boston, USA.


(Modelio, 2011) Modelio, (2011),
Modelio Practical Guides
[online] Available at: <

http://www.modeliosoft.com/en/tutorials/modelio
-
practical
-
guides.html
> [Accessed 1
st

February 2011]


(Neches, R. et al., 1991)

Neches, R., Fikes, R.E., Gruber T.R, Senator, T.,
Swartout, W.R. (1991), “Enabling technology for knowledge sharing”,
AI Magazi
ne,

12 (3):36
-
56.


(Noy, N.F. et al., 2000) Noy, N.F., Fergerson, R.W., Musen, M.A. (2000), “The
knowledge model of protégé 2000: Combining interoperability and
flexibility”, In
Proceedings of the

12
th

International Conference in
Knowledge Engineering and Knowledge Management, Lecture notes
in Artificial Intelligence,

Vol. 1937, pp. 17
-
32, Springer, Berlin,
Germany.




(Noy, N. and McGuinness, L
.,
2001
)


Noy, N. and McGuinness
, L.

(
2001
)
,

Ontolo
gy Development
101: A guide to creating y
our
first o
ntology

[online] Available at: <
http://protege.stanford.edu/publications/ontology_development/ontolog
y101.pdf
>
[
A
ccessed
10
th

November
2010]


(N
ass

F
ast

F
oods

L
td
, 2011) N
ass

F
ast

F
oods

L
td
. (2011)
Nass Fast Food and
Restaurant
[online] Available at: <

http://www.nassfastfoodsltd.co.uk/index.asp
> [Accessed 3
rd

January
2011]


(Ohgren, A.

and

Sandkuhl, K., 2005
)
Ohg
ren, A. and Sandkuhl, K. (2005), “Towards
a methodology for ontology development in
small and medium
-
sized
e
nterprises
”,
In

Proceedings of

the

IADIS International Conference on
Applied Computing,
pp
.
369
-
376
.



52

(Pulido, J.R.G. et al., 2006) Pulido, J.R.G., Ruiz, M.A.G., Herrera, R., Cabello, E.,
Legrand, S., Elliman, D. (2006), “
Ontology
languages for the semantic
web
”,
Knowledge
-
Base Systems,
vol. 19, pp. 489
-
497.


(Q3Studios,
2005
) Q3Studios, (2005),

Callalily Collection E
-
Commerce Site
[online]
Available at: <
http://www.q3studios.com/clients/callalily/loa_calla.pdf
>
[Accessed 12
th

Ja
nuary 2011]


(Studer, R. et al., 1998) Studer, R., Benjamins, V.R., Fensel, D. (1998), “Knowledge
engineering: Principles and methods”,
Data and Knowledge
Engineering
, vol. 25, pp. 161
-
197.


(Swartout, B. et al., 1997) Swartout, B., Ramesh, P., Knight, K., Russ, T. (1997),
“Towards distributed use of large
-
scale ontologies”,
In

Proceedings of

AAAI Symposium on Ontological on Ontological Engineering,
pp. 33
-
40.


(Stabb, S. et al., 2001) Stabb,

S., Schnurr, H., Studer, R., Sure, Y., (2001),

Knowledge processing and ontologies
”,
IEEE Intelligence Systems
,
16(1): 26
-
34.





(Sugumaran, V. and Storey, V.C., 2002)

Sugumaran, V. and Storey, V.C. (2002),
“Ontologies for conceptual modelling: their
creation, use, and
management”,
Data and Knowledge Engineering
, 42(3): 251
-
271.


(Sure, Y. et al., 2002) Sure, Y., Erdmann, M., Angele, J., Staab, S., Studer, R.,
Wenke, D. (2002), “OntoEdit: collaborative ontology engineering for
the semantic web”,
In

Proceedings of the

First International Semantic
Web Conference, Lecture Notes in Computer Science,
Vol. 2342, pp.
221
-
235, Springer, Berlin, Germany.


(Sorli, M. et al., 2005)


Sorli, M., Mendikoa, I., Soares, A., Urosevic, L., Stokic, D,.
Corvacho, H.,

and Moreira, J. (2005),
Knowledge
-
based collaborative
environment for SMEs in construction sector

[online] Available at: <
www.know
-
construct.comeChallenges_1043_doc_1272.pdf

>
[Accessed 8
th

December 2010]


(Sidhu, A. et al., 2010)

Sidhu
, A
, Dillon
, T.
, Chang
, E.,
Sidhu
, B. (2010),
Protein ontology development using OWL

[online] Available at: <

http://sunsite.informatik.rwth