Skip to content

Conversation

@hvub
Copy link
Contributor

@hvub hvub commented Jun 7, 2021

This PR updates CIP2015-05-13 EXISTS (rendered view and in conjunction the grammar as well as TCK scenarios.

More specifically, the PR

@hvub hvub force-pushed the update-existential-subquery-cip branch from 4dc23f7 to cfca711 Compare June 8, 2021 20:49
@hvub hvub force-pushed the update-existential-subquery-cip branch from 97fabf4 to 4e87bde Compare June 9, 2021 09:08
@hvub hvub mentioned this pull request Jun 10, 2021
Copy link
Member

@Mats-SX Mats-SX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A very comprehensive rework, impressive!

I found a few typos that we should fix before merge. Also one comment on TCK correctness.

There are also some suggestions to improve understandability, which are optional.

Thanks a lot for this!

@Mats-SX
Copy link
Member

Mats-SX commented Jun 14, 2021

@hvub Great improvements! Thanks a lot for addressing my comments.


Both are allowed as https://raw.githack.com/openCypher/openCypher/master/tools/grammar-production-links/grammarLink.html?p=Atom[<Atom>]s of expressions.

Note that a <RelationshipsPattern> appearing in an expression is evaluated to a list of paths containing the matches of the pattern.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is <RelationshipsPattern> supposed to be a link like below? (Twice in this paragraph)

Further, https://raw.githack.com/openCypher/openCypher/master/tools/grammar-production-links/grammarLink.html?p=PatternComprehension[<PatternComprehension>] offer a more powerful and syntactically better separated means to get lists of matches for a pattern within expressions.

The understanding of subqueries in Cypher has evolved and Cypher gained a proper https://raw.githack.com/openCypher/openCypher/master/tools/grammar-production-links/grammarLink.html?p=NullOperatorExpression[<NullOperatorExpression>] (`IS [ NOT ] NULL`), cf. https://github.com/opencypher/openCypher/blob/master/cip/1.accepted/CIP2018-10-29-EXISTS-and-IS-NOT-NULL.adoc[CIP2018-10-29 EXISTS and IS NOT NULL].
Both developments and the issues around <RelationshipsPattern>s suggest the need for a refinement of the language constructs that allow testing of existence.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is <RelationshipsPattern> supposed to be a link?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added the links.

Copy link

@sherfert sherfert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking great!

@hvub hvub merged commit 7a452bd into opencypher:master Jun 15, 2021
@hvub hvub deleted the update-existential-subquery-cip branch June 15, 2021 11:33
Mats-SX added a commit to Mats-SX/openCypher that referenced this pull request Jul 2, 2021
- use same EBNF style as @hvub did in opencypher#493
- use links to connect to grammar constructs in openCypher grammar spec
- modify constraint operators to be suffix-modeled, ala IS NOT NULL
- introduce 'grouped-expression' concept
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants