edgegraph.structure.vertex.Vertex#
- class edgegraph.structure.vertex.Vertex(*, links=None, uid=None, attributes=None, universes=None)#
Bases:
BaseObjectRepresents a vertex in an edge-vertex graph.
This class is a base class for anything that needs to “relate to” something else – another instance, or completely different types (as long as they both subclass this one, at some level).
- __init__(*, links=None, uid=None, attributes=None, universes=None)#
Creates a new vertex.
Unlike BaseObject, the Vertex class will add itself to Universes provided to this method.
See also
edgegraph.structure.base.BaseObject.__init__(), the superclass constructor
Methods
__init__(*[, links, uid, attributes, universes])Creates a new vertex.
add_to_link(link)Add this vertex to a link.
add_to_universe(universe)Adds this object to a new universe.
remove_from_link(link)Remove this vertex from a link.
remove_from_universe(universe)Remove this object from the specified universe.
Attributes
Return a tuple of links that are attached to this object.
Get the UID of this object.
Get the universes this object belongs to.
- add_to_link(link)#
Add this vertex to a link.
Roughly equivalent to calling the
Link’sadd_vertex()with this object as an argument.If the given link is already associated with this vertex, no action is taken.
Attention
Duplicate links ARE allowed! However, the same link twice is not. The difference is that of a
==vsiscomparison.==duplicate links are allowed,isduplicate links are ignored.- Parameters:
link (Link) – the link to add this vertex to
- add_to_universe(universe)#
Adds this object to a new universe. If it is already there, no action is taken.
In addition to the action(s) taken by the superclass (
add_to_universe()), this method also adds this vertex to the universes’ reference of vertices, if needed.- Parameters:
universe (Universe) – the new universe to add this object to
- property links: tuple[Link]#
Return a tuple of links that are attached to this object.
A tuple is given specifically to prevent the addition or removal of link objects using this attribute; it is intended to be immutable.
- remove_from_link(link)#
Remove this vertex from a link.
- Parameters:
link (Link) – the link to remove this vertex from.
- remove_from_universe(universe)#
Remove this object from the specified universe.
- property universes: frozenset[Universe]#
Get the universes this object belongs to.
Note that this gives you a
frozenset; you cannot add or remove universes from this attribute.See also
add_to_universe(),remove_from_universe()to add or remove this object from a given universe