{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaGraphs/LightGraphs.jl/issues/72","labels_url":"https://api.github.com/repos/JuliaGraphs/LightGraphs.jl/issues/72/labels{/name}","comments_url":"https://api.github.com/repos/JuliaGraphs/LightGraphs.jl/issues/72/comments","events_url":"https://api.github.com/repos/JuliaGraphs/LightGraphs.jl/issues/72/events","html_url":"https://github.com/JuliaGraphs/LightGraphs.jl/pull/72","id":91664280,"number":72,"title":"WIP: Support AbstractGraphs","user":{"login":"IainNZ","id":692635,"avatar_url":"https://avatars.githubusercontent.com/u/692635?v=3","gravatar_id":"","url":"https://api.github.com/users/IainNZ","html_url":"https://github.com/IainNZ","followers_url":"https://api.github.com/users/IainNZ/followers","following_url":"https://api.github.com/users/IainNZ/following{/other_user}","gists_url":"https://api.github.com/users/IainNZ/gists{/gist_id}","starred_url":"https://api.github.com/users/IainNZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IainNZ/subscriptions","organizations_url":"https://api.github.com/users/IainNZ/orgs","repos_url":"https://api.github.com/users/IainNZ/repos","events_url":"https://api.github.com/users/IainNZ/events{/privacy}","received_events_url":"https://api.github.com/users/IainNZ/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-06-29T01:28:51Z","updated_at":"2015-06-29T02:03:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JuliaGraphs/LightGraphs.jl/pulls/72","html_url":"https://github.com/JuliaGraphs/LightGraphs.jl/pull/72","diff_url":"https://github.com/JuliaGraphs/LightGraphs.jl/pull/72.diff","patch_url":"https://github.com/JuliaGraphs/LightGraphs.jl/pull/72.patch"},"body":"This PR:\r\n\r\n* Makes a new test that implements a new graph type that does not explicitly contain the edges and vertices\r\n* Makes modifications to core.jl to make methods as general as possible. Note that these default methods might be horribly inefficient for a new abstract type, but that can be addressed on a per-method basis by the new type - they will at least work by default.\r\n* Tightens up some of the methods in core.jl that were relying on internal fields\r\n* Removes some methods from graphs, digraphs.jl that could be used for general graphs if directedness was checked.\r\n\r\nI've just been going through the functions on the \"basic measures\" part of the docs, will get to more complicated measures before its done.\r\n\r\nNote that a second step after this would be to consider a type hierachy that seperates abstract undirected and abstract directed graphs, like\r\n\r\n```julia\r\nabstract AbstractDiGraph\r\nabstract AbstractGraph <: AbstractDiGraph\r\n```\r\nor\r\n```julia\r\nabstract AbstractGeneralGraph\r\nabstract AbstractDiGraph <: AbstractGeneralGraph\r\nabstract AbstractGraph <: AbstractGeneralGraph\r\n```\r\n\r\nwhich would eliminate the `is_directed` ifs that this introduces."},"comment":{"url":"https://api.github.com/repos/JuliaGraphs/LightGraphs.jl/issues/comments/116375241","html_url":"https://github.com/JuliaGraphs/LightGraphs.jl/pull/72#issuecomment-116375241","issue_url":"https://api.github.com/repos/JuliaGraphs/LightGraphs.jl/issues/72","id":116375241,"user":{"login":"IainNZ","id":692635,"avatar_url":"https://avatars.githubusercontent.com/u/692635?v=3","gravatar_id":"","url":"https://api.github.com/users/IainNZ","html_url":"https://github.com/IainNZ","followers_url":"https://api.github.com/users/IainNZ/followers","following_url":"https://api.github.com/users/IainNZ/following{/other_user}","gists_url":"https://api.github.com/users/IainNZ/gists{/gist_id}","starred_url":"https://api.github.com/users/IainNZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IainNZ/subscriptions","organizations_url":"https://api.github.com/users/IainNZ/orgs","repos_url":"https://api.github.com/users/IainNZ/repos","events_url":"https://api.github.com/users/IainNZ/events{/privacy}","received_events_url":"https://api.github.com/users/IainNZ/received_events","type":"User","site_admin":false},"created_at":"2015-06-29T02:03:09Z","updated_at":"2015-06-29T02:03:09Z","body":"Yeah I'm halfway through some of the traversal functions and they all just work. I don't think it'll take me long to finish up and then will be ready to merge."}}