Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why remove shortestPath & allShortestPaths? #400

Open
wangtao9 opened this issue Mar 11, 2020 · 2 comments
Open

Why remove shortestPath & allShortestPaths? #400

wangtao9 opened this issue Mar 11, 2020 · 2 comments

Comments

@wangtao9
Copy link

I noticed that shortestPath & allShortestPaths were removed from the grammar recently, I don't understand why.

@hvub
Copy link
Contributor

hvub commented Mar 13, 2020

The ShortestPathPattern, which is the grammar non-terminal that contains both, shortestPath and allShortestPaths is still in the grammar specification. The specification files are the point of truth.

The EBNF files are generate for reader convenience from the grammar specification. So, it is a good question, why the production AnonymousPatternPart = PatternElement ; lacks | ShortestPathPattern. We have to investigate that.

@Mats-SX
Copy link
Member

Mats-SX commented Mar 17, 2020

These are marked as legacy in the source file:

<production name="ShortestPathPattern" rr:inline="true" oc:legacy="true">

That makes them not part of the main grammar artifact, but part of the legacy version of the artifacts. The legacy versions are also available on http://www.opencypher.org/resources.

This seems to be a mistake, however. The legacy mark was introduced in #98 but the Standardisation Scope document includes them. I would say that we should make sure that the grammar legacy markers are consistent with the document, by altering one or the other as appropriate.

Additional info on legacy grammar can be found in the README: https://github.com/opencypher/openCypher/tree/master/grammar#legacy-grammar

The real source of truth should probably be the Cypher 9 CIP: https://github.com/opencypher/openCypher/blob/master/cip/1.accepted/CIP2017-10-17-Cypher-9.adoc#21-neo4j-and-standardisation-scope

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

No branches or pull requests

3 participants