Giter Site home page Giter Site logo

neodb's Introduction

NeoDB

Neo4J is a graph database (GDB) with its own query language Cypher. With Neo4J it is possible to display and record data quickly and efficiently in a graph structure.

Prerequisites 🐳

You need Docker to be installed at your machine to run this project.

First run 👶

If you have never used this project before, you can run the following command to set everything up from scratch:

$ make all

This will initially create a new docker image of the project. Then you will be asked to follow the instructions for setting up the .env. Once everything is set up, the service will start on its own.

Run 🏃

If everything is set up properly, you can (re-)start a container by using:

$ make run

Run with new Environment-Variables 🔧 👷

To run a fresh container with new environment-variables please use the following:

$ make install

Run NeoDB for development

NeoDB has a Makefile for simplicity. The commands are as follows:

Command Use Dependencies
clean_variables Delete .env
new_variables Create .env with all necessary variables clean_variables
build_image Build the docker-image
run Runs Neo4J in a docker-container
install Create new .env and run new container new_variables, run
all Does every of those steps above all above

To do any of those steps run:

$ make <Command>

Notice: No authentication is required for the development mode. However, the NEO4J_AUTH field in .env is set to none.

Environment variables for development

In order for NeoDB to work properly and interact with D-BAS, some environment variables must be set in advance. These environment variables must be specified in the .env and can be installed with the installation script described above. In total, the following variables must be included.

Variable Use Value
DB_PW D-BAS DB Password of the live version See D-BAS
DB_HOST The host of the D-BAS DB service See D-BAS
DB_NAME Name of D-BAS DB See D-BAS
DB_PORT Port of D-BAS DB See D-BAS
DB_USER  User of D-BAS DB See D-BAS

Using the real-time data from D-BAS

It is also possible to read the real-time data from D-BAS within the university network.

For this the data for the guest user must be requested. Information about the guest user and the application for a guest password can be traced here.

In addition, the database host DB_HOST must be changed to dbas.cs.uni-duesseldorf.de or dbas.cs.hhu.de.

If all data concerning DB_USER, DB_PW and DB_HOST is available, it must be entered in .env. To do this, run the following command and follow the instructions:

$ make new_variables

After that Neo4J can be started via:

$ make run

Environment variables for production

The file with the environment variables for production should be named: production.env. It is important for NEO4J_AUTH that NEO4J_USERNAME and NEO4J_PASSWORD are separated with a /.

Variable Use Value
NEO4J_USERNAME Name of the Neo4J user neo4j
NEO4J_PASSWORD Password for the Neo4J user choose one
NEO4J_AUTH Authentication for the User NEO4J_USERNAME/NEO4J_PASSWORD
DB_PW D-BAS DB Password of the live version See D-BAS live version
DB_HOST The name of the D-BAS DB service See D-BAS live version
DB_NAME Name of D-BAS DB See D-BAS live version
DB_PORT Port of D-BAS DB See D-BAS live version
DB_USER  User of D-BAS DB See D-BAS live version

Configuration

The initial configuration can be found in the conf folder inside neo4j.conf.

The configuration is not bound as a volume, because old configuration values are transferred each time the system is started. This can cause some problems, see also: https://community.neo4j.com/t/cannot-edit-neo4j-conf/643/3 So the image has to be rebuilt every time the configurations are changed.

All basic configurations are stored in neo4j.conf. Additionally some additional configurations are added. These include:

Configuration Use Value
browser.post_connect_cmd Command to start a specific browser-guide while entering the browser :play https://s3.cs.uni-duesseldorf.de/neo4j/hello_dbas.html
browser.remote_content_hostname_whitelist Allow :play to fetch data from every kind of URI *
dbms.security.procedures.unrestricted Enable external procedures algo.*, apoc.*

Run NeoDB with Docker 🐳

Run the following command:

$ docker-compose up

To build, run the following command:

$ docker-compose up --build

Docker is supposed to be used for production.

Current status

Currently NeoDB contains only the discussion graphs consisting of the main components: Issue, Argument, Statement and Position. These are connected by the edges CONCLUDES, PREMISE_OF and REGARDING and indicate exactly the discussion graphs.

Usage

NeoDB can be accessed from any client. The common client for a Python application is the Neo4j Python Driver.

Maintainer

neodb's People

Contributors

spitzlei avatar n2o avatar

Watchers

James Cloos avatar Björn Ebbinghaus avatar  avatar  avatar Raphael Bialon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.