GithubHelp home page GithubHelp logo

brettkromkamp / topic-db Goto Github PK

View Code? Open in Web Editor NEW
249.0 249.0 13.0 3.19 MB

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

License: MIT License

Python 100.00%
graph-database knowledge-base knowledge-graph knowledge-management linked-data python python-library semantic-web sqlite3 sqlite3-database topic-map

topic-db's Introduction

Brett Kromkamp - brettkromkamp.com

Brett Kromkamp's GitHub Profile

You've reached Brett Kromkamp's GitHub profile. Find me on Mastodon.

I am working on the next version of Contextualise, a personal knowledge management application. Knowledge management is a crowded space. My contribution, however, to the plethora of approaches and applications in this space is based on topic maps which are ideally suited for organising information-heavy projects and activities consisting of unstructured and widely diverse data and information resources.

I ask everyone to support the people of Ukraine who are being invaded by Russia. Donate now.

My latest blog post is Three.js Development in 2023.

I contribute to and maintain Contextualise, TopicDB and a couple of other open source projects. I also have several published Python packages on PyPI. Expect many of my projects to be related to knowledge graph-based applications combined with procedural generation together with 2D and 3D visualization systems.

Technologies I enjoy working with, include:

  • Topic maps describing knowledge structures and associating them with information resources
  • Python programming language
  • FastAPI web framework for building APIs
  • Angular web framework
  • Flask web framework
  • Blender 3D creation suite
  • Three.js JavaScript 3D library

Contextualise Experiments

Knowledge Graph-based Content Management

Combining labeled property graphs with Contextualise, a topic maps-based content and knowledge management system.

Reveal.js-Based Knowledge Paths

Extending Contextualise to include a reveal.js-based presentation mode to supplement the existing knowledge path feature.

Mixing Art and Code to Build Engaging Web Experiences

Development of web content models, concepts, creation processes and tools: mix art and code to build interactive, engaging web experiences

Story Technologies

Storytelling With Interactive Visualisation of Semantic Events

Developing a combined Angular and Pixi.js-based web application —for storytelling purposes— that allows a user to navigate between a collection of narrative events. Each event has an accompanying 2.5D, isometric environment with participants and items that can be interacted with. Interactions include (but, are not limited to) displaying more information about the selected object and high-lighting a set of objects by tag. Narratives are Contextualise topic maps.

I will see you again, in the place where no shadows fall. — Ambassador Delenn, Babylon 5

topic-db's People

Contributors

brettkromkamp avatar fractos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

topic-db's Issues

Implement a (simplified) query builder or language.

Currently, the different command classes (e.g., GetAssociations, GetAttributes, GetTopicsHierarchy) allow for retrieving topic map-related data. Nonetheless, it should be possible to return data for user-defined queries.

Fix 'get_topics_network' method

Expected output:

elon-musk
         lyndon-rive
                 solar-city
                         solar-energy
         space-x
                 falcon-9
                 falcon-heavy
                 dragon
         tesla
                 model-s
                 model-x
                 model-y
                 roadster

Actual (erroneous) output:

elon-musk
         tesla
                 roadster
                         model-y
                                 model-x
                 model-s
                 space-x
                         dragon
                                 falcon-heavy
                         falcon-9
         lyndon-rive
                 solar-city
                         solar-energy

Order of the siblings is not necessarily relevant, but overall "shape" of the tree/graph is.

Method:

def get_topics_network(

Refactor GetAssociations command.

The GetAssociations command will be renamed to GetTopicAssociations (retrieve all associations for a given topic). And, the GetAssociations will become a command class to retrieve associations, optionally filtered by 'instance of' and 'scope'.

Allow for importing * from packages

Examples:

  • from topicdb.core import * (imports both commands and models)
  • from topicdb.core.commands import * (imports all of the command submodules)
  • from topicdb.core.models import * (imports all of the models plus the tree submodule)

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.