database module of vijjana, a pragmatic model for ...wvuscholar.wvu.edu/reports/amara_satish.pdf ·...
TRANSCRIPT
Database module of Vijjana, a Pragmatic Model for Collaborative, Self-organizing, Domain Centric Knowledge
Networks
Satish Kumar Amara
Problem Report submitted to the College of Engineering and Mineral Resources
at West Virginia University in partial fulfillment of the requirements
for the degree of
Master of Science In
Electrical Engineering
Approved by
Dr. Yenumula. V. Reddy, Ph.D., Chair Dr. James D Mooney, Ph.D. Dr. Sumitra Reddy, Ph.D.
Lane Department of Computer Science and Electrical Engineering
Morgantown, West Virginia 2008
Keywords: Vijjana, Database, Jan Structure, Knowledge base, ODP, Prefuse.
ABSTRACT
Database module of Vijjana, a Pragmatic Model for Collaborative, Self-organizing, Domain Centric Knowledge Networks
Satish Kumar Amara
Web plays a vital role in our daily life, a person x will surf through
the web daily when he needs information about books, tutorial, health, news, sports
shopping and entertainment. Etc. Information on a particular topic is scattered all over the
web at various sources each millions of pages away from one another, to cope up with
this, people use search engines to get all the information on the topic displayed at one
place.
In general we know many search engines like Google, Yahoo, MSN, AOL,
EBAY, Netscape etc. Some search engines relies on searching data over the web using
keywords specified for specific web pages, but search engines like Google will search the
pages through the description of it rather than the specified keywords. This is the reason
Google is well used by many users. Even though these search engines are able to provide
large amounts of pages to the user, the user still has to surf through the large number of
results to find the most appropriate result for his problem. The same person will end up in
finding the result sooner if he a general idea about each and every result or the result
which worked the best for his friends working on the same topic etc. On the whole this
problem can be solved by developing an agent which could successfully handle the
results bound to particular topics or domains and which can also provide the personal
opinions of users who have worked or working on the same topics by saving their
comments or rating and enabling more collaboration between them. This framework
called Vijjana is going to breakthrough all these problems by providing Pragmatic
mechanism for collaboratively building useful knowledge networks in well-bounded
domains.
ACKNOWLEDGMENTS
I sincerely and heart fully thank my Committee Chair, Dr. Yenumula V. Reddy
and for his guidance, support, and ideas he gave me throughout the project. This project
has been a big Idea for him and I am glad to be a part in it. He encouraged everyone in
the project and helped the project in developing form one stage to another.
I would like to extend my thanks to Dr. James Mooney and Dr. Sumitra Reddy for
serving on the committee and supporting the project with their suggestions and
encouragement.
I would like to thank all my friends and project mates who helped me with their
suggestions and always being supportive in completing this project.
Finally, I am deeply thankful to my beloved Parents, Brother and Sister for their
encouragement and support in all the things I do.
iii
Table of Contents
ACKNOWLEDGMENTS........................................................................... iii Table of Contents ......................................................................................... iv
Chapter 1 Introduction ................................................................................ 1 1.1 Problem Statement ................................................................................................. 1 1.2 Introduction ............................................................................................................ 1
Chapter 2 Vijjana Model ............................................................................. 4 2.1 Introduction................................................................................................................... 4 2.2 Vijjana Agents ................................................................................................................ 5
2.2.1 Taxonomy and the Semantic Net of Knowledge (T and R)..........................................................................5 2.2.2 The Discovery Agent (dA)............................................................................................................................6 2.2.3 The Organizing Agent (oA) ..........................................................................................................................7 2.2.4 The Consistency and Completeness Agent (cA)..........................................................................................8 2.2.5 The Search Agent (sA) .................................................................................................................................9 2.2.6 The Rating Agent (rA)................................................................................................................................10 2.2.7 The Visualization Agent (vA) .....................................................................................................................11 2.2.8 The Collaboration Agent (CoA): ................................................................................................................12
2.3 The Vijjana Architecture............................................................................................... 13 2.3.1 Vijjana Framework Architecture ...............................................................................................................13 2.3.2 Vijjana Client Architecture ........................................................................................................................15
Chapter 3 VIJJANA DATABASE ............................................................ 16 3.1 Background.................................................................................................................. 16
3.1.1 IEEE 1484.12.1 [7].......................................................................................................................................16 3.1.2 Relational database...................................................................................................................................18 3.1.3 MySQL.......................................................................................................................................................20 3.1.4 Source Data for Database: ........................................................................................................................21
3.2 JAN Structure:.............................................................................................................. 23 3.2.1 PHP‐ MyAdmin:.........................................................................................................................................27 3.2.2: Populating the Database [8] ......................................................................................................................27 3.2.3 ODP/dmoz Database installation: .............................................................................................................28
Chapter 4 Visualization.............................................................................. 29 4.1 Introduction................................................................................................................. 29 4.2 MySQL Query Browser: ................................................................................................ 30
5 Conclusion ................................................................................................ 36
References.................................................................................................... 37
APPENDIX A.............................................................................................. 38
iv
List of Figures
Figure 1: Sample Semantic Net View................................................................................. 5
Figure 2: A proposed View of Vijjana Knowledge Network Web Interface adding a JAN
(Sri Ram’s work - a part of Vijjana Project)....................................................................... 7
Figure 3: A proposed View of the User’s Vijjana Knowledge Network after a new Jan
was added (Suman Matcha’s work - a part of Vijjana Project) .......................................... 8
Figure 4: A proposed view of Search agent of Vijjana. (Gottipati Sasank’s work) ......... 10
Figure 5: Rating agent proposed page. ............................................................................. 11
Figure 6: Radialgraph and Hypergraph Views of Computer Science domain Vijjana..... 12
Figure 7: View of the Collaboration Agent CoA.............................................................. 13
Figure 8: The Vijjana Architecture ................................................................................... 14
Figure 9: Vijjana Client Architecture. .............................................................................. 15
Figure 10: Jan Structure .................................................................................................... 23
Figure 11: Query Execution Window of MySQL Query Browser ................................... 31
Figure 12: Database Is Selected........................................................................................ 32
Figure 13: Showing the Contents present in Vijjanadatabase .......................................... 33
Figure 14: Query Automatically Generated When General Table Is Double-clicked...... 33
Figure 15: Local Database ................................................................................................ 35
Because this work is part of a larger group project, some of the material in this report is common for all the group members. Chapter 2 is heavily referenced from Dr. Y. V. Reddy’s paper on Vijjana (IKE’08). Some part of Chapter 3 is similar to Durga Vardhineedi’s report [14] as the module of database is shared between us and this part is done in common.
v
Chapter 1 Introduction
1.1 Problem Statement
To develop the Database module of Vijjana and visualize the data in the form of
some standard Views. According to the standards of IEEE 1484.12.1, a main and well
structured relational database of Vijjana is built using MySQL. The database is populated
by transferring data from an Open Directory Project (ODP). Data is extracted out of it in
the form of an XML and is viewed in the form of a Tree View and a Radial View using
visualization techniques.
1.2 Introduction
Web plays a vital role in our daily life, a person x will surf through
the web daily when he needs information about books, tutorial, health, news, sports
shopping and entertainment. Etc. Information on a particular topic is scattered all over the
web at various sources each millions of pages away from one another, to cope up with
this people use search engines to get all the information on the topic displayed at one
place.
In general we know many search engines like Google, Yahoo, MSN, AOL,
EBAY, Netscape etc. Some search engines relies on searching data over the web using
keywords specified for specific web pages, but search engines like Google will search the
pages through the description of it rather than the specified keywords. This is the reason
Google is well used by many users. Even though these search engines are able to provide
large amounts of pages to the user, the user still has to surf through the large number of
results to find the most appropriate result for his problem.
1
Consider a scenario in which a person named x is searching for information on a
tutorial on Dreamweaver on a search engine. It takes lot of time for X to navigate through
all the results and find the best one. Suppose Y, the best pal of X is sitting along with him
on another machine and is navigating through the same results of Dreamweaver, here the
time reduces to halve because both X and Y has the same goal now and they are surfing
the same results. This is known as Collaboration or working together by sharing Ideas.
Suppose Y already came across this situation in the past and has the best result then
problem of X is solved immediately. This is the best case scenario when Y is readily
available with X.
On the other hand suppose if Y is not readily available then X has to call him r
email him and should wait for his/her response, In this case X has to go to the first
scenario or should wait for Y’s bookmark or suggestion or URL etc. The best way to
overcome this is for Y to store his result somewhere on the net and should allow X to
access or share his result at the same place. This is known as interacting with each other
irrespective of place, time, availability etc. So a secured and reliable interface like
discussion board, rating, chat client etc would be a good solution. In this case Y need not
to be a best pal of X, he can be a person X hasn’t seen before or whom he met readily at
that moment. So the problem will be solved when Y and X are allowed to interact over a
secure interface to share their opinions and suggestions over a bound set of well related
information on a particular topic or Domain. So comes the framework VIJJANA which
itself stands for knowledge obtained through Classification and Analysis proving a
2
pragmatic mechanism for collaboratively building useful knowledge networks in well-
bounded domains.
3
Chapter 2 Vijjana Model
2.1 Introduction
The Vijjana model is a collection of different agents.
We define Vijjana as [2]
Vijjana-X = {J, T, R, dA, oA, cA, vA, sA, rA} CoA
Where
X = the domain name
J= the collection of JAN’s in the Vijjana-X
T = the Taxonomy used for classification of JAN’s
R= the domain specific relations
dA = the discovery agent which find relevant JAN’s
oA = the organizing agent which interlinks the JAN’s based on R
cA = the consistency/completeness agent
vA = the visualization agent
sA = the search agent
rA = the rating agent
CoA = the Collaboration Agent
The importance of each and every Agent IS explained below.
4
2.2 Vijjana Agents
2.2.1 Taxonomy and the Semantic Net of Knowledge (T and R)
The first step in organizing any knowledge base is classification of the constituent
Jans and interlinking them to form a semantic net. This requires that we first define a
taxonomy that is appropriate for the domain under consideration. Since same knowledge
could be organized using a wide variety of taxonomies, the Vijjana model is designed to
work with any taxonomy and associated relational semantics, by treating them as
parameters that could be modified as the knowledge base evolves. This also allows the
Vijjana builder to import and export the knowledge base when the exporter and importer
use the same taxonomy and relational semantics. If we employ Vijjana to build large-
scale knowledge networks involving multiple enterprises, however, we need to first reach
an agreement on and ontology,
Figure 1: Sample Semantic Net View
5
Figure 1 shows an example of the taxonomy and relational semantics used in
building the Vijjana-CS used throughout this paper to illustrate the ideas. As new JANs
are added, this knowledge network grows and shrinks (as dead links are removed).
2.2.2 The Discovery Agent (dA)
In this paper we have adopted the agent paradigm to describe all the services
needed in building or using a Vijjana. This may be viewed as a human-program
continuum where a service may be provided manually or automatically by invoking a
program using the concept of mixed initiative - where an action may be initiated by a
program or a human depending on the circumstances. In our initial version of Vijjana, the
discovery agent is a human who through normal search processes discovers a useful Jan
which will be “marked-up” (to assist in classification) and submitted to a Vijjana builder
where it will be classified and organized into the targeted knowledge network. Here
“markup” involves indicating the actual node type the discovered Jan belongs to by
“clicking” on the appropriate node type on a graphically displayed taxonomy. In addition,
we can also incorporate automatic addition of Jans to the knowledge network by
subscribing to RSS [15] feeds from key websites relevant to the domain. Since RSS feeds
are based on a standard protocol this process of parsing and adding Jans could be
automated. Email also could be used by collaborators to contribute relevant Jans by
following a predefined syntax of the message to enable automatic parsing.
6
Figure 2: A proposed View of Vijjana Knowledge Network Web Interface adding a JAN (Sri Ram’s work - a part of Vijjana Project)
2.2.3 The Organizing Agent (oA)
Once a Jan is obtained through a RSS feed, Email, by “clicking” on the “markup”
button (installed by a user on his or her browser) or through the Vijjana client interface
(discussed in the next section), it is handed-off to the organizing agent which first ensures
that the Jan represents a genuine link (one that is not broken or submitted by an unreliable
source). It then examines the markup information, which is used for classification and
interlinking. This information is also used to creating inverse links. For example if we
discover a Jan of the type “syllabus” which is “based-on” a “textbook”, the oA will link
this Jan with the indicated “textbook” via the “based-on” relational link. In addition, the
oA will also link the “textbook” with the “syllabus” using the inverse link “has -syllabus”
which represents the fact that this “textbook” has the specified “syllabus”. Thus as new
7
Jans of the type “syllabus” enter the Vijjana knowledge network, they will be
automatically linked using the both the link and inverse link. In addition to organizing the
link into the evolving Vijjana, it logs the information into a provenance file which will be
later used for generating the history of any Jan. The oA could also notify users (who
signed-up for automatic notifications) about the incorporation of a new Jan into the
Vijjana. This Organizing agent also stores the number of times a particular Jan was
visited by the user, which could be used by the rating agent (rA) in computing the rating
heuristic value.
Figure 3: A proposed View of the User’s Vijjana Knowledge Network after a new Jan was added (Suman Matcha’s work - a part of Vijjana Project)
2.2.4 The Consistency and Completeness Agent (cA)
The Consistency and Completeness Agent (cA) is responsible for maintaining the
integrity of the Vijjana knowledge network. This is accomplished by the cA by
8
periodically visiting all the URLs of the Jans to make sure they are still “alive”. The cA
will also find out all the relational links that are not set (i.e., incomplete) which will be
posted to an agenda file so that the users can manually fill them as information becomes
available. These nodes with incomplete relational information will also be color coded so
that the visualization agent can display them thus attracting the attention of the users who
may take steps to correct the problem.
2.2.5 The Search Agent (sA)
The search agent implements a variety of search mechanisms including keyword-
based search and more advanced search mechanisms such as using relational algebra. For
example, we can issue a command such as “find all textbooks that have associated syllabi
and include lecture notes” which will return all the Jans that satisfy the stated criteria.
This however is only possible if the semantic links are completely specified. We include
this feature for the sake of completeness and to cope with large knowledge networks
where the user is already familiar with the network topology but needs the results quickly
– without browsing.
9
Figure 4: A proposed view of Search agent of Vijjana. (Gottipati Sasank’s work)
2.2.6 The Rating Agent (rA)
The Rating agent (rA) is another important feature of Vijjana, which is intended
to bring the attention of the user to high value Jans. High value Jans may be determined
through a rating mechanism which uses a combination of user specified values, number
of “hits”, and the number of fully specified relational links. By incorporating a coloring
scheme in the display of the knowledge network, the user’s attention is quickly drawn to
valuable Jans. For example, if a Jan representing a “textbook” has a very large number of
“has-syllabus” links, it should be intuitively obvious that the textbook represented by that
node is a high value item. We plan to experiment with a variety of heuristics and
incorporate user feedback into this agent.
10
Figure 5: Rating agent proposed page.
2.2.7 The Visualization Agent (vA)
The visualization agent is responsible for displaying the Vijjana knowledge
network in a variety of forms based on user preferences. One of the most useful ways to
display a knowledge network is by drawing a hyper tree shown in Figure 1 (pioneered
by Xerox Corporation through its InXight.com website), or as a radial graph where
nodes at each level at the end of radii are equally spaced. The user can browse the lower
level nodes by “clicking” on the nodes as the information at lower levels unfolds.
In this view, the user gets a bird’s eye view of the whole knowledge network
from which the user can navigate to the area of interest as it unfolds with more and more
detail as you near the target. This is perhaps one of the biggest advantages of a Vijjana
compared to the social networking bookmark sharing websites. In addition to the hyper
tree model, we intend to provide a variety of other representations including hierarchies
and network traversal following predefined patterns.
11
Figure 6: Radialgraph and Hypergraph Views of Computer Science domain Vijjana.
2.2.8 The Collaboration Agent (CoA):
The Collaboration Agent brings is a very important element of Vijjana. It brings
in the concept of ‘social networking’ into Vijjana. The CoA allows users who have
similar topics of interest to come together and contribute collectively who otherwise have
no reliable system to know about the other users. For instance, users who are interesting
in Algorithms can get to now about other users who are working on the same topic and
contribute to each others work improving the productivity and the quality of their work.
The CoA allows the users to form groups and work collaboratively. Figure10 illustrates
the Collaboration Agent designed for the first version of Vijjana
12
Figure 7: View of the Collaboration Agent CoA.
2.3 The Vijjana Architecture
2.3.1 Vijjana Framework Architecture
On the left hand side of Figure 7, shown the administrator interface, which is used
for checking consistency and organizing JAN’s into the knowledge network. On the right
hand side is shown the general user interface where users can contribute JAN’s, import or
export entire knowledge networks or visualizes the network itself using the vA. In
addition, it shows an agent intended to manage social networking.
13
Figure 8: The Vijjana Architecture
For example, a user browsing the knowledge network may become aware of
another user who is also interacting with the knowledge network and then may decide to
open a communication channel which may result in arriving at rating for a node
collaboratively. In the bottom we show the interface between the discovery agent and the
web through which the JAN’s migrate from the web to the Vijjana knowledge network.
On the top is shown the database that contains the taxonomies, link relationships and the
actual URLs (Uniform Resource Locators) representing the JAN’s in individual
knowledge networks.
14
2.3.2 Vijjana Client Architecture
The Vijjana system may be used using a dedicated client interface shown in
Figure 8 or using a web interface shown in Figure 3. Figure 8 illustrates the overall
architecture of the Vijjana client program. As can be seen in Figure 8 a Jan may be sent
to Vijjana by Email or via a markup by the user. When the Jan arrives via Email the
message is parsed to discover the markup information for organizing the Jan into its
proper place in the evolving knowledge network using the organizing agent. In later
implementations, we plan to expand this interface to include RSS feeds.
Figure 9: Vijjana Client Architecture.
15
Chapter 3 VIJJANA DATABASE
3.1 Background
3.1.1 IEEE 1484.12.1 [7]
This is a multi-part standard that specifies learning object metadata. This part
specifies a conceptual data schema that defines the structure of a metadata instance for a
learning object. For this standard, a learning object is defined as any entity—digital or
non-digital—that may be used for learning, education, or training. For this standard, a
metadata instance for a learning object describes relevant characteristics of the learning
object to which it applies. Such characteristics may be grouped in general, life cycle,
meta-metadata, educational, technical, educational, rights, relation, annotation, and
classification categories.
Metadata is information about an object, and the object might be physical or
digital. Likewise we come across large number of physical or digital objects in our daily
life, this exponential growth of objects in our daily life, lack of information or metadata
puts a high demand on our ability to learn, discover, use and manage these objects. This
1484.12.1 standard addresses these problems by defining a structure for interoperable
descriptions of learning objects. A data element for which the name, explanation, size,
ordering, value space, and data type are defined in this standard is known as a Learning
Object Metadata (LOM).
16
Data elements which describe a physical or a digital learning object are grouped
into categories. The LOMv1.0 base schema:
a) The general
In this category the learning object is described as a whole and it groups the general
information about it.
b) The lifecycle
This category describes the features which are related to the history and current state of
learning Object and of those who have affected this learning object during its evolution.
c) The meta-metadata
Category groups information about the metadata instance itself (rather than the learning
object that the metadata instance describes).
d) The technical
This category describes the technical requirements and the technical characteristics of the
learning object.
e) The educational
This category describes the educational and pedagogic characteristics of the learning
object.
f) The rights
This category describes the conditions of use and intellectual property rights for the
learning object.
17
g) The relation
This category features, define the relationship between the source learning object and the
other related target learning object.
h) The annotation
This category groups all the comments on the educational use of the learning object and
provides information on when and by whom the comments were created.
I) the classification
This category describes the relation of a learning object to a particular classification
system.
3.1.2 Relational database
[11] A database is a set of data that has a regular structure and that is organized in
such a way that a computer can easily find the desired information. A database can
generally be looked at as being a collection of records, each of which contains one or
more fields (i.e., pieces of data) about some entity (i.e., object), such as a person,
organization, city, product, work of art, recipe, chemical, or sequence of DNA. For
example, the fields of a database of a University typically might include the name,
student identification number, address, telephone number, courses taken, GPA and
attendance for every consecutive semester.
There are several basic types of database models that have been developed,
including flat, hierarchical, network, relational and Object Oriented Database. Each and
every model of these databases differs by the operations that can be performed on them.
18
Typically, very database will have a schema, which includes the types of entities in
relationships among them and gives the description of the model.
Among these we will show our interest towards the Object Oriented Database in
which information is represented in the form of an objects similar to that of used in
object-oriented programming. Object Oriented Database’s also known as OODBs shortly
are designed for the purpose of storing and sharing objects and stands as the solution for
persistent object handling. In the case of Applications with Complex C++ and Java object
models, using object databases for data storage brings powerful advantages and provides
high concurrency requirements, and large data sets. Also in the case of businesses with
need for processing of data with high performances, object oriented databases are highly
recommended and provides an environment to work well with Object Oriented
Programming Languages like Visual Basic.NET, Java, Python, C++ and C#.
(OODBs) evolved from a need to support object-oriented programming and to
reap the benefits, such as system maintainability, from applying object orientation to
developing complex software systems. The first OODBs appeared in the late 1980s.
OODBs are based on the object model and use the same conceptual models as Object-
Oriented Analysis, Object-Oriented Design and Object-Oriented Programming
Languages. Using the same conceptual model simplifies development; improves
communication among users, analysts, and programmers; and lessens the likelihood of
errors [Martin 93].
19
OODBs do not have a general architecture or structure. But the most common
thing about all the architectures of OODBS is they all are made of three main
components namely: Object Managers, Object Servers and Object Stores. Object
managers will allow applications to interact with them and work through object servers to
gain access to object stores.
3.1.3 MySQL
[12] MySQL is a relational database management system (RDBMS) that interacts
with SQL (Structured Query Language), a tool for editing, accessing and processing data
within a database.
MySQL is a free, fast and a reliable open source relational database. It lacks some
sophistication and facilities in spite it has an active development team which goes from
release to release with more additional capabilities. Most of the times there will be a
trade-off between capabilities for the database and its speed. MySQL team keeps their
database engine fast and reliable. By comparison:
• MySQL is similarly easy to understand and learn.
• MySQL can support large databases of 50 million rows or more.
• MySQL is compatible with the vast majority of operating systems
(UNIX, Windows etc.).
• MySQL is freely available under the GNU GPL (General Public
License) and can be tailored to suit individual requirements and personally
customized under the terms of the license. [12]
20
3.1.4 Source Data for Database:
As we discussed earlier information or knowledge is scattered all over the web at
different places. As users search on a particular domain or topic we need to have a
collection of URL’s for each and every domain. So a resource with a predefined
taxonomy with collection of Jan’s for each and every particular domain is necessary.
Here Open Directory project (ODP Dmoz.org, the largest and most comprehensive
Human-Edited Directory of the web with well structured and predefined taxonomy is
used as the core data for the database of Vijjana. [3] The Open Directory has followed the
footsteps of the most important editor and contributor projects of the 20th century. As we
know the Oxford English Dictionary as the definitive word on words through the efforts
of volunteers, similarly the Open Directory became the definitive catalog of the Web.
The Open Directory is 100% free and was founded in the spirit of the Open Source
movement. There is no cost ever to submit a site to the directory or to use the directory's
data. The Open Directory data is available to anyone for free who agrees to comply with
its free use license.
[3] The Open Directory powers the core directory services for the Web's largest
and most popular search engines and portals, including Netscape Search, AOL Search,
Google, Lycos, HotBot, Direct Hit, and hundreds of others. The source of Data is directly
from the user himself, when as we discussed whenever a user Mark-Up’s a Jan then that
Jan is automatically added to the database if it Is not present in the database and will be
added in his Jan’s list. Also the Consistency Agent will periodically check the Jan’s
present in the Database and removes dead links so the database shrinks and grows from
time to time.
21
The database of Vijjana consists of:
1. Information or properties of the JAN’s and the
2. Information of the user and the
3. Relation of Each Jan with user like
• Who added it
• How many times it has been marked up by users.
• When it has been last modified
• Rating
It also shows the Present Status of JAN whether it is an alive or a dead link.
22
3.2 JAN Structure:
Figure 10: Jan Structure
23
The Above picture shows the typical schema or structure of the Vijjana Database.
1. The tables General, Identifier and Classification are related to the
Collection of the JAN’s form the Open Directory Project.
2. The Properties of the JAN are given by the tables:
• Educational
• Technical
• Rights
3. The Status of the Jan is given by the Table Life Cycle.
4. The User Information is given in the table Membership
5. The relation between the user and JAN is given by the tables:
• Comment
• CommentRating
• JanRating
• Keyword
Educational:
This table describes
• The educational and pedagogic characteristics of the learning object. The
pedagogical information is used by users like teachers, managers, authors
and learners to achieve a quality learning experience.
• The degree of interactivity associated with this learning object.
Interactivity in the sense, how much a learner can influence the aspect or
behavior of the learning object. Interactivity is of many types that can be
24
“Active’ Learning, “Expositive’ Learning or “Mixed” learning “Active”
learning is achieved by doing things, and it also needs content which
shows the productive action by the learner. “Expositive” learning is also
known as passive learning, it occurs when the learner's job mainly consists
of absorbing the content exposed to him.
Rights:
This table describes
• The conditions and intellectual property rights of use for this learning
object.
• Whether copyright or other restrictions apply to the use of this learning
object.
Technical:
This table describes
• The technical requirements and characteristics of this learning object.
Technical data types of this learning object.
• To identify the software needed to access the learning object. Information
about other software and hardware requirements.
Lifecycle:
This table describes
• The completion status or condition of this learning object.
25
Membership:
This table relates to the personal information of the user. It includes the fields
like registration and login details, password, the Security Question of all users. The
security question Answer will enable more secure login. It can also be used when user
forgets his password.
Comment:
This table stores all the comments given by the user about respective JAN’s. The
field UserID shows the particular user, the field CommentID says the related comment of
that user and the field GeneraID shows the particular JAN. It also shows the date the
comment is created and last modified.
Comment Rating:
This table shows the user ratings for each and every comment given by different
users. For a particular comment given by a User, many other users can rate it according to
their wish. The UserID shows the user who has rated it and the CommentID shows the
comment on which he has rated it.
JanRating:
This table shows how much the users have rated for each and particular Jan. The
UserID gives the information of the user who rated that JAN and the GeneralID gives the
information of that particular JAN. Generally a user can rate any Jan irrespective of he
has created it or not.
26
3.2.1 PHP- MyAdmin:
Tool written in PHP intended to handle the administration of MySQL over the
web. The advantage of using PHP-MyAdmin is that it can be accessed from any web
browser. [13] This online tool has some useful capabilities like running an SQL query,
creating tables on the local machine in MYSQL. Having the scripts for generating them
makes it easier to create the Database in seconds. This tool is used for Vijjana to create an
online server Database at www.csee.wvu.edu/phpmyadmin.
3.2.2: Populating the Database [8]
As we have already chosen to use the taxonomy of the Open Directory Project
(Dmoz.org) as the core data for the Vijjana Database, the task now is to transfer the data
from ODP to relational Database. The data in the ODP is in the format of RDF known as
Resource Description Framework. Files in this form will use tags to distinguish different
resource categories. To transfer these files into a database, the editor of Open Directory
Project created a set of tool named ``ODP/dmoz''. A famous tool for this is called
``PhpODPWorld'' [5]. The script used to import the RDF file into database is developed
by Steve who is one of open directory project editor. The following procedure explains in
steps to do the RDF to Database transformation:
27
3.2.3 ODP/dmoz Database installation:
1. To the wanted directory on the web server, extract and move all the unpacked
files of downloaded PhpODPWorld package.
2. Complete the following steps
o Create "logs" directory, if you enabled logging in the config file and
this directory must be writable by the web server
o Create "smarty/cache" directory and "smarty/compiled", if you
enabled smarty in the config file and this directory must be writable
by the web server
3. Step three
o Create a database and a user either with password or without.
o The database table defined in "tools/db.sql" is created.
4. Wanted categories and references, database settings are reflected by editing
"config.inc.php" and "tools/config.pl".
5. Downloaded either the complete content or structure RDF.
6. Use the Perl script "tools/extract.pl" to extract your categories from the RDFs.
(Perl module DMOZ-ParseRDF-0.14 should be installed now)
7. Using Perl scripts insert your categories (from the RDFs) into the database.
8. Do the following for initial run to update the count (of sites) for each category
o Turn on maintenance mode in "config.inc.php".
o Turn off maintenance mode in "config.inc.php".
9. The above steps should make you build your site.
Note: Repeat step 5 to 8 when you want to install a new RDF.
28
Chapter 4 Visualization
4.1 Introduction
Wiki’s Definition of Visualization is any technique for creating images, diagrams,
or animations to communicate a message. Visualization through visual imagery has been
an effective way to communicate both abstract and concrete ideas since the dawn of
man.[6] Visualization of Vijjana is the most important part of all the agents that we have
in Vijjana model. It is the users interface to interact with the knowledge base to find the
semantics and also to obtain relevant information in a particular field by means of user
friendly navigation.
Now for the Visualization of Vijjana we have to first connect to the database of
Vijjana and generate XML’s, which are given as an input to the Prefuse and Hypergraph
tools and thereby we will get corresponding User Controllable visuals. Before dealing
with generation of XML, I will introduce XML, XML schemas and the XML schema’s
used for different visual views.
The raw data from the database is to be given in an abstract form to the Prefuse &
Hypergraph toolkits, so an XML having the structured information about the Vijjana
semantic net or taxonomy is required. There are several XML schemas that are related to
the corresponding visual views. For example for Hypergraph we use an XML that has the
schema of GraphXML. So based on the type of Visualization that we generate, first we
have to study the XML schema and then we have to transform the raw data to that form
of XML.
29
The XML file is easy to transfer because of its small size but, hard to interpret
because of its flexibility. Actually, what we are going to implement is to create the XML
data schema based on the database table we have, and create an automatically intelligence
system to generate the XML file based on the search result. The result is large XML file
which can be interpret based on several of data schema, and it will return different small
xml files based on them. This XML file can be interpreted as the raw data file for the
visualization and other purposes.
Now for the visualization of Vijjana, in the first stage, we have to define the logic
in retrieving data to follow the rules of XML schema’s of corresponding visualizations.
4.2 MySQL Query Browser: The MySQL Query Browser is a graphical shell where you can execute queries and
develop SQL scripts, with several features to help you improve your productivity. The
MySQL Query Browser interface tries to mimic the interface of a web browser. [9]
Here we are using MySQL query browser to create a local database. Queries are
executed on this local database to extract data in the desired manner for the generation of
the XML’s. These XML’s are used as an input for the Prefuse to generate the
Visualization techniques. Since the MySQL query browser interface almost acts as the
original browser, our task is to fill the local database with the data present in the original
database over the server. After the data is ready in this database, several operations can
be done to manage it and it also can be accessed in different programming languages for
generating the XML’s.
30
The whole process in creating a Database and populating it with data is described
below:
1. Install MySQL Server 5.0
2. Open MySQL query browser
3. On the top of the page you can see a small window (Query Execution
Space), execute a query for creating a new database.
Create Database Vijjanadatabase;
Figure 11: Query Execution Window of MySQL Query Browser
4. The created database will be shown at the schemata window. Select the
database by double clicking it; this means that all the future operations like
queries etc will be done on that database since you have selected it.
31
Figure 12: Database Is Selected
5. Now create a new Table by name general in the database
(Vijjanadatabase) by executing the whole SQL script for the Table
General at the query window.
6. The created table will not be shown immediately, so right click on the
database Vijjanadatabase and then click refresh. This can also be done by
double clicking on the Vijjanadatabase.
7. Likewise all other corresponding Tables which are present in
vijjanadatabase are created using their corresponding scripts.
32
Figure 13: Showing the Contents present in Vijjanadatabase
8. Now select the general table by double clicking it. This also generates the
query automatically in the query browser window. At the start the General
table will not show any values because it not having any data with it. This
is similar with all other tables so created.
Figure 14: Query Automatically Generated When General Table Is Double-clicked
9. Now our task is to populate this local database with the data present in the
server. To do this we have to first download all the data from the server @
eksarva.csee.wvu.edu/vijjanadata. .
33
10. The above site would let you download over 1GB of data file with name
“vijjanadata”, Change the name of this file to “vijjanadata.sql” so that it
will become an executable SQL file format.
11. To import this data into the database on your machine (vijjanadatabase),
we use cmd prompt. ”mysqldump -u root -p vijjanadatabase <
vijjanadata.sql.”
12. The above command will dump the data vijjanadata.sql in the
vijjanadatabse created on your local machine. A dialog box will appear
showing Dump is complete. This means that the data has been imported
into the local database and is available for usage.
13. After the data has been imported into the local database (Vijjanadatabase),
it can be used for further execution of queries and for generating the
XML’s required for the visualization.
34
Figure 15: Local Database
35
5 Conclusion
Thus according to the standards and format of IEEE 1484.12.1, a database schema
has been designed. The user database has been integrated into the schema and a complete
Jan Structure has been developed for Vijjana. The corresponding script for this schema
has been generated. The scripts were executed over the server using the PHP-MyAdmin
tool and a database (vijjanadatabase) has been created (at csee.wvu.edu/phpMyAdmin).
Data is imported into this Database by using “PhpODPWorld” and PEARL scripting
language. A local Database has been created by using MySQL query browser interface
and is populated with a few amounts of data.
Now programming and query execution can be done on this local database rather
than working on the large some of data over the server.
36
References [1] Ivan Herman, (W3C) Semantic Web Activity Lead. W3C Semantic Web. W3C. [Online] 1994-2008. http://www.w3.org/2001/sw/.
[2] Vijjana: A Pragmatic Model for Collaborative, Self-organizing, Domain Centric. Reddy, Dr. Ramana. Morgantown : IKE08, 2008.
[3] Corporation, Netscape Communications. About the Open Directory Project. dmoz. [Online] Netscape Communications Corporation, 1998-2005. http://www.dmoz.org/about.html.
[4] W3C. Resource Description Framework (RDF). W3C. [Online] http://www.w3.org/RDF/.
[5] Hansfn, Srainwater, ODP Editors. phpODPWorld. sourceforge.NET. [Online] http://phpodpworld.sourceforge.net/.
[6] Visualization module of Vijjana, a Pragmatic Model for Collaborative, Self-organizing, Domain Centric Knowledge Networks. Sasanka Babu Gottipati.
[7] IEEE 1484.12.1-2002, 15 July 2002 Draft Standard for Learning Object Metadata. [PDF] http://ltsc.ieee.org/wg12/files/LOM_1484_12_1_v1_Final_Draft.pdf
[8] Wolf, Boris. Storing RDF Metadata in a Relational Database V1.2. 2001, [Online] http://www.kbs.uni-hannover.de/Arbeiten/Studienarbeiten/01/Wolf/olr_documentation.pdf.
[9] MySQL Query Browser cross-platform GUI client program [Online] http://www.mysql.com/products/tools/query-browser/
[10] MySQL 5.0 Reference Manual B.2. Server Error Codes and Messages [Online] http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html
[11] LINFO Created June 22, 2006. Copyright © 2006 The Linux Information Project. All Rights Reserved. http://linfo.org [Online]
[12] UCL INFORMATION SERVICES DIVISION WEB SERVICES www.ucl.ac.uk [online]
[13] http://www.phpmyadmin.net/home_page/index.php The phpMyAdmin project, effective MySQL management
[14] Database Agent and Data for Visualization of vijJAna, a Pragmatic Model for Collaborative, Self-organizing, Domain Centric Knowledge Networks by Durga Vardhineedi
37
APPENDIX A Defense Presentation Slides Follows:
38
Database Module Of VIJJANA
Amara Satish KumarWest Virginia University
SCENARIOX is searching for a Video Tutorial
Y Is Readily Available.
Y should have experience
COLLABORATION
No need to browse through unnecessary resources
Time is saved
Secured and Reliable InterfaceWorks in a Interactive and Collaborative way.Y need not to be a best Pal of X.
INTERACTION
VIJJANAVijjana: A Pragmatic Model for Collaborative, Self-organizing, Domain Centric Knowledge Networks.vijJAna includes understanding, comprehending, recognizing, intelligence, knowledge, the act of distinguishing or discerning, science, doctrine, etc.Vijjana itself form a knowledge base with huge amount of Data and also allows users to store some information in its database.Strictly speaking it allows user to store information of his choice as well as view information from its database.
VIJJANA MODELVijjana-X = { J, T, R, dA, oA, cA, vA, sA, rA}
X = the domain name J = the collection of Jans in the Vijjana-X T = the Taxonomy used for classification of Jans R = the domain specific relations dA = the discovery agent which find relevant Jans oA = the organizing agent which interlinks the Jans
based on R cA = the consistency/completeness agent vA = the visualization agent sA = the search agent rA = the rating agent
VIJJANA ARCHITECTURE
VIJJANA CLIENT ARCHITECTURE
FEAUTURES OF VIJJANAHuge TaxonomyClassified resourcesMarkup Of JAN’sSearching through Concepts rather than keywordsVisualization of the desired domain or topic.Knowledge of other users on information resource
Rating of Jan’sComments on JanComment RatingKeywords
Also provides interaction between usersChat client andEmail
BUILDING OF VIJJANA DATABASEVijjana generally will have two types of Data, the raw data and the User data. Both these data’s help Vijjana build its knowledge networkUser Data:
A user mark’s up a JAN of his own interest.Organizing agent places this JAN at the appropriate place according to its properties.This new JAN is added to the database of Vijjana and is now available for other user’s.The new JAN:
Can be Marked Up by another user.Can be Commented.Can be rated etc
Raw Data:This is the core data of Vijjana database.We need a large collection of data.Pre-defined taxonomy.Well organized data with respect to a particular domain.A well defined schema.
Populating the Database with the raw data.When the user marks up the JAN, the organizing agent places the JAN in the database at the appropriate place.User visualizes the data according to his wish.
DATABASE MODULE Of VIJJANA
VIJANA Agents
VIJJANA DatabaseVIJJANA Database
Email And ChatClient
IEEE STANDARDThis is a multi-part standard that specifies learning object metadata. Specifies a conceptual data schema that defines the structure ofa metadata instance for a learning object. For this standard, a metadata instance for a learning object describes relevant characteristics of the learning object. Such characteristics may be grouped in general, life cycle, meta-metadata, technical, educational, rights, relation, annotation, and classification categories.
classificationThis category describes this learning object in relation to a particular classification system.
educationalThis category groups the educational and pedagogic characteristics of the learning object.
generalThis category groups the general information that describes the learning object as a whole.
technicalThis category groups the technical requirements and technical characteristics of the learning object.
rightsThis category groups the intellectual property rights and conditions of use for the learning object.
DB DESIGNER 4Open Source, freely available Software.DBDesigner 4 is a database design system that integrates database design, modelling, creation and maintenance into a single, seamless environment. A model is a visualization of the meta-information stored in a database (e.g. Tables and Indices, Relations, ...). They only represents the meta-information, not the data itself. When DBDesigner 4 is switched to Query Mode the model can be used to build complex SQL querys and edit the tables' data.
JANSTRUCTURE
Schema Description
The Above picture shows the typical schema or structure of the Vijjana Database.The tables General, Identifier and Classification are related to the Collection of the JAN’s form the Open Directory Project.The Properties of the JAN are given by the tables:
1. Educational2. Technical3. Rights
The Status of the Jan is given by the Table Life Cycle.The User Information is given in the table MembershipThe relation between the user and JAN is given by the tables:
1. Comment2. CommentRating3. JanRating4. Keyword
ODP DMOZ.ORG
ODP is the largest, most comprehensive human-edited directory of the web by Volunteer editors. 4,600,074 Sites, 80,917 editors and over 590,000 categories.Constantly Growing.This open source ODP is used as the standard taxonomy.widely used as a directory standard of World Wide Web by several search engines like Google and Linux.
IMPORTING DATADownload phpODPWorldPackageThe script used to import the RDF file into database is developed by Steve who is one of open directory project editor.Based on the tools he designed, we can easily manipulate data by searching by their categories and their own features.We also apply different searching algorithm to generate keywords on them.First, we write this sql script to fetch data from the database.Second, we generate the key words from the description.Third, Refine the Result set by keywords:Fourth: Organize them into the format we need.
ODP to VIJJANA DATABASEConnecting to the Database
‘dbi:mysql:dbname;host=localhost",“Username","password’Delete Existing Content of the new Database.Intialize a DB handler to insert Data into the New Database.Initialize An XML ParserParse The File Content.clean and Structure.Clean
The data has been Imported into the three main tables of VijjanaDatabase namely
The Important Fields Of these tables areGeneral IdCoverageDescriptionEntry
MySQL QUERY BROWSERThe MySQL Query Browser is a graphical shell where you can execute queries and develop SQL scripts, with several features to help you improve your productivity MySQL Query Browser interface tries to mimic the interface of a web browser. Here we are using MySQL query browser to create a local database. Queries are executed on this local database to extract data in the desired manner for the generation of the XML’s. Since the MySQL query browser interface almost acts as the original browser, our task is to fill the local database with the data present in the original database over the server.
Create Database Vijjanadatabase;
SELECT * FROM general g;
INSERT INTO General VALUES(0,0,0,0,0,'Top/Adult',0,0,0,0,0);
Personal VIJJANA Database
Now programming and query execution can be done on this local database rather than working on the large some of data over the server.
ConclusionThus according to the standards and format of IEEE 1484.12.1, a database schema has been designed. The user database has been integrated into the schema and a complete Jan Structure has been developed for Vijjana.Data is imported into this Database by using “PhpODPWorld”and PEARL scripting language. A local Database has been created by using MySQL query browser interface and is populated with a few amounts of data.
ACKNOWLEDGEMENTDr. Yenumula V. Reddy, Ph.D., ChairDr. James D. Mooney, Ph.D.Dr. Sumitra Reddy, Ph.D.
Luyi Wang, Friends & Vijjana TeamFamily