You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Vertex wrapper (like Vertices but indicating it is a single vertex).
to_vertex function as an interface for canonicalizing single vertex inputs, such as converting QuotientVertexVertex to a plain vertex (which is currently handled by to_graph_index).
get_graph_index could call out to new interface functions get_graph_vertex or get_graph_edge, and maybe call to_vertex or to_edge for vertex/edge canonicalization (see the point above proposing to_vertex).
get_graph_indices could call out to new interface functions get_graph_vertices or get_graph_edges, which could call to_vertices or to_edges for vertex/edge collection canonicalization (such as wrapping QuotientVertexVertices in a QuotientVertexSlice).
Reevaluate parent_graph_indices, maybe find a better name or see if it can be removed.
Reevaluate graph_index_list_to_graph_index name/interface. Maybe it could be called flatten_graph_index_list?
Define isassigned(g::AbstractNamedGraph, I) = false (and write it in terms of associated interface functions is_graph_index_assigned, etc. which would get overloaded by DataGraphs).
Reassess what is output by add/rem_vertex!, add/rem_edge!, since it is not consistent with the output of those functions in Graphs.jl. Maybe we want to introduce other stricter interfaces like insert_vertex!, delete_vertex!, set_vertex!, unset_vertex!, etc. (modeled after the Dictionaries.jl interface).
Here are some potential followups to #115:
Vertexwrapper (likeVerticesbut indicating it is a single vertex).to_vertexfunction as an interface for canonicalizing single vertex inputs, such as convertingQuotientVertexVertexto a plain vertex (which is currently handled byto_graph_index).get_graph_indexcould call out to new interface functionsget_graph_vertexorget_graph_edge, and maybe callto_vertexorto_edgefor vertex/edge canonicalization (see the point above proposingto_vertex).get_graph_indicescould call out to new interface functionsget_graph_verticesorget_graph_edges, which could callto_verticesorto_edgesfor vertex/edge collection canonicalization (such as wrappingQuotientVertexVerticesin aQuotientVertexSlice).parent_graph_indices, maybe find a better name or see if it can be removed.graph_index_list_to_graph_indexname/interface. Maybe it could be calledflatten_graph_index_list?isassigned(g::AbstractNamedGraph, I) = false(and write it in terms of associated interface functionsis_graph_index_assigned, etc. which would get overloaded by DataGraphs).ispartitioned(g)trait function and use it indepartition/unpartition, see the discussion here:PartitionedGraphsextension forDataGraphsand interface overhaul. DataGraphs.jl#55 (comment).add/rem_vertex!,add/rem_edge!, since it is not consistent with the output of those functions in Graphs.jl. Maybe we want to introduce other stricter interfaces likeinsert_vertex!,delete_vertex!,set_vertex!,unset_vertex!, etc. (modeled after the Dictionaries.jl interface).