A graph database application with embedding and similarity calculations.
Project description
Euler Graph Database - Knowledge Graph Viewer ๐
Author โ๏ธ
Name: Prashant Verma
Email: prashant27050@gmail.com
Table of Contents ๐
- Introduction
- Installation
- Project Structure
- Running the Application
- User Guide
- Using Euler Database for Knowledge Graph Building
- FAQ
- Support
Introduction โน๏ธ
The Euler Graph Database is a knowledge graph viewer that allows users to create, visualize, and manage knowledge graphs. It provides an interactive graphical user interface (GUI) for performing various operations on the knowledge graph such as adding nodes and edges, executing queries, and visualizing the graph.
Installation ๐ป
- Install the Package:
pip install euler_database
Project Structure ๐
euler_graph_database/
โโโ data/
โโโ docs/
โโโ euler/
โ โโโ experimental/
โ โโโ function_tools/
โ โโโ graph_embeddings/
โ โโโ llm_reader/
โ โโโ path_finding/
โ โโโ similarity/
โ โโโ __init__.py
โ โโโ edge_node.py
โ โโโ graph_api.py
โ โโโ knowledge_graph.py
โ โโโ query_engine.py
โ โโโ query_executer.py
โ โโโ query_parser.py
โ โโโ relationship.py
โโโ examples/
โโโ gui/
โ โโโ __init__.py
โ โโโ app.py
โ โโโ gui_navbar.py
โ โโโ modal_dialog.py
โ โโโ syntax_highlighter.py
โโโ icons/
โโโ tests/
โโโ README.md
โโโ requirements.txt
โโโ setup.py
Running the Application ๐
To run the application, use the following command:
eulerdb
User Guide ๐
Main Interface ๐ฅ๏ธ
The main interface of the application consists of the following components:
- Header: Displays the application name and logo.
- Navbar: Provides options to load, visualize, add nodes, add edges, save the graph, and display help/about information.
- Query Entry: A text area to enter queries.
- Buttons:
Execute Query
: Executes the entered query.Save Query
: Saves the entered queries to a file.Load Query
: Loads queries from a file.
- Output Areas:
Query Output
: Displays the results of executed queries.JSON Output
: Displays the JSON representation of the current graph.
Loading a Graph ๐
- Click on the
Load Graph
button in the navbar. - Select the file containing the graph you want to load.
Visualizing a Graph ๐
- After loading a graph, click on the
Visualize Graph
button in the navbar. - The graph will be displayed in the visualization area.
Adding Nodes โ
- Click on the
Add Node
button in the navbar. - Enter the node ID and label in the prompt that appears.
- The node will be added to the graph.
Adding Edges ๐
- Click on the
Add Edge
button in the navbar. - Enter the edge ID, source node ID, target node ID, and edge label in the prompt that appears.
- The edge will be added to the graph.
Saving a Graph ๐พ
- Click on the
Save Graph
button in the navbar. - Choose the location to save the graph file.
Executing Queries ๐
- Enter your query in the
Query Entry
area. - Click the
Execute Query
button. - The result of the query will be displayed in the
Query Output
area.
Saving Queries ๐ผ
- Enter your queries in the
Query Entry
area. - Click the
Save Query
button. - Choose the location to save the queries file (with
.euler
extension).
Loading Queries ๐
- Click the
Load Query
button. - Select the file containing the queries.
- The queries will be loaded into the
Query Entry
area.
Using Euler Database for Knowledge Graph Building ๐ง
Creating Chunks of Relational Data ๐
The Euler Database provides classes to create chunks of relational data, which can be used to build knowledge graphs. By importing and utilizing these classes, you can preprocess your data and represent it in a graph format.
Example:
from euler.graph_api import KnowledgeGraphAPI
from euler.query_parser import QueryParser
from euler.query_executor import QueryExecutor
# Initialize API and related components
api = KnowledgeGraphAPI()
parser = QueryParser(api.graph)
executor = QueryExecutor(api.graph)
# Add nodes and edges
api.create_node('1', 'Person', {'name': 'Alice'})
api.create_node('2', 'Person', {'name': 'Bob'})
api.create_edge('1', '1', '2', 'knows')
# Query the graph
result = executor.execute_query('FIND (n)-[r]->(m)')
print(result)
Building Knowledge Graphs ๐
Using the provided classes, you can build comprehensive knowledge graphs. These graphs can help in organizing information, discovering relationships, and enhancing data analysis.
Benefits:
- Organized Data: Represent your data in an easily understandable graph format.
- Relationship Discovery: Identify and explore relationships between different data points.
- Enhanced Analysis: Use graph-based analysis techniques to gain deeper insights.
GraphRAG (Graph-based Retrieval Augmented Generation) ๐
GraphRAG is a powerful technique that leverages knowledge graphs to enhance information retrieval and generation processes. By building and utilizing knowledge graphs, GraphRAG can provide more accurate and contextually relevant information.
Benefits:
- Improved Retrieval: Enhance search and retrieval processes by leveraging the structure and relationships in knowledge graphs.
- Contextual Generation: Generate more relevant and contextually accurate information by utilizing the rich relational data in knowledge graphs.
FAQ โ
Q: What file formats are supported for saving graphs?
A: The application supports saving graphs in JSON format.
Q: How do I fix module import errors?
A: Ensure you are running the application using eulerdb
to correctly set up the module paths.
Q: Can I visualize large graphs?
A: Yes, but performance may vary depending on the size of the graph and the capabilities of your system.
Support ๐โโ๏ธ
For any issues or questions, please contact:
Name: Prashant Verma
Email: prashant27050@gmail.com
Or visit the GitHub repository for more information and updates.
### Key Additions
- **Using Euler Database for Knowledge Graph Building**: New section detailing how to use the classes provided by the Euler Database package to create chunks of relational data, build knowledge graphs, and leverage GraphRAG.
- **Code Examples**: Example code snippets showing how to use the provided classes to build and query knowledge graphs.
By following this updated `README.md`, users will have a comprehensive guide on how to install, run, use, and extend the `Euler Graph Database` for their knowledge graph needs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file euler_database-3.0.0.tar.gz
.
File metadata
- Download URL: euler_database-3.0.0.tar.gz
- Upload date:
- Size: 298.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02925cdd044f6fa25f9b488596de547ef275e83ac11662bb1de97238e2255186 |
|
MD5 | 867266fd5e0416edcf1dda4e040ab193 |
|
BLAKE2b-256 | f19f759ecde9c4da1ed7d91a5275013c2eff51ae9a8195f77061efcf65c64f5a |
File details
Details for the file euler_database-3.0.0-py3-none-any.whl
.
File metadata
- Download URL: euler_database-3.0.0-py3-none-any.whl
- Upload date:
- Size: 307.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a79b63e8a0646256907f747fd4a553af0483b687410f1f8efbd3c789b308018f |
|
MD5 | e9089c523d8deda7dba49273adfaece3 |
|
BLAKE2b-256 | a3aac131f56d2062a5a1507b6830f317fb57c7be9cf6f7ae9bc72105d956e589 |