我将使用Neo4j显式/手动索引查询,类似于:
MATCH (d:Decision)-[:HAS_VALUE_ON]->(ch:Characteristic)
WHERE ch.id = 2
CALL apoc.index.in(ch,'HAS_VALUE_ON','property.1.4:5 AND property.1.3:"practical"') YIELD node AS decision
MATCH (decision)-[ru:CREATED_BY]->(u:User)
RETURN decision, u
为了使用它,我需要基于Lucene查询语言创建索引查询谓词,例如上面示例中的以下内容:
'property.1.4:5 AND property.1.3:"practical"'
根据我的业务逻辑,谓词内部的值来自UI,可能用于Cypher(SQL)注入。
以前我使用Cypher命名参数来避免这个问题,但看起来它在谓词字符串中不起作用。
如果在显式/手动索引Lucene查询谓词的情况下如何处理它?</ p>