Skip to main content

Knowledge is a polymorphic vertical database based on SQLAlchemy. It provides a dict-like interface to the database.

Knowledge is comprised of two related objects: Fact()s and Entity()s. Entities can be created and then have arbitrary facts applied to them. Before Knowledge can be used, the DB has to be set up with SQLAlchemy as follows:

from sqlalchemy import create_engine
from knowledge.model import init_model, metadata
engine = create_engine('sqlite:///knowledge.db')
init_model(engine)
metadata.create_all(engine)

Using knowledge is easy. Entities are created with a key, then facts about the entity can be applied like values in a dictionary:

from knowledge.model import Entity, DBSession

monster = Entity(u'Monster')
fairy = Entity(u'Fairy')
rjbean = Entity(u'rjbean')
monster[u'color'] = u'Green'
monster[u'name'] = u'Lotharrr'
fairy[u'flies'] = True
fairy[u'name'] = u'Bell'
rjbean[u'name'] = u'ralph'
rjbean[u'flies'] = False
rjbean[u'hacks'] = True

DBSession.add(monster)
DBSession.add(fairy)
DBSession.add(rjbean)
DBSession.commit()

Retrieving Entities and Facts from the DB works just like any other SQLAlchemy application:

from knowledge.model import Entity, DBSession

# Query all the Entities out of knowledge
knowledge_query = DBSession.query(Entity).all()
for entity in knowledge_query:
    print entity, entity.facts.values()

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

knowledge-0.3.tar.gz (7.3 kB view details)

Uploaded Source

File details

Details for the file knowledge-0.3.tar.gz.

File metadata

  • Download URL: knowledge-0.3.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for knowledge-0.3.tar.gz
Algorithm Hash digest
SHA256 d86d02b626bffd6b70272efd08409575d5849ff83edb4a37032f91050d376da4
MD5 50470f77ceaf913350ab1c9227699a45
BLAKE2b-256 5b95008483ce738869b186cf0d82c5e5340c56dfe30194e4c91ca32609f683c0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3 This release

1 file

0.2

1 file

0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page