Zainab-Saad commented on issue #1004: URL: https://github.com/apache/age/issues/1004#issuecomment-1697826442
As Wendel said, Neo4j supports logical operators (`|, &, !, %`) in addition to `colon (:)` operator (which is equivalent to `AND`). But colon and label expressions can not be mixed in the same clause. For example: `MATCH (n: A|B:C) RETURN n` ``` Neo.ClientError.Statement.SyntaxError Mixing label expression symbols ('|', '&', '!', and '%') with colon (':') is not allowed. Please only use one set of symbols. This expression could be expressed as :A|(B&C). (line 1, column 13 (offset: 12)) "MATCH (n: A|B:C) RETURN n" ^ ``` Another example of erroneous query is: `MATCH (n: A:B), (m: (A&B)|C) RETURN n, m` ``` Neo.ClientError.Statement.SyntaxError Mixing label expression symbols ('|', '&', '!', and '%') with colon (':') is not allowed. Please only use one set of symbols. This expression could be expressed as :A&B. (line 1, column 12 (offset: 11)) "MATCH (n: A:B), (m: (A&B)|C) RETURN n, m" ``` But using these different syntaxes in seperate queries is allowed `MATCH (n: A:B:C) MATCH (m: (A&B)|C) RETURN n, m` [Restrictions on label expression syntax](https://neo4j.com/docs/cypher-manual/current/syntax/expressions/#syntax-restrictions-label) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@age.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org