Skip to content
This repository was archived by the owner on Apr 4, 2021. It is now read-only.

compiler: Standard Cypher constructions #35

Closed
78 of 84 tasks
szarnyasg opened this issue Dec 6, 2016 · 2 comments
Closed
78 of 84 tasks

compiler: Standard Cypher constructions #35

szarnyasg opened this issue Dec 6, 2016 · 2 comments

Comments

@szarnyasg
Copy link
Member

szarnyasg commented Dec 6, 2016

(Related ticket: #51)

Use this issue to keep track of supported Cypher constructs.

Clauses

  • Pattern matching constructs
    • node pattern
    • relationship pattern of a single hop
    • relationship pattern of multiple hops
    • direction of the relationship pattern
    • attribute constraints in node and relationship patterns
  • Data manipulation
    • CREATE
    • MERGE
    • SET
    • DELETE
    • DETACH DELETE
    • REMOVE
  • Procedure calls
    • CALL ... YIELD (as this call may run an arbitrary Java code, there is no way we can handle these incrementally)

Sub-clauses

We can safely ignore these for now.

  • ON CREATE
  • ON MATCH

Operators

  • String operations
    • STARTS WITH
    • CONTAINS
    • ENDS WITH
  • Query constructs
    • MATCH
    • RETURN
      • RETURN *
      • expression on the return list
      • alias handling
      • RETURN DISTINCT
      • Sub-clauses:
        • ORDER BY (handles variables and expressions as well as name resolution for aliased RETURN items)
        • SKIP (SKIP and LIMIT only implemented for constants)
        • LIMIT
    • UNWIND
    • WITH
    • UNION
  • Arithmetic comparison
    • =
    • <> (also !=, though non-standard)
    • <
    • >
    • <=
    • >=
  • Arithmetic operators
    • +
    • -
    • /
    • *
    • ^
    • %
  • Logical operators
    • NOT
    • AND
    • OR
    • XOR
  • NULLs
    • <variable> IS [NOT] NULL
    • <expression> IS [NOT] NULL
  • Accessors
    • . (property access)
    • [] (subscript) (Note: we don't support p['foo'], which is a syntax sugar for p.foo)

Expressions

We can safely ignore these for now:

Functions

Types

  • primitives
  • list
  • map
  • node
  • relationship
  • path
szarnyasg added a commit that referenced this issue Dec 16, 2016
jmarton added a commit that referenced this issue Dec 29, 2016
@szarnyasg szarnyasg changed the title Standard Cypher constructions parser: Standard Cypher constructions Jan 4, 2017
jmarton added a commit that referenced this issue Jan 8, 2017
@szarnyasg szarnyasg mentioned this issue Jan 26, 2017
5 tasks
@szarnyasg szarnyasg added the epic label Feb 25, 2017
@szarnyasg szarnyasg added this to the ADBIS milestone Mar 2, 2017
@szarnyasg szarnyasg changed the title parser: Standard Cypher constructions compiler: Standard Cypher constructions Mar 7, 2017
@szarnyasg szarnyasg removed their assignment Mar 7, 2017
@szarnyasg
Copy link
Member Author

We have quite a few constructs ready - the rest goes for DBPL and beyond.

@szarnyasg szarnyasg modified the milestones: DBPL, ADBIS Apr 6, 2017
@szarnyasg szarnyasg modified the milestones: summer, CIKM May 6, 2017
@szarnyasg
Copy link
Member Author

Let's continue this in #150, #151 and #152.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants