unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Björn Höfling" <bjoern.hoefling@bjoernhoefling.de>
To: Pierre Neidhardt <ambrevar@gmail.com>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Extracting a reachability path out of a (package) DAG
Date: Tue, 17 Jul 2018 12:29:32 +0200	[thread overview]
Message-ID: <20180717122932.2c4dcc15@alma-ubu> (raw)
In-Reply-To: <87bmb6e0gl.fsf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1974 bytes --]

On Tue, 17 Jul 2018 10:22:02 +0200
Pierre Neidhardt <ambrevar@gmail.com> wrote:

> > gvpr -f markpath.g -a "ex 64168128 64167936" <
> > qt-thing/qt.package.dot : qt-acw.dot  
> 
> Can you explain the two magic numbers?  I'm not sure what you mean
> with "seed nodes".

The numbers are the node names from the graph created by "guix graph".
It looks like:

digraph "Guix package" {
  "64775296" [label = "ccache@3.4.2", shape = box, fontname = Helvetica];
  "64775296" -> "55094656" [color = dimgrey];
  "64775296" -> "54665792" [color = dimgrey];
  "64775296" -> "61828864" [color = dimgrey];
  "55094656" [label = "perl@5.26.1", shape = box, fontname = Helvetica];
  "54665792" [label = "which@2.21", shape = box, fontname = Helvetica];
  "61828864" [label = "zlib@1.2.11", shape = box, fontname = Helvetica];

}

I don't know how the numbers are generated, but they are the names of
the nodes. I could have used the labels also, but then you have to
parse out the version. So, you have to look into that graph file and
have to figure out your nodes of interest.

"seed nodes" is more like a internal name in my script: That's where I
start searching. Better call them "targets", where your path should go
to/stop at. You can have more than one.


> That said, I think it's a great idea.  Could we go even more
> interactive with an interface that filter the graph "live", e.g. some
> HTML+js web page?
> 
> Someone must have done that before...

guix graph --list-backends
The available backend types are:

  - graphviz: Generate graph in DOT format for use with Graphviz.
  - d3js: Generate chord diagrams with d3js.
  - cypher: Generate Cypher queries.

There is the d3js backend, which produces HTML+js. But I find this also
very confusing. Maybe one could use it as a basis to filter the graph
like I did with gvpr. 

Maybe one could use cypher to work with graphs, but I didn't succeed
with that way.

Björn



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

  reply	other threads:[~2018-07-17 10:29 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-17  8:10 Extracting a reachability path out of a (package) DAG Björn Höfling
2018-07-17  8:22 ` Pierre Neidhardt
2018-07-17 10:29   ` Björn Höfling [this message]
2018-07-17  8:24 ` Nils Gillmann
2018-07-17 10:32   ` Björn Höfling
2018-07-17 15:09     ` Gábor Boskovits
2018-07-21 21:55       ` Pierre Neidhardt
2018-07-22 18:53         ` Alex Kost
2018-07-22 18:59           ` Pierre Neidhardt
2018-07-22 19:18             ` Björn Höfling
2018-07-23 13:09 ` Ludovic Courtès
2018-08-04  3:54 ` Chris Marusich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180717122932.2c4dcc15@alma-ubu \
    --to=bjoern.hoefling@bjoernhoefling.de \
    --cc=ambrevar@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).