Code Monkey home page Code Monkey logo

ikb's Introduction

iKB - Knowledge-driven Database Engine

Build Status

iΚB is based on knowledge-driven hierarchical nosql database. Its main goals are:

  • One BIG P2P knowledge database only
  • The knowledge base make computers and people can understand and use it
  • Provide The Common Knowledge Classification
  • Inference Engine build-in to reason and "think about"
  • Peer to Peer Share Knowledge(machine to machine)
  • Make your computer into a real logic-based electronic brain

In some ways it is similar to:

  • nosql key/value database
  • Graph database
  • Wordnet
  • Freebase
  • Wikipedia

But it is still quite different with the above-mentioned.

Database Specification

First it's a hierarchical nosql key/value database and the hierarchy is inheritance releationship only.

  1. Each key is a knowledge item ID(identification)
  2. A knowledge item only one explanation(not allow to have multiple explanations)
  3. The "key path" indicates inheritance relationship(ISA) of the knowledge.
  • use the posix path separator("/") to separate each key.
  • eg, /creature/animal/deuterostomia/chordata/vertebrata/fish
  1. The key's inheritor called subkey of the key.
  • eg, fish is the subkey of the key /creature/animal/deuterostomia/chordata/vertebrata
  1. The key with "attributes" represents meronymy relationship(HASA).
  • use the '.' dot prefix to express the attribute of a key. eg /system/a.com/user/jack/.value
  • The "value", "type" is the special "attributes".
  1. The key with "actions" means executable functions or the key issued.
  • use the '!' exclamation mark prefix to express the action of a key. eg /book/!open

The Common Knowledge Classification Specification

This section is similar to wordnet. But the differences are:

  1. Encoding the knowledge item ID(identification) with Chinese Character
  2. A knowledge item only one ID(identification) and one explanation(not allow to have multiple identification or explanations)
  3. The root classification is different from Wordnet.

Why encoding Knowledge ID with Chinese characters?

Generally, we use numbers and GUID as ID (identification) System. But this ID is unmeaning and difficult to maintain. I wish it could be self-explanatory.

Chinese characters have a stable architecture, as well as plenty of character, about more than 21,000 characters, and each character has its own meaning.

This makes the Chinese coding greatly reduces the storage footprint, and can have a clear meaning.

eg,

  • "attrbute" is is composed of eight Engilish characters. but Chinese, only two characters: "属性".
  • "type" four characters for Engilish. one character only for Chinese: "型".
  • "English" serven characters for English, one character for Chinese: "英".
  • "/creature/animal/deuterostomia/chordata/vertebrata/fish" for Chinese: "/生/动/后口/脊索/脊椎/鱼"

ikb's People

Contributors

snowyu avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.