- The "Brain Annex" python library : to access the database programmatically, with low-level or high-level operations, including specialized modules.
- The "Brain Annex" web API : to query or update the database or the web app remotely.
- The "Brain Annex" web app (backend and frontend) : includes Control Panel, Visualization, Multimedia Content Management System (plugin-driven), and personalizable pages.
- Neo4j, version 4.4 (the final release of major version 4)
- Neo4j, version 5.26 (the final release of major version 5)
- We expect to later support others, possibly Memgraph or AWS Neptune
2 scenarios:
If so, simply:
pip install brainannex-neo4jv4
orpip install brainannex-neo4jv5
(based on which major version of Neo4j you use.)
Nothing else to do!
Then use it with imports such as:
from brainannex import GraphAccess
(IMPORTANT: notice that we are just saying brainannex here, NOT the full install name!)
SCENARIO 2 - Installing the WEB APP? This repo is set for version 4 of Neo4j; if you use v. 5, you MUST make a few CRITICAL changes:
- Must change the database driver, in the first line of
requirements.txt(comment/uncomment appropriate version lines) - Likewise, must comment/uncomment in the file
brainannex/__init__.py
the appropriate version lines for theInterGraphmodule, which is database-specific - Installation guide (Windows/Linux)
Website: https://BrainAnnex.org
-
InterGraph : the bottom layer of the python libraries. Anything database-specific is managed here, to provide a fairly database-agnostic view to the higher layers.
Currently, two versions of this class exist, to enable interfacing to v. 4 and v. 5 of Neo4j. (We anticipate also supporting other Cypher-based databases in the future.) Guide -
GraphAccess : a library to connect to the graph database with python. It provides many services, to cover a lot of the typical operations one does with nodes and edges. Guide
-
GraphSchema : a higher-level schema-based library on top of GraphAccess. Guide ; Article explaining this layer
-
CK Editor : open-source JavaScript library to embed an online HTML Editor into the Brain Annex web app.
Website. (Note: Brain Annex uses version 4 of the CK Editor) -
Web API : the endpoints appear in this file
-
Web pages : the pages generated by Brain Annex are listed in this routing file This is the place where you could add your own custom pages!
-
Navigation bar : Brain Annex can be used either as a standalone web app, or integrated with another site.
The navigation is implemented in this package -
Cytoscape : for visualization of graph database. Website
BrainAnnex libraries provides a python interface to this JavaScript library; the BrainAnnex web app embeds it in its UI