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.
cp env.template .env
nano .env
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.
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