All Projects → brettkromkamp → Topic Db

brettkromkamp / Topic Db

Licence: mit
TopicDB is a topic maps-based semantic graph store (using PostgreSQL for persistence)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Topic Db

awesome-ontology
A curated list of ontology things
Stars: ✭ 73 (-55.49%)
Mutual labels:  linked-data, semantic-web, knowledge-graph, knowledge-base
Grakn
TypeDB: a strongly-typed database
Stars: ✭ 2,947 (+1696.95%)
Mutual labels:  knowledge-graph, knowledge-base, graph-database
LD-Connect
LD Connect is a Linked Data portal for IOS Press in collaboration with the STKO Lab at UC Santa Barbara.
Stars: ✭ 0 (-100%)
Mutual labels:  linked-data, semantic-web, knowledge-graph
Processor
Ontology-driven Linked Data processor and server for SPARQL backends. Apache License.
Stars: ✭ 54 (-67.07%)
Mutual labels:  linked-data, semantic-web, knowledge-graph
typedb
TypeDB: a strongly-typed database
Stars: ✭ 3,152 (+1821.95%)
Mutual labels:  knowledge-graph, graph-database, knowledge-base
Semanticmediawiki
🔗 Semantic MediaWiki turns MediaWiki into a knowledge management platform with query and export capabilities
Stars: ✭ 359 (+118.9%)
Mutual labels:  knowledge-graph, linked-data, semantic-web
Web Client
Generic Linked Data browser and UX component framework. Apache license.
Stars: ✭ 105 (-35.98%)
Mutual labels:  knowledge-graph, linked-data, semantic-web
CSV2RDF
Streaming, transforming, SPARQL-based CSV to RDF converter. Apache license.
Stars: ✭ 48 (-70.73%)
Mutual labels:  linked-data, semantic-web, knowledge-graph
LinkedDataHub
The Knowledge Graph notebook. Apache license.
Stars: ✭ 150 (-8.54%)
Mutual labels:  linked-data, semantic-web, knowledge-graph
Schema Dts
JSON-LD TypeScript types for Schema.org vocabulary
Stars: ✭ 338 (+106.1%)
Mutual labels:  knowledge-graph, linked-data, semantic-web
Atomspace
The OpenCog (hyper-)graph database and graph rewriting system
Stars: ✭ 495 (+201.83%)
Mutual labels:  knowledge-graph, knowledge-base, graph-database
Stock Knowledge Graph
利用网络上公开的数据构建一个小型的证券知识图谱/知识库
Stars: ✭ 1,182 (+620.73%)
Mutual labels:  knowledge-graph, knowledge-base
Jsonld.js
A JSON-LD Processor and API implementation in JavaScript
Stars: ✭ 1,212 (+639.02%)
Mutual labels:  linked-data, semantic-web
Terminusdb
Open source graph database and document store. Designed for collaboratively building data-intensive applications and knowledge graphs.
Stars: ✭ 1,250 (+662.2%)
Mutual labels:  linked-data, graph-database
Open Semantic Entity Search Api
Open Source REST API for named entity extraction, named entity linking, named entity disambiguation, recommendation & reconciliation of entities like persons, organizations and places for (semi)automatic semantic tagging & analysis of documents by linked data knowledge graph like SKOS thesaurus, RDF ontology, database(s) or list(s) of names
Stars: ✭ 98 (-40.24%)
Mutual labels:  knowledge-graph, linked-data
Informationmodel
The Information Model of the International Data Spaces implements the IDS reference architecture as an extensible, machine readable and technology independent data model.
Stars: ✭ 27 (-83.54%)
Mutual labels:  linked-data, semantic-web
Limes
Link Discovery Framework for Metric Spaces.
Stars: ✭ 94 (-42.68%)
Mutual labels:  linked-data, semantic-web
Nspm
🤖 Neural SPARQL Machines for Knowledge Graph Question Answering.
Stars: ✭ 156 (-4.88%)
Mutual labels:  knowledge-graph, linked-data
Rdflib
RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.
Stars: ✭ 1,584 (+865.85%)
Mutual labels:  linked-data, semantic-web
Contextualise
Contextualise is a simple but effective tool particularly suited for organising information-heavy projects and activities consisting of unstructured and widely diverse data and information resources
Stars: ✭ 899 (+448.17%)
Mutual labels:  knowledge-graph, semantic-web

TopicDB by Brett Kromkamp

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

.. image:: resources/topic-maps.png :alt: Topic maps with topics, associations and occurrences

Topic maps with topics, associations and occurrences

For a more in-depth introduction to topic maps, I recommend reading the excellent 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.6–3.8. To install TopicDB, simply::

$ pip install topic-db

After having installed the TopicDB library itself, you would have to separately install and configure the database. Brief instructions on how to do so are provided, here: Setting up the TopicDB database_. You need to ensure that the database username, password and database name match with the settings.ini file in the project's root folder.

Install the Development Version

If you have Git <https://git-scm.com/>_ installed on your system, it is possible to install the development version of TopicDB.

Certain build prerequisites need to be met including the presence of a C compiler, the Python header files, the libpq header files and the pg_config program as outlined, here: Build prerequisites <http://initd.org/psycopg/docs/install.html#build-prerequisites>_.

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

After having installed TopicDB, you would have to separately install and configure the PostgreSQL database. Brief instructions on how to do so are provided, here: Setting up the TopicDB database <https://gist.github.com/brettkromkamp/87aaa99b056578ff1dc23a43a49aca89>_. You need to ensure that the database username, password and database name match with the settings.ini file in the project's root folder.

Tutorial

To get a better understanding of how to use TopicDB, check out the tutorial, here: TopicDB Tutorial_ (work-in-progress).

Documentation

Documentation will be available soon.

How to Contribute

#. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug. #. 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_.

.. _PostgreSQL: https://www.postgresql.org/ .. _An Introduction to Topic Maps: https://msdn.microsoft.com/en-us/library/aa480048.aspx .. _ISO/IEC 13250 Topic Maps: http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=38068 .. _the repository: https://github.com/brettkromkamp/topic-db .. _Contextualise: https://github.com/brettkromkamp/contextualise .. _AUTHORS: https://github.com/brettkromkamp/topic-db/blob/master/AUTHORS.rst .. _TopicDB Tutorial: https://github.com/brettkromkamp/topic-db/blob/master/TUTORIAL.rst .. _Setting up the TopicDB database: https://gist.github.com/brettkromkamp/87aaa99b056578ff1dc23a43a49aca89

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].