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 Graphbutton in the navbar. - Select the file containing the graph you want to load.
Visualizing a Graph 🔍
- After loading a graph, click on the
Visualize Graphbutton in the navbar. - The graph will be displayed in the visualization area.
Adding Nodes ➕
- Click on the
Add Nodebutton 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 Edgebutton 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 Graphbutton in the navbar. - Choose the location to save the graph file.
Executing Queries 📋
- Enter your query in the
Query Entryarea. - Click the
Execute Querybutton. - The result of the query will be displayed in the
Query Outputarea.
Saving Queries 💼
- Enter your queries in the
Query Entryarea. - Click the
Save Querybutton. - Choose the location to save the queries file (with
.eulerextension).
Loading Queries 📄
- Click the
Load Querybutton. - Select the file containing the queries.
- The queries will be loaded into the
Query Entryarea.
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.
Metadata
Release files for euler-database 3.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| euler_database-3.0.0.tar.gz | 298.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| euler_database-3.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 606.5 kB
Release files / euler_database-3.0.0.tar.gz
| Download URL | euler_database-3.0.0.tar.gz |
|---|---|
| Size | 298.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
02925cdd044f6fa25f9b488596de547ef275e83ac11662bb1de97238e2255186
|
|
BLAKE2b-256 checksum How to use checksums |
f19f759ecde9c4da1ed7d91a5275013c2eff51ae9a8195f77061efcf65c64f5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.11.5
|
Release files / euler_database-3.0.0-py3-none-any.whl
| Download URL | euler_database-3.0.0-py3-none-any.whl |
|---|---|
| Size | 307.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a79b63e8a0646256907f747fd4a553af0483b687410f1f8efbd3c789b308018f
|
|
BLAKE2b-256 checksum How to use checksums |
a3aac131f56d2062a5a1507b6830f317fb57c7be9cf6f7ae9bc72105d956e589
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.11.5
|
Security for euler-database 3.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.