Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dlr-sc/rique
https://github.com/dlr-sc/rique
chatbot chatbots conversational-ui json neo4j neo4j-database neo4j-query rasa
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/dlr-sc/rique
- Owner: DLR-SC
- License: apache-2.0
- Created: 2018-08-15T13:48:09.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-11T00:57:39.000Z (almost 2 years ago)
- Last Synced: 2024-03-21T05:20:26.450Z (10 months ago)
- Topics: chatbot, chatbots, conversational-ui, json, neo4j, neo4j-database, neo4j-query, rasa
- Language: Python
- Size: 7.28 MB
- Stars: 3
- Watchers: 5
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RiQue (Request into Query)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/DLR-SC/RiQue/blob/master/LICENSE)
This system take input as request/command and returns neo4j graph database query. This query is then sent to the Hololens which is connected with the neo4j graph database and as a response, result of a query is displayed on the hololens. However, this system can also be used independently. For that, user has to execute [Json File To Neo4j database](https://github.com/DLR-SC/RiQue/blob/master/neo4j/JsonToNeo4j.py) file which creates neo4j database in user's local system. After that database is queried based on output of RiQue and results are returned. Following diagram explains the input and output of the RiQue:
## Installation
This project is developed and tested in Ubuntu 16.04
For easier installation, clone this repository, create new `python 3.6.2` environment and execute: `pip install -r requirements.txt`
To install spacy language module: `python -m spacy download en`
To install rasa: `pip install rasa`
To install neo4j follow: [Installation neo4j guidelines in Ubuntu 16.04](https://datawookie.netlify.com/blog/2016/09/installing-neo4j-on-ubuntu-16.04/)
The chatbot models and files are maintained in `SentenceToQuery`, whereas the property graphs are stored in `neo4j` folder
## Steps
* Start neo4j server `service neo4j start`
* To convert json to neo4j:
* `cd neo4j`
* `python JsonToNeo4j.py username password` (Use neo4j username and password)
* Navigate to SentenceToQuery directory and execute `rasa train` to train the chatbot model
* Now run action server using `rasa run actions`
* Open another terminal and execute the chatbot `rasa shell`*The bot is ready to chat with you*
## Information about how sentences are converted to Neo4j query can be found here: ![SentenceToQuery](https://github.com/DLR-SC/RiQue/tree/master/SentenceToQuery)
## General Conversation Examples
### Conversation 1 (show information about current project)
```
* User: Show the information of current project
* Response by bot: Outputs details about rce project* User: Give info of current working project
* Response by bot: Outputs details about rce project
```
### Conversation 2 (search information of node with name)```
* User: show me details of remote component environment node
* Reponse by bot: Outputs result of query* User: give info of database node
* Reponse by bot: Outputs result of query
```### Conversation 3 (search information of node based on string matching (user don't have to include complete name) )
```
* User: show me details of remote component node
* Reponse by bot: Outputs information of all nodes that starts with **remote component**
```### Conversation 4 (Show all the nodes)
```
* User: show all the bundles units
* Response by bot: Outputs all bundles in the project* User: show me all island units
* Response by bot: Outputs all bundles in the project* User: show all the packages units
* Response by bot: Outputs all packages in the project* User: show all the regions
* Response by bot: Outputs all packages in the project* User: show all the compilation units
* Response by bot: Outputs all compilation units in the project* User: show all the building units
* Response by bot: Outputs all compilation units in the project* User: show all the services
* Response by bot: Outputs all services in the project
```### Conversation 5 (count all the nodes)
```
* User: give me count of all the bundles units
* Response by bot: Outputs count of all bundles in the project* User: find count of all the packages units
* Response by bot: Outputs count of all packages in the project* User: find count of all the regions
* Response by bot: Outputs count of all packages in the project* User: find count of all compilation units
* Response by bot: Outputs count of compilation units in the project* User: find count of all buildings
* Response by bot: Outputs count of compilation units in the project* User: give me count of all the services units
* Response by bot: Outputs count of all services in the project
```### Conversation 6 (Show information related to specific bundle)
```
* User: find imports of rce cluster component gui bundle
* Response by bot: Outputs imports of rce cluster component gui bundles in the project* User: show imports of rce cluster component gui island
* Response by bot: Outputs imports of rce cluster component gui bundles in the project* User: find packages of rce cluster component gui bundle
* Response by bot: Outputs packages of rce cluster component gui bundle* User: find components of rce components doe execution bundle
* Response by bot: Outputs components of rce components doe execution bundle* User: give compilation units of rce xml loader component gui
* Response by bot: Outputs compilation units of rce xml loader component gui* User: show exports of rce components doe execution bundle
* Response by bot: Outputs exports of rce components doe execution bundle
```### Conversation 7 (Show methods of specific bundle)
```
* User: find methods of rce cluster component gui bundle
* Response by bot: Outputs methods name* User: show methods of rce xml loader component gui bundle
* Response by bot: Outputs methods name* User: give methods of rce components doe execution bundle
* Response by bot: Outputs methods name
```### Conversation 8 (Show largest Compilation Unit in bundle based on code lines)
```
* User: find bundle with largest compilation unit
* Response by bot: Outputs bundle name with number of lines of code* User: find largest compilation unit in rce xml loader component execution bundle
* Response by bot: Outputs bundle largest compilation unit in this bundle* User: show largest compilation unit
* Response by bot: Outputs bundle name with number of lines of code* User: give compilation unit with highest lines of code
* Response by bot: Outputs methods name
```### Conversation 9 (Show Compilation Unit with highest number of methods)
```
* User: find compilation unit with highest number of methods
* Response by bot: Outputs bundle name, compilation unit and total number of methods* User: show compilation unit with most methods
* Response by bot: Outputs bundle name, compilation unit and total number of methods
```