Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Dissertation
By
Le Phan Huu Bang
By
Le Phan Huu Bang
2
Abstract
Today, when the technology is growing tremendously, knowledge has become a very
important part in our lives. The amount of knowledge that people need to obtain today is
more than ever before. As a result, being able to seek for the knowledge and information you
need in the fastest time is a critical but never easy task for every one of us.
In this project, we will try to design and develop a system to facilitate a Knowledge
Community (K-Comm) in which people can satisfy their needs of information and knowledge
in an easy and quick manner. The system will also serve as a knowledge-based social network
where individuals are encouraged and provided with a comfortable platform to share and
exchange their knowledge and expertise with other users.
We first do an online research and look for similar websites that have attempted to either
meet the demand of knowledge seeking or provide a social network platform to facilitate
exchanging of information for human relationship. After that, we come up with the feature
requirements and detailed specifications for the system that we are going to build. Finally, we
choose the appropriate framework and start the design and implementation of the Knowledge
Community System.
Subject Descriptors
M.0 Knowledge Acquisition
M3 Knowledge Maintenance
D.2.1 Requirements/Specifications
Keywords
Knowledge Community, Knowledge Areas, Tacit Knowledge, Knowledge
Management, Social Network
Implementation Software and Hardware
PHP, Ubuntu Linux, Firefox
3
Acknowledgement
I would like to express my sincerest gratitude to my supervisor, Dr. Poo Chiang Choon,
Danny, for his invaluable guidance. I appreciate him for his time, ideas and advices with me
throughout the work of this project.
Special thank to Mr. Lek Hsiang Hui, for sharing his knowledge and programming techniques
with me. This precious experience helped me a great deal in this project.
I also would like to express my appreciation to Mr Cai Shao Jiang for helping out in the
implementation of the User Profiling package of the system.
Finally, I wish to give credit to those who have in one way or another given support in the
completion of this project.
4
Table of Contents
Abstract.......................................................................................................................................i
Acknowledgement.....................................................................................................................ii
Table of Contents......................................................................................................................iii
Chapter 1 - Introduction.............................................................................................................1
1.1 What is Knowledge..........................................................................................................1
1.2 The Need of Knowledge Sharing.....................................................................................1
1.3 Difficulties in Knowledge Sharing...................................................................................2
Chapter 2 - Literature Review....................................................................................................3
2.1 Yahoo and Google Answers.............................................................................................3
2.2 Youtube.............................................................................................................................3
2.3. Social Networks..............................................................................................................4
2.4 Blogs and Forums............................................................................................................4
2.5 Knowledge Management Systems...................................................................................4
Chapter 3 - System Overview....................................................................................................6
3.1 What is K-Comm.............................................................................................................6
3.2 Features............................................................................................................................6
3.2.1 Social Network Features...........................................................................................6
3.2.2 Knowledge-based Features.......................................................................................6
3.3 System Components.........................................................................................................7
3.3.1 The User Profiling Package.......................................................................................7
3.3.2 The Questions and Answers Package........................................................................8
3.3.3 The User Interface...................................................................................................11
Chapter 4 - Implementation.....................................................................................................13
4.1 Elgg Framework.............................................................................................................13
4.1.1 What is Elgg............................................................................................................13
4.1.2 Elgg Engine.............................................................................................................13
4.1.2 Mapping from Elgg to K-Comm.............................................................................16
4.2 Core Library...................................................................................................................17
4.2.1 Question Class.........................................................................................................18
4.2.2 Category Class........................................................................................................18
4.2.3 Answer Class...........................................................................................................19
4.2.4 Integration...............................................................................................................20
5
4.3 Widgets...........................................................................................................................20
4.4 User Interface.................................................................................................................21
4.5 Skill Level System.........................................................................................................21
4.5.1 Requirements...........................................................................................................23
4.5.2 Unsuccessful Attempts............................................................................................24
4.5.3 Our Approach..........................................................................................................25
Chapter 5 - Conclusion.............................................................................................................27
5.1 Summary........................................................................................................................27
5.2 Difficulties and Limitations...........................................................................................27
5.3 Recommendations for Further Work..............................................................................27
References................................................................................................................................29
Appendix..................................................................................................................................30
Functions provided for metadata......................................................................................30
Functions provided for annotations..................................................................................30
6
7
Chapter 1 - Introduction
Before we can come up with the detailed requirements for our K-Comm System, we first
need to understand and delineate the definition of knowledge that we are using. In addition,
we also have to identify the need of knowledge sharing in the society we are living now.
Finally, we will point out what remain as difficulties in the process of sharing and looking for
the knowledge that we want.
8
1.3 Difficulties in Knowledge Sharing
One of the main difficulties in knowledge sharing is that people are reluctant to share what
they know with others. There are many reasons for this unwillingness. First of all, people
might find that they have spent a lot of time, efforts and even money to obtain their
knowledge. As a result, they feel unreasonable and lack of interest to share it with someone
else. Another widely held opinion is that people think their possession of knowledge has
some value and can bring them some certain advantages and even power over those who do
not have that knowledge. They tend to think that once they share it with someone else and the
others capture that knowledge, they will not have the advantages any more. Finally, it seems
to be a nature of human that people often do not trust each other. As a result, they are often
reluctant to share their knowledge with someone they do not know very well.
In order to overcome this reluctance, we need to reward people for their contribution in the
knowledge sharing process. We need to make more incentives to encourage them. Some
people prefer certain kind of recognition for their efforts and we can do that to persuade them
to open the door of their knowledge treasure. Finally, we can enhance the communication
channel between people and provide them with a comfortable and friendly environment to
work and collaborate with other people. This is to tighten up their relationship and help them
feel more secure to share the knowledge with their friends whom they feel trustable.
9
Chapter 2 - Literature Review
According to our research, there exist in the public domain similar systems but each of them
typically only serves for one or a few aspects that a knowledge seeker desires. There were no
single systems which can satisfy all the needs in general. K-Comm comes in and tries to
bridge the gaps between the existing systems as well as provide new features.
2.2 Youtube
Youtube started from a video sharing website. People come here to share their entertainment
and knowledge. However, things that a person can share on Youtube are limited to those
which can be transformed into a video format. Although this is an advantage to some extent
because sometimes it helps the users illustrate the ideas better, there are a lot more other types
of information and knowledge that cannot be captured in video.
In K-Comm, we do not restrict users to any representation format of knowledge. People have
a choice to share either text only or video or audio contents. As a result, we can capture a
wider range of knowledge than what Youtube can support.
• Friendster: http://www.friendster.com
• Facebook: http://www.facebook.com
• Twitter: http://www.twitter.com
• MySpace: http://www.myspace.com
Most of the social network sites are focused on helping people keep in touch with their
friends and maintain the relationship between them. What people often share in social
10
networks are things that they do in their life and there is very little knowledge factor
involved.
Our K-Comm system, on the contrary, focuses on the knowledge aspect. We are more
interested in the knowledge being shared among the system users. Although we also support
fundamental social networking features, those features are to facilitate and maintain a
comfortable and collaborative environment for the knowledge sharing process of the users.
Differentiating Points
Yahoo Answers / Google Answers K-Comm can evaluate the quality and contribution of
the answerers based on their answering history and
community ratings. K-Comm also supports
embedded materials like audio, video, etc.
Social Networks We are more focused on knowledge sharing rather
than personal relationship between users
Blogs, Forums • We have similar features but they are more
knowledge sharing focused and not limited to
those features only
• Blogs and Forums typically pertain to a certain
area of interest while we are open to various
domains in K-Comm
Other Knowledge Management We don’t restrict the knowledge to a specific domain.
Systems Instead, we leverage users’ expertise across different
domains. In our K-Comm, each user is an expert and
has something to share
11
Chapter 3 - System Overview
3.1 What is K-Comm
We name our system K-Comm which stands for Knowledge Community. As the name
suggests, K-Comm is a knowledge-based social network. It provides most functions of
modern social network while still keeps its focus on knowledge sharing intention. You can
access the system at http://www.k-comm.tk.
3.2 Features
3.2.1 Social Network Features
K-Comm has been equipped with most of the common features that a typical social network
site should support. You can write your own blog, join the discussions in the forums, make
friends with other users of the same interest, gather in groups to have a better collaboration,
maintain a good relationship with your friends in the network, and so on.
Altogether, these features help create a collaborative, interactive, and comfortable
environment for all the members to come and participate in the knowledge sharing process.
3.2.2 Knowledge-based Features
K-Comm is not another social network. The social network features in K-Comm only acts as
a fundamental environment to facilitate and motivate the users to exchange their knowledge
with other users in the network. In K-Comm, it is believed that every individual is an expert
and we try to utilise and maximise that potential in order to benefit all the members of the
network.
The utmost purpose that K-Comm aims to achieve is to provide the users with knowledge-
focused activities and features. The users can come to system to:
12
The K-Comm system consists of three main components: the User Profiling package, Social
Networking package and the Questions and Answers package. On top of that is the user
interface that controls the look and feel, the layout and the flow of the whole system.
3.3.1 The User Profiling Package
This package is responsible for capturing all the information which is related to the users of
the systems. Upon registration, the users will be asked a few sets of questions in which they
tell the system about their basic information (e.g. name, gender, contact number, etc.); what
are the fields and categories that they are interested in; their background and user type. The
User Profiling package will capture all of this information and make it ready to be used by
other components in the system.
3.3.2 The Questions and Answers Package
This package is our central point to manage all the knowledge being shared by the users of
the system. It is responsible for assisting the users in sharing their potential knowledge as
well as looking for the knowledge or information they need in the fastest time. To be precise,
it provides the users with the following functions:
a) Ask and answer questions
The Questions and Answers Package allows users to ask and answer questions. The questions
and answers are classified in predefined categories. The predefined categories are managed
and maintained by the system administrators and by default have covered most of the
common areas of interest that the system users are likely to have. However, the users can also
give suggestions for new categories which have not been included in the system and those
categories will be added after being approved by the system administrators.
Not only the questions are structured into different categories, users can also add tags into the
questions to describe the questions more specifically. The questions can be searched
afterwards by both of their contents and the tags attached.
The system provides support for rich content which consequently means that the users can
post audios, videos or any embedded widget in their questions and answers. This is a
differentiating point from other services such as Yahoo or Google Answers. Using this
feature, the posters can give a more lively illustration and thus will help the readers have a
better understanding about the questions and answers being posted.
This function is provided by the core library and Q&A display. The core library models the
structure of the questions and answers being stored in the database while the Q&A display
component is responsible for pulling out the information from the database and displaying it
to the front end users.
b) Evaluate questions and answers
In order to encourage members of the society to contribute to the knowledge sharing process,
the system provides its users with the ability to rate the questions and answers. It can be
considered as the incentives for the questioners and answerers. All of the questions and
13
answers can be rated by other users except for the person who posted those questions and
answers. Users can also leave their comments for both questions and answers as necessary.
Additionally, the person who asks a question can choose the best answer among the answers
posted.
The rating and comments from the users will help the system evaluate not only the quality of
the questions and answers but also the contributions and the level of knowledge of other
users. It then will be able to analyse and tell:
14
Figure 2: Search box
Another way to look for the questions is to look at the Interesting and Latest tab in the main
page (after logging in). When the users register to the system, they will be asked what the
categories that they are interested in are. The system will capture this information and
automatically list all the questions in those categories in the Interesting tab. So when the users
log in to the system, they can have a glance at the questions that are posted in their areas of
interest. In a similar manner, the Latest tab will list all the questions which have been posted
recently. The illustration is as in the figure below
In addition, they can always click on a tag or a category to go to the list of questions that have
the same tag attached or posted in that specific category.
Besides locating the questions, the users are also provided with a way to manage different
kinds of questions. For example, they can edit their own dashboard to display the lists of
recent questions, the questions that they have asked, the questions asked by their friends, etc.
These are called widgets and they can be customized, added or removed in the dashboard of
individual users.
15
Figure 4: Widgets
d) Other functionality
In addition to the knowledge-focused functions, the system also comes with all the
fundamental functions of a typical social networking system. For instance, the users also have
a blog and can manage their relationships with other friends in the network. They can also
gather into groups and create discussion forums.
In conclusion, the K-Comm system tries to facilitate the users with a good social networking
environment in order to encourage them to exchange their knowledge with other users. The
system also assists the users in locating the information they want as quickly as possible and
managing the questions in which they are interested in an easy and tidy manner.
3.3.3 The User Interface
The User Interface package controls the consistency of the look and feel of different
components throughout the system. We have made a lot of changes to the interface so that the
system does not look like the default Elgg site. Moreover, it is important that we want to
confine to the convention of Web 2.0 in order to give the users a good impression and the
incentives to make use of the system. Some of the rules of thumb we try to follow when
designing the user interface are:
16
Chapter 4 - Implementation
In this chapter, we will first describe how we apply the open source framework to correspond
with the features that we want in the system. Then we will look into details the
implementation of each component in K-Comm.
The principles we apply in the implementation might give an impression that it is simple and
straight forward but the complexity lies on the integration part where we need to stick to the
guideline given by the Elgg framework.
• It is free and open source. It also works with PHP and MySQL which is also
free and open source environment.
• It provides fundamental functionality for a typical social networking site so that
we do not need to waste time and efforts building our system from scratch.
• The framework can be extended using customized plug in
We choose PHP as our development environment instead of .NET or JSP not only because it
is free but also because the PHP platform is considered as faster than that of .NET or JSP.
There is also more variety of available frameworks written in PHP for us to choose from
compared to .NET and JSP.
4.1.2 Elgg Engine
In this section, we will discuss about the underlying structure of the Elgg engine. It is
necessary that we understand how the framework works so that we can continue to build our
system features on top of it. Part of the technical points being discussed in this section is
referenced from the documentation on Elgg website (http://docs.elgg.org/wiki/Main_Page).
However, the online documentation is very general and more often than not, it is not
sufficient for our implementation. Hence, this section also includes findings and conclusions
with which the author has come up during the trial and error and implementation process.
In this discussion of the Elgg engine, we will also mention about the pros and cons that such
structure brings about to our implementation.
We will start by looking at the Elgg Data Model which is illustrated as in the figure below:
17
Figure 5: Elgg Data Model
In Elgg, the basic or atomic unit of data is called an entity (or ElggEntity as it is referred to in
the PHP code). So every access to the database should go through this layer of abstraction
rather than directly making SQL queries to the database. It is important to follow this
convention in order to ensure the integrity of the data model. Although Elgg provides us with
a few utility functions to work with the entities, sometimes they are not flexible enough to
suit our needs. For instance, it is not possible to use the utility functions provided by the Elgg
core engine to retrieve a list of entities in a sorted order (based on some criteria). As a result,
we will need to alternatively retrieve the list of entities and do a manual sorting on the list.
The task will get more complicated and inefficient when the criteria involve several attributes
or aggregate functions. Another way to get around this problem is to add an overloading
utility function to the Elgg core engine to provide the same effect by altering the SQL query
being called. This approach is necessary as far as the efficiency of the operation is concerned.
However, we will have some compatible issues when upgrading the platform to a newer
version. As a result, in our implementation, we only touch the Elgg core engine when
efficiency is important. Otherwise, we use the first approach, that is, to do extra manual work
to achieve the effect.
Every other object in the system inherits the ElggEntity class. Four specialized types of such
classes have already been made to provide extra properties and methods for handling
different types of data easily. They are:
18
• ElggObject
Objects like blog posts, uploaded files and bookmarks
• ElggUser
Each user in the system
• ElggSite
Each site in a multiple site system within the same Elgg install
• ElggGroup
Multi-user collaborative systems
In our K-Comm system, most of the time we only make use of the ElggObject and ElggUser
and leave the ElggSite and ElggGroup untouched.
Each of the four specialized entities listed above come with their own distinguish properties,
for example ElggObject has a title and description while ElggUser has a username and
password and so on. Nevertheless, besides those properties, they also share common
properties which are inherited from the ElggEntity class:
• The metadata can be used to store simple information such as tags, attribute ids,
etc. Under the hood, metadata is treated as a tag, and therefore it is searchable
and in fact most appropriate for the information that involves search operation.
• The annotation is often used to store more complicated information which adds
to the information provided by the entity. For example, ratings and comments
can be considered as annotation. You will prefer using annotation to metadata
when we want to make some aggregation calculations for the entity objects.
Elgg provides us with adequate functions to do such calculation on annotation.
19
4.1.2 Mapping from Elgg to K-Comm
In this section, we will discuss how we make use of the functions provided by Elgg to
implement the features of our K-Comm system. In other words, we are mapping from Elgg
available features to K-Comm features.
Besides utilising the default social networking features provided by Elgg, we also make use
of these standard features and add more knowledge-focused functions to them. For example,
on top of the “friend” and “friend of” relationship support, we also build a widget called
Friends’ Questions to help the users keep an update of their friends’ questions and answers
more easily.
Elgg allows us to extend the system by creating customised plug-in. We have used this plug-
in support to build a number of components in our system. For example, the Questions and
Answers package is implemented as a plug-in. The user interface also customises the look
and feels of the system through plug-in and hence can be easily changed, enabled or disabled.
Additionally, we also make a heavy use of the Elgg Data Model to make our K-Comm
system more object oriented as well as more portable and compatible. We use the metadata to
store the tags of the questions and annotations to keep track of users’ contributions and their
knowledge value estimation.
Finally, we use the widget model of Elgg to provide a handy tool for the users to manage and
organise their knowledge in the sharing process.
20
The relationship between the Question class and the Category class is many to one. Each
question can belong to only one category (while one category can content many questions).
The Question class keeps a reference to the Category class by category id. So given a
Question entity object, we always know immediately which category it belongs to.
On the other hand, the relationship between the Question class and the Answer class is one to
many. Each question can have many answers. However one answer can only belong to one
question. We do not maintain a reference pointing from the Question class to the Answer
class. However, we have defined utility functions to retrieve the list of all answers that belong
to a particular question.
In addition to the metadata, each question is also attached with a Score object when it is
created. This is to recognise the contribution of a person when he or she asks a question by
rewarding them with some activity contribution points.
4.2.2 Category Class
The relationship between the Category class and the Question class has been described in the
section above. The similar relationship applies to the Answer class, too. Since the Category
class does not maintain a reference to Question and Answer class, we also define utility
functions to retrieve the list of all the answers or questions in a particular category.
In K-Comm, our category supports multi-level categories. That means we can have nested
categories ranging from general to specific. An example of the hierarchy can be found below:
21
happens, we will encounter problems which relate to the relationship between the classes. For
example, we will not be able to get the answer that belongs to a particular question.
After that, we need to register all the actions that relate to the sub types we have created.
Examples of the actions are creating a new question, deleting a question, editing a question,
etc.
Finally, we need to add the list of categories to the menu so that the users can easily navigate
through.
4.3 Widgets
Widgets are an integral part of the user experience with Elgg. Using Elgg's powerful widget
API, it is possible to provide access to both internal and external content, through widgets, on
a user’s dashboard or profile. Widgets can be available for both the profile and dashboard, or
they can be exclusive to either or. (http://docs.elgg.org/wiki/Plugins/Widgets)
Following are some of the widgets provided in K-Comm
• Recent Questions
• My Questions
• Friends’ Questions
• Related Questions
For each of the widget, we need to create a view and an edit page. The view page is
responsible for pulling out the information from the database and displaying it to the users
while the edit page is used to modify some settings for the widget.
1
jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling,
animating, and Ajax interactions for rapid web development. (http://jquery.com)
22
have logged in. We also modularised the package in order to make it easy to change the
layout, the CSS style sheet and JavaScript in the future when necessary.
If our analysis for the activities that John and Mary have participated in is as in the chart
above, we might want to come to the estimation that John is likely better than Mary in the
area of computers while Mary knows better about cars than John does.
After we capture the skill level for John and Mary, we also need to make that information
available for other users. So we show the skill level of John and Mary in the questions and
answers that they have posted. As a result, when a user sees answers posted by John in the
Computer category, they will know that these answers are probably more accurate and
trustable (since John has a good expertise in this area). Similarly, in the Car category, Mary’s
answers are more likely to have a higher weight.
23
4.5.1 Requirements
Now the problem that we need to solve is to construct a function f from the Cartesian product
of the sets of Category and User to the set of real number from 0 to 10:
f:Category ×User↦0..10
fcatid, userid= Skill level of the user in the category
In addition, the function f needs to be in terms of:
• The rating of questions and answers from the user in the particular category
• The total number of questions and answers from the user in the particular
category
• The number of answers from the user in the particular category which have been
selected as the best answer
While constructing the function f and the Skill Level System, besides accuracy, we also need
to take into account the following practical requirements:
The good thing about this attempt is that by putting some weight to the Old Point and New
Estimated Point, we prevent the final skill level from increasing unboundedly. However,
this approach is not acceptable because it introduces a problem in which the skill level of a
user will remain unchanged or even decrease no matter how hard he or she try to participate
in the activities. This is because after some time, the current value of skill level is too high
compared to the maximum point that people can earn by participating in an activity. You can
argue that we can adjust the weight of the New Estimated Point. However, if you give
too much weight for the New Estimated Point, then it becomes very easy to improve
someone’s skill level. The consequence is everyone will eventually get roughly the same skill
24
level and the system will be unable to distinguish between good and not so good knowledge
sharer.
We then modify the solution. Instead of keeping an old value for the skill level, we leave it
increasing. That is:
Skill Level Point=0.1×Question Count+0.1×Answer Count+0.2×Avg Question
Rating+0.3×Avg Answer Rating+0.3×Best Answer Count
However, to keep it unbounded, we normalise it by compared it to the maximum skill level
that has been achieved in the system. The skill level now give you an idea about how good
you are compared to others in the system instead of indicating an absolute value about your
knowledge expertise.
Nevertheless, this approach is not applicable in practice, either. The problem is if the user
does not log in to the system for some time while the rest users continue to participate in the
system regularly, that user’s skill level will be outdated (and thus become very low)
compared to others. This does not make sense because your knowledge can not decrease just
because of your inactivity. The level of activity of a user has already been captured by the
Point System. The Skill Level System should only focus on the quality of the knowledge
being shared by a user in a particular category.
4.5.3 Our Approach
After the failure of previous attempts, we came up with a new working approach. We try to
analyse the skill level of the user only after his work (asking or answering) has been
evaluated by other users. So the user’s skill level will not drop over time but it will only drop
if other users rate his questions or answers as bad.
The calculation of the skill level is as follows. If a user has asked questions in a particular
category but none of his questions have been rated, then he will get 0.5 for the question part.
Otherwise, the average of the rating of his questions will be used for his question part.
Similarly, if he has posted answers in the category but none of his answers have been rated,
then he will get 0.5 for the answer part. Otherwise, he will get the average of the rating of his
answers. Finally, the question part will account for 40% and the answer part will account for
60% of the Q&A points. The reason for the ratio 4 : 6 is that when a person is able to answer
some questions in a category, it is more likely that he knows about the category well than in
the case he is asking a question in that category. In addition, we also take into account (with a
light weight) the number of questions and answers that the user has posted and the number of
answers which have been selected as the best answers. The full calculation formula is shown
below:
Skill Level=0.1×Question & Answer count2+0.2×Best Answers+0.7×QAPoints
QAPoints=0.4×Question Part+0.6×Answer Part
Question Part=0.5 if no questions ratedAverage of ratings, otherwise
Answer Part=0.5 if no answers ratedAverage of ratings, otherwise
If the category has sub categories, then the skill level will be the balance of the category itself
and its children:
25
Final Skill Level C=0.7×SkillLevelC+0.3×Avg(C.Children)
In order to avoid calculation overhead, we will not carry out the calculation every time we
want to display the skill level value. Instead, we will store the final value and display it when
necessary. We only make an update of the constituent components of the function (question
and answer count, average rating, number of best answers) and calculate again when the user
participates in a new activity.
26
Chapter 5 - Conclusion
5.1 Summary
In this project, we have specified and formalised the specifications that the Knowledge
Community system should have. We then studied the existing similar systems that are
available and the interesting features that we might want to include in K-Comm. We also
designed the basic structure for our system and identify the fundamental constituent
components. After that, we analysed the open source Elgg framework and found out how to
make use of it to implement our system. Finally, we started to build the essential components
of K-Comm.
27
References
Agarwal, N.K. and Poo, D.C.C. (2006). Capturing tacit knowledge across different domains:
Knowledge Community (K-Comm).
Bonnie Montano (2004). Innovations of knowledge management. IRM Press (March 22,
2005).
http://www.techcrunch.com/wp-content/wlsn_comparison_chart.html
http://www.sim.edu.sg/mbs/pub/mag/mbs_pub_mag_list.cfm?ID=1877&mnuid=92
http://www.aijc.com.ph/KM_site/docs/Annex%203.pdf
http://www.aijc.com.ph/KM_site/docs/Annex%203.pdf
http://www.150jahre.ethz.ch/program/ethvisionen/tag_der_universitaeten/programm/kleiber.p
df
http://net.educause.edu/ir/library/pdf/erm0350.pdf
http://www.tfhrc.gov/pubrds/novdec99/km.htm
http://www.gurteen.com/gurteen/gurteen.nsf/id/ksculture
http://lnweb90.worldbank.org/oed/oeddoclib.nsf/DocUNIDViewForJavaSearch/D9E389E741
4BE9DE85256DC600572CA0/$file/knowledge_eval_literature_review.pdf
28
Appendix
Functions provided for metadata
Source: http://docs.elgg.org/wiki/Engine/DataModel/Metadata
function create_metadata(
function get_metadata_byname (
$entity_guid,
$meta_name
)
function get_metadata_for_entity (
$entity_guid
29
$vartype = "" // 'string' or 'integer'
$annotations = $entity->getAnnotations(
);
30