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

Configurable pattern matching semantics in response to #174 #175

Open
wants to merge 38 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
8b6513b
Add proposal for isomorphic pattern matching in response to #174
boggle Jan 25, 2017
ed1a824
Support walks, trails, paths; shortest and cheapest paths matching
boggle Jul 16, 2017
6117618
Rework CIP
boggle Jul 16, 2017
5742fdf
Simplified set of match modes and default handling
boggle Jul 19, 2017
13f3711
Fix example
boggle Jul 19, 2017
fe68d48
Small fixups
boggle Jul 23, 2017
856ae1b
Removed duplicate line
boggle Jul 23, 2017
dd397a5
Restructure CIP and improve language
Mats-SX Jul 24, 2017
ce78377
Rename pattern binder to pattern variable
Mats-SX Jul 24, 2017
cd54871
Remove section on multiline patterns
Mats-SX Jul 24, 2017
9386b70
Remove section on pre-parser options
Mats-SX Jul 24, 2017
048ac32
Move functions to appendix
Mats-SX Jul 24, 2017
00dc3c1
Rename Walks section to walks, trails, paths
Mats-SX Jul 24, 2017
91622f5
Morphism CIP: add definitions of WTP
Jul 24, 2017
db32e46
Structural improvements
Jul 24, 2017
7cccfff
Tie pattern variable classes together with formal definitions
Jul 24, 2017
8f2982d
Tidy up referencing
Jul 24, 2017
254b890
Added plural forms to grammar
boggle Jul 24, 2017
d6384c2
Mandate correct cardinality warnings consistently
boggle Jul 24, 2017
b789402
Updated grammar to include all proposed syntactic forms
boggle Jul 24, 2017
e908196
Update grammar to allow match modes etc without giving a variable name
boggle Jul 24, 2017
dd74857
Reinstated pre-parser suggestions
Jul 25, 2017
f98570c
Add exemplar data graph: used for examples in CIPs
Jul 25, 2017
fce68fa
Clarified relationship of WTP to *morphisms
boggle Jul 26, 2017
40713bb
Add expansive example using data graph
Jul 26, 2017
50e7ac3
Added a detailed example; fix-ups; language changes
Jul 26, 2017
5a8436d
Formatted query headings so they are more readable in default GH view
Jul 26, 2017
08afc88
Added TOC
Jul 26, 2017
efb9fee
Removed Cycles and Circuits for now
boggle Jul 26, 2017
1c39c76
Change to minimize breaking existing queries
boggle Jul 26, 2017
f8c45b4
Update examples to reflect latest changes
boggle Jul 26, 2017
c6b01b5
Textual tidy-ups
Jul 27, 2017
ac72e91
Updated default rules + Moved disjoint back into proposal
boggle Jul 27, 2017
c139130
Reformatted title
Jan 17, 2018
8cb74ae
Updated to reflect recent discussions
boggle Mar 26, 2018
ad333a0
Merge remote-tracking branch 'me/isomatch' into isomatch
boggle Mar 26, 2018
3b4255f
Fix query result blocks
boggle Mar 26, 2018
b74e09e
Clarified DIFFERENT(vars) modifier
boggle Mar 26, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Remove section on multiline patterns
  • Loading branch information
Mats-SX committed Jul 24, 2017
commit cd548719fee86fc64d0e301dfa7070f68b4cb44c
Original file line number Diff line number Diff line change
Expand Up @@ -209,28 +209,6 @@ This CIP proposes to introduce additional predicates and functions for working w
* `toCycle(p)`: returns `toPath(p)` if `isClosed(p)` is true, `NULL` otherwise
* `disjoint(list1, list2, ..., list_n)` is true if the lists do not share any elements

=== Multiline patterns

Finally, this CIP proposes additional syntax for splitting a pattern binding accross multiple lines:

[source=cypher]
----
MATCH p=(a)-/~very_long_path_pattern/->(b)-/~another-long_path_pattern/->(c)
RETURN *
----

may be split as:

[source=cypher]
----
MATCH p=(a)-/~very_long_path_pattern/->(b)
+ (b)-/~another-long_path_pattern/->(c)
RETURN *
----

This additional syntax is necessary due to the changes uniqueness scoping rules for pattern variables.
Splitting the pattern using `,` instead of the proposed `+` would have changed the result by only binding the first part of the pattern to `p`.

== Pre-parser options

It is suggested that a conforming implementation should provide pre-parser options for defining the default pattern variable class as well as the default pattern match mode:
Expand Down