Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
5d54509
feat: implement IGraphStore abstraction layer (Phase 1 of #306)
claude Nov 15, 2025
e4a8834
feat: implement persistent FileGraphStore with B-Tree indexing (Phase…
claude Nov 15, 2025
1acb720
feat: add async/await support and graph analytics (Version A enhancem…
claude Nov 15, 2025
1a2d681
feat: add WAL and community detection (Version B Phase 2 - Walk)
claude Nov 15, 2025
aab0446
feat: add full transaction support with ACID guarantees
claude Nov 15, 2025
981bada
feat: add hybrid retriever and graph query pattern matching
claude Nov 15, 2025
f6a6f11
Merge master into feature branch
ooples Dec 1, 2025
d41c971
fix: fix build errors in vector database and graph retriever
ooples Dec 1, 2025
5781d8c
fix: update test files to use correct graphnode and graphedge constru…
ooples Dec 1, 2025
2118bd8
fix: change async void to async task in test method
ooples Dec 1, 2025
894517b
refactor: improve code style in graphanalytics
ooples Dec 1, 2025
8a38801
refactor: use explicit where filtering in hybridgraphretriever
ooples Dec 1, 2025
9078e75
refactor: simplify filegraphstore code and fix catch clauses
ooples Dec 1, 2025
942f537
refactor: replace generic catch clauses in filegraphstore
ooples Dec 1, 2025
751c643
refactor: replace generic catch clauses in btreeindex, writeaheadlog,…
ooples Dec 1, 2025
003a1e2
refactor: improve graphquerymatcher code quality
ooples Dec 1, 2025
c768bd6
refactor: use select and oftype instead of foreach with mapping
ooples Dec 1, 2025
0315254
refactor: use select and oftype instead of foreach with mapping in gr…
ooples Dec 1, 2025
1d84e3b
fix: atomic file replacement and complete dispose pattern in btreeindex
ooples Dec 1, 2025
1a8cf91
fix: add readexactly helper to ensure stream.read reads all bytes
ooples Dec 1, 2025
2cd24c3
fix: add thread safety to filegraphstore in-memory caches
ooples Dec 1, 2025
9576225
fix: correct findshortestpaths bfs algorithm to find all shortest paths
ooples Dec 1, 2025
364e14e
fix: implement compensating rollback for atomicity in graphtransaction
ooples Dec 1, 2025
9760b39
fix: preserve higher-scoring paths in hybridgraphretriever
ooples Dec 1, 2025
95dff59
fix: remove null-forgiving operator in getneighbors
ooples Dec 1, 2025
08fc072
docs: add thread safety documentation to memorygraphstore
ooples Dec 1, 2025
1a6b174
fix: handle label changes when overwriting existing nodes
ooples Dec 1, 2025
18e30ed
fix: use safe lookups in memorygraphstore to prevent keynotfoundexcep…
ooples Dec 2, 2025
86c3b7a
fix: restore transaction id from existing wal on startup
ooples Dec 2, 2025
4be4576
fix: use fileshare.readwrite in readlog for windows compatibility
ooples Dec 2, 2025
819ccc2
fix: replace flaky timestamp test with file content comparison
ooples Dec 2, 2025
f4db555
fix: remove double-dispose in filegraphstoretests
ooples Dec 2, 2025
168bc81
docs: clarify xunit test isolation in graphquerymatchertests
ooples Dec 2, 2025
000bb25
test: verify store state after failed transaction in atomicity test
ooples Dec 2, 2025
81e40b2
fix: add debug tracing for dispose errors in graphtransaction
ooples Dec 2, 2025
af93ddf
fix: set disposed flag in finally block in btreeindex
ooples Dec 2, 2025
58a9633
fix: prevent race condition in hashset enumeration in filegraphstore
ooples Dec 2, 2025
6ffd243
fix: use culture-invariant parsing for numeric properties
ooples Dec 2, 2025
ec0fc90
fix: capture original data for removenode/removeedge undo
ooples Dec 2, 2025
fc4f63d
fix: prevent result overwriting in retrievewithrelationships
ooples Dec 2, 2025
185b3a6
fix: handle potential null in breadthfirsttraversal
ooples Dec 2, 2025
a7ac9a5
Merge branch 'master' into claude/fix-vector-database-review-0132R5cA…
ooples Dec 2, 2025
8fd4ebb
feat: integrate graph rag with facade pattern
ooples Dec 2, 2025
8008250
fix: resolve graph rag test failures and type conversion issues
ooples Dec 2, 2025
0be2ab3
Merge branch 'master' into claude/fix-vector-database-review-0132R5cA…
ooples Dec 2, 2025
fa0aeb0
fix: address pr review comments for graph rag production readiness
ooples Dec 2, 2025
229c474
Merge branch 'master' into claude/fix-vector-database-review-0132R5cA…
ooples Dec 2, 2025
543e272
refactor: merge graph rag config into configureretrievalaugmentedgene…
ooples Dec 2, 2025
7fd2acf
Merge branch 'master' into claude/fix-vector-database-review-0132R5cA…
ooples Dec 2, 2025
e2b390e
fix: preserve graph rag config in withparameters, deepcopy, and deser…
ooples Dec 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions src/Enums/EdgeDirection.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
namespace AiDotNet.Enums;

/// <summary>
/// Specifies the direction of edges to retrieve when querying a knowledge graph.
/// </summary>
/// <remarks>
/// <para><b>For Beginners:</b> In a directed graph, edges have a direction - they go FROM one node TO another.
///
/// Think of it like Twitter follows:
/// - If Alice follows Bob, the edge goes FROM Alice TO Bob
/// - Alice has an OUTGOING edge (she's following someone)
/// - Bob has an INCOMING edge (someone is following him)
///
/// When querying relationships:
/// - Outgoing: "Who does this person follow?" (edges starting from this node)
/// - Incoming: "Who follows this person?" (edges pointing to this node)
/// - Both: "All connections" (both directions)
/// </para>
/// </remarks>
public enum EdgeDirection
{
/// <summary>
/// Retrieve only outgoing edges (edges where the specified node is the source).
/// </summary>
Outgoing,

/// <summary>
/// Retrieve only incoming edges (edges where the specified node is the target).
/// </summary>
Incoming,

/// <summary>
/// Retrieve both outgoing and incoming edges.
/// </summary>
Both
}
Loading
Loading