Metadata-Version: 2.4
Name: brainannex-neo4jv5
Version: 5.0rc8
Summary: Full-Stack Data/Knowledge Management with Neo4j version 5
Project-URL: Homepage, https://brainannex.org
Project-URL: Home-page, https://brainannex.org
Project-URL: Bug Tracker, https://github.com/BrainAnnex/brain-annex/issues
Project-URL: Source, https://github.com/BrainAnnex/brain-annex
Project-URL: Documentation, https://brainannex.org
Author: Julian West BrainAnnex.org
Maintainer-email: julian@brainannex.org
License-Expression: MIT
License-File: LICENSE.txt
Keywords: graph database,knowledge graph,neo4j
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: bcrypt==4.1.2
Requires-Dist: neo4j~=5.28.1
Requires-Dist: numpy~=1.26.4
Requires-Dist: pandas~=1.5.3
Requires-Dist: pillow~=10.3.0
Requires-Dist: pymupdf~=1.23.5
Requires-Dist: requests~=2.28.2
Description-Content-Type: text/markdown

# 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.
2) 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)](https://brainannex.org/setup)**

---


### Website: https://BrainAnnex.org

**[Change Log](https://brainannex.org/history)**


---

# 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](https://brainannex.org/docs/graphaccess.htm)


* **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](https://brainannex.org/docs/graphaccess.htm)


* **GraphSchema** : a higher-level schema-based library on top of GraphAccess.
  [Guide](https://brainannex.org/docs/neoschema-user-guide.htm) ; 
  [Article explaining this layer](https://julianspolymathexplorations.blogspot.com/2022/11/schema-graph-databases-neo4j.html)
  

* **CK Editor** : open-source JavaScript library to embed an online HTML Editor into the Brain Annex web app.  
  [Website](https://www.quackit.com/html/online-html-editor/full/).
  (Note: Brain Annex uses [version 4](https://ckeditor.com/docs/ckeditor4/latest/) of the CK Editor)
  

* **Web API** : the endpoints appear in [this file](https://github.com/BrainAnnex/brain-annex/blob/main/flask_modules/api/BA_api_routing.py)


* **Web pages** : the pages generated by Brain Annex are listed in [this routing file](https://github.com/BrainAnnex/brain-annex/blob/main/flask_modules/pages/BA_pages_routing.py)
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](https://github.com/BrainAnnex/brain-annex/tree/main/flask_modules/navigation)


* **Cytoscape** : for visualization of graph database.  [Website](https://js.cytoscape.org/)  
BrainAnnex libraries provides a python interface to this JavaScript library; 
the BrainAnnex web app embeds it in its UI

---

### Project website: [https://BrainAnnex.org](https://BrainAnnex.org)

### The lead author of Brain Annex can be reached on [LinkedIn](https://www.linkedin.com/in/julian-%F0%9F%A7%AC-west-059997185/)