| 
1 | 1 | = Neo4j Cypher Manual  | 
2 | 2 | 
 
  | 
 | 3 | +This page covers the following topics:  | 
 | 4 | + | 
 | 5 | +* xref:README.adoc#building-locally[]  | 
 | 6 | +* xref:README.adoc#raising-prs[]  | 
 | 7 | +* xref:README.adoc#documenting-changes[]  | 
 | 8 | +* xref:README.adoc#cypher-gql[]  | 
 | 9 | +
  | 
 | 10 | +[[building-locally]]  | 
3 | 11 | == Building locally  | 
4 | 12 | 
 
  | 
5 | 13 | === Prereqs  | 
@@ -39,7 +47,7 @@ When you run `npm start`, the project is monitored for updates to asciidoc files  | 
39 | 47 | 
 
  | 
40 | 48 | If a change to an asciidoc file is detected, the site is automatically rebuilt.  | 
41 | 49 | 
 
  | 
42 |  | - | 
 | 50 | +[[raising-prs]]  | 
43 | 51 | == Raising PRs  | 
44 | 52 | 
 
  | 
45 | 53 | 
 
  | 
@@ -69,3 +77,43 @@ There are a few edge cases where we might want to work only on the current branc  | 
69 | 77 | ** Create a feature branch from `dev`, to be merged into `dev` when appropriate.  | 
70 | 78 | * When a new version is ready to published, the `cypher-25` branch will get a git tag, named with the exact version (for example, **2025.01.00**), signifying that this point-in-time marks the completion of the work for that minor release.  | 
71 | 79 | * Updates merged into the `dev` branch for the next release are cherry-picked into the `cypher-25` branch.  | 
 | 80 | + | 
 | 81 | +[[documenting-changes]]  | 
 | 82 | +== Documenting changes to Cypher  | 
 | 83 | + | 
 | 84 | +New, updated, deprecated, and removed features must be recorded on the xref:modules/ROOT/pages/deprecations-additions-removals-compatibility.adoc[Deprecations, additions, and compatibility] page.  | 
 | 85 | + | 
 | 86 | +New and deprecated features should also be marked with a label:  | 
 | 87 | + | 
 | 88 | +* If the impacted feature has its own header in the Cypher Manual, use the following:  | 
 | 89 | + | 
 | 90 | +....  | 
 | 91 | +[role=label--new-2025.mm]  | 
 | 92 | +== Header  | 
 | 93 | +....  | 
 | 94 | + | 
 | 95 | +....  | 
 | 96 | +[role=label--deprecated]  | 
 | 97 | +== Header  | 
 | 98 | +....  | 
 | 99 | + | 
 | 100 | +* If the impacted feature is documented within a table (such as a return column in a `SHOW` command), use the following:  | 
 | 101 | + | 
 | 102 | +`featureX` label:new[Introduced in 2025.mm] +  | 
 | 103 | +`featureY` label:deprecated[]  | 
 | 104 | + | 
 | 105 | +Labels can be difficult to apply to updated features.  | 
 | 106 | +In these cases, it is often preferable to note the change in a sentence.  | 
 | 107 | +For example: "As of Neo4j 2025.mm, `featureX` supports ..."  | 
 | 108 | + | 
 | 109 | +Removed features should be deleted from the Cypher Manual.  | 
 | 110 | + | 
 | 111 | +[[cypher-gql]]  | 
 | 112 | +== Cypher and GQL  | 
 | 113 | + | 
 | 114 | +When documenting a new Cypher feature, its relationship with GQL must be considered:  | 
 | 115 | + | 
 | 116 | +* If the feature is part of GQL's mandatory features, it should be recorded on the page xref:modules/ROOT/pages/appendix/gql-conformance/supported-mandatory.adoc[Supported mandatory GQL features].  | 
 | 117 | +* If the feature is part of GQL's optional features, it should be recorded on the page xref:modules/ROOT/pages/appendix/gql-conformance/supported-optional.adoc[Supported optional GQL features].  | 
 | 118 | +* if the feature adds functionality for which there exists an analogous, optional GQL feature, it should be recorded on the page xref:modules/ROOT/pages/appendix/gql-conformance/analogous-cypher.adoc[Optional GQL features and analogous Cypher].  | 
 | 119 | +* If the feature adds functionality for which there exists no GQL equivalent, it should be recorded on the page xref:modules/ROOT/pages/appendix/gql-conformance/additional-cypher.adoc[Additional Cypher features].  | 
0 commit comments