TopicDB is a topic map-based graph (NoSQL) database
Project description
TopicDB is a topic map-based graph (NoSQL) database.
Feature Support
Pending
TopicDB officially supports Python 3.3–3.6.
Installation
To install TopicDB, simply:
$ pip install topic-db
First-Time Use
import os
from topicdb.core.commands.map.createmap import CreateMap
from topicdb.core.commands.map.initmap import InitMap
from topicdb.core.commands.topic.topicexists import TopicExists
from topicdb.core.commands.topic.gettopic import GetTopic
# Set constants.
DATABASE_PATH = os.path.join(os.path.dirname(__file__), 'test-topicmap.db')
MAP_IDENTIFIER = 1
# Create database schema.
if not os.path.isfile(DATABASE_PATH):
CreateMap(DATABASE_PATH).execute()
# Bootstrap default topics.
if not TopicExists(DATABASE_PATH, MAP_IDENTIFIER, 'genesis').execute():
InitMap(DATABASE_PATH, MAP_IDENTIFIER).execute()
# Retrieve "Genesis" topic (with the accompanying topic identifier in lower case
# for the purpose of testing).
topic = GetTopic(DATABASE_PATH, MAP_IDENTIFIER, 'genesis').execute()
print(topic.identifier)
print(topic.instance_of)
print(topic.first_base_name.name)
Documentation
Documentation will be available soon.
Tutorial
A tutorial will be available soon.
How to Contribute
Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
Write a test which shows that the bug was fixed or that the feature works as expected.
Send a pull request and bug the maintainer until it gets merged and published. :) Make sure to add yourself to AUTHORS.
Release History
0.3.0 (2016-12-30)
Improvements
Added functionality to delete associations (i.e., DeleteAssociation class).
0.2.0 (2016-12-28)
Improvements
Provided OntologyMode (either strict or lenient).
Sanitized backing store (SQLite) indexes.
0.1.1 (2016-12-26)
Miscellaneous
Initial release on PyPI (https://pypi.python.org/pypi/topic-db).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.