OpenCypher Versions Save

Specification of the Cypher property graph query language

1.0.0-M23

10 months ago

This release includes:

  • TCK API - Fix bug in map comparison

1.0.0-M22

11 months ago

This release includes:

  • TCK API
    • Fix bug in unordered row comparison
    • Fix bug in unordered list comparison
    • Avoid silent failing on scenario initialization queries
    • Fix bug in expected error checking
  • TCK
    • Update expected error in ReturnOrderBy6 and WithOrderBy4

1.0.0-M21

1 year ago

This release includes:

  • Fix test assertions in Feature Aggregation5
  • Fix wrong variable in Feature ExistentialSubquery2

1.0.0-M20

1 year ago

This release includes:

  • Fix test assertions of labels function — compare irrespective of order now
  • Fix antlr parser demo, so that Cypher.g4 file does not reside as a resource in the repository anymore — it is looked for in the current working directory now

1.0.0-M19

1 year ago

This release includes:

  • General
    • Upgrade of log4j version to 2.17.0
    • Upgrade of xmlgraphics-commons version to 2.6
    • Minor dependencies fixes
  • CIPs
  • TCK, TCK API, and TCK tools
    • Update TCK scenarios to reflect CIP2021-07-07 Grouping key and aggregation expressions, primarily in TCK features Return6, ReturnOrderBy6, With6, and WithOrderBy4
    • Add TCK scenarios to reflect CIP2021-08-10 Operator precedence
    • Remove deprecated syntax from TCK scenarios, specifically
      • Octal number syntax starting with 0 instead of 0o
      • No coercion of lists to boolean
    • Add scenarios to TCK feature WithSkipLimit3
    • Update scenario in TCK feature List6 to avoid introducing variable in pattern predicate
    • Fix hashcode bug in TCK API class CypherLists
    • Speed up of TCK integrity tests
  • Grammar and grammar tools
    • Add antlr parser demo
    • Grammar refactorings
      • Add <PatternPredicate> ::= <RelationshipsPattern> for clearer distinction of <RelationshipsPattern> appearing as an <Atom>
      • Add separate production of s for better referencing and separation of quantifiers in the grammar
    • Add functionality to the grammar toolkit, e.g. praising of ISO WG3 BNF
    • Fix bug in grammar non-terminal <UnaryAddSubtractExpression>
    • Remove use of a deprecated antlr class

1.0.0-M18

2 years ago

This release includes two fixes:

  • Fix for Scala cross building for 2.12 and 2.13
  • Fix of TCK scenario expressions/boolean/Boolean5.[6]

1.0.0-M17

2 years ago

This release includes:

  • Support for Scala cross building for 2.12 and 2.13
  • TCK:
    • New scenarios in clauses/with-orderBy
    • New scenarios in clauses/call/Call5
    • New scenarios for creating multiple nodes with overlapping label sets in clauses/create
    • New scenarios in expressions/pattern
    • New scenarios in expressions/existentialSubquery
    • New scenarios in expressions/quantifier
    • New scenarios in expressions/boolean
    • Fixing missing result order in a number of scenarios
    • Fixing wrong result expectation of scenario expressions/boolean/Boolean5.[6]
    • Fixing type expectation scenarios in expressions/typeConversion scenarios
    • Fixing type expectation scenarios in expressions/list/List1
  • TCK tooling:
    • Scenario testing failure get automatically assigned the tag @NegativeTest by the TCK API for easy discovery
    • TCK error characteristics now allow wildcards
    • TCK API now retain causing exception when something fails during side effect measurement queries
    • New TCK step for creating CSV files
  • Grammar:
    • Fixing YIELD grammar
  • Grammar tooling:
    • tool grammarLink.html in tools/grammar-production-links, which provides the possibility to stably link a production by name in the openCypher grammar files without hard-coding the line number.

1.0.0-M16

2 years ago

This release includes the following:

  • Dependencies:
    • Upgrades:
      • Java: 1.8 -> 11
      • jUnit 5: 5.4 -> 5.7
      • Cucumber: 4.2.0 -> 5.7.0
      • Hamcrest: 1.3 -> 2.2
      • Maven Surefire Plugin: 2.22.1 -> 2.22.2
      • Maven Source Plugin: 3.0.0 -> 3.2.1
      • Commons CSV: 1.6 -> 1.8
      • Freemarker: 2.3.23 -> 2.3.30
      • Batik: 1.8 -> 1.13
      • XMLgraphics Commons: 2.0 -> 2.4
      • Jackson Dataformat XML: 2.9.0 -> 2.11.3
    • Dropped: ScalaCheck, APIguardian, jUnit 4
    • Added: Scalatest 3.2.2, co.helmethair.scalatest-junit-runner 0.1.8
  • CIPs:
    • Clarifying the Type System CIP regarding difference between graph elements and maps, particularly to point out that maps can explicitly contains with null values as is made use of by the SET clause
  • TCK:
    • Categorizing scenarios according to which feature of which clause or expression is tested; cf. tck/index.adoc for an overview
    • Numbering scenarios within a feature
    • Adding scenarios for openCypher value literals
    • Adding scenarios for testing on invalid arguments to NOT
    • Adding scenarios for maps with null values
    • Removing scenarios Call3.[7] and Call3.[8], which are currently not covered the openCypher spec
    • Removing scenarios that used VOID in the procedure signature; VOID has no established meaning in openCypher
  • TCK tooling:
    • Extending the TCK API to discover feature in subdirectories/subdirectories recursively
    • Unifying TCK API discovery of features as files in file system and as resources in a jar file
    • Extending the TCK API to expose the category and the scenarios number of each scenario
    • Extending the TCK API to expose an example index for scenarios that originate from scenario outlines; example index numbers the examples in order of their listing in the feature file starting at 0
    • Extending the TCK API to allow the naming of example of a scenario outline and expose that name for scenarios that originate from scenario outlines
    • Introduction of TCK inspection tools
      • A simple command line tool that outputs scenarios counts per categories and feature
      • The TCK Browser, a web browser accessed tool, that allows browsing the TCK as well as inspecting differences between two versions of the TCK
    • Modernising the TCK integrity checks; including
      • Adding a check for duplicate scenario names within a feature
      • Introducing a tag to switch off the openCypher grammar check on scenarios that deliberately violate the grammar requirement for testing purposes
      • Introducing a tag to switch off the openCypher style check on scenarios that deliberately violate the openCypher style for testing purposes
    • Adding a generator for tck/index.adoc
    • Adding TckTree to the TCK API to support hierarchical grouping of scenarios by categories, features, outlines, and tags
    • Adding more support for TCK compatibility testing, i.e. for running scenarios against an openCypher implementation

1.0.0-M15

4 years ago
  • Changes to Equality and Comparability CIP and corresponding TCK scenarios
  • Extends grammar tooling for reading and writing SQL style BNF
  • Adds TCK reporting and TCK report comparison modules

1.0.0-M14

5 years ago

This release includes:

  • Removed ANTLR dependency for TCK API (uses fastparse instead)