我正在使用特定查询创建节点: -
create(n:HMP_QUERY_NODE {attributeTypes:'“attrMap”:{}',dependentId:85,isSingle:false,nodeCategory:“MDFConcept”,queryDesc:“MATCH(mdf:MDFConcept) - [:_ properties] - >(auditnode) - >(辐条)其中spoke.identifier ='MDF.Alternate'和spoke.status ='确认'和spoke.start_date <= timestamp()<= spoke.end_date与不同的mdf可选匹配(mdf)< - [r ] - ()其中NOT(type(r)IN ['ConceptHasChild','hasInstance'])AND r.status ='确认'AND r.start_date <= timestamp()<= r.end_date with mdf,count(r )作为relCount,其中relCount = 0返回mdf.elementLabel,mdf._type,relCount“,queryId:123,queryLabel:”MDF - AlternateNodes Without Relationship“,queryName:”MDF - General Reports“,queryOptionId:1,queryOptions:”“ ,状态:“D”})返回n
接下来,我尝试通过此查询获取此特定节点:
MATCH(节点:HMP_QUERY_NODE)WHERE node.status ='D'AND node.queryName ='MDF - 常规报告'RETURN node.queryLabel,node.dependentId,node.queryId
我得到的结果应该是我从上面的查询创建的当前节点,但它不存在。
现在,我无法理解这个问题是什么。我尝试用其他变量获取节点,但仍然没有收获。
Neo4j浏览器版本:3.0.11
在创建查询中放置空格:queryName:“MDF - General Reports”。我建议在你的密码中使用函数:trim(),你会看到结果。
MATCH (node:HMP_QUERY_NODE) WHERE node.status = 'D' AND trim(node.queryName) = 'MDF - General Reports' RETURN node.queryLabel,node.dependentId,node.queryId
结果:
╒════════════════════════════════════════════╤══════════════════╤══════════════╤═════════════════════════╕
│"node.queryLabel" │"node.dependentId"│"node.queryId"│"node.queryName" │
╞════════════════════════════════════════════╪══════════════════╪══════════════╪═════════════════════════╡
│" MDF – AlternateNodes Without Relationship"│85 │123 │" MDF - General Reports "│
└────────────────────────────────────────────┴──────────────────┴──────────────┴─────────────────────────┘