|
|
|
|
|
# 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. |
|
|