brainannex


Namebrainannex JSON
Version 5.0.0b47 PyPI version JSON
download
home_pageNone
SummaryFull-Stack Data/Knowledge Management with Neo4j
upload_time2024-09-25 04:51:22
maintainerNone
docs_urlNone
authorJulian West BrainAnnex.org
requires_python>=3.8
licenseNone
keywords full-stack graph database knowledge graph neo4j
VCS
bugtrack_url
requirements flask jinja2 werkzeug itsdangerous click markupsafe requests Flask-Login gunicorn neoaccess numpy pandas pytest pillow jsonschema jupyterlab pymupdf bcrypt
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Brain Annex

**Version 5** of is a *complete overhaul* of Brain Annex's internal structure.  
This major new release is in a *late Beta* stage, approaching "release candidate".

However, the bottom layer (the `NeoAccess` library) is NOT in Beta: it's stable,
and is released independently.

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

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

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



# 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](https://julianspolymathexplorations.blogspot.com/2019/03/multimedia-knowledge-representation-and-management-brain-annex.html)



## What are Neo4j/Graph Databases, and why do they matter?
If you're new, here's a 
[gentle brief intro](https://julianspolymathexplorations.blogspot.com/2021/02/neo4j-graph-databases-intro.html). 


# 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](docs/BrainAnnex_Technology_Stack.png)


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




## 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](docs/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](docs/Classes_and_Properties_Non_record_types.png)

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](docs/Classes_and_Properties_Record_types.png)



**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](https://github.com/BrainAnnex/neoaccess)


* **NeoSchema** : a higher-level schema-based library on top of NeoAccess.
  [Link](https://github.com/BrainAnnex/brain-annex/blob/main/BrainAnnex/modules/neo_schema/neo_schema.py)<!-- @IGNORE PREVIOUS: link -->  
  [Article explaining this layer](https://julianspolymathexplorations.blogspot.com/2022/11/schema-graph-databases-neo4j.html)
  

* **CK Editor** : open-source JavaScript library to implement an online HTML Editor.  
  [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)
  

* **API** : the endpoints appear in [this file](https://github.com/BrainAnnex/brain-annex/blob/main/BrainAnnex/api/BA_api_routing.py)<!-- @IGNORE PREVIOUS: link -->


* **Web pages** : the pages generated by Brain Annex are listed in [this routing file](https://github.com/BrainAnnex/brain-annex/blob/main/BrainAnnex/pages/BA_pages_routing.py)<!-- @IGNORE PREVIOUS: link -->


* **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/navigation)


### 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/)
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "brainannex",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "julian@brainannex.org",
    "keywords": "full-stack, graph database, knowledge graph, neo4j",
    "author": "Julian West BrainAnnex.org",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/0c/0c/e580e7c8241a965f5abbe55fb35ab004484ee0828e62e7a974d0437405ec/brainannex-5.0.0b47.tar.gz",
    "platform": null,
    "description": "# Brain Annex\n\n**Version 5** of is a *complete overhaul* of Brain Annex's internal structure.  \nThis major new release is in a *late Beta* stage, approaching \"release candidate\".\n\nHowever, the bottom layer (the `NeoAccess` library) is NOT in Beta: it's stable,\nand is released independently.\n\nThe version number can be found in the `brainannex/__init__.py` file.\n\n### Website: https://BrainAnnex.org\n\n**[Change Log](https://brainannex.org/history)**\n\n\n\n# Brain Annex's Technology Stack (Overview)\n\nNOTE: the bottom layer, or layers, of the stack may be used independently of the\nlayers above them, if desired.\n\n_From lower to higher levels:_\n\n* **Neo4j graph database** (v. 4.4)\n\n* **NeoAccess library** (python interface offering many services)\n\n* **NeoSchema library** (optional Schema layer)\n\n* **Python/Flask** (for web API, and web app pages)\n\n* **Vue2.js**\n\n\n\n\n### EXAMPLE of use case : Multimedia Knowledge Representation and Management\n[Motivation and overview](https://julianspolymathexplorations.blogspot.com/2019/03/multimedia-knowledge-representation-and-management-brain-annex.html)\n\n\n\n## What are Neo4j/Graph Databases, and why do they matter?\nIf you're new, here's a \n[gentle brief intro](https://julianspolymathexplorations.blogspot.com/2021/02/neo4j-graph-databases-intro.html). \n\n\n# Brain Annex's Technology Stack (Details)\n\nBrain Annex may be used as a standalone web app, or used to power *other* web apps.  \nThe libraries that are the bottom layers may also be used independently.\n\n![Brain Annex Technology Stack](docs/BrainAnnex_Technology_Stack.png)\n\n\n# How to set up and use Brain Annex\n\nBrain Annex, if used in its entirety, supports both local and remote setup of the web app and of the Neo4j database.\n\nThe database and web app may reside on the same or different machines.\n\nYou may also opt to simply use some of its library: everything is very modular!\n\n## SETUP\n\n[INSTRUCTIONS](https://brainannex.org/setup)\n\n\n\n\n## EXAMPLES of Schemas available for import\n\n(For instructions on how to import the Schemas, see the setup page, above)\n\n#### EXAMPLE 1 - the available default Multimedia Content Management System\n\nThe ROOT node for the Categories is shown in blue at the top.\n\n![Minimal_Schema_plus_ROOT_category.png](docs/Minimal_Schema_plus_ROOT_category.png)\n\n---\n\n#### EXAMPLE 2 - same as example 1, but with sample extra Classes (representative of user-added schema)\n\nThe diagram below is split in 2 parts, for readability.\n\n\"chem\" is an example of a custom Class.\n\n![Classes and Properties in Brain Annex - Non-record types](docs/Classes_and_Properties_Non_record_types.png)\n\nThe following second half of the diagram shows the remainder of the Schema, detailing Classes that are instances of the \"Records\" Class.\nMost of the items in this diagram are examples of typical user-added schema:\n\n![Classes and Properties in Brain Annex - Record types](docs/Classes_and_Properties_Record_types.png)\n\n\n\n**Optional: add Neo4j Indexes and Constraints**\n\nNot strictly needed for test runs, but at some point Neo4j Indexes and Constraints \nneed to be added, for speed and reliability.\nFrom the Neo4j browser interface, issue the following Cypher commands:\n\n    CREATE CONSTRAINT unique_BA_ID ON (n:BA) ASSERT n.uri IS UNIQUE\n    CREATE CONSTRAINT unique_CLASS_ID ON (n:CLASS) ASSERT n.uri IS UNIQUE\n    CREATE CONSTRAINT unique_CLASS_NAME ON (n:CLASS) ASSERT n.name IS UNIQUE\n    CREATE CONSTRAINT unique_PROPERTY_ID ON (n:PROPERTY) ASSERT n.uri IS UNIQUE\n\n\n# Major components\n* **NeoAccess** : a library to connect to Neo4j with python. It provides many services.\n  [Link](https://github.com/BrainAnnex/neoaccess)\n\n\n* **NeoSchema** : a higher-level schema-based library on top of NeoAccess.\n  [Link](https://github.com/BrainAnnex/brain-annex/blob/main/BrainAnnex/modules/neo_schema/neo_schema.py)<!-- @IGNORE PREVIOUS: link -->  \n  [Article explaining this layer](https://julianspolymathexplorations.blogspot.com/2022/11/schema-graph-databases-neo4j.html)\n  \n\n* **CK Editor** : open-source JavaScript library to implement an online HTML Editor.  \n  [Website](https://www.quackit.com/html/online-html-editor/full/).\n  (Note: Brain Annex uses [version 4](https://ckeditor.com/docs/ckeditor4/latest/) of the CK Editor)\n  \n\n* **API** : the endpoints appear in [this file](https://github.com/BrainAnnex/brain-annex/blob/main/BrainAnnex/api/BA_api_routing.py)<!-- @IGNORE PREVIOUS: link -->\n\n\n* **Web pages** : the pages generated by Brain Annex are listed in [this routing file](https://github.com/BrainAnnex/brain-annex/blob/main/BrainAnnex/pages/BA_pages_routing.py)<!-- @IGNORE PREVIOUS: link -->\n\n\n* **Navigation bar** : Brain Annex can be used either as a standalone web app, or integrated with another site.  \n  The navigation is implemented [in this package](https://github.com/BrainAnnex/brain-annex/tree/main/navigation)\n\n\n### Project website: [https://BrainAnnex.org](https://BrainAnnex.org)\n\n### The lead author of Brain Annex can be reached on [LinkedIn](https://www.linkedin.com/in/julian-%F0%9F%A7%AC-west-059997185/)",
    "bugtrack_url": null,
    "license": null,
    "summary": "Full-Stack Data/Knowledge Management with Neo4j",
    "version": "5.0.0b47",
    "project_urls": {
        "Bug Tracker": "https://github.com/BrainAnnex/brain-annex/issues",
        "Documentation": "https://brainannex.org",
        "Homepage": "https://brainannex.org",
        "Source": "https://github.com/BrainAnnex/brain-annex"
    },
    "split_keywords": [
        "full-stack",
        " graph database",
        " knowledge graph",
        " neo4j"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ef59fc8d941a75f4c3581299933bb991841da2644365f49d75235c5aa1651164",
                "md5": "2a8d989907b74e3cfa68bd01f77910bd",
                "sha256": "e3d6ddbece93f5420a6cf07e71a7577e0d9b77bdea84f783871c905e36d05acc"
            },
            "downloads": -1,
            "filename": "brainannex-5.0.0b47-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2a8d989907b74e3cfa68bd01f77910bd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 148715,
            "upload_time": "2024-09-25T04:51:20",
            "upload_time_iso_8601": "2024-09-25T04:51:20.724134Z",
            "url": "https://files.pythonhosted.org/packages/ef/59/fc8d941a75f4c3581299933bb991841da2644365f49d75235c5aa1651164/brainannex-5.0.0b47-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0c0ce580e7c8241a965f5abbe55fb35ab004484ee0828e62e7a974d0437405ec",
                "md5": "312a17da20bb4ae63a029a4e663f8ec2",
                "sha256": "60172dbb60afb7af407f680d4fd07b7995daeb0f911c8a28a2ad44afa96e72f6"
            },
            "downloads": -1,
            "filename": "brainannex-5.0.0b47.tar.gz",
            "has_sig": false,
            "md5_digest": "312a17da20bb4ae63a029a4e663f8ec2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 134300,
            "upload_time": "2024-09-25T04:51:22",
            "upload_time_iso_8601": "2024-09-25T04:51:22.913174Z",
            "url": "https://files.pythonhosted.org/packages/0c/0c/e580e7c8241a965f5abbe55fb35ab004484ee0828e62e7a974d0437405ec/brainannex-5.0.0b47.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-25 04:51:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "BrainAnnex",
    "github_project": "brain-annex",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "flask",
            "specs": [
                [
                    "==",
                    "1.1.2"
                ]
            ]
        },
        {
            "name": "jinja2",
            "specs": [
                [
                    "==",
                    "3.0.3"
                ]
            ]
        },
        {
            "name": "werkzeug",
            "specs": [
                [
                    "==",
                    "2.0.2"
                ]
            ]
        },
        {
            "name": "itsdangerous",
            "specs": [
                [
                    "==",
                    "2.0.1"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    "==",
                    "8.0.3"
                ]
            ]
        },
        {
            "name": "markupsafe",
            "specs": [
                [
                    "==",
                    "2.0.1"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.25.1"
                ]
            ]
        },
        {
            "name": "Flask-Login",
            "specs": [
                [
                    "==",
                    "0.5.0"
                ]
            ]
        },
        {
            "name": "gunicorn",
            "specs": [
                [
                    "==",
                    "20.1.0"
                ]
            ]
        },
        {
            "name": "neoaccess",
            "specs": [
                [
                    "==",
                    "4.4.1"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "1.22.4"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "1.4.3"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "6.2.5"
                ]
            ]
        },
        {
            "name": "pillow",
            "specs": [
                [
                    "==",
                    "10.3.0"
                ]
            ]
        },
        {
            "name": "jsonschema",
            "specs": [
                [
                    "==",
                    "4.17.3"
                ]
            ]
        },
        {
            "name": "jupyterlab",
            "specs": [
                [
                    "==",
                    "3.4.8"
                ]
            ]
        },
        {
            "name": "pymupdf",
            "specs": [
                [
                    "==",
                    "1.23.5"
                ]
            ]
        },
        {
            "name": "bcrypt",
            "specs": [
                [
                    "==",
                    "4.1.2"
                ]
            ]
        }
    ],
    "lcname": "brainannex"
}
        
Elapsed time: 2.57999s