Skip to content

sensein/BrainKB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

574 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BrainKB

BrainKB is a cutting-edge knowledge base platform designed to empower scientists worldwide by providing tools for searching, exploring, and visualizing Neuroscience knowledge through knowledge graphs (KGs). Additionally, BrainKB offers advanced tools that enable scientists to contribute new information to the platform, ensuring it remains the premier destination for neuroscience research.

BrainKB serves as a knowledge base platform that provides scientists worldwide with tools for searching, exploring, and visualizing Neuroscience knowledge represented by knowledge graphs (KGs). Moreover, BrainKB provides cutting-edge tools that enable scientists to contribute new information (or knowledge) to the platform, ensuring it remains the go-to destination for all neuroscience-related research needs.

Organization

  • Ingest Service Provides the service related to data ingestion and consumption using RabbitMQ. Not used currently.
  • GraphDB The docker compose configuration of GraphDB.
  • JWT User & Scope Manager A toolkit to manage JWT users and their permissions for API endpoint access.
  • Query Service Provides the functionalities for querying (and updating) the knowledge graphs from the graph database.
  • SPARQL Queries List of SPARQL queries tested or used in BrainKB.

Running

Quick Start

1. Setup Environment variables

Important: Change default passwords in .env for security.

# Copy the environment template
cp env.template .env

# Edit .env with your configuration (make sure to change passwords!)
nano .env  # or use your preferred editor

2. Start Services

Recommended: Use the wrapper script (includes Ollama setup + pgAdmin config):

chmod +x start_services.sh
./start_services.sh

3. Access Services

Once started, services are accessible at:

  • API Token Manager (Django): http://localhost:8000/
    • Once you register JWT user you need to activate it using token manager. You can also assign permission.
  • Query Service (FastAPI): http://localhost:8010/
    • Now supports ingestion than just querying.
  • ML Service (FastAPI): http://localhost:8007/
    • Integrates StructSense (multi-agent NER + structured-resource extraction).
    • Hosts SynthScholar at /api/synth-scholar/* — PRISMA-guided literature review pipeline (search → screening → critical appraisal → synthesis, with SSE progress streaming and markdown / JSON / RDF exports). Reuses the unified brainkb Postgres database. See env.template for the optional API keys (OpenRouter, NCBI, Semantic Scholar, CORE).
  • Oxigraph SPARQL: http://localhost:7878/ (password protected) graph database
  • pgAdmin: http://localhost:5051/
  • User management service: http://localhost:8004

Please note: for the Query Service and ML Service, you won’t see anything at their base URLs. To verify they are running, open their API docs at http://localhost:8010/docs and http://localhost:8007/docs respectively.

Troubleshooting

If you encounter Docker mount errors or issues with file sharing, please refer to the Troubleshooting section in LOCAL_DEPLOYMENT.md.

Documentation

Please refer to the BrainKB documentation below for additional information regarding BrainKB, its rationale, deployment instructions, and lessons learned.

Contact

License

This project is licensed under the Apache License 2.0.

Copyright © 2024–Present Senseable Intelligence Group

You may obtain a copy of the license at: Apache License, Version 2.0

About

BrainKB is a knowledge base platform for searching, exploring, visualizing, and contributing neuroscience knowledge using knowledge graphs (KGs).

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages