diff --git a/src/components/ConnectivityQuery.vue b/src/components/ConnectivityQuery.vue
index 0314250f..e658b800 100644
--- a/src/components/ConnectivityQuery.vue
+++ b/src/components/ConnectivityQuery.vue
@@ -62,15 +62,15 @@
@@ -147,20 +147,23 @@ export default {
for (let i = 0; i < selectedHops.value + 1; i += 1) {
const queryOperator = nodeQuerySelection.value[i] === 'is (exact)' ? '==' : '=~';
if (i === 0) {
- pathQueryText += `FILTER p.vertices[${i}].${nodeVariable.value[i]} ${queryOperator} '${nodeVariableValue.value[i]}'`;
- } else {
- pathQueryText += ` AND p.vertices[${i}].${nodeVariable.value[i]} ${queryOperator} '${nodeVariableValue.value[i]}'`;
+ pathQueryText += `FILTER UPPER(p.vertices[${i}].${nodeVariable.value[i]}) ${queryOperator} UPPER('${nodeVariableValue.value[i]}')`;
+ } else if (nodeVariableValue.value[i] !== '') {
+ pathQueryText += ` AND UPPER(p.vertices[${i}].${nodeVariable.value[i]}) ${queryOperator} UPPER('${nodeVariableValue.value[i]}')`;
+ }
+ }
+ for (let i = 0; i < selectedHops.value; i += 1) {
+ if (i === 0 && edgeVariableValue.value[i] !== '') {
+ pathQueryText += ` FILTER p.edges[${i}].${edgeVariable.value[i]} == '${edgeVariableValue.value[i]}'`;
+ } else if (edgeVariableValue.value[i] !== '') {
+ pathQueryText += ` AND p.edges[${i}].${edgeVariable.value[i]} == '${edgeVariableValue.value[i]}'`;
}
}
const queryOperator = nodeQuerySelection.value[0] === 'is (exact)' ? '==' : '=~';
const aqlQuery = `
- let startNodes = (FOR n in [${store.state.nodeTableNames}][**] FILTER n.${nodeVariable.value[0]} ${queryOperator} '${nodeVariableValue.value[0]}' RETURN n)
- let paths = (FOR n IN startNodes FOR v, e, p IN 1..${selectedHops.value} ANY n GRAPH '${store.state.networkName}' ${pathQueryText} RETURN {nodes: p.vertices[*], paths: p})
- let all_nodes = (for p in paths RETURN p.nodes)
- let nodes_first = (for p in paths RETURN p.nodes[0])
- let nodes_last = (for p in paths RETURN p.nodes[${selectedHops.value}])
- let path = (for p in paths RETURN p.paths)
- RETURN {all_nodes: UNIQUE(all_nodes[**]), nodes_first: UNIQUE(nodes_first), nodes_last: UNIQUE(nodes_last), paths: path}
+ let startNodes = (FOR n in [${store.state.nodeTableNames}][**] FILTER UPPER(n.${nodeVariable.value[0]}) ${queryOperator} UPPER('${nodeVariableValue.value[0]}') RETURN n)
+ let paths = (FOR n IN startNodes FOR v, e, p IN 1..${selectedHops.value} ANY n GRAPH '${store.state.networkName}' ${pathQueryText} RETURN {paths: p})
+ RETURN {paths: paths[**].paths}
`;
// eslint-disable-next-line @typescript-eslint/no-explicit-any