MetaGraphs
Metadata for graphs is stored as a series of named key-value pairs, with the key being an instance of type Symbol
and the value being any type. The following methods are available for MetaGraphs:
MetaGraphs.clear_props!
— Methodclear_props!(g)
clear_props!(g, v)
clear_props!(g, e)
clear_props!(g, s, d)
Remove all defined properties from graph g
, vertex v
, or edge e
(optionally referenced by source vertex s
and destination vertex d
).
MetaGraphs.defaultweight!
— Methoddefaultweight!(g, weight)
Set the default weight for metagraph g
MetaGraphs.defaultweight
— Methoddefaultweight(g)
Return the default weight for metagraph g
.
MetaGraphs.filter_edges
— Methodfilter_edges(g, prop[, val])
filter_edges(g, fn)
Return an iterator to all edges that have property prop
defined (optionally as val
), or where function fn
returns true
only for edges that should be included in the iterator.
fn
should be of the form
fn(g::AbstractMetaGraph{T}, e::SimpleEdge{T})::Boolean
where e
is replaced with the edge being evaluated.
MetaGraphs.filter_vertices
— Methodfilter_vertices(g, prop[, val])
filter_vertices(g, fn)
Return an iterator to all vertices that have property prop
defined (optionally as val
), or where function fn
returns true
only for vertices that should be included in the iterator.
fn
should be of the form
fn(g::AbstractMetaGraph, v::Integer)::Boolean
where v
is replaced with the vertex being evaluated.
MetaGraphs.get_prop
— Methodget_prop(g, prop::Symbol)
get_prop(g, prop::Symbol, default)
get_prop(g, v, prop::Symbol)
get_prop(g, v, prop::Symbol, default)
get_prop(g, e, prop::Symbol)
get_prop(g, e, prop::Symbol, default)
get_prop(g, s, d, prop::Symbol)
get_prop(g, s, d, prop::Symbol, default)
Return the property prop
defined for graph g
, vertex v
, or edge e
(optionally referenced by source vertex s
and destination vertex d
). Use the version with default
, to return a default value if the property is not defined. Otherwise, it will return an error.
MetaGraphs.has_prop
— Methodhas_prop(g, prop)
has_prop(g, v, prop)
has_prop(g, e, prop)
has_prop(g, s, d, prop)
Return true if the property prop
is defined for graph g
, vertex v
, or edge e
(optionally referenced by source vertex s
and destination vertex d
).
MetaGraphs.props
— Methodprops(g)
props(g, v)
props(g, e)
props(g, s, d)
Return a dictionary of all metadata from graph g
, vertex v
, or edge e
(optionally referenced by source vertex s
and destination vertex d
).
MetaGraphs.rem_prop!
— Methodrem_prop!(g, prop)
rem_prop!(g, v, prop)
rem_prop!(g, e, prop)
rem_prop!(g, s, d, prop)
Remove property prop
from graph g
, vertex v
, or edge e
(optionally referenced by source vertex s
and destination vertex d
). If property, vertex, or edge does not exist, will not do anything.
MetaGraphs.set_indexing_prop!
— Methodset_indexing_prop!(g, prop)
set_indexing_prop!(g, v, prop, val)
Make property prop
into an indexing property. If any values for this property are already set, each vertex must have unique values. Optionally, set the index val
for vertex v
. Any vertices without values will be set to a default ("(prop)(v)").
MetaGraphs.set_prop!
— Methodset_prop!(g, prop, val)
set_prop!(g, v, prop, val)
set_prop!(g, e, prop, val)
set_prop!(g, s, d, prop, val)
Set (replace) property prop
with value val
in graph g
, vertex v
, or edge e
(optionally referenced by source vertex s
and destination vertex d
). Will return false if vertex or edge does not exist, true otherwise.
MetaGraphs.set_props!
— Methodset_props!(g, dict)
set_props!(g, v, dict)
set_props!(g, e, dict)
set_props!(g, s, d, dict)
Bulk set (merge) properties contained in dict
with graph g
, vertex v
, or edge e
(optionally referenced by source vertex s
and destination vertex d
). Will return false if vertex or edge does not exist.
MetaGraphs.weightfield!
— Methodweightfield!(g, prop)
Set the field that contains weight information to prop
.
MetaGraphs.weightfield
— Methodweightfield(g)
Return the field that contains weight information for metagraph g
.