DOC-896 | End-to-end agentic AI tutorial - #1005
Conversation
|
Deploy Preview Available Via |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (10)
✅ Files skipped from review due to trivial changes (9)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughAdds a complete Nordweave Agentic AI Suite tutorial series: landing page, dataset overview, import and cluster chapters (OneShard and SatelliteGraphs), visualization and investigation (Graph Visualizer, themes, Canvas Actions, Ada), knowledge graph retrieval (GraphRAG and AutoGraph), analytics and GraphML predictions, and the agentic merchandiser concept. ChangesNordweave Agentic AI Suite Tutorial Series
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (2)
site/content/agentic-ai-suite/tutorials/nordweave/importing-data.md (1)
19-19: 💤 Low valueUse descriptive link text instead of "here".
Link text should describe the destination. Consider replacing "here" with descriptive text.
♻️ Proposed refinement
-You can grab the dataset files from [here](../ordweave-dataset) before +You can grab the [Nordweave dataset files](../nordweave-dataset) before🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@site/content/agentic-ai-suite/tutorials/nordweave/importing-data.md` at line 19, The link uses non-descriptive text "[here]"; update the link text to describe the destination (e.g., "the Nordweave dataset" or "Nordweave dataset files") so the sentence reads like "You can grab the Nordweave dataset files from the Nordweave dataset before…" and replace the existing [here](../ordweave-dataset) anchor with a descriptive label to improve accessibility and clarity.site/content/agentic-ai-suite/tutorials/nordweave/_index.md (1)
54-54: 💤 Low valueUse descriptive link text instead of "here".
Link text should describe the destination. Consider replacing "here" with descriptive text like "the Nordweave dataset files" or "this location".
♻️ Proposed refinement
-[here](../nordweave-dataset). The part that matters for the first chapter is +the [Nordweave dataset files](../nordweave-dataset). The part that matters for the first chapter is🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@site/content/agentic-ai-suite/tutorials/nordweave/_index.md` at line 54, Replace the ambiguous link text "[here](../ordweave-dataset)" with descriptive link text that explains the destination (for example "the Nordweave dataset files" or "the Nordweave dataset"), so update the markdown fragment containing "[here](../ordweave-dataset)" to something like "the Nordweave dataset files (../ordweave-dataset)" ensuring the link remains the same but the anchor text is descriptive.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@site/content/agentic-ai-suite/tutorials/nordweave/_index.md`:
- Line 54: The link in the Markdown line currently points to
"../ordweave-dataset" which contains a typo; update the URL to
"../nordweave-dataset" so the dataset download link points to the correct
"nordweave-dataset" page (edit the link target text in the line containing
"[here](../ordweave-dataset)" in
site/content/agentic-ai-suite/tutorials/nordweave/_index.md).
In `@site/content/agentic-ai-suite/tutorials/nordweave/canvas-actions.md`:
- Around line 141-147: The ALL_SHORTEST_PATHS query assumes exactly two selected
nodes but never validates `@nodes`; before using LET nodeList = `@nodes` and
assigning LET startNode = nodeList[0] / LET endNode = nodeList[1], add a guard
that checks nodeList.length === 2 and if not either surface a user-visible
error/notification or abort the action (no-op), ensuring the shortest-path query
(ALL_SHORTEST_PATHS) only runs when two nodes are selected; reference the
nodeList, startNode, endNode and ALL_SHORTEST_PATHS symbols when implementing
this validation.
In `@site/content/agentic-ai-suite/tutorials/nordweave/graph-visualizer.md`:
- Around line 57-71: The named-graph definition for nordweave_catalog is missing
several relation edges used later (e.g., affected_by, similar_to and any other
relations referenced in Chapters 2.2/2.3); update the relations list in the
markdown snippet (the block defining `nordweave_catalog`) and the mirrored
`arangosh` snippet to include those missing edge definitions (use the same edge
format as the existing ones like `belongs_to_category`, `sold_as_brand`, etc.),
ensuring the exact relation names `affected_by` and `similar_to` (and any other
relations referenced later) are added so downstream examples that reference
those edge collections will work.
- Around line 16-29: The phrasing “one per page” is inconsistent with the listed
items; update the paragraph so the page references are accurate by either
removing “one per page” or by assigning the correct “(this page)” marker only to
the first item (Opening the Nordweave graph in the Graph Visualizer) and
removing “(this page)” from “Reading the relationships,” then ensure the final
sentence clearly states that after those four topics the tutorial concludes with
the separate Ada page (meeting-ada.md); adjust the list entries for “Opening the
Nordweave graph in the Graph Visualizer,” “Reading the relationships,” “Building
custom themes,” and “Writing Canvas Actions” to reflect their actual page scopes
so the progression is unambiguous.
In `@site/content/agentic-ai-suite/tutorials/nordweave/importing-data.md`:
- Line 19: Update the broken dataset link in the markdown by fixing the typo
"ordweave-dataset" to "nordweave-dataset" wherever it appears (e.g., in
importing-data.md and the related _index.md reference); locate the anchor text
"You can grab the dataset files from [here](../ordweave-dataset)" and replace
the URL segment to "../nordweave-dataset" so the link points to the correct
dataset folder.
---
Nitpick comments:
In `@site/content/agentic-ai-suite/tutorials/nordweave/_index.md`:
- Line 54: Replace the ambiguous link text "[here](../ordweave-dataset)" with
descriptive link text that explains the destination (for example "the Nordweave
dataset files" or "the Nordweave dataset"), so update the markdown fragment
containing "[here](../ordweave-dataset)" to something like "the Nordweave
dataset files (../ordweave-dataset)" ensuring the link remains the same but the
anchor text is descriptive.
In `@site/content/agentic-ai-suite/tutorials/nordweave/importing-data.md`:
- Line 19: The link uses non-descriptive text "[here]"; update the link text to
describe the destination (e.g., "the Nordweave dataset" or "Nordweave dataset
files") so the sentence reads like "You can grab the Nordweave dataset files
from the Nordweave dataset before…" and replace the existing
[here](../ordweave-dataset) anchor with a descriptive label to improve
accessibility and clarity.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 0480d8e7-337d-446f-96e6-95f1f73d91f9
⛔ Files ignored due to path filters (4)
site/content/images/nordweave-tutorial-customer-journey.pngis excluded by!**/*.pngsite/content/images/nordweave-tutorial-org-chart.pngis excluded by!**/*.pngsite/content/images/nordweave-tutorial-product-star.pngis excluded by!**/*.pngsite/content/images/nordweave-tutorial-supply-chain.pngis excluded by!**/*.png
📒 Files selected for processing (8)
site/content/agentic-ai-suite/tutorials/_index.mdsite/content/agentic-ai-suite/tutorials/nordweave/_index.mdsite/content/agentic-ai-suite/tutorials/nordweave/canvas-actions.mdsite/content/agentic-ai-suite/tutorials/nordweave/custom-themes.mdsite/content/agentic-ai-suite/tutorials/nordweave/graph-visualizer.mdsite/content/agentic-ai-suite/tutorials/nordweave/importing-data.mdsite/content/agentic-ai-suite/tutorials/nordweave/oneshard-databases.mdsite/content/agentic-ai-suite/tutorials/nordweave/satellitegraphs.md
| documents on one side, ready-to-load edges on the other. | ||
|
|
||
| You can download the dataset files used throughout this tutorial from | ||
| [here](../ordweave-dataset). The part that matters for the first chapter is |
There was a problem hiding this comment.
Fix typo in dataset download link.
The link URL contains a typo: ordweave-dataset should be nordweave-dataset (missing "N").
🐛 Proposed fix
-[here](../ordweave-dataset). The part that matters for the first chapter is
+[here](../nordweave-dataset). The part that matters for the first chapter is📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| [here](../ordweave-dataset). The part that matters for the first chapter is | |
| [here](../nordweave-dataset). The part that matters for the first chapter is |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 54-54: Link text should be descriptive
(MD059, descriptive-link-text)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@site/content/agentic-ai-suite/tutorials/nordweave/_index.md` at line 54, The
link in the Markdown line currently points to "../ordweave-dataset" which
contains a typo; update the URL to "../nordweave-dataset" so the dataset
download link points to the correct "nordweave-dataset" page (edit the link
target text in the line containing "[here](../ordweave-dataset)" in
site/content/agentic-ai-suite/tutorials/nordweave/_index.md).
| LET nodeList = @nodes | ||
| LET startNode = nodeList[0] | ||
| LET endNode = nodeList[1] | ||
| FOR p IN ALL_SHORTEST_PATHS startNode TO endNode | ||
| GRAPH "nordweave_catalog" | ||
| LIMIT 20 | ||
| RETURN p |
There was a problem hiding this comment.
Guard ALL_SHORTEST_PATHS action against invalid selection size.
Line 141-147 assumes two selected nodes but does not enforce it. If selection size is not exactly 2, the action can fail or behave unpredictably.
Suggested query hardening
LET nodeList = `@nodes`
-LET startNode = nodeList[0]
-LET endNode = nodeList[1]
-FOR p IN ALL_SHORTEST_PATHS startNode TO endNode
+FILTER LENGTH(nodeList) == 2
+FOR p IN ALL_SHORTEST_PATHS nodeList[0] TO nodeList[1]
GRAPH "nordweave_catalog"
LIMIT 20
RETURN p📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| LET nodeList = @nodes | |
| LET startNode = nodeList[0] | |
| LET endNode = nodeList[1] | |
| FOR p IN ALL_SHORTEST_PATHS startNode TO endNode | |
| GRAPH "nordweave_catalog" | |
| LIMIT 20 | |
| RETURN p | |
| LET nodeList = `@nodes` | |
| FILTER LENGTH(nodeList) == 2 | |
| FOR p IN ALL_SHORTEST_PATHS nodeList[0] TO nodeList[1] | |
| GRAPH "nordweave_catalog" | |
| LIMIT 20 | |
| RETURN p |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@site/content/agentic-ai-suite/tutorials/nordweave/canvas-actions.md` around
lines 141 - 147, The ALL_SHORTEST_PATHS query assumes exactly two selected nodes
but never validates `@nodes`; before using LET nodeList = `@nodes` and assigning LET
startNode = nodeList[0] / LET endNode = nodeList[1], add a guard that checks
nodeList.length === 2 and if not either surface a user-visible
error/notification or abort the action (no-op), ensuring the shortest-path query
(ALL_SHORTEST_PATHS) only runs when two nodes are selected; reference the
nodeList, startNode, endNode and ALL_SHORTEST_PATHS symbols when implementing
this validation.
| unstructured PDFs, Markdown, or plain text. For now, the spine is structured | ||
| JSONL, so this chapter uses the workhorse import tool: `arangoimport`. | ||
|
|
||
| You can grab the dataset files from [here](../ordweave-dataset) before |
There was a problem hiding this comment.
Fix typo in dataset download link.
The link URL contains a typo: ordweave-dataset should be nordweave-dataset (missing "N"). This is the same typo found in _index.md line 54.
🐛 Proposed fix
-You can grab the dataset files from [here](../ordweave-dataset) before
+You can grab the dataset files from [here](../nordweave-dataset) before📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| You can grab the dataset files from [here](../ordweave-dataset) before | |
| You can grab the dataset files from [here](../nordweave-dataset) before |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 19-19: Link text should be descriptive
(MD059, descriptive-link-text)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@site/content/agentic-ai-suite/tutorials/nordweave/importing-data.md` at line
19, Update the broken dataset link in the markdown by fixing the typo
"ordweave-dataset" to "nordweave-dataset" wherever it appears (e.g., in
importing-data.md and the related _index.md reference); locate the anchor text
"You can grab the dataset files from [here](../ordweave-dataset)" and replace
the URL segment to "../nordweave-dataset" so the link points to the correct
dataset folder.
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/canvas-actions.md (1)
141-147:⚠️ Potential issue | 🟠 Major | ⚡ Quick winGuard shortest-path action with exact two-node validation.
Line 141-147 still assumes two selected nodes without enforcing it. Add a guard so the action only runs when
@nodeshas exactly two IDs.Suggested hardening
LET nodeList = `@nodes` -LET startNode = nodeList[0] -LET endNode = nodeList[1] -FOR p IN ALL_SHORTEST_PATHS startNode TO endNode +FILTER LENGTH(nodeList) == 2 +FOR p IN ALL_SHORTEST_PATHS nodeList[0] TO nodeList[1] GRAPH "nordweave_catalog" LIMIT 20 RETURN p🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/canvas-actions.md` around lines 141 - 147, The action assumes two selected nodes but doesn't validate `@nodes`; update the code that builds nodeList/startNode/endNode to first check that `@nodes` contains exactly two IDs and abort or show an error if not (e.g., guard early when `@nodes.length` !== 2), then only set startNode = nodeList[0] and endNode = nodeList[1] and run the FOR p IN ALL_SHORTEST_PATHS ... block when the check passes.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/custom-themes.md`:
- Around line 121-137: The Editorial View theme references undefined graph
collections: add a vertex collection named influencers with attributes
follower_count and handle, and add edge collections ENDORSED_BY and FEATURED_IN
to the graph definition so the theme's rules (size by follower_count, label by
handle, and the two edge styles) resolve; alternatively, mark the "Editorial
View" theme as optional/advanced in the tutorial and document the supplemental
setup steps required (creating influencers, ENDORSED_BY, FEATURED_IN and mapping
follower_count/handle) so readers can follow the theme.
---
Duplicate comments:
In
`@site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/canvas-actions.md`:
- Around line 141-147: The action assumes two selected nodes but doesn't
validate `@nodes`; update the code that builds nodeList/startNode/endNode to first
check that `@nodes` contains exactly two IDs and abort or show an error if not
(e.g., guard early when `@nodes.length` !== 2), then only set startNode =
nodeList[0] and endNode = nodeList[1] and run the FOR p IN ALL_SHORTEST_PATHS
... block when the check passes.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: b172783d-841e-4b67-b9cd-a8c9e250741a
📒 Files selected for processing (9)
site/content/agentic-ai-suite/tutorials/_index.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/canvas-actions.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/custom-themes.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/graph-visualizer.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/importing-data.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/meeting-ada.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/oneshard-databases.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/satellitegraphs.md
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.md`:
- Around line 108-109: The stated "About 57k nodes" is inconsistent with the
vertex collections sum; re-check the intended node set and either correct the
total to ~174,604 or explicitly state which collections were excluded from the
count (e.g., exclude orders, returns, reviews, customers, etc.). Update the
sentence in _index.md to reflect the verified number or add a parenthetical
clarifying which collections are counted, and ensure the list of vertex
collections (brands, categories, collections, customers, employees, influencers,
materials, orders, products, returns, reviews, stores, style_tags, suppliers,
teams) is used as the authoritative source when recalculating the node count.
In
`@site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/autograph-knowledge-domains.md`:
- Line 10: Replace the ambiguous link text "[previous chapter]" in
autograph-knowledge-domains.md with a clearer reference to the GraphRAG chapter
by changing the sentence to one of the suggested phrasings (e.g., "The [GraphRAG
chapter](graphrag-over-reviews.md) built a single knowledge graph..." or
"Earlier, you built a single knowledge graph from a single corpus ([see
GraphRAG](graphrag-over-reviews.md))."); update the link text token "[previous
chapter]" so readers understand it points specifically to
graphrag-over-reviews.md rather than implying it is the immediately preceding
chapter.
In
`@site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/graphrag-over-reviews.md`:
- Around line 17-23: The tutorial chapter graphrag-over-reviews.md asserts exact
dataset counts (29,897 reviews, 200 supplier audits, 80 incident post-mortems)
that only partially appear on the landing _index.md; reconcile them by either
adding the missing counts (200 and 80) to
site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.md
under the unstructured/ or by editing graphrag-over-reviews.md to remove or
generalize the specific numeric claims (keep only the confirmed 29,897 if you
prefer); update the text lines referencing "29,897", "200", and "80" accordingly
so both files remain consistent.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: f5e2ada9-4196-4f43-ac02-fa0c52cd44c0
📒 Files selected for processing (13)
site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/agentic-merchandiser.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/autograph-knowledge-domains.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/canvas-actions.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/custom-themes.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/graph-analytics.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/graph-visualizer.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/graphml-predictions.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/graphrag-over-reviews.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/importing-data.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/meeting-ada.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/oneshard-databases.mdsite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/satellitegraphs.md
✅ Files skipped from review due to trivial changes (9)
- site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/agentic-merchandiser.md
- site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/graphml-predictions.md
- site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/custom-themes.md
- site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/oneshard-databases.md
- site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/satellitegraphs.md
- site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/graph-visualizer.md
- site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/meeting-ada.md
- site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/importing-data.md
- site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/canvas-actions.md
| About **57k nodes and ~750k edges** in total - small enough to fit on a | ||
| single DB-Server, large enough to make sharding decisions matter. A few |
There was a problem hiding this comment.
Verify the node count calculation.
The text states "About 57k nodes" but summing the vertex collections table yields approximately 174,604 records:
- brands (80) + categories (50) + collections (42) + customers (20,000) + employees (410) + influencers (100) + materials (54) + orders (100,976) + products (5,000) + returns (16,699) + reviews (29,897) + stores (41) + style_tags (105) + suppliers (120) + teams (30) = 174,604
This is a significant discrepancy. Please verify the intended node count or clarify if certain collections are excluded from the node count calculation.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.md`
around lines 108 - 109, The stated "About 57k nodes" is inconsistent with the
vertex collections sum; re-check the intended node set and either correct the
total to ~174,604 or explicitly state which collections were excluded from the
count (e.g., exclude orders, returns, reviews, customers, etc.). Update the
sentence in _index.md to reflect the verified number or add a parenthetical
clarifying which collections are counted, and ensure the list of vertex
collections (brands, categories, collections, customers, employees, influencers,
materials, orders, products, returns, reviews, stores, style_tags, suppliers,
teams) is used as the authoritative source when recalculating the node count.
| and assign each one its own RAG strategy, then retrieve across partitions | ||
| --- | ||
|
|
||
| The [previous chapter](graphrag-over-reviews.md) built a single knowledge graph |
There was a problem hiding this comment.
Clarify "previous chapter" reference to avoid navigation confusion.
The link text "[previous chapter]" points to graphrag-over-reviews.md, but according to the tutorial dependency structure, that chapter appears much earlier in the series (after Chapter 1.1), while this AutoGraph chapter depends on Chapter 2.4 (meeting-ada.md). Readers following the tutorial sequentially will have encountered several chapters between GraphRAG and AutoGraph, making "previous chapter" misleading.
Consider rewording to clarify the relationship, for example: "The GraphRAG chapter built a single knowledge graph..." or "Earlier, you built a single knowledge graph from a single corpus (see GraphRAG)."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/autograph-knowledge-domains.md`
at line 10, Replace the ambiguous link text "[previous chapter]" in
autograph-knowledge-domains.md with a clearer reference to the GraphRAG chapter
by changing the sentence to one of the suggested phrasings (e.g., "The [GraphRAG
chapter](graphrag-over-reviews.md) built a single knowledge graph..." or
"Earlier, you built a single knowledge graph from a single corpus ([see
GraphRAG](graphrag-over-reviews.md))."); update the link text token "[previous
chapter]" so readers understand it points specifically to
graphrag-over-reviews.md rather than implying it is the immediately preceding
chapter.
| - **29,897 customer reviews** - "the coral is way more washed-out than in the | ||
| photos", "pilled badly after the first wear", "runs generous, could have | ||
| sized down". | ||
| - **200 supplier audits** - factory inspection write-ups, fair-labor findings, | ||
| fabric-defect rates. | ||
| - **80 incident post-mortems** - "the SS24 selvedge run shrank two sizes after | ||
| the first wash; root cause traced to supplier `supp_0000`". |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Extract dataset statistics from the landing page and compare with this chapter.
# Extract numbers from the landing page
rg -n "reviews?|audits?|post-mortems?|incident" site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.md -C2Repository: arangodb/docs-hugo
Length of output: 2085
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE="site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.md"
echo "== Matches for audit =="
rg -n "audit" "$FILE" -C3 || true
echo
echo "== Matches for post-mortem =="
rg -n "post-?mortem" "$FILE" -C3 || true
echo
echo "== Matches for supplier/incident counts (numeric patterns near keywords) =="
rg -n "(supplier|incident).{0,80}([0-9]{1,3},[0-9]{3}|[0-9]{1,6})" "$FILE" -C1 || true
echo
echo "== Any rows in tables that include supplier/incident =="
rg -n "\|\s*(supplier|incident|post|audit)[^|]*\|" "$FILE" -C2 || trueRepository: arangodb/docs-hugo
Length of output: 2772
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE="site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.md"
echo "== Context around reviews row (29,897) =="
rg -n "reviews\s*\|\s*29,897|reviewed\s*\|\s*29,897" "$FILE" -C5 || true
echo
echo "== Context around unstructured/ description (supplier audits, incident post-mortems) =="
rg -n "unstructured/|supplier audits|incident post-mortems" "$FILE" -C10 || true
echo
echo "== Search for explicit counts near audits/post-mortems keywords =="
rg -n "audits?|post-?mortems?|incidents?" "$FILE" -C10 || true
echo
echo "== Search for standalone 200 and 80 in same vicinity of audit/post-mortem terms =="
rg -n "200|80" "$FILE" -C3 || trueRepository: arangodb/docs-hugo
Length of output: 6244
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE="site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.md"
# Look for likely collection/table identifiers
rg -n "(supplier[_ -]?audits|supplier[_ -]?audit|supplierAudit|audits?_?json|audit[_ -]?post|incident[_ -]?post[_ -]?mortem|post[_ -]?mortem|post[_ -]?mortems|incident[_ -]?post[_ -]?mortems)" "$FILE" -i -C3 || true
echo
echo "== Any numeric counts on/near 'incident' or 'audit' (to catch 200/80) =="
rg -n "(incident|audit)" "$FILE" -C8 | rg -n "([0-9]{1,3},)?[0-9]{1,3}" || true
echo
echo "== Look for table rows that contain 'audit' or 'mortem' =="
rg -n "\|\s*[^|]*(audit|audits|mortem|post-mortem|postmortem|post-mortems)[^|]*\|" "$FILE" -i -C2 || trueRepository: arangodb/docs-hugo
Length of output: 3520
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE="site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.md"
echo "== File line count =="
wc -l "$FILE"
echo
echo "== Section around the records table (near reviews=29,897) =="
rg -n "\|\s*reviews\s*\|\s*29,897\s*\|" "$FILE" -n
# Print a window around the first match line number
LINE="$(rg -n "\|\s*reviews\s*\|\s*29,897\s*\|" "$FILE" | head -n1 | cut -d: -f1)"
START=$((LINE-20))
END=$((LINE+20))
sed -n "${START},${END}p" "$FILE" | nl -ba
echo
echo "== Any explicit '200' mentions in the file =="
rg -n "200" "$FILE" -C2 || true
echo
echo "== Any explicit '80' mentions in the file =="
rg -n "80" "$FILE" -C2 || true
echo
echo "== Any table rows containing 'audit'/'audits'/'mortem'/'post-mortem' =="
rg -n "\|\s*[^|]*(audit|audits|mortem|post-mortem|postmortem|post-mortems|incident)\s*[^|]*\|\s*[0-9]" "$FILE" -i || trueRepository: arangodb/docs-hugo
Length of output: 366
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE="site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.md"
echo "== Segment around records table (lines 60-105) =="
sed -n '60,105p' "$FILE" | cat -n
echo
echo "== Any explicit '200' mentions =="
rg -n "200" "$FILE" -C2 || true
echo
echo "== Any explicit '80' mentions =="
rg -n "80" "$FILE" -C2 || true
echo
echo "== Lines containing post-mortem / mortems =="
rg -n "post-?mortems?|incident" "$FILE" -C5 || true
echo
echo "== Lines containing 'supplier audits' =="
rg -n "supplier audits|audits" "$FILE" -C5 || trueRepository: arangodb/docs-hugo
Length of output: 5481
Fix dataset-stat consistency in graphrag-over-reviews.md
29,897customer reviews matches thereviewsrecord count insite/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.md.200supplier audits and80incident post-mortems are not stated anywhere in that_index.md(they’re only referenced under theunstructured/description), so the tutorial’s specific counts can’t be reconciled with the landing page—either add those counts to_index.mdor revise this chapter to avoid asserting exact numbers.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/graphrag-over-reviews.md`
around lines 17 - 23, The tutorial chapter graphrag-over-reviews.md asserts
exact dataset counts (29,897 reviews, 200 supplier audits, 80 incident
post-mortems) that only partially appear on the landing _index.md; reconcile
them by either adding the missing counts (200 and 80) to
site/content/agentic-ai-suite/tutorials/from-postgresql-to-graph-powered-catalog/_index.md
under the unstructured/ or by editing graphrag-over-reviews.md to remove or
generalize the specific numeric claims (keep only the confirmed 29,897 if you
prefer); update the text lines referencing "29,897", "200", and "80" accordingly
so both files remain consistent.
There was a problem hiding this comment.
Review from running the tutorial end-to-end against a 3.12.9 Enterprise cluster plus verification against the current service code. Inline comments below, tagged blocking / should-fix / nit. The blocking items (SatelliteGraph-in-OneShard, and the two broken Canvas Action queries) were reproduced live on a cluster.
| LET nodeList = @nodes | ||
| LET startNode = nodeList[0] | ||
| LET endNode = nodeList[1] | ||
| FOR p IN ALL_SHORTEST_PATHS startNode TO endNode |
There was a problem hiding this comment.
Syntax error. ALL_SHORTEST_PATHS requires a direction keyword. As written this fails with ArangoError 1501: syntax error … unexpected ALL_SHORTEST_PATHS (reproduced on a 3.12.9 cluster). Fix:
FOR p IN ANY ALL_SHORTEST_PATHS startNode TO endNode GRAPH "nordweave_catalog"
|
|
||
| ```aql | ||
| FOR cust IN @nodes | ||
| FOR product, e, p IN 1..1 OUTBOUND cust returned |
There was a problem hiding this comment.
On a cluster/OneShard deployment (this tutorial's premise), a traversal over a bare edge collection needs a WITH clause declaring the vertex collections it touches. As written this errors: ArangoError 1521: collection not known to traversal: 'products'. please add 'WITH …' (reproduced live). Prefix with WITH customers, products. Action 1 works only because it uses the named GRAPH; the bare-collection actions don't.
| FOR v, e IN 1..1 OUTBOUND prod made_of | ||
| RETURN { vertex: v, edge: e } | ||
| ) | ||
| LET supplier = ( | ||
| FOR v, e IN 1..1 OUTBOUND prod manufactured_by | ||
| RETURN { vertex: v, edge: e } | ||
| ) | ||
| LET incidents = ( | ||
| FOR v, e IN 1..1 OUTBOUND prod affected_by |
There was a problem hiding this comment.
Two issues: (1) same missing-WITH problem as Action 4 — add WITH materials, suppliers, … or this errors on a cluster. (2) affected_by (line 78) isn't an edge collection in this dataset or in the nordweave_catalog definition — this LET returns nothing. Add it to the dataset + graph, or remove it.
| Select a product. Find products connected via the `similar_to` | ||
| relationship and pull in their review data. | ||
|
|
||
| - **Name:** Similar Products + Reviews | ||
| - **Description:** Select a product to find similar items and see who | ||
| reviewed them. | ||
|
|
||
| ```aql | ||
| FOR prod IN @nodes | ||
| FOR similar, e IN 1..1 ANY prod similar_to |
There was a problem hiding this comment.
similar_to isn't defined anywhere in the dataset or the named graph, and this is again a bare-collection traversal missing WITH. This action can't run as shown.
| const orgChart = sat._create("org_chart", [ | ||
| sat._relation("manages", ["employees"], ["employees"]), | ||
| sat._relation("member_of", ["employees"], ["teams"]), | ||
| sat._relation("leads", ["employees"], ["teams"]), | ||
| sat._relation("works_at", ["employees"], ["stores"]) |
There was a problem hiding this comment.
Blocking. This builds the SatelliteGraph inside the nordweave database, which the previous chapter made OneShard ({sharding:"single"}). Tested on a 3.12.9 Enterprise cluster: you cannot create a SatelliteGraph inside a OneShard database — the replicationFactor:"satellite" request is silently downgraded to a numeric factor (got rf=2) with no error or warning, so org_chart here is not actually a satellite. Control test: the identical call in a non-OneShard DB correctly returns replicationFactor:"satellite". OneShard (pin everything to one DB-Server) and SatelliteGraph (replicate to every DB-Server) are mutually exclusive by design. Fix: put the org-chart collections in a separate, non-OneShard database.
| Supplier -->|AUDITED_IN| SupplierAudit | ||
| Product -->|MADE_OF| Material | ||
| Product -->|AFFECTED_BY| Incident |
There was a problem hiding this comment.
AUDITED_IN and AFFECTED_BY appear in this diagram but aren't among the dataset's edge collections or the nordweave_catalog definition shown earlier on this page. Add them to the dataset/graph or remove them from the diagram.
| - `MADE_OF` edges: set the label to `pct` so you can see "75%" along the | ||
| edge line. You will immediately spot which material dominates a | ||
| product's composition. | ||
| - `AFFECTED_BY` edges: color these red with increased thickness. If a |
There was a problem hiding this comment.
AFFECTED_BY isn't a collection in the dataset/graph, so this theme rule matches nothing.
| - `ENDORSED_BY` edges: Color: a standout pink or coral. Thickness: 3. | ||
| - `FEATURED_IN` edges: Color: gold. These connect products to lookbooks. |
There was a problem hiding this comment.
ENDORSED_BY and FEATURED_IN (and the influencers relationships they imply) aren't defined in the dataset's edge collections or the named graph. These styling examples reference relationships that don't exist in the tutorial's data.
| *Corpus Graph*, the map of your knowledge. | ||
| 3. **Assigns each domain a RAG strategy** via the RAG Strategizer. | ||
| 4. **Builds a specialized partition** per domain. | ||
| 5. **Routes queries** to the partitions that actually hold the answer. |
There was a problem hiding this comment.
Verified against the latest code (graphrag_retrievers main + autograph origin/main): AutoGraph does not route queries — it exposes no retrieval/routing endpoint, and its partition_ids field only controls which partitions get built/orchestrated. The Retriever never auto-selects partitions either. Suggest rewording to "assigns each domain its own partition" and dropping the query-routing claim.
| the standalone GraphRAG case. It uses a **two-stage retrieval pattern**: | ||
|
|
||
| 1. **Identify the relevant partitions** for the question (which domains could | ||
| possibly hold the answer). | ||
| 2. **Deep-search within them**, using `partition_ids` to target only those |
There was a problem hiding this comment.
Step 1 ("identify the relevant partitions") is not done by the platform. Confirmed in the latest code: partition_ids is read only from the request and is never computed; if omitted, the Retriever searches all partitions with no routing. The caller/agent must determine the partitions itself. Please reword so it's clear this is the agent's/caller's responsibility (e.g. "your agent decides which partitions are relevant, then passes them as partition_ids") rather than an automatic two-stage retrieval the Retriever performs.
Description
Upstream PRs
Summary by CodeRabbit