Ken

Ken

  • Docs
  • Explorer
  • Github

›Introduction

Introduction

  • What & Why
  • Stack Layers

Ken Standard

  • Bases
  • kenID
  • Facts

KenML

  • KenML

KenJs

  • KenJs

Ken Explorer

  • Ken Explorer

Stack Layers

The Ken ecosystem can be a lot to understand, so can be split into multiple layers. The layers are ordered by a mix of abstraction and closeness to user interfaces.

stack

Standard

The Ken Standard is currently quite simple. It will likely expand somewhat as future functionality is requested. In particular, there may eventually be a large set of "value" types. If these extend to varieties of JSON, they can become numerous. Out of all of the stack layers, the Ken Standard is the main one to incoorporate into projects that want to make use of Ken-related tooling.

Registry

All bases have IDs, but there can be conflicts. It would make sense to have trusted registries of which bases should be titled under which names. This would be similar to the DNS system. Currently such a system does not exist for KEN, as there haven't yet been enough bases for this to be an issue.

Ontology

The ontology layer refers to the collection of Ken knowledge graphs that describe important properties and their relationships. These are be imported by knowledge graphs in the data layer. Currently, the stdlib base fulfils this role.

Data

Data refers to Ken gnowledge graphs that deal primarily with information about the world, rather than ways to describe such information. For instance, the base of "movies made in 2018" would be considered part of the data layer.

Data Tooling

This refers to software for making it easier to make knowledge graphs and convert them to and from other kinds of data. For instance, libraries that access APIs or web scrapers, and write or read KenML.

Storage

Currently, only static files with KenML are supported for use with KenJs. We recommend the use of Github or similar tools for authorization and change management. These files can be stored using any system that can store and distribute static files. If you care about file permissions, you may want to use something like Dropbox or Box. If you care more about use in programming, you may want to use NPM.

Systems you may consider for file sharing:

  • Dropbox
  • Box
  • Google Drive
  • Keybase File System
  • NPM
  • BitTorrent
  • Dat

KenMl does not include a "site map" equivalent, so it would be difficult to share a base with multiple files directly as a web resource.

In the future, it is possible some Ken knowledge bases can be stored in databases as well.

Client

The only current client is kenJs, which provides an interface to Ken data for javascript.

Presentation

The only current presentation tool is the Ken Explorer. This is mostly for understanding and debugging knowledge bases, but can double for some light direct use. Think of it as a database explorer, rather than frontend.

KenJs can be used directly in other javascript applications to provide knowledge graph functionality where is useful.

← What & WhyBases →
  • Standard
  • Registry
  • Ontology
  • Data
  • Data Tooling
  • Storage
  • Client
  • Presentation
Ken
Docs
Ken StandardKenMLKenJsKen Explorer
More
GitHubStar