Skip to content
Open
Changes from 1 commit
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
56f2d90
First early draft for Cypher support for working with multiple graphs
boggle Jun 27, 2017
ce09cf5
Reflect recent discussions
boggle Jul 1, 2017
98d78b6
Minor changes and clarifications
boggle Jul 1, 2017
4714ca6
Remove graph space notion and consolidate update semantics section
boggle Jul 3, 2017
581f192
Move into correct directory
boggle Aug 3, 2017
343ff7d
Language changes
boggle Aug 3, 2017
4cdb3dc
Clarified semantics of UNION
boggle Aug 3, 2017
a756fcf
Removed INPUT GRAPHS syntax
boggle Aug 3, 2017
71ad96e
Reworked the syntax to be a little more flexible
boggle Aug 3, 2017
be361f6
Simplified aliasing and returning graphs syntax definition
boggle Aug 4, 2017
972ceaf
Tweaked syntax as per internal discussion
boggle Aug 4, 2017
4c0d1d2
Added more meaningful titles to existing examples
Aug 4, 2017
f8fcc8e
Added first draft of detailed example
Aug 4, 2017
89b9cc6
Reformatting of image and headings
Aug 5, 2017
aef40d7
Filled in Cypher statements for writing to new graphs in large example
Aug 5, 2017
3d066a5
Formatting improvements to detailed example
Aug 5, 2017
179cb8a
Rework graph-ref/def
boggle Aug 5, 2017
ea90ffc
Switch to slightly more regular syntax
boggle Aug 6, 2017
9c134d8
Reorganized syntax for tighter control on what goes where
boggle Aug 7, 2017
82cf43b
Fixed query
boggle Aug 7, 2017
73c4a6e
Very small textual changes - round 1
Aug 7, 2017
760d433
Removed all subgraph forms from examples: `{...}`
Aug 7, 2017
003cc1d
Changed WITH semantics, made COPY a def and, introduced THEN
boggle Aug 7, 2017
5da27c8
Rename execution context to session context
boggle Aug 8, 2017
70e3b0d
Made source graph and target graph part of query context
boggle Aug 8, 2017
4eeba29
New Sales roll-up example motivating returning tabular data and graphs
Aug 8, 2017
98d7288
Sales roll-up example refinements
Aug 8, 2017
d600ccc
Sales roll-up example: full query pipeline
Aug 8, 2017
9935f70
Formatting improvements
Aug 8, 2017
53d9d09
New example: external execution context using ext. input table and graph
Aug 8, 2017
dc40338
Add collecting graph defs, projections now update source, minor edits
boggle Aug 15, 2017
5d0e97c
Projecting follow-up source and target in one go
boggle Aug 16, 2017
b7d6f08
Minor clarifications and corrections
Mats-SX Aug 17, 2017
86ffb17
Clarify and restructure Named Graphs
Mats-SX Aug 17, 2017
8aa30b5
Alteration of some relationship types in the sales graphs
Sep 25, 2017
0382582
Reformatted title
Jan 17, 2018
90f884d
Cleaned out CIP prior to updating it
boggle Mar 21, 2018
edf1e80
MPGM and identities
boggle Mar 21, 2018
31f080d
More work on MG
systay Mar 21, 2018
f2a9587
Select, construct, return graph
boggle Mar 23, 2018
d339f8d
Graph union, clarified execution result, some shuffling
boggle Mar 24, 2018
dcd22de
Reshuffled initial definitions
boggle Mar 25, 2018
39be9ca
CONSTRUCT ON GRAPH and YIELD NONE
boggle Mar 25, 2018
9cdbbf0
Clarified different forms of YIELD
boggle Mar 25, 2018
90c53ad
Restructure query execution section
boggle Mar 25, 2018
9aef639
Fixups
boggle Mar 25, 2018
f938d15
Catalog operations and some polish
boggle Apr 3, 2018
b87de21
Added alternatives
boggle Apr 3, 2018
877d6ae
Work on examples
systay Apr 4, 2018
8a65cc4
Tiny corrections
boggle Apr 4, 2018
7e96620
Clearing up definitions
boggle Apr 5, 2018
e971be4
Wrapped up the integration example
systay Apr 6, 2018
849787c
Reworked graph construction and introduced provenance
boggle Apr 9, 2018
7a99b78
Auxiliary functions
boggle Apr 10, 2018
e6a0d68
Reshuffling and tweaking
boggle Apr 10, 2018
066f444
Fixed section level
boggle Apr 10, 2018
4d2135e
Fixed tab stops
boggle Apr 10, 2018
cbb52a8
Fixups
boggle Apr 10, 2018
0b66662
Mini fixes
boggle Apr 29, 2018
2327c3b
Reworked references vs identity a bit
boggle Apr 30, 2018
4bc50dd
WIP
boggle May 1, 2018
8ff91a1
Updated definitions
boggle May 4, 2018
fa9e85f
Shuffle structure
boggle May 4, 2018
4da00d2
More structure work
boggle May 4, 2018
85c3740
Added Data model text
May 4, 2018
3df1eb8
Tiny fixes
boggle May 4, 2018
d831bfc
Clone => Replicate
boggle May 4, 2018
3af673a
Juxtaposition, simplification, introspection functions
boggle May 6, 2018
93517e5
Fixed composite statement definition
boggle May 6, 2018
cde04b7
Fix definitions around composite statements
boggle May 6, 2018
7b2237c
Polished Abstract, Intro, Data Model
May 7, 2018
a18a2a2
Removed catalog section from CIP
boggle May 7, 2018
11d9531
Polished Query structure and Execution model
May 7, 2018
bdb3df3
Added Overview subsection
May 7, 2018
fec7c6e
local declarations and simple statement chains
boggle May 7, 2018
5cc373e
Polished Basic graph operations
May 7, 2018
97cd398
Merge branch 'CIP2017-06-18-multiple-graphs-devel' of github.com:bogg…
May 7, 2018
739a435
Links in Graph construction
May 7, 2018
53257da
Polishing of Graph construction - Take I
May 7, 2018
ed1a1aa
Polishing of Graph construction - Take II
May 7, 2018
1c06ab9
Addressed TODOs
boggle May 7, 2018
d96f928
Updated image
boggle May 7, 2018
c5b8e42
Fix up errors
May 8, 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
Updated definitions
  • Loading branch information
boggle committed May 4, 2018
commit 8ff91a1be5e0047702632c27dd04ed56a45ee2d9
23 changes: 15 additions & 8 deletions cip/1.accepted/CIP2017-06-18-multiple-graphs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -117,31 +117,38 @@ _Definition_: A *valid multiple property graphs model instance* adheres to the f

== Statements

_Definition_: A *source program* is a piece of text.
_Definition_: A *valid statement* is a statement that is valid according to the semantic rules of the Cypher property graph query language.

_Definition_: A *statement* is a source program that is a syntactically valid term according to the root production rule of the grammar of the Cypher property graph query language.
A statement may either be a statement chain or a single statement.

_Definition_: A *valid statement* is a statement that is valid according to the semantic rules of the Cypher property graph query language.
_Definition_: A *statement chain* is a single statement followed by a semicolon followed by another statement.

_Definition_: A *single statement* is either an *operator clause chain* or a *simple clause chain*.

_Definition_: An *operator clause chain* are two or more simple clause chains that are separated by the exact same operator clause.

Statements in turn consist of a chain of one or more clauses which each may be further qualified by clause arguments, sub-clauses and sub-clause arguments.
_Definition_: An *operator clause* is a clause that is used to connect multiple simple clause chains in an operator clause chain.

Note:: As per this and all accompanying proposal, the list of currently supported operator clauses is `UNION`, `UNION ALL`, `INTERSECT`, `EXCEPT`.

_Definition_: A *simple clause chain* is a sequence of one or more non-operator clauses which each may be further qualified by clause arguments, sub-clauses and sub-clause arguments.

_Definition_: Clauses may be classified according to their side-effects as either

* *reading clauses* that read data
* *updating clauses* that read and update data
* *schema clauses* that only read from and update the schema

_Definition_: A _statement_ may be categorized as:
_Definition_: A (single) statement may be categorized as:

* A *reading query* is a statement consisting of reading clauses that reads and returns data
* An *updating query* is a statement consisting of reading and updating clauses that reads, updates and returns data
* An *updating command* is a statement consisting of reading and updating clauses that reads and updates data but returns no data
* A *schema command* is a statement consisting of schema clauses that only updates the schema

// A statement may either be a *single statement* or a *statement chain*.

// TODO
// _Definition_: A _statement chain_ is a single statement followed by a semicolon followed by another statement.
Note:: An implementation may choose to limit the kinds of statements that can be combined in a statement chain (e.g. not allow to combine updating and schema commands in one chain).


== Query processing

Expand Down