Piggydb Documents

Piggydb is an open source Web note-taking application that provides you with a platform to build your knowledge personally or collaboratively.
With Piggydb, you can create highly structured content by connecting knowledge fragments to each other to build a network structure, which is more flexible and expressive than a tree structure. Fragments can also be classified using hierarchical tags.
Piggydb does not aim to be an input-and-search database application. It aims to be a platform that encourages you to organize your knowledge continuously to discover new ideas or concepts, and moreover enrich your creativity.

How Piggydb Works

1. Create knowledge fragments for anything you want to write down: your thoughts, ideas, article excerpts, TODOs, etc.
2. Organize the fragments afterward
with fragment relationships:
with tags:
3. Browse your knowledge base in the various views:

Settings → ...

You can customize the Piggydb's behavior by modifying the settings. The following is how to change the settings for each package.
  • Standalone Package
    • modifying application.properties
  • All-in-One Package
    • modifying run.bat or run.sh
  • War Package
    • modify application.properties in <extracted-war>/WEB-INF/config.
Those settings also can be set via the Java System Properties.

Knowledge Fragments → ...

A knowledge fragment is the unit of information in a Piggydb database. The box which contains the text you are reading now is a fragment. The content of a fragment is usually text like this fragment (Text Fragment), but you can also input a file of arbitrary type as a single fragment which is called a "File Fragment".
I recommend that you keep individual fragments relatively small. Smaller fragments, which focus on single issues, give you more flexibility when you organize and relate them using the tags.
Piggydb provides you with various ways to view organized fragments. This is one of its advantages when compared to other systems, such as wikis or blogs.

Hierarchical Tags → ...

Like many other Web 2.0 systems, Piggydb supports tagging to classify knowledge fragments.
While tagging is simply for classifying a piece of information and allowing it to be found again by browsing or searching, in the context of folksonomy, its simplicity (non-hierarchical keywords) enables organizing information by many people collaboratively, known as “collective intelligence”, and connecting like-minded people.
Piggydb is not a social networking application, so it concentrates on the classifying nature of tagging. In terms of classifying, tagging has many advantages over existing systems such as directories/folders and categories. Tagging is generally more flexible and less brain-racking, and is used to resolve the “Bat problem”.
The ‘Bat problem’ was coined by Japanese economist Yukio Noguchi to describe a problem which arises when classifying information and goods. Material things and information can have multiple attributes that are used descriptively depending on the context (Bats have the properties of both birds and beasts – http://mythfolklore.net/aesopica/milowinter/43.htm).
However, tagging also has its own problems. One of them is losing the grasp of the entire set of tags when the number of tags is growing. Piggydb offers hierarchical tagging to tackle this problem.
Hierarchical tagging allows you to classify a tag through other tags, exactly like knowledge fragments, and the classification is transitive; that is, if there is a tag “cat” classified with a tag “animal” and you classify some fragments with “cat”, then those fragment will be classified as an “animal” also. The hierarchical tagging feature allows you to classify fragments more naturally, and drill down a large number of fragments more easily and smoothly.

User Management - #user tag → ...

The user management system is built into the piggydb's semantics seamlessly.
Piggydb has only one user ("owner") by default, but you can create other users just by creating fragments titled "username" and tagged with "#user" tag. These fragments are called "User Fragment", which can be created, changed, or deleted only by an owner.
  • The default password is the same as the user name.
    • If you create a fragment titled "marubinotto" and tagged with "#user", you can login with marubinotto/marubinotto.
  • You can manage the users in exactly the same way as fragments, classifying with tags, connecting to other fragments, and so on.


You can contribute to the development of Piggydb by sending feedback, bug reports and feature requests via:

Put the focus on the process of organizing information

There are already many web services and applications that support tagging and other mechanisms for organizing information, such as 'Wikipedia', 'delicious', 'Facebook', 'Twitter', and so on -- collectively known as Web 2.0.
These applications and services allow you to connect with other, like-minded people, and to discover new information about your interests. It is a fantastic environment, thanks to the Internet.
However, in a Web 2.0 environment, most of the available information has been organized and classified already, and while this is very useful and convenient when you begin to use a given application or service, it will limit your ability to create new views or make new connections. You may not be able to implement or express your own ideas because you become so influenced by the majority, so constrained by the given softwares.
I believe the process of organizing information is more important than the result and I created 'Piggydb' to help you to be able to organize available information in a more flexible and expressive way than other Web 2.0 applications.