You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 30, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Oct 30, 2026. It is now read-only.
feat(llama-index): get_triplets() schema-lookup fallback when relation_names omitted #19
This breaks LlamaIndex pipelines that call get_triplets() without explicit relation types — which is the default behavior in PropertyGraphIndex.
Root cause
CoordiNode Cypher does not support wildcard [r] relationship patterns (returns 0 rows). The current implementation raises NotImplementedError rather than falling back to a working approach.
Solution
Apply the same schema-lookup fallback already used in get_rel_map():
Call self._client.get_schema_text() to fetch the current schema
Parse edge types via _parse_edge_types_from_schema()
Build a typed pattern [r:TYPE_A|TYPE_B|...] from discovered types
Execute the query with the dynamic relation filter
This is a pure SDK fix — no DB changes required. The pattern is already proven in get_rel_map() in the same file.
Acceptance criteria
get_triplets(entity_names=["Alice"]) returns results when schema has edge types
get_triplets() with no args returns all triplets (up to limit)
get_triplets(relation_names=["KNOWS"]) still works as before
Unit test covering the schema-lookup fallback path
Docstring updated (remove "relation_names is required" note)
No DB gate
This fix does not require any CoordiNode DB update. Can be implemented and released immediately.
Ref: CoordiNode Cypher gap G069 (wildcard [r] returns 0 rows — tracked separately in DB repo)
Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.
Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your .coderabbit.yaml:
issue_enrichment:
auto_enrich:
enabled: false
💬 Have feedback or questions? Drop into our discord!
Fixed in commit 6d009a7 — CoordiNode 0.3.2 added native support for wildcard [r] relationship patterns, so the schema-lookup fallback described in this issue is not needed. The implementation directly uses MATCH (n)-[r]->(m) when relation_names is not provided. Covered by test_upsert_and_get_triplets which calls get_triplets(entity_names=[...]) without relation_names.
Activity
coderabbitai commentedon Apr 11, 2026
🔗 Related PRs
#15 - fix: CoordiNode Cypher compatibility — add_graph_documents, type/label, MATCH+CREATE [closed]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!
polaz commentedon Apr 12, 2026
Fixed in commit
6d009a7— CoordiNode 0.3.2 added native support for wildcard[r]relationship patterns, so the schema-lookup fallback described in this issue is not needed. The implementation directly usesMATCH (n)-[r]->(m)whenrelation_namesis not provided. Covered bytest_upsert_and_get_tripletswhich callsget_triplets(entity_names=[...])withoutrelation_names.