Singularity / doc /AGDB /README.md
SlappAI's picture
order
c8aa036
# AGDB Time Series Graphs and Query Structure
Active Graph Databases (AGDBs) are an innovative framework designed for efficiently managing and querying time-series data. By leveraging **Active Graph Theory (AGT)** and **Active Graph Networks (AGN)**, AGDBs enable the creation of structured and synthetic relationships that can scale across various domains while maintaining efficiency in both small and large datasets.
## Overview of AGDB Architecture
AGDB utilizes a hierarchical time-based structure combined with synthetic relationships to enable efficient querying and scalable handling of complex data. This design facilitates cross-domain contextual relationships, supporting advanced data interactions, rule-based querying, and scalable, efficient processing.
### Architecture Diagram
```mermaid
graph TB
subgraph AGDB
AGT[Active Graph Theory]
AGN[Active Graph Network]
AGDBMain[(AGDB Main Database)]
SyntheticRel[Synthetic Relationships]
TimeHierarchy[Time Hierarchy Nodes]
DataNodes[Data Nodes]
AGT --> AGN
AGN --> AGDBMain
AGDBMain --> SyntheticRel
AGDBMain --> TimeHierarchy
TimeHierarchy --> DataNodes
end
AGDB -->|Integrates| AGT
AGDB -->|Utilizes| AGN
AGT -->|Provides Structure| SyntheticRel
AGN -->|Facilitates Querying| DataNodes
```
---
## Structure of AGDB Time Series Graphs
AGDB structures time-series data through hierarchical **Time Nodes** and **Data Nodes**. Synthetic relationships within the database enable efficient traversal and retrieval of specific time points or patterns, allowing AGDB to act as a powerful framework for scalable time-series querying.
### AGDB Structure Diagram
```mermaid
graph TD
TimeHierarchy[Time Hierarchy]
Year[Year]
Month[Month]
Day[Day]
Hour[Hour]
Minute[Minute]
Checkpoints[Predefined Checkpoints]
Data[Data Nodes]
TimeHierarchy --> Year
Year --> Month
Month --> Day
Day --> Hour
Hour --> Minute
Minute --> Data
TimeHierarchy --> Checkpoints
Checkpoints --> Minute
Checkpoints -->|Synthetically link| Hour
```
- **Hierarchical Structure**: Organized from Year down to Minute, each node level enables efficient time-based navigation.
- **Checkpoints**: Serve as reference points within the hierarchy, allowing quicker access to relevant data via synthetic pathing.
- **Data Nodes**: Store attributes for each time interval, making each data point easily accessible.
---
## Query Structure for AGDB
The query structure for AGDBs supports flexible access to data across predefined and synthetic relationships. Using a path-based syntax, AGDB queries are intuitive and efficient for time-series and context-rich data.
### Example Query Structure
```mermaid
graph LR
Year2024[2024]
Month11[November]
Day04[4th]
Hour10[10:00 AM]
Minute45[10:45 AM]
DataNode[Data Node]
Year2024 --> Month11
Month11 --> Day04
Day04 --> Hour10
Hour10 --> Minute45
Minute45 --> DataNode
Checkpoint1040[Checkpoint 10:40 AM]
Checkpoint1040 -->|+5 Minutes| Minute45
```
- **Direct Navigation**: Queries traverse through the year, month, day, hour, and minute levels until reaching the target node.
- **Synthetic Pathing**: Checkpoints at predefined intervals enable rapid traversal, allowing queries to skip to approximate points and increment from there.
---
## Definitions and Components
### AGT (Active Graph Theory)
AGT provides the foundational logic for defining and managing relationships within AGDB, modeling data as interconnected nodes with contextual relationships.
```mermaid
graph LR
AGT[Active Graph Theory]
Nodes[Data Nodes]
Relationships[Relationships]
ContextualInference[Contextual Inference]
AGT --> Nodes
AGT --> Relationships
Relationships --> ContextualInference
```
- **Nodes**: Represent data entries or entities.
- **Relationships**: Define connections between nodes.
- **Contextual Inference**: Adds depth to data by inferring relationships based on contextual cues.
### AGN (Active Graph Networks)
AGN utilizes AGT’s principles to support querying and interaction within AGDB. Through rules and policies, AGN automates and simplifies navigation through AGDB.
```mermaid
graph TD
AGN[Active Graph Network]
QueryEngine[Query Engine]
TraversalRules[Traversal Rules]
SyntheticPathing[Synthetic Pathing]
Checkpoints[Checkpoints]
AGN --> QueryEngine
QueryEngine --> TraversalRules
TraversalRules --> SyntheticPathing
SyntheticPathing --> Checkpoints
```
- **Query Engine**: Processes requests by applying AGN’s traversal rules.
- **Traversal Rules**: Define how nodes are accessed based on AGDB structure.
- **Synthetic Pathing**: Creates shortcuts between nodes, improving query efficiency.
---
## Example JSON Structure for AGDB
This structure organizes AGDB data, relationships, and policies into a flexible format that allows for easy traversal and analysis.
```json
{
"metadata": {
"title": "BTC-USD Time Series Data",
"source": "AGT Platform",
"description": "Time-series AGDB for BTC-USD trading data with predefined checkpoints",
"created_at": "2024-11-04",
"timezone": "UTC"
},
"schema": {
"entity": "BTC_USD_Data",
"type": "TimeSeriesNode",
"domain": "TradingData",
"attributes": ["Time", "Node_ID", "Open", "High", "Low", "Close", "Volume"]
},
"data": [
["2024-10-14 07:30:00", "node_0001", 50, 52, 48, 51, 5000],
["2024-10-14 07:31:00", "node_0002", 51, 55, 43, 55, 3000]
],
"relationships": [
{
"type": "temporal_sequence",
"from": "node_0001",
"to": "node_0002",
"relationship": "next"
}
],
"policies": {
"AGN": {
"trading_inference": {
"rules": {
"time_series_trend": {
"relationship": "temporal_sequence",
"weight_threshold": 0.5
},
"volatility_correlation": {
"attributes": ["High", "Low"],
"relationship": "correlates_with",
"weight_threshold": 0.3
}
}
}
}
}
}
```
---
## Sample Queries and Structure
### Basic Queries
1. **Get Specific Time Node**: Retrieve data at a particular time.
```plaintext
get-node-type ts-path {domain}/2024/11/04/10/45
```
2. **Use Checkpoint for Efficiency**:
```plaintext
get-node-type ts-path {domain}/2024/11/04/10/40 +5
```
### Rule-Based Strategy Example
1. **Apply Trading Strategy**:
```plaintext
get-node-type ts-path TRADING/2024/11/04/11/45
```
This query fetches data at `11:45 AM` for trading strategies.
---
## Unified Command Structure
### Core Commands and Syntax Structure
1. **Graph Creation and Initialization**
- `create-graph -name "financial_time_series" -type "AGDB"`
2. **Node and Relationship Management**
- `create-node -id "node_001" -type "TimeSeriesNode" -attributes {...}`
- `create-relationship -from "node_001" -to "node_002" -type "next"`
3. **Setting Edges, Attributes, and Domains**
- `set-edge -from "node_001" -to "node_002" -weight 0.8`
- `set-attribute -node "node_001" -attributes {...}`
- `set-domain -graph "financial_time_series" -name "Trading"`
4. **Retrieving Nodes, Relationships, and Domains**
- `get-node.attribute -name "node_001"`
- `get-relationship -node "node_001"`
- `get-domain -node "node_001"`
5. **AGN/AGDB Specific Commands**
- `get-AGN -policy "trading_inference"`
- `set-AGN -policy "trading_inference" -rules {...}`
---
## Example JSON Query Logic
To optimize queries, AGDB uses a hierarchical time-based navigation structure with checkpoints for faster traversal.
1. **Query Example for Time Range**:
```json
{
"command": "get-node",
"start": "2024-10-14 08:00:00",
"end": "2024-10-14 08:30:00"
}
```
2. **Relationship-Based Query for Correlation**:
```json
{
"command": "get-relationship",
"type": "correlates_with",
"attributes": ["High", "Low"]
}
```
---
### Conclusion
This README provides a high-level overview of AGDB architecture, query structure, and example usage. By integrating **AGT** and **AGN**, AGDB offers a powerful, scalable framework for time-series and complex data management, making it ideal for various fields, including finance and healthcare. The unified query structure allows users to access and manipulate data efficiently, making AGDB a versatile and user-friendly database solution.