Skip to content

Latest commit

 

History

1,266 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Brain Annex - a full technology stack on top of GRAPH DATABASES

This is a mono-repository of 3 parts:

  1. The "Brain Annex" python library : to access the database programmatically, with low-level or high-level operations, including specialized modules.
  2. The "Brain Annex" web API : to query or update the database or the web app remotely.
  3. The "Brain Annex" web app (backend and frontend) : includes Control Panel, Visualization, Multimedia Content Management System (plugin-driven), and personalizable pages.

Graph databases currently supported:

  1. Neo4j, version 4.4 (the final release of major version 4)
  2. Neo4j, version 5.26 (the final release of major version 5)
  3. We expect to later support others, possibly Memgraph or AWS Neptune

2 scenarios:

SCENARIO 1 - Do you only care about the PYTHON LIBRARY?

If so, simply:

  • pip install brainannex-neo4jv4
    or
  • pip 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:

  1. Must change the database driver, in the first line of requirements.txt (comment/uncomment appropriate version lines)
  2. Likewise, must comment/uncomment in the file brainannex/__init__.py
    the appropriate version lines for the InterGraph module, which is database-specific
  3. Installation guide (Windows/Linux)

Change Log


A Sampling of Key Components

  • 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


Project website: https://BrainAnnex.org

The lead author of Brain Annex can be reached on LinkedIn

About

Brain Annex: a full technology stack built on top on Neo4j. Includes foundational libraries, a web API and a web app providing a control panel and a use case: "Multimedia Knowledge Representation and Management" (Neo4j, Python/Flask & JavaScript/Vue.js)

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages