Coder Social home page Coder Social logo

Comments (8)

ajdapretnar avatar ajdapretnar commented on June 14, 2024 1

Absolutely! It's a welcome to-do list. I'm trying to salvage what can be salvaged atm, but I'm not familiar at all with this add-on, so it's baby steps for me.

If you can at least catch the error and add a line or two in the docs regarding the issues, it would be great to have such a PR! We are currently not aiming at supporting many things, but making the existing codebase work without errors. 😁 Then we'll go from there.... hopefully. 🤞

from orange3-network.

ajdapretnar avatar ajdapretnar commented on June 14, 2024

Please note that this add-on is highly unmaintained. If you'd care to contribute some fixes, we would highly appreciate it!

from orange3-network.

zanderle avatar zanderle commented on June 14, 2024

Totally understand that, I just like to report the issues I stumble upon to point to possible future work and to document existing issues. Usually that can be helpful :)

from orange3-network.

zanderle avatar zanderle commented on June 14, 2024

The problem for both points seems to be in trying to naively sort the nodes: https://github.com/biolab/orange3-network/blob/master/orangecontrib/network/widgets/graphview.py#L317

Which in case of mixed nodes throws something like

Traceback (most recent call last):
  File "/Users/zanderle/Projects/orange3/Orange/canvas/scheme/widgetsscheme.py", line 822, in process_signals_for_widget
    handler(*args)
  File "/Users/zanderle/Projects/orange3-network/orangecontrib/network/widgets/OWNxExplorer.py", line 502, in set_graph
    self.view.set_graph(self.graph, relayout=False)
  File "/Users/zanderle/Projects/orange3-network/orangecontrib/network/widgets/graphview.py", line 313, in set_graph
    for v in sorted(graph.nodes()):
TypeError: unorderable types: Graph() 

from orange3-network.

kernc avatar kernc commented on June 14, 2024

Does it work without the sort? If Graph() isn't hashable, it will fail at least three lines further below.

Based on NetworkX package, I would expect to be able to

Orange3-Network uses NetworkX, as in by composition. It doesn't extend it.

  1. use another graph as a node

How do we visualize this? How are items (data instances) assigned to and computed from such nodes?

from orange3-network.

zanderle avatar zanderle commented on June 14, 2024

Haven't tested this further, so I'm not sure whether it works without the sort or not.

Orange3-Network uses NetworkX, as in by composition. It doesn't extend it.

That is not clear from the documentation in the code (below). Would be great if it was explicitly stated how it can/can't be used.

The reference in this section is complemented with the original NetworkX
library reference. For a complete documentation please refer to the
NetworkX docs <http://networkx.lanl.gov/reference/>_. All methods from the
NetworkX package can be used for graph analysis and manipulation. For reading
and writing graphs refer to the Orange.network.readwrite docs.

How do we visualize this? How are items (data instances) assigned to and computed from such nodes?

Not sure, but I don't see why it couldn't be treated like any other node.

Bottom line: maybe it's not a bug, but at the very least it's a documentation bug.

from orange3-network.

janezd avatar janezd commented on June 14, 2024

@zanderle I didn't really understand point 1. However, the widget has been reimplemented from scratch. Please see if if works as intended. Suggestions welcome.

Point 2 is something we won't have because it doesn't fit into Orange. We also haven't met anybody who would need such hierarchy of networks. To me it sound more like "collapsing" (hiding) some parts of networks.

from orange3-network.

zanderle avatar zanderle commented on June 14, 2024

@janezd to be honest, I can't recall what the issue was either. I've used this add-on only once for a class and it's been a while. I might try it out again, but it will take me a while :)

All I can remember is that the documentation referenced this:

For a complete documentation please refer to the
NetworkX docs http://networkx.lanl.gov/reference/_. All methods from the
NetworkX package can be used for graph analysis and manipulation.

But the add-on didn't actually implement some things in the same way. So if you look into the documentation for NetworkX it shows how you can use different types for node labels (you can mix strings and ints for example). Similarly, you could also create a graph of graphs (point 2).
https://networkx.github.io/documentation/networkx-1.10/tutorial/tutorial.html#nodes

Not saying that the add-on should implement all of this in the same way. But If it doesn't then the problem was that the documentation was misleading.

That being said, I can't find any of this in add-on's current documentation, so I guess that solves the problem :) So from what I can tell (and this may not be 100% correct, because like I've said it's been a while), this issue can be closed.

from orange3-network.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.