Content deleted Content added
GSQL and Cypher pattern example |
References, complete Cypher, SQLServer |
||
Line 20:
=== Cypher 9 ===
Cypher<ref name="Cypher">{{cite web|url=https://dl.acm.org/citation.cfm?id=3190657|title=''Cypher: An Evolving Query Language for Property Graphs.'' In Proceedings of the 2018 International Conference on Management of Data (SIGMOD '18). ACM, New York, NY, USA, 1433-1445. DOI: 10.1145/3183713.3190657|last=Francis|first=Nadime|display-authors=etal|date=|website=|publisher=ACM|accessdate=October 25, 2019}}</ref> is a language originally designed and first implemented by Neo4j Inc., in 2011. Since 2015 it has been made available as an open source language description
Cypher allows creation, reading, updating and deleting of graph elements, and is a language that can therefore be used for analytics engines and transactional databases.
Line 37:
The current version of Cypher (including the temporal extension) is referred to as Cypher 9. Prior to the GQL project it was planned to create a new version, Cypher 10 ['''REF HEADING BELOW'''], that would incorporate features like schema and composable graph queries and views. The first designs for Cypher 10, including graph construction and projection, were implemented in the Cypher for Apache Spark project starting in 2016.<ref name="CAPS Morpheus">{{cite web|url=https://github.com/opencypher/morpheus||title=''Morpheus brings the leading graph query language, Cypher, onto the leading distributed processing platform, Spark.''|last=Rydberg|first=Mats|display-authors=etal|date=July 2016|website=|publisher=openCypher|accessdate=November 3, 2019}}</ref>.
Cypher is implemented in Neo4j's database, in SAP's HANA Graph, by Redis Graph<ref name="Redis Graph Cypher">{{cite web|url=https://oss.redislabs.com/redisgraph/|title=''RedisGraph - a graph database module for Redis''|last=|first=|date=|website=|publisher=Redis Labs|accessdate=November 9, 2019}}</ref>, by Cambridge Semantics' Anzograph<ref name="Anzograph openCypher">{{cite web|url=https://www.prweb.com/releases/cambridge_semantics_adds_opencypher_to_anzograph_cambridge_semantics_is_first_vendor_to_offer_both_rdf_sparql_and_opencypher_graph_data_access/prweb16192576.htm|title=''Cambridge Semantics Adds OpenCypher to AnzoGraph''|last=|first=|date=March 2019|website=|publisher=|accessdate=November 9, 2019}}</ref>, by Bitnine's Agens Graph, by Memgraph, and in open source projects Cypher for Gremlin<ref name="CfoG">{{cite web|url=https://github.com/opencypher/cypher-for-gremlin||title=''Cypher for Gremlin adds Cypher support to any Gremlin graph database.''|last=Novikov|first=Dmitry|display-authors=etal|date=January 2018|website=|publisher=openCypher|accessdate=November 3, 2019}}</ref> maintained by Neueda Labs in Riga, and Cypher for Apache Spark (now renamed to Morpheus)<ref name="CAPS Morpheus"/><ref name="Morpheus SQL and Cypher">{{cite web|url=https://databricks.com/session/neo4j-morpheus-interweaving-table-and-graph-data-with-sql-and-cypher-in-apache-spark||title=''Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apache Spark''|last=Green|first=Alastair|last2=Junghanns|first2=Martin|date=April 2019|website=|publisher=Databricks Inc.|accessdate=November 3, 2019}}</ref><ref name="Morpheus SQL and Cypher cont">{{cite web|url=https://databricks.com/session/neo4j-morpheus-interweaving-table-and-graph-data-with-sql-and-cypher-in-apache-spark-continues|title=''Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apache Spark (continues)''}}</ref>, as well as in research projects such as Cypher.PL and Ingraph<ref name="Cypher usage">{{cite web|url=http://www.opencypher.org/projects|title=''Usage of Cypher''|last=|first=|display-authors=etal|date=|website=|publisher=openCypher.org|accessdate=November 10, 2019}}</ref>. Cypher as a language is governed as the openCypher project
=== PGQL ===
Line 47:
=== GSQL ===
GSQL<ref name="GSQL white paper">{{cite web|url=https://info.tigergraph.com/gsql|title=''GSQL: An SQL-Inspired Graph Query Language''|last=Wu|first=Mingxi|last2=Deutsch|first2=Alin|date=|website=|publisher=|accessdate=November 9, 2019}}</ref> is a language designed for TigerGraph Inc.'s property graph database. Since October 2018 TigerGraph language designers have been very active in promoting and working on the GQL project. GSQL is a Turing-complete language that incorporates procedural flow control and iteration, and a facility for gathering and modifying computed values associated with a program execution for the whole graph or for elements of a graph called accumulators. These features are designed to enable iterative graph computations to be combined with data exploration and retrieval. GSQL graphs must be described by a schema of vertexes and edges . Vertexes and edges are are named schema objects which contain data but also define an imputed type, much as SQL tables are data containers, with an associated implicit row type. GSQL graphs are then composed from these vertex and edge sets, and multiple named graphs can include the same vertex or edge set. GSQL has developed new features since its release in September 2017<ref name="GSQL 1.0">{{cite web|url=https://doc-archive.tigergraph.com/1.0/GSQL-Language-Reference-Part-1---Defining-Graphs-and-Loading-Data.html|title=''GSQL documentation Tigergraph 1.0''.|date=2017|website=|publisher=|accessdate=November 9, 2019}}</ref>, most notably introducing variable-length edge pattern matching<ref name="GSQL patterns">{{cite web|url=https://docs.tigergraph.com/v/2.4/release-notes-change-log/release-notes-tigergraph-2.4|title=''Pattern Matching'', TigerGraph 2.4 Release Notes.|date=June 2019|website=|publisher=|accessdate=November 9, 2019}}</ref> using a syntax related to that seen in Cypher, PGQL, SQL/PGQ, but also close in style to the fixed-length patterns offered by Microsoft SQL/Server Graph<ref name="SQLServer Graph">{{cite web|url=https://docs.microsoft.com/en-us/sql/relational-databases/graphs/sql-graph-overview?view=sql-server-ver15#query-language-extensions|title=''Query language extensions'', Graph processing with SQL Server and Azure SQL Database|last=|first=|display-authors=etal|date=2017|website=|publisher=Microsoft Inc.|accessdate=November 10, 2019}}</ref>.
=== Cypher 10 extensions in Cypher for Apache Spark ===
|