From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33392) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d8ngQ-0005qy-DL for guix-patches@gnu.org; Thu, 11 May 2017 08:59:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d8ngM-0002ff-Ck for guix-patches@gnu.org; Thu, 11 May 2017 08:59:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:35134) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d8ngM-0002fb-9Z for guix-patches@gnu.org; Thu, 11 May 2017 08:59:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d8ngM-0006gk-2o for guix-patches@gnu.org; Thu, 11 May 2017 08:59:02 -0400 Subject: bug#26807: [PATCH] graph: Add Cypher backend. Resent-Message-ID: References: <87fughk7fn.fsf@gnu.org> <87wp9oqvgk.fsf@gnu.org> From: Roel Janssen In-reply-to: <87wp9oqvgk.fsf@gnu.org> Date: Thu, 11 May 2017 14:57:51 +0200 Message-ID: <878tm3y2i8.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 26807@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Ludovic Courtès writes: > Hello! > > Roel Janssen skribis: > >> From 0e9c95ef3473fa7066ccd5991b1c14400aaa7076 Mon Sep 17 00:00:00 2001 >> From: Roel Janssen >> Date: Sat, 6 May 2017 23:15:03 +0200 >> Subject: [PATCH] graph: Add Cypher backend. >> >> * guix/graph.scm (%cypher-backend): New variable. > > If Neo4j is free software and packageable (is it Java?), why not! Yes, it's Java, so a lot of work to package. Fortunately, there is also AgensGraph which is similar to the PostgreSQL package, and it supports openCypher as well. So I tried it, and the queries will work with the latest git checkout of AgensGraph. Their latest release does not support automatically creating labels for the nodes and edges, which was fixed in this commit: https://github.com/bitnine-oss/agensgraph/commit/5eaecc1d429a08165bb964013ab8ee5516a062e7 So I think the output of what my patch produces should be fine for multiple implementations of openCypher. > Could you add a few lines in guix.texi under “Invoking guix graph”? > Maybe give an example invocation of cypher and explain how it differs > from the other backends (interactive features maybe?). Would the attached patch be fine for the manual? Thanks! Kind regards, Roel Janssen --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-doc-Add-documentation-about-cypher-backend-for-guix-.patch >From fe42c8fe8f50f7b58007f0ef8302307342695e07 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 11 May 2017 14:50:09 +0200 Subject: [PATCH] doc: Add documentation about cypher backend for 'guix graph'. * doc/guix.texi: Add documentation. --- doc/guix.texi | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 81aa957c6..a5b787510 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6197,7 +6197,9 @@ provides a visual representation of the DAG. By default, @uref{http://www.graphviz.org/, Graphviz}, so its output can be passed directly to the @command{dot} command of Graphviz. It can also emit an HTML page with embedded JavaScript code to display a ``chord diagram'' -in a Web browser, using the @uref{https://d3js.org/, d3.js} library. +in a Web browser, using the @uref{https://d3js.org/, d3.js} library, or +emit Cypher queries to construct a graph in a graph database supporting +the @uref{http://www.opencypher.org/, openCypher} query language. The general syntax is: @example -- 2.13.0 --=-=-=--