• Stars
    star
    249
  • Rank 157,807 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created over 7 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

TopicDB is a topic maps-based semantic graph store (using SQLite for persistence)

PyPI Python 3.x GitHub open issues GitHub closed issues License

TopicDB by Brett Kromkamp

TopicDB is a topic map-based graph library (using SQLite for persistence). Topic maps provide a way to describe complex relationships between abstract concepts and real-world (information) resources.

For a more in-depth introduction to topic maps, I recommend reading the introductory article on topic maps over at MSDN: An Introduction to Topic Maps. With that being said, although TopicDB is inspired by the topic maps paradigm, it is not (and never will be) an implementation of the ISO/IEC 13250 Topic Maps data model standard.

TopicDB is intended to be used by other Python applications and does not provide its own user interface to the API. Contextualise, currently in active development, will provide a complete web-based user interface for TopicDB.

Why?

I build (story) worlds and knowledge management systems. TopicDB plays a crucial role in both those endeavours.

Feature Support

  • Pending

Installation

TopicDB officially supports Python 3.7–3.10. To install TopicDB, simply:

$ pip install --upgrade topic-db

Install the Development Version

If you have Git installed on your system, it is possible to install the development version of TopicDB.

Before installing the development version, you may need to uninstall the standard version of TopicDB using pip:

$ pip uninstall topic-db

Then do:

$ git clone https://github.com/brettkromkamp/topic-db
$ cd topic-db
$ pip install -e .

The pip install -e . command allows you to follow the development branch as it changes by creating links in the right places and installing the command line scripts to the appropriate locations.

Then, if you want to update TopicDB at any time, in the same directory do:

$ git pull

How to Contribute

  1. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
  2. Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
  3. Write a test which shows that the bug was fixed or that the feature works as expected.
  4. Send a pull request and bug the maintainer until it gets merged and published :)

More Repositories

1

contextualise

Contextualise is an effective tool particularly suited for organising information-heavy projects and activities consisting of unstructured and widely diverse data and information resources
Python
1,035
star
2

awesome-knowledge-management

A curated list of amazingly awesome articles, people, applications, software libraries and projects related to the knowledge management space
514
star
3

typed-tree

TypedTree provides a tree data structure that allows adding type information to both nodes and edges; useful for visualisation purposes
Python
16
star
4

story-db

StoryDB is a formalization of complex narrative events with an accompanying persistence store.
Python
11
star
5

procedural-storytelling

A collection of scripts, algorithms, data-sets and other resources related to procedural storytelling
7
star
6

aiotopicdb

The aiotopicdb package is an asynchronous implementation of TopicDB with an accompanying FastAPI-based API
Python
6
star
7

brettkromkamp

5
star
8

contextualise-docs

Contextualise application official documentation
reStructuredText
5
star
9

uit-python-course

Repository for the Python Introductory course and the AI and Machine Learning course at the UiT, August-December 2021.
Python
3
star
10

flask-docker-starter

A simple Flask application using Docker with Nginx as the HTTP webserver and uWSGI as the application server.
Dockerfile
2
star
11

mini-loan-application

A Spring Boot-based loan application service together with an Angular client app.
Java
2
star
12

contextualise-website

Official documentation website for Contextualise.
JavaScript
2
star
13

tree-db

1
star
14

knowledge-graph-experiments

Python
1
star
15

game-development

A collection of code snippets and algorithms that are especially relevant for game development
Python
1
star
16

treebase

1
star