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

Reply via email to