Skip to main content

Full-Stack Data/Knowledge Management with Neo4j

Project description

Brain Annex

Version 5 of is a complete overhaul of Brain Annex's internal structure.
This major new release is in a release candidate stage.

The bottom layer (the NeoAccess library) is stable, and is being released independently.

The version number can be found in the brainannex/__init__.py file.

Website: https://BrainAnnex.org

Change Log

Brain Annex's Technology Stack (Overview)

NOTE: the bottom layer, or layers, of the stack may be used independently of the layers above them, if desired.

From lower to higher levels:

  • Neo4j graph database (v. 4.4)

  • NeoAccess library (python interface offering many services)

  • NeoSchema library (optional Schema layer)

  • Python/Flask (for web API, and web app pages)

  • Vue2.js

EXAMPLE of use case : Multimedia Knowledge Representation and Management

Motivation and overview

What are Neo4j/Graph Databases, and why do they matter?

If you're new, here's a gentle brief intro.

Brain Annex's Technology Stack (Details)

Brain Annex may be used as a standalone web app, or used to power other web apps.
The libraries that are the bottom layers may also be used independently.

Brain Annex Technology Stack

How to set up and use Brain Annex

Brain Annex, if used in its entirety, supports both local and remote setup of the web app and of the Neo4j database.

The database and web app may reside on the same or different machines.

You may also opt to simply use some of its library: everything is very modular!

SETUP

INSTRUCTIONS

EXAMPLES of Schemas available for import

(For instructions on how to import the Schemas, see the setup page, above)

EXAMPLE 1 - the available default Multimedia Content Management System

The ROOT node for the Categories is shown in blue at the top.

Minimal_Schema_plus_ROOT_category.png


EXAMPLE 2 - same as example 1, but with sample extra Classes (representative of user-added schema)

The diagram below is split in 2 parts, for readability.

"chem" is an example of a custom Class.

Classes and Properties in Brain Annex - Non-record types

The following second half of the diagram shows the remainder of the Schema, detailing Classes that are instances of the "Records" Class. Most of the items in this diagram are examples of typical user-added schema:

Classes and Properties in Brain Annex - Record types

Optional: add Neo4j Indexes and Constraints

Not strictly needed for test runs, but at some point Neo4j Indexes and Constraints need to be added, for speed and reliability. From the Neo4j browser interface, issue the following Cypher commands:

CREATE CONSTRAINT unique_BA_ID ON (n:BA) ASSERT n.uri IS UNIQUE
CREATE CONSTRAINT unique_CLASS_ID ON (n:CLASS) ASSERT n.uri IS UNIQUE
CREATE CONSTRAINT unique_CLASS_NAME ON (n:CLASS) ASSERT n.name IS UNIQUE
CREATE CONSTRAINT unique_PROPERTY_ID ON (n:PROPERTY) ASSERT n.uri IS UNIQUE

Major components

  • NeoAccess : a library to connect to Neo4j with python. It provides many services. Link

  • NeoSchema : a higher-level schema-based library on top of NeoAccess. Link
    Article explaining this layer

  • CK Editor : open-source JavaScript library to implement an online HTML Editor.
    Website. (Note: Brain Annex uses version 4 of the CK Editor)

  • API : the endpoints appear in this file

  • Web pages : the pages generated by Brain Annex are listed in this routing file

  • 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

Project website: https://BrainAnnex.org

The lead author of Brain Annex can be reached on LinkedIn

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brainannex-5.0rc2.tar.gz (194.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brainannex-5.0rc2-py3-none-any.whl (211.3 kB view details)

Uploaded Python 3

File details

Details for the file brainannex-5.0rc2.tar.gz.

File metadata

  • Download URL: brainannex-5.0rc2.tar.gz
  • Upload date:
  • Size: 194.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for brainannex-5.0rc2.tar.gz
Algorithm Hash digest
SHA256 8566b1a406548d978008ff7c1372add56d6ad89b2d0fa46bdd75336392039741
MD5 6d67141bf9d3625fb4d870fd7c03b8e4
BLAKE2b-256 4e82ae78f93b44ce934d421a9b367165697f970546c7a10e57ca71bddfdfdcd2

See more details on using hashes here.

File details

Details for the file brainannex-5.0rc2-py3-none-any.whl.

File metadata

  • Download URL: brainannex-5.0rc2-py3-none-any.whl
  • Upload date:
  • Size: 211.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for brainannex-5.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 74758f635d1c68c997e67b71724356ff8b20af7fe73669cc18dce2d979feab22
MD5 80e3dc6fd6603f40b234343eab4ff433
BLAKE2b-256 1795dcca45afd3e002fda1a3ae9ce61baa5dd78a664a36ebe48094d9650929b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page