我不能声称自己是cypher的新手,因为我已经使用了超过两个月,但仍然无法进行某些类型的查询。 我想知道是否有人可以帮助我进行此类查询。

假设我的订单数据具有以下多个标签节点:

(o:Order:Active:New)(o:Order:Active:InProcess)(o:Order:Active:Approved) (o:Order:Active:InProcess)(o:Order:Active:Approved) (o:Order:Active:InProcess) (o:Order:Closed)

并有关系

(c:Customer)-[:PLACED_ORDER]-(o)-[:APPROVED_BY]->(e:Employee), (o)-[:HAS_CONSTRAINTS]->(dc:DateConstraint)

假设所有这些节点都具有InternalId属性。

  1. 我如何才能找到Active and NewActive and Inprocess但未Active and Approved的客户的所有订单。 基本上是要查询多个标签。
  2. 我如何找到别人批准的所有订单,即除我拥有的员工的InternalId以外的其他员工批准的订单。
  3. 我如何查询所有没有约束的订单,即缺少HAS_CONSTRAINTS关系

问候基兰

===============>>#1 票数:4 已采纳

  1. 在(o:Order)MATCH(o:Order)所在的位置:o:Active AND(o:New或o:InProcess)返回o;
  2. MATCH(o:Order)-[:APPROVED_BY]->(e)不在e.InternalId = {InternalId}返回o;
  3. 匹配(o:Order)不在(o)-[:HAS_CONSTRAINTS]->()返回o;

在#2中,我假设您要传递“ InternalId”参数。

  ask by Kiran translate from so

未解决问题?本站智能推荐: