Skip to content

Update Docs towards New Version Deploy #155

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
Open

Conversation

matanbroit
Copy link

@matanbroit matanbroit commented May 19, 2025

  • Add Dedicated Algorithm Section.
  • Add DEDUPLICATE_STRINGS.
  • Add GRAPH.QUERY USAGE

Summary by CodeRabbit

  • New Features

    • Added comprehensive documentation for graph algorithms including BFS, PageRank, Weakly Connected Components, single-pair and single-source shortest paths.
    • Introduced a new overview page for graph algorithms, categorizing them and providing navigation links.
    • Added documentation for the GRAPH.MEMORY USAGE command, detailing memory usage reporting for graphs.
    • Documented a new configuration parameter for string deduplication.
  • Documentation

    • Expanded Cypher path function documentation with new examples and explanations.
    • Removed outdated or redundant documentation for certain path-finding algorithms and procedures.
    • Added guidance on indexing array properties and querying them with the IN operator.

@matanbroit matanbroit added the documentation Improvements or additions to documentation label May 19, 2025
Copy link
Contributor

coderabbitai bot commented May 19, 2025

Walkthrough

Several new documentation files were added covering graph algorithms (BFS, PageRank, SPpaths, SSpaths, WCC), a general algorithms index, and the GRAPH.MEMORY USAGE command. Existing documentation was updated to include a new configuration parameter for string deduplication and expanded path function coverage. Outdated or redundant documentation on path algorithms and BFS in Cypher was removed. Additionally, a new section on array indices was added to indexing documentation, and the wordlist was extended with relevant new terms.

Changes

File(s) Change Summary
algorithms/bfs.md, algorithms/pagerank.md, algorithms/sppath.md, algorithms/sspath.md, algorithms/wcc.md Added new documentation for BFS, PageRank, SPpaths, SSpaths, and WCC algorithms, detailing usage, parameters, examples, and output.
algorithms/index.md Added an index/overview for all graph algorithms, categorized and linked to detailed docs.
commands/graph.memory-usage.md Added documentation for the GRAPH.MEMORY USAGE command, covering syntax, parameters, output, and examples.
configuration.md Documented new configuration parameter DEDUPLICATE_STRINGS for string pooling, including usage and example.
cypher/functions.md Expanded path functions section, added allShortestPaths(...), and included new examples and explanations.
cypher/indexing.md Added new section "Array Indices" documenting support for indexing array properties and querying with IN.
cypher/algorithms.md Removed the documentation file describing BFS algorithm usage in Cypher.
cypher/match.md Removed advanced path-finding functions/procedures section, including details and examples for allShortestPaths, algo.SPpaths, and algo.SSpaths.
path_algorithm.md Deleted the comprehensive documentation file for path-finding algorithms (algo.SPpaths, algo.SSpaths), including usage, examples, and background.
.wordlist.txt Added new words related to graph algorithms, analytics, and configuration such as "WCC," "SPpath," "DEDUPLICATE," and names "Brin" and "Sergey".

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant FalkorDB
    participant AlgorithmsModule

    User->>FalkorDB: CALL algo.bfs(start_node, max_depth, relationship)
    FalkorDB->>AlgorithmsModule: Execute BFS algorithm
    AlgorithmsModule-->>FalkorDB: Return nodes, edges
    FalkorDB-->>User: Output results

    User->>FalkorDB: CALL algo.pagerank([label], [relationship])
    FalkorDB->>AlgorithmsModule: Execute PageRank
    AlgorithmsModule-->>FalkorDB: Return node, score
    FalkorDB-->>User: Output results

    User->>FalkorDB: CALL algo.SPpaths(source, target, ...)
    FalkorDB->>AlgorithmsModule: Execute SPpaths
    AlgorithmsModule-->>FalkorDB: Return path, pathWeight, pathCost
    FalkorDB-->>User: Output results

    User->>FalkorDB: CALL algo.SSpaths(source, ...)
    FalkorDB->>AlgorithmsModule: Execute SSpaths
    AlgorithmsModule-->>FalkorDB: Return path, pathWeight, pathCost
    FalkorDB-->>User: Output results

    User->>FalkorDB: CALL algo.wcc([config])
    FalkorDB->>AlgorithmsModule: Execute WCC
    AlgorithmsModule-->>FalkorDB: Return node, componentId
    FalkorDB-->>User: Output results

    User->>FalkorDB: GRAPH.MEMORY USAGE <graph-name> [SAMPLES <count>]
    FalkorDB-->>User: Return memory usage statistics
Loading

Suggested labels

Review effort 1/5

Suggested reviewers

  • gkorland
  • danshalev7

Poem

In a warren of docs, new tunnels appear,
Algorithms for graphs are now crystal clear!
With BFS and PageRank, and shortest paths too,
WCC finds friends in a connected crew.
Memory is measured, strings deduplicated—
This bunny’s documentation is fully updated!
🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ae7003e and fce15bd.

📒 Files selected for processing (1)
  • .wordlist.txt (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • .wordlist.txt

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

🧹 Nitpick comments (16)
configuration.md (1)

397-416: Clarify load-time-only behavior

Explicitly note in the DEDUPLICATE_STRINGS section that this parameter is load-time-only and cannot be modified at run-time via GRAPH.CONFIG SET. Consider adding:

This parameter is load-time-only; attempting to set it at run-time will result in an error.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~409-~409: Loose punctuation mark.
Context: ...GSisno. #### Valid values - yes`: Enables string interning (deduplication...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 markdownlint-cli2 (0.17.2)

415-415: Dollar signs used before commands without showing output
null

(MD014, commands-show-output)

commands/graph.mamory-usage.md (3)

12-16: Enhance usage example clarity

Show a sample output to illustrate the format of the returned array. For example:

GRAPH.MEMORY USAGE myGraph
# => [50.2, 10.0, 5.1, 20.6, 14.5, 0.0]

This helps users map output values to the fields listed.


25-37: Document field order explicitly

Add a note that the returned array values are ordered as listed in the table (total_graph_sz_mb, label_matrices_sz_mb, etc.), so users know which index corresponds to which metric.


50-54: Specify default sample count

In the Notes section, state the default SAMPLES value used when the argument is omitted (e.g., 100) so users have precise expectations about the sampling behavior.

algorithms/pagerank.md (2)

1-4: Add navigation metadata

Include nav_order (and optionally parent: "Algorithms") in the YAML front-matter to integrate this document under the Algorithms section:

---
title: "PageRank"
nav_order: 2
parent: "Algorithms"
---
🧰 Tools
🪛 GitHub Actions: spellcheck

[error] 1-1: Spelling errors detected: 'Brin', 'Sergey'.


95-97: Fix list indentation under Usage Notes

Resolve the MD007 warning by using 2-space indentation for list items under Interpreting scores:

-   - PageRank scores are relative, not absolute measures
-   - The sum of all scores in a graph equals 1.0
-   - Scores typically follow a power-law distribution
+  - PageRank scores are relative, not absolute measures
+  - The sum of all scores in a graph equals 1.0
+  - Scores typically follow a power-law distribution
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

95-95: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


96-96: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


97-97: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)

cypher/functions.md (2)

201-208: Correct table formatting for Path functions

Ensure the new Path functions table has leading and trailing pipes and aligned separators. Add a trailing pipe on the allShortestPaths row and align the header:

| Function                                   | Description                                                  |
|--------------------------------------------|--------------------------------------------------------------|
- | [allShortestPaths(...)](#about-path-functions) *  | Returns all the shortest paths between a pair of entities
+ | [allShortestPaths(...)](#about-path-functions) * | Returns all the shortest paths between a pair of entities |
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

207-207: Table pipe style
Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe

(MD055, table-pipe-style)


328-335: Refine wording in About Path Functions

Reduce wordiness and improve clarity in the shortestPath description. For example:

- `shortestPath` returns one of the shortest paths. If there is more than one, only one is retrieved.
+ The `shortestPath` function returns a single shortest path; if multiple exist, it returns one arbitrarily.
algorithms/wcc.md (2)

53-53: Remove trailing punctuation from heading
Change the "Examples" heading to comply with markdownlint MD026:

-## Examples:
+## Examples

40-44: Ensure blank lines around parameters table
Add a blank line before and after the table to satisfy markdownlint MD058:

 The procedure accepts an optional configuration `Map` with the following parameters:

+ 
| Name                | Type  | Default                | Description                                                                      |
|---------------------|-------|------------------------|----------------------------------------------------------------------------------|
| `nodeLabels`        | Array | All labels             | Array of node labels to filter which nodes are included in the computation       |
| `relationshipTypes` | Array | All relationship types | Array of relationship types to define which edges are traversed                  |
+ 
algorithms/sppath.md (3)

52-52: Remove trailing punctuation from Examples heading
Update the heading to remove the colon as per markdownlint MD026:

-## Examples:
+## Examples
🧰 Tools
🪛 LanguageTool

[uncategorized] ~52-~52: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...oss the path (if used) | ## Examples: Lets take this Road Network Grpah as an exam...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)

🪛 markdownlint-cli2 (0.17.2)

52-52: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


57-57: Remove trailing colon from subheading
Modify the subheading to remove the trailing colon:

-### Example: Shortest Path by Distance from City A to City G:
+### Example: Shortest Path by Distance from City A to City G
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

57-57: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


69-75: Add blank lines around result table
Insert blank lines before and after the table to satisfy markdownlint MD058:

CALL algo.SPpaths({
  sourceNode: a,
  targetNode: g,
  relTypes: ['Road'],
  weightProp: 'dist'
})
YIELD path, pathWeight
RETURN pathWeight, [n in nodes(path) | n.name] AS pathNodes

+ 
| pathWeight | pathNodes     |
|------------|---------------|
| `12`       | [A, D, E G]   |
+ 
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

71-71: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


72-72: Tables should be surrounded by blank lines
null

(MD058, blanks-around-tables)

algorithms/bfs.md (1)

16-19: Specify Cypher syntax highlighting
Use a language specifier on the code fence for consistency and readability:

-```
+```cypher
 CALL algo.bfs(start_node, max_depth, relationship)
 YIELD nodes, edges

</blockquote></details>
<details>
<summary>algorithms/sspath.md (2)</summary><blockquote>

`31-31`: **Remove trailing punctuation from heading**  
Update to comply with markdownlint MD026:
```diff
-## Examples:
+## Examples
🧰 Tools
🪛 LanguageTool

[uncategorized] ~31-~31: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ... targetNode is omitted. ## Examples: Lets take this Road Network Grpah as an exam...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)


53-63: Ensure blank lines around expected-result tables
Add blank lines before and after the tables to satisfy markdownlint MD058:

### Example: All Shortest Paths by Distance (up to 10 km)

MATCH (a:City{name:'A'})
CALL algo.SSpaths({
  sourceNode: a,
  relTypes: ['Road'],
  costProp: 'dist',
  maxCost: 10,
  pathCount: 1000
})
YIELD path, pathCost
RETURN pathCost, [n in nodes(path) | n.name] AS pathNodes
ORDER BY pathCost

+ 
| pathCost |  pathNodes |   
|----------| ---------- |
| `2`      |  [A, D]    | 
| `3`      |  [A, B]    | 
| `6`      |  [A, D, C] | 
| `7`      |  [A, D, E] | 
| `8`      |  [A, C]    | 
| `10`     |  [A, B, E] | 
+ 

### Example: Top 5 Shortest Paths from A by Distance

...
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between d2c1af5 and 08dca15.

⛔ Files ignored due to path filters (3)
  • images/graph_bfs.png is excluded by !**/*.png
  • images/graph_page_rank.png is excluded by !**/*.png
  • images/wcc.png is excluded by !**/*.png
📒 Files selected for processing (12)
  • algorithms/bfs.md (1 hunks)
  • algorithms/index.md (1 hunks)
  • algorithms/pagerank.md (1 hunks)
  • algorithms/sppath.md (1 hunks)
  • algorithms/sspath.md (1 hunks)
  • algorithms/wcc.md (1 hunks)
  • commands/graph.mamory-usage.md (1 hunks)
  • configuration.md (2 hunks)
  • cypher/algorithms.md (0 hunks)
  • cypher/functions.md (2 hunks)
  • cypher/match.md (0 hunks)
  • path_algorithm.md (0 hunks)
💤 Files with no reviewable changes (3)
  • cypher/algorithms.md
  • cypher/match.md
  • path_algorithm.md
🧰 Additional context used
🪛 LanguageTool
configuration.md

[uncategorized] ~409-~409: Loose punctuation mark.
Context: ...GSisno. #### Valid values - yes`: Enables string interning (deduplication...

(UNLIKELY_OPENING_PUNCTUATION)

cypher/functions.md

[uncategorized] ~339-~339: Possible missing preposition found.
Context: ...## shortestPath shortestPath returns one of the shortest paths. If there is more...

(AI_EN_LECTOR_MISSING_PREPOSITION)


[style] ~341-~341: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...is pattern's endpoints must be resolved prior to the function call, and no property filt...

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[style] ~341-~341: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... will be included in the returned path. If no shortest path can be found, NULL is ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

algorithms/sppath.md

[uncategorized] ~52-~52: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...oss the path (if used) | ## Examples: Lets take this Road Network Grpah as an exam...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)

algorithms/sspath.md

[uncategorized] ~31-~31: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ... targetNode is omitted. ## Examples: Lets take this Road Network Grpah as an exam...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)

🪛 markdownlint-cli2 (0.17.2)
configuration.md

415-415: Dollar signs used before commands without showing output
null

(MD014, commands-show-output)

cypher/functions.md

207-207: Table pipe style
Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe

(MD055, table-pipe-style)

algorithms/sppath.md

52-52: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


57-57: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


71-71: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


72-72: Tables should be surrounded by blank lines
null

(MD058, blanks-around-tables)


77-77: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


94-94: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


95-95: Tables should be surrounded by blank lines
null

(MD058, blanks-around-tables)

algorithms/pagerank.md

95-95: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


96-96: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


97-97: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)

🪛 GitHub Actions: spellcheck
configuration.md

[error] 1-1: Spelling errors detected: 'DEDUPLICATE', 'deduplicates', 'deduplication', '' tags present.

algorithms/index.md

[error] 1-1: Spelling errors detected: 'analytics', 'Pathfinding', 'SPPATH', 'SSPATH', 'WCC'.

algorithms/wcc.md

[error] 1-1: Multiple spelling errors detected: 'WCC', 'undirected', 'preprocessing', 'subgraphs', 'directionality', 'iteratively', 'Grpah'.

algorithms/sppath.md

[error] 1-1: Spelling error detected: 'Grpah'.

algorithms/pagerank.md

[error] 1-1: Spelling errors detected: 'Brin', 'Sergey'.

algorithms/sspath.md

[error] 1-1: Spelling error detected: 'Grpah'.

🔇 Additional comments (1)
configuration.md (1)

88-88: Validate anchor link consistency

Ensure that the table entry [DEDUPLICATE_STRINGS](#deduplicate_strings) correctly matches the section heading’s generated anchor (deduplicate_strings). Verify that clicking this link navigates to the new section as expected.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (3)
algorithms/sspath.md (2)

29-29: Fix cross-reference link
The link currently points to ./sspath.md#syntax but should reference the SPpaths documentation in sppath.md#syntax.


32-32: Correct grammar in example introduction
Add the missing apostrophe in "Lets" to become "Let's".

algorithms/wcc.md (1)

55-55: Correct example introduction grammar
Add the missing apostrophe in "Lets" to become "Let's".

🧹 Nitpick comments (1)
algorithms/wcc.md (1)

57-57: Improve alt text for accessibility
The alt text "Graph BFS" does not match this WCC example. Consider updating it to something like "Weakly Connected Components graph".

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 08dca15 and 49b6044.

📒 Files selected for processing (5)
  • algorithms/index.md (1 hunks)
  • algorithms/sppath.md (1 hunks)
  • algorithms/sspath.md (1 hunks)
  • algorithms/wcc.md (1 hunks)
  • commands/graph.memory-usage.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • commands/graph.memory-usage.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • algorithms/sppath.md
  • algorithms/index.md
🧰 Additional context used
🪛 LanguageTool
algorithms/wcc.md

[uncategorized] ~54-~54: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ... the node belongs to | ## Examples Lets take this Social Graph as an example: ...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)

🪛 GitHub Actions: spellcheck
algorithms/wcc.md

[error] 1-1: Spelling errors detected: 'WCC', 'undirected', 'preprocessing', 'subgraphs', 'directionality', 'iteratively'.

🔇 Additional comments (1)
algorithms/wcc.md (1)

33-33: Verify procedure name casing
The syntax shows CALL algo.wcc([config]), but algorithm procedure names are typically uppercase (e.g., CALL algo.WCC(...)). Please confirm the correct casing and update accordingly.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (4)
algorithms/wcc.md (1)

56-56: Fix missing apostrophe in example caption.
Change “Lets” to “Let's” to correct the contraction.

-Lets take this Social Graph as an example:
+Let's take this Social Graph as an example:
algorithms/sppath.md (1)

55-55: Fix missing apostrophe in example introduction.
Change “Lets” to “Let's” to correct the contraction.

-Lets take this Road Network Graph as an example:
+Let's take this Road Network Graph as an example:
algorithms/sspath.md (2)

32-32: Fix missing apostrophe in example introduction.
Change “Lets” to “Let's” to correct the contraction.

-Lets take this Road Network Graph as an example:
+Let's take this Road Network Graph as an example:

29-29: ⚠️ Potential issue

Fix cross-reference link.
The link incorrectly points to sspath.md; it should reference sppath.md for the SPpaths syntax.

-Same as [`algo.SPpaths`](./sspath.md), except `targetNode` is omitted.
+Same as [`algo.SPpaths`](./sppath.md), except `targetNode` is omitted.
🧹 Nitpick comments (8)
algorithms/pagerank.md (2)

95-97: Fix list indentation in Usage Notes.
Unordered list items should not be indented; remove leading spaces for consistency.

-   - PageRank scores are relative, not absolute measures
-   - The sum of all scores in a graph equals 1.0
-   - Scores typically follow a power-law distribution
+ - PageRank scores are relative, not absolute measures
+ - The sum of all scores in a graph equals 1.0
+ - Scores typically follow a power-law distribution
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

97-97: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


72-72: Enhance image alt text.
Use clearer, more descriptive alt text for the PageRank example image for accessibility.

-![Graph PR](../images/graph_page_rank.png)
+![PageRank graph](../images/graph_page_rank.png)
algorithms/sppath.md (3)

54-54: Remove trailing punctuation in heading.
The “## Examples:” heading should not end with a colon.

-## Examples:
+## Examples
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

54-54: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


59-59: Remove trailing punctuation in subheading.
The “### Example: Shortest Path by Distance from City A to City G:” heading should not end with a colon.

-### Example: Shortest Path by Distance from City A to City G:
+### Example: Shortest Path by Distance from City A to City G
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

59-59: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


74-74: Surround tables with blank lines.
Add a blank line before and after the result table for better readability.

+ 
 | pathWeight | pathNodes     |
 |------------|---------------|
 | `12`       | [A, D, E G]   | 
+ 
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

74-74: Tables should be surrounded by blank lines
null

(MD058, blanks-around-tables)

algorithms/sspath.md (3)

31-31: Remove trailing punctuation in heading.
The “## Examples:” heading should not end with a colon.

-## Examples:
+## Examples
🧰 Tools
🪛 LanguageTool

[uncategorized] ~31-~31: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ... targetNode is omitted. ## Examples: Lets take this Road Network Graph as an exam...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)

🪛 markdownlint-cli2 (0.17.2)

31-31: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


53-53: Remove trailing punctuation in subheading.
The “#### Expected Result:” heading should not end with a colon.

-#### Expected Result:
+#### Expected Result
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

53-53: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


81-81: Remove trailing punctuation in subheading.
The “#### Expected Result:” heading should not end with a colon.

-#### Expected Result:
+#### Expected Result
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

81-81: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between b6d0b05 and f02471d.

📒 Files selected for processing (6)
  • algorithms/bfs.md (1 hunks)
  • algorithms/index.md (1 hunks)
  • algorithms/pagerank.md (1 hunks)
  • algorithms/sppath.md (1 hunks)
  • algorithms/sspath.md (1 hunks)
  • algorithms/wcc.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • algorithms/bfs.md
  • algorithms/index.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
algorithms/sppath.md

54-54: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


59-59: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


73-73: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


74-74: Tables should be surrounded by blank lines
null

(MD058, blanks-around-tables)


79-79: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


96-96: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


97-97: Tables should be surrounded by blank lines
null

(MD058, blanks-around-tables)

algorithms/pagerank.md

97-97: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


98-98: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


99-99: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)

algorithms/sspath.md

31-31: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


53-53: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


54-54: Tables should be surrounded by blank lines
null

(MD058, blanks-around-tables)


81-81: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


82-82: Tables should be surrounded by blank lines
null

(MD058, blanks-around-tables)

🪛 LanguageTool
algorithms/sspath.md

[uncategorized] ~31-~31: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ... targetNode is omitted. ## Examples: Lets take this Road Network Graph as an exam...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)

algorithms/wcc.md

[uncategorized] ~55-~55: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ... the node belongs to | ## Examples Lets take this Social Graph as an example: ...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
cypher/indexing.md (1)

221-233: Enhancement: include a string-array example and note multi-valued index behavior.
To showcase that array indexing works for strings as well, consider adding an example like:

+```sh
+# Create a node with a string-array property
+GRAPH.QUERY DEMO_GRAPH "CREATE (:Item {tags: ['red', 'blue', 'green']})"
+
+# Use the array index to find nodes containing 'blue'
+GRAPH.QUERY DEMO_GRAPH "MATCH (i:Item) WHERE 'blue' IN i.tags RETURN i"
+```

Additionally, you could mention that this index behaves as a multi-valued index, indexing each element separately under the hood.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9f68b8b and ae7003e.

📒 Files selected for processing (1)
  • cypher/indexing.md (1 hunks)
🧰 Additional context used
🪛 GitHub Actions: spellcheck
cypher/indexing.md

[error] 1-1: Spelling check failed: Misspelled word '' found in the file.

🔇 Additional comments (1)
cypher/indexing.md (1)

215-219: New Array Indices section is clear and accurate.
The heading and description correctly explain that FalkorDB supports indexing scalar arrays and explicitly call out unsupported types. This aligns well with the existing indexing documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants