我需要一个查询来检查节点是否存在,该节点上的特定属性是否存在并使用大小写或其他内容对结果进行后处理。
例如:
CALL apoc.cypher.run(“ OPTIONAL MATCH(n:Location {SureName:'9144735079d813886326'})RETURN CASE n.SubType时空则没有'位置未加载'ELSE n.SubType END作为结果UNION OPTIONAL MATCH( n:Location {SubType:'Site',SureName:'914473507981388d6326'})返回案例n.SubType当为空时则以'NotLoaded'ELSE n.SubType END作为结果“,null)收益值为AS
但是我希望能够仅返回一个字符串,具体取决于我得到的结果。
谢谢。
答案 0 :(得分:1)
您应该能够使用CASE语句根据条件输出值。也许像这样的查询可能有效:
// assume you've passed in $expectedSubType as a parameter
OPTIONAL MATCH (n:Location{SureName:'9144735079d813886326'})
WITH n, n IS NULL as notLoaded
RETURN CASE WHEN notLoaded THEN 'Location was not loaded'
WHEN n.SubType IS NULL THEN 'SubType missing'
WHEN n.SubType = $expectedSubType THEN 'Expected value'
ELSE 'Different value: ' + n.SubType END AS result