Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow for asymetric links #9

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jtracey
Copy link

@jtracey jtracey commented Mar 11, 2019

let me know what you want changed

@jtracey
Copy link
Author

jtracey commented Mar 12, 2019

Some notes on design decisions made:

  • Right now, specifying an attribute using both its undirected and directed form is "undefined behavior", which in practice manifests as "which ever gets parsed last wins". If we were to define a behavior, my preference would be for the code to just error out, but arguments for other design choices could be made.

  • The code as-is makes a bit of a sketchy assumption that if the attribute is weightKey + "up" or "down", it's the directed version of that key. This works for the keys we supply, but is not generally safe for all potential keywords (e.g., "c" and "cup"). In practice it's unlikely to be an issue, but it's still a little ugly. One option would to be use camel-case suffixes, which I currently opted not to because of existing bandwidthup/down keys.

  • The SelfLink direction is arbitrary, I just picked one.

  • The graphml file is still listed as being an undirected graph, even though this is no longer really true, I think (really, I don't know you could ever say it was, since there was always a notion of "source" and "target" on edges). I don't know the graphml format very well, does undirected mean something else?

@jtracey
Copy link
Author

jtracey commented Mar 23, 2019

status update for posterity: Spoke to Nik, and we agree that it's better to re-do the front-end of this code to use directed graphml instead (plus some other minor fixes). Since the branch as-is works for what I need now, it's not at the top of my priority list, but it will get done eventually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant