GNU bug report logs - #26807
[PATCH] graph: Add Cypher backend.

Previous Next

Package: guix-patches;

Reported by: Roel Janssen <roel <at> gnu.org>

Date: Sat, 6 May 2017 21:22:01 UTC

Severity: normal

Tags: patch

Done: Roel Janssen <roel <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 26807 in the body.
You can then email your comments to 26807 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#26807; Package guix-patches. (Sat, 06 May 2017 21:22:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Roel Janssen <roel <at> gnu.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 06 May 2017 21:22:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Roel Janssen <roel <at> gnu.org>
To: guix-patches <at> gnu.org
Subject: [PATCH] graph: Add Cypher backend.
Date: Sat, 06 May 2017 23:21:32 +0200
[0001-graph-Add-Cypher-backend.patch (text/x-patch, attachment)]
[Message part 2 (text/plain, inline)]
Dear Guix,

I would like to add another backend to the 'guix graph' command.  This
backend will return a bunch of queries that can be used to create a
graph database for any database engine that uses openCypher (although I
only know one engine and it's called neo4j, which should be GPLv3 code).

If there was a way to ensure node definitions are written to the output
before the edges, I could simplify the queries a bit.  But I believe it
is quite fast anyway.

Thanks!

Kind regards,
Roel Janssen

Information forwarded to guix-patches <at> gnu.org:
bug#26807; Package guix-patches. (Wed, 10 May 2017 21:00:03 GMT) Full text and rfc822 format available.

Message #8 received at 26807 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Roel Janssen <roel <at> gnu.org>
Cc: 26807 <at> debbugs.gnu.org
Subject: Re: bug#26807: [PATCH] graph: Add Cypher backend.
Date: Wed, 10 May 2017 22:59:39 +0200
Hello!

Roel Janssen <roel <at> gnu.org> skribis:

> From 0e9c95ef3473fa7066ccd5991b1c14400aaa7076 Mon Sep 17 00:00:00 2001
> From: Roel Janssen <roel <at> gnu.org>
> 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!

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?).

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#26807; Package guix-patches. (Thu, 11 May 2017 12:59:02 GMT) Full text and rfc822 format available.

Message #11 received at 26807 <at> debbugs.gnu.org (full text, mbox):

From: Roel Janssen <roel <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 26807 <at> debbugs.gnu.org
Subject: Re: bug#26807: [PATCH] graph: Add Cypher backend.
Date: Thu, 11 May 2017 14:57:51 +0200
[Message part 1 (text/plain, inline)]
Ludovic Courtès writes:

> Hello!
>
> Roel Janssen <roel <at> gnu.org> skribis:
>
>> From 0e9c95ef3473fa7066ccd5991b1c14400aaa7076 Mon Sep 17 00:00:00 2001
>> From: Roel Janssen <roel <at> gnu.org>
>> 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

[0001-doc-Add-documentation-about-cypher-backend-for-guix-.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#26807; Package guix-patches. (Thu, 11 May 2017 14:04:03 GMT) Full text and rfc822 format available.

Message #14 received at 26807 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Roel Janssen <roel <at> gnu.org>
Cc: 26807 <at> debbugs.gnu.org
Subject: Re: bug#26807: [PATCH] graph: Add Cypher backend.
Date: Thu, 11 May 2017 16:03:32 +0200
Hi,

Roel Janssen <roel <at> gnu.org> skribis:

> Ludovic Courtès writes:
>
>> Hello!
>>
>> Roel Janssen <roel <at> gnu.org> skribis:
>>
>>> From 0e9c95ef3473fa7066ccd5991b1c14400aaa7076 Mon Sep 17 00:00:00 2001
>>> From: Roel Janssen <roel <at> gnu.org>
>>> 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.

OK.  Do these tools support interactive visualization in addition to
graph queries?

>> 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?

Yes, perfect (please squash it with the patch that adds the new
backend).

Thank you!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#26807; Package guix-patches. (Thu, 11 May 2017 14:16:01 GMT) Full text and rfc822 format available.

Message #17 received at 26807 <at> debbugs.gnu.org (full text, mbox):

From: Roel Janssen <roel <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 26807 <at> debbugs.gnu.org
Subject: Re: bug#26807: [PATCH] graph: Add Cypher backend.
Date: Thu, 11 May 2017 16:15:30 +0200
Ludovic Courtès writes:

> Hi,
>
> Roel Janssen <roel <at> gnu.org> skribis:
>
>> Ludovic Courtès writes:
>>
>>> Hello!
>>>
>>> Roel Janssen <roel <at> gnu.org> skribis:
>>>
>>>> From 0e9c95ef3473fa7066ccd5991b1c14400aaa7076 Mon Sep 17 00:00:00 2001
>>>> From: Roel Janssen <roel <at> gnu.org>
>>>> 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.
>
> OK.  Do these tools support interactive visualization in addition to
> graph queries?

Neo4j does that in a web browser, see:
https://neo4j.com/developer/guide-data-visualization/

AgensGraph does not AFAIK.  It just looks like (and it is) a PostgreSQL
prompt.

>
>>> 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?
>
> Yes, perfect (please squash it with the patch that adds the new
> backend).
>
> Thank you!
>
> Ludo’.

Great!  I will do that.

Kind regards,
Roel Janssen




Reply sent to Roel Janssen <roel <at> gnu.org>:
You have taken responsibility. (Thu, 11 May 2017 14:31:02 GMT) Full text and rfc822 format available.

Notification sent to Roel Janssen <roel <at> gnu.org>:
bug acknowledged by developer. (Thu, 11 May 2017 14:31:02 GMT) Full text and rfc822 format available.

Message #22 received at 26807-done <at> debbugs.gnu.org (full text, mbox):

From: Roel Janssen <roel <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 26807-done <at> debbugs.gnu.org
Subject: Re: bug#26807: [PATCH] graph: Add Cypher backend.
Date: Thu, 11 May 2017 16:29:44 +0200
Roel Janssen writes:

> Ludovic Courtès writes:
>
>> Hi,
>>
>> Roel Janssen <roel <at> gnu.org> skribis:
>>
>>> Ludovic Courtès writes:
>>>
>>>> Hello!
>>>>
>>>> Roel Janssen <roel <at> gnu.org> skribis:
>>>>
>>>>> From 0e9c95ef3473fa7066ccd5991b1c14400aaa7076 Mon Sep 17 00:00:00 2001
>>>>> From: Roel Janssen <roel <at> gnu.org>
>>>>> 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.
>>
>> OK.  Do these tools support interactive visualization in addition to
>> graph queries?
>
> Neo4j does that in a web browser, see:
> https://neo4j.com/developer/guide-data-visualization/
>
> AgensGraph does not AFAIK.  It just looks like (and it is) a PostgreSQL
> prompt.
>
>>
>>>> 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?
>>
>> Yes, perfect (please squash it with the patch that adds the new
>> backend).
>>
>> Thank you!
>>
>> Ludo’.
>
> Great!  I will do that.

Pushed in 5899fafbfefcd7682aec8f2caaaad3add678a3c4.

Thanks!

Kind regards,
Roel Janssen




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 09 Jun 2017 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 97 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.