guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Extracting a reachability path out of a (package) DAG


From: Björn Höfling
Subject: Re: Extracting a reachability path out of a (package) DAG
Date: Tue, 17 Jul 2018 12:29:32 +0200

On Tue, 17 Jul 2018 10:22:02 +0200
Pierre Neidhardt <address@hidden> 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 = "address@hidden", shape = box, fontname = Helvetica];
  "64775296" -> "55094656" [color = dimgrey];
  "64775296" -> "54665792" [color = dimgrey];
  "64775296" -> "61828864" [color = dimgrey];
  "55094656" [label = "address@hidden", shape = box, fontname = Helvetica];
  "54665792" [label = "address@hidden", shape = box, fontname = Helvetica];
  "61828864" [label = "address@hidden", 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: pgpE5BQU9FZrC.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]