igraph-help
[Top][All Lists]
Advanced

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

Re: [igraph] Does igraph support node ports/records?


From: Justin McCann
Subject: Re: [igraph] Does igraph support node ports/records?
Date: Fri, 20 Jan 2012 17:34:22 -0500

On Fri, Jan 20, 2012 at 5:04 PM, Tamás Nepusz <address@hidden> wrote:
> Hi,
>
>> I've been playing around with igraph a bit, and was wondering if it
>> supports the concept of named input/output ports on nodes.
>
> No, unfortunately not. Visualization is not the primary purpose of
> igraph so there is nothing in the current drawing code that would
> support node ports.
>
> Most of the visualization code will be (or rather has been) refactored
> between python-igraph 0.5 and 0.6 (which  is the current development
> version and not released yet). Graph drawing in 0.6 will be based on
> graph drawer classes, and theoretically one could implement a custom
> graph drawer that supports node ports (e.g., by inspecting a specific
> edge attribute which would tell which ports of the endpoints a given
> edge should be connected to), but it is not likely to be an easy task.

Thanks for your quick answer, even if it wasn't the one I was hoping
for! What I've used of igraph so far has been very nice.

In my case, it's not the visualization I need so much as the concept.
I have an application where each node has input and output ports, with
counters on those ports. I could attach the input/output counters as
attributes on the edges, but it's not always a 1:1 relationship. A
single output port on node A might connect to multiple input ports on
other nodes, and vice versa. And the counters are per-port, not
per-edge.

Here's a contrived example: a computer's Ethernet interface counters.
The edges I care about are "host1:port0 -> host2:port5", "host1:port0
-> host3:port7". We might have counters that track the number of
packets sent between host1 and host2 (flow counters) which would
attach to the edges, but we also have counters on the port itself
[each host's network interface(s)].

But maybe that's just an example of trying to combine too many layers
of abstraction, and ending up with a mess.

      Justin



reply via email to

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