There appears to be a bug when calling any procedure within a CALL { ... } sub-query, in the context of a loop (where cardinality/rows are greater than 1). The error message received is: _"Query failed: Procedure 'algo.all_simplepaths' did not yield all fields as required by its signature."
When the procedure is called within the CALL { ... } sub-query and is part of a loop, the error is encountered.
It may be connected to the fact that MATCH (user:User) RETURN user returns three rows.
MATCH (user:User)
CALL {
with user
CALL algo.all_simple_paths(user, user, [], 2)
YIELD path
return path
}
return path
Limiting the rows to 1 in the CALL{...} sub-query returns an error:
MATCH (user:User)
with user
CALL {
with user limit 1
CALL algo.all_simple_paths(user, user, [], 2)
YIELD path
return path
}
return path
Example dataset that work well:
MATCH (user:User)
with user
CALL algo.all_simple_paths(user, user, [], 2)
YIELD path
return path
When limiting the rows to 1 in the initial MATCH, there is no issue when executing queries:
MATCH (user:User)
with user limit 1 // reduce cardinality to 1
CALL {
with user
CALL algo.all_simple_paths(user, user, [], 2)
YIELD path
return path
}
return path
There appears to be a bug when calling any procedure within a CALL { ... } sub-query, in the context of a loop (where cardinality/rows are greater than 1). The error message received is: _"Query failed: Procedure 'algo.all_simplepaths' did not yield all fields as required by its signature."
Example dataset:
Example queries that return error message:
When the procedure is called within the CALL { ... } sub-query and is part of a loop, the error is encountered.
It may be connected to the fact that
MATCH (user:User) RETURN user
returns three rows.Limiting the rows to 1 in the CALL{...} sub-query returns an error:
Example dataset that work well: