Problem
E2E testing against v0.4.3 revealed four compatibility bugs discovered by running the README examples against a live CoordiNode instance:
langchain-coordinode
add_graph_documents() not implemented — inherited pass from GraphStore base, all graph data silently discarded
refresh_schema() uses unsupported Cypher functions — labels(n) and type(r) both return null in CoordiNode; must use n.__label__ and r.__type__ internal properties
llama-index-graph-stores-coordinode
upsert_relations() uses unsupported MERGE syntax — MERGE (src)-[r:TYPE]->(dst) fails with "MERGE create from non-NodeScan pattern"; replaced with MATCH+MATCH+CREATE
get_triplets() / get_rel_map() use type(r) — returns null; must use r.__type__
Fix
- Implement
add_graph_documents() in CoordinodeGraph with MERGE nodes + CREATE edges (with fallback for servers that don't support WHERE NOT pattern guards)
- Replace all
labels(n), type(r) with n.__label__, r.__type__
- Replace MERGE edge pattern with MATCH+CREATE in
upsert_relations()
Verification
All 15 e2e tests pass after the fix (core connect, langchain schema/query/add_graph_documents, llama-index upsert/get_triplets/structured_query/from_existing).
Problem
E2E testing against v0.4.3 revealed four compatibility bugs discovered by running the README examples against a live CoordiNode instance:
langchain-coordinode
add_graph_documents()not implemented — inheritedpassfromGraphStorebase, all graph data silently discardedrefresh_schema()uses unsupported Cypher functions —labels(n)andtype(r)both returnnullin CoordiNode; must usen.__label__andr.__type__internal propertiesllama-index-graph-stores-coordinode
upsert_relations()uses unsupported MERGE syntax —MERGE (src)-[r:TYPE]->(dst)fails with "MERGE create from non-NodeScan pattern"; replaced withMATCH+MATCH+CREATEget_triplets()/get_rel_map()usetype(r)— returnsnull; must user.__type__Fix
add_graph_documents()inCoordinodeGraphwith MERGE nodes + CREATE edges (with fallback for servers that don't supportWHERE NOTpattern guards)labels(n),type(r)withn.__label__,r.__type__upsert_relations()Verification
All 15 e2e tests pass after the fix (core connect, langchain schema/query/add_graph_documents, llama-index upsert/get_triplets/structured_query/from_existing).