These constants represent operator opcodes, groups of opcodes, and opcode filter profiles as related to the operation transfer protocol used for network communication between VGX instances.

Constant Description

Vertex Instance Operators

pyvgx.op.OP_vxn

New vertex

pyvgx.op.OP_vxd

Delete vertex

pyvgx.op.OP_vxr

Set vertex rank

pyvgx.op.OP_vxt

Set vertex type

pyvgx.op.OP_vxx

Set vertex expiration

pyvgx.op.OP_vxc

Convert vertex manifestation

pyvgx.op.OP_vps

Set vertex property

pyvgx.op.OP_vpd

Delete vertex property

pyvgx.op.OP_vpc

Clear vertex properties

pyvgx.op.OP_vvs

Set vertex vector

pyvgx.op.OP_vvd

Delete vertex vector

pyvgx.op.OP_vod

Delete vertex outarcs

pyvgx.op.OP_vid

Delete vertex inarcs

pyvgx.op.OP_val

Acquire vertex write lock

pyvgx.op.OP_vrl

Release vertex write lock

Arc Operators

pyvgx.op.OP_arc

Create arc

pyvgx.op.OP_ard

Delete arc

System Operators

pyvgx.op.OP_nop

No operation

pyvgx.op.OP_sya

System attach

pyvgx.op.OP_syd

System detach

pyvgx.op.OP_rcl

Clear registry

pyvgx.op.OP_scf

Configure similarity

pyvgx.op.OP_grn

New graph

pyvgx.op.OP_grd

Delete graph

pyvgx.op.OP_com

Send data as comment

pyvgx.op.OP_dat

Send raw data

pyvgx.op.OP_clg

Clone graph

Graph Instance Operators

pyvgx.op.OP_grt

Truncate graph

pyvgx.op.OP_grp

Persist graph

pyvgx.op.OP_grs

Assert graph state

pyvgx.op.OP_grr

Set graph readonly

pyvgx.op.OP_grw

Set graph writable

pyvgx.op.OP_gre

Enable background TTL

pyvgx.op.OP_gri

Disable background TTL

Synchronization Operators

pyvgx.op.OP_tic

Heartbeat

pyvgx.op.OP_evx

Execute all due TTL events

Vertex Acquisition Operators

pyvgx.op.OP_lxw

Acquire multiple vertex write locks atomically

pyvgx.op.OP_ulv

Release multiple vertex write locks atomically

pyvgx.op.OP_ula

Release all vertex write locks atomically

Enumeration Operators

pyvgx.op.OP_vea

Add vertex type enumeration

pyvgx.op.OP_ved

Remove vertex type enumeration

pyvgx.op.OP_rea

Add relationship enumeration

pyvgx.op.OP_red

Remove relationship enumeration

pyvgx.op.OP_dea

Add vector dimension enumeration

pyvgx.op.OP_ded

Remove vector dimension enumeration

pyvgx.op.OP_kea

Add property key enumeration

pyvgx.op.OP_ked

Remove property key enumeration

pyvgx.op.OP_sea

Add property string value enumeration

pyvgx.op.OP_sed

Remove property string value enumeration

[anyop]

[OP_ANY]

All operators

Action Groups

pyvgx.op.OP_ACTION_assign

Operators modifying existing attributes

pyvgx.op.OP_ACTION_create

Operators creating new objects

pyvgx.op.OP_ACTION_delete

Operators deleting objects

pyvgx.op.OP_ACTION_event

Operators communicating events

Scope Groups

pyvgx.op.OP_SCOPE_single

Operators affecting single objects

pyvgx.op.OP_SCOPE_multiple

Operators affecting multiple objects

Target Groups

pyvgx.op.OP_TARGET_vertex

Operators affecting vertex objects

pyvgx.op.OP_TARGET_arc

Operators affecting arcs

pyvgx.op.OP_TARGET_system

Operators with system-wide effect

pyvgx.op.OP_TARGET_graph

Operators affecting graphs

pyvgx.op.OP_TARGET_rw

Operators modifying read-write state of graphs

pyvgx.op.OP_TARGET_evp

Operators modifying the TTL event processor state

pyvgx.op.OP_TARGET_time

Operators affecting heartbeat and time synchronization

pyvgx.op.OP_TARGET_exec

Operators performing mass-execution of events

pyvgx.op.OP_TARGET_acquire

Operators modifying write-locks of multiple vertices

pyvgx.op.OP_TARGET_enum

Operators affecting enumerations

Operator Profiles

pyvgx.op.OP_PROFILE_consumer

Filter profile suitable for VGX instances that do not generate their own data

1. Operator Opcodes

These constants represent individual operator opcodes and are suitable for use with pyvgx.op.Allow() and pyvgx.op.Deny().

1.1. Vertex Instance Operators

1.1.1. pyvgx.op.OP_vxn

Create a new vertex if it does not already exist.

Operator vxn is the equivalent of graph instance method pyvgx.Graph.CreateVertex().

1.1.2. pyvgx.op.OP_vxd

Delete an existing vertex.

Operator vxd is the equivalent of graph instance method pyvgx.Graph.DeleteVertex().

1.1.3. pyvgx.op.OP_vxr

Assign rank coefficients to an existing vertex.

Operator vxr is the equivalent of vertex instance method pyvgx.Vertex.SetRank().

1.1.4. pyvgx.op.OP_vxt

Modify the type of an existing vertex.

Operator vxt is the equivalent of vertex instance method pyvgx.Vertex.SetType().

1.1.5. pyvgx.op.OP_vxx

Set the vertex expiration time.

Operator vxx is the equivalent of vertex instance method pyvgx.Vertex.SetExpiration().

1.1.6. pyvgx.op.OP_vxc

Convert vertex manifestation from VIRTUAL to REAL.

Operator vxc is managed automatically and has no direct API equivalent.

1.1.7. pyvgx.op.OP_vps

Set vertex property.

Operator vps is the equivalent of vertex instance method pyvgx.Vertex.SetProperty().

1.1.8. pyvgx.op.OP_vpd

Delete vertex property.

Operator vpd is the equivalent of vertex instance method pyvgx.Vertex.RemoveProperty().

1.1.9. pyvgx.op.OP_vpc

Clear vertex properties.

Operator vpc is the equivalent of vertex instance method pyvgx.Vertex.RemoveProperties().

1.1.10. pyvgx.op.OP_vvs

Set vertex vector.

Operator vvs is the equivalent of vertex instance method pyvgx.Vertex.SetVector().

1.1.11. pyvgx.op.OP_vvd

Delete vertex vector.

Operator vvd is the equivalent of vertex instance method pyvgx.Vertex.RemoveVector().

1.1.12. pyvgx.op.OP_vod

Remove all vertex outarcs.

Operator vod has no direct API equivalent but has the same effect as calling graph.Disconnect( vertex, pyvgx.D_OUT ).

1.1.13. pyvgx.op.OP_vid

Remove all vertex inarcs.

Operator vid has no direct API equivalent but has the same effect as calling graph.Disconnect( vertex, pyvgx.D_IN ).

1.1.14. pyvgx.op.OP_val

Acquire vertex write lock.

Operator val is managed automatically and has no direct API equivalent.

1.1.15. pyvgx.op.OP_vrl

Release vertex lock.

Operator vrl is managed automatically and has no direct API equivalent.

1.2. Arc Operators

1.2.1. pyvgx.op.OP_arc

Create arc between two vertices.

Operator arc is the equivalent of graph instance method pyvgx.Graph.Connect().

1.2.2. pyvgx.op.OP_ard

Delete arc(s) between two vertices.

Operator ard is the equivalent of graph instance method pyvgx.Graph.Disconnect() when an exact neighbor vertex is specified.

1.3. System Operators

1.3.1. pyvgx.op.OP_nop

Operator nop has no effect.

1.3.2. pyvgx.op.OP_sya

System attach notification.

Operator sya is generated by pyvgx.op.Attach(). This operator has no functional significance other than indicating the time of the attach and information about the operation stream source.

1.3.3. pyvgx.op.OP_syd

System detach notification.

Operator syd is generated by pyvgx.op.Detach(). This operator has no functional significance other than indicating the time of the detach and information about the operation stream source.

1.3.4. pyvgx.op.OP_rcl

Clear system registry.

Operator rcl has no direct API equivalent but has the same effect as calling system.DeleteGraph() on all currently loaded graph instances.

1.3.5. pyvgx.op.OP_scf

Configure similarity parameters.

TBD. (Operator scf)

1.3.6. pyvgx.op.OP_grn

Create new graph instance.

Operator grn is the equivalent of graph constructor pyvgx.Graph().

1.3.7. pyvgx.op.OP_grd

Delete graph instance.

Operator grd is the equivalent of system function system.DeleteGraph().

1.3.8. pyvgx.op.OP_com

Inject a log message string into the operation stream.

Operator com is emitted by operation function op.ProduceComment().

1.3.9. pyvgx.op.OP_dat

Inject arbitrary data into the operation stream.

Operator dat is emitted by operation function op.ProduceRaw().

1.3.10. pyvgx.op.OP_clg

Clone graph.

TBD. (Operator clg)

1.4. Graph Instance Operators

1.4.1. pyvgx.op.OP_grt

Truncate graph.

Operator grt is the equivalent of graph instance method pyvgx.Graph.Truncate().

1.4.2. pyvgx.op.OP_grp

Persist graph.

Operator grp is the equivalent of graph instance method pyvgx.Graph.Save().

1.4.3. pyvgx.op.OP_grs

Graph state, with optional assert.

Operator grs is emitted with assert flag for all graphs when operation function op.Assert() is called. Operator grs may also be emitted automatically by the system (without assert flag) as part of other operations.

1.4.4. pyvgx.op.OP_grr

Set graph readonly.

Operator grr is emitted when graph instance method pyvgx.Graph.SetGraphReadonly() is called, and may also be emitted automatically by the system in other situations.

1.4.5. pyvgx.op.OP_grw

Set graph writable.

Operator grw is emitted when graph instance method pyvgx.Graph.ClearGraphReadonly() is called, and may also be emitted automatically by the system in other situations.

1.4.6. pyvgx.op.OP_gre

Enable graph TTL events.

Operator gre is emitted when graph instance method pyvgx.Graph.EventEnable() is called, and may also be emitted automatically by the system in other situations.

1.4.7. pyvgx.op.OP_gri

Disable graph TTL events.

Operator gri is emitted when graph instance method pyvgx.Graph.EventDisable() is called, and may also be emitted automatically by the system in other situations.

1.5. Synchronization Operators

1.5.1. pyvgx.op.OP_tic

System heartbeat.

Operator tic is emitted automatically by the system when more than 4000 milliseconds have elapsed since the last operator.

1.5.2. pyvgx.op.OP_evx

Execute all due TTL events.

Operator evx has no direct API equivalent.

1.6. Vertex Acquisition Operators

1.6.1. pyvgx.op.OP_lxw

Atomic write-lock acquisition for multiple vertices.

Operator lxw is the equivalent of graph instance method pyvgx.Graph.OpenVertices().

1.6.2. pyvgx.op.OP_ulv

Atomic lock release for multiple vertices.

Operator ulv is the equivalent of graph instance method pyvgx.Graph.CloseVertices().

1.6.3. pyvgx.op.OP_ula

Release all vertex locks.

Operator ula does not have a direct API equivalent.

1.7. Enumeration Operators

1.7.1. pyvgx.op.OP_vea

Add new vertex type enumeration to graph instance.

Operator vea is generated whenever a previously unused vertex type T is specified for a new vertex in a graph, i.e. the first call to pyvgx.Graph.CreateVertex() or pyvgx.Graph.NewVertex() with type = T.

1.7.2. pyvgx.op.OP_ved

Remove a vertex type enumeration from graph instance.

Operator ved is managed automatically by the system and has no direct API equivalent.

1.7.3. pyvgx.op.OP_rea

Add new relationship type enumeration to graph instance.

Operator rea is generated whenever an arc is created with a previously unused relationship type R, i.e. the first call to pyvgx.Graph.Connect() with arc = ( R, …​ ).

1.7.4. pyvgx.op.OP_red

Remove a relationship type enumeration from graph instance.

Operator red is managed automatically by the system and has no direct API equivalent.

1.7.5. pyvgx.op.OP_dea

Add new vector dimension enumeration to graph instance.

Operator dea is generated whenever a new vector is created containing a previously unused dimension D, i.e. the first call to pyvgx.Vertex.SetVector() where elements contains an entry ( D, weight ).

1.7.6. pyvgx.op.OP_ded

Remove a vector dimension enumeration from graph instance.

Operator ded is managed automatically by the system and has no direct API equivalent.

1.7.7. pyvgx.op.OP_kea

Add new property key enumeration to graph instance.

Operator kea is generated whenever a vertex property is assigned using a previously unused key K, i.e. the first call to pyvgx.Vertex.SetProperty() (or equivalent) where name = K.

1.7.8. pyvgx.op.OP_ked

Remove a property key enumeration from graph instance.

Operator ked is managed automatically by the system and has no direct API equivalent.

1.7.9. pyvgx.op.OP_sea

Add new property string value enumeration to graph instance.

Operator sea is generated whenever a vertex string property is assigned with a previously unused string value S, i.e. the first call to pyvgx.Vertex.SetProperty() (or equivalent) where value = S.

1.7.10. pyvgx.op.OP_sed

Remove a property string value enumeration from graph instance.

Operator sed is managed automatically by the system and has no direct API equivalent.

2. Operator Groups

Operator groups are constants used to identify sets of operator opcodes.

These constants are suitable for use with pyvgx.op.Allow() and pyvgx.op.Deny().

2.1. Action Groups

2.1.1. pyvgx.op.OP_ACTION_assign

pyvgx.op.OP_ACTION_assign covers all operators that re-assign an existing attribute.

ACTION Assign Operator

pyvgx.op.OP_vxr

pyvgx.op.OP_vxt

pyvgx.op.OP_vxx

pyvgx.op.OP_vxc

2.1.2. pyvgx.op.OP_ACTION_create

pyvgx.op.OP_ACTION_create covers all operators that create new objects.

ACTION Create Operator

pyvgx.op.OP_vxn

pyvgx.op.OP_vps

pyvgx.op.OP_vvs

pyvgx.op.OP_arc

pyvgx.op.OP_scf

pyvgx.op.OP_clg

pyvgx.op.OP_grn

pyvgx.op.OP_vea

pyvgx.op.OP_rea

pyvgx.op.OP_dea

pyvgx.op.OP_kea

pyvgx.op.OP_sea

2.1.4. pyvgx.op.OP_ACTION_event

pyvgx.op.OP_ACTION_event covers all operators that communicate events or other actions.

ACTION Event Operator

pyvgx.op.OP_nop

pyvgx.op.OP_com

pyvgx.op.OP_dat

pyvgx.op.OP_grp

pyvgx.op.OP_grs

pyvgx.op.OP_tic

pyvgx.op.OP_evx

2.3. Target Groups

2.3.2. pyvgx.op.OP_TARGET_arc

pyvgx.op.OP_TARGET_arc covers all operators affecting arcs.

TARGET Arc Operator

pyvgx.op.OP_arc

pyvgx.op.OP_ard

2.3.3. pyvgx.op.OP_TARGET_system

pyvgx.op.OP_TARGET_system covers all operators with system-wide effect.

TARGET System Operator

pyvgx.op.OP_sya

pyvgx.op.OP_syd

pyvgx.op.OP_rcl

pyvgx.op.OP_scf

pyvgx.op.OP_com

pyvgx.op.OP_dat

pyvgx.op.OP_clg

2.3.4. pyvgx.op.OP_TARGET_graph

pyvgx.op.OP_TARGET_graph covers all operators affecting graph objects.

TARGET Graph Operator

pyvgx.op.OP_grn

pyvgx.op.OP_grd

pyvgx.op.OP_grt

pyvgx.op.OP_grp

pyvgx.op.OP_grs

2.3.5. pyvgx.op.OP_TARGET_rw

pyvgx.op.OP_TARGET_rw covers operators modifying read-write state of graphs.

TARGET RW Operator

pyvgx.op.OP_grr

pyvgx.op.OP_grw

2.3.6. pyvgx.op.OP_TARGET_evp

pyvgx.op.OP_TARGET_evp covers operators modifying the TTL event processor state.

TARGET EVP Operator

pyvgx.op.OP_gre

pyvgx.op.OP_gri

2.3.7. pyvgx.op.OP_TARGET_time

pyvgx.op.OP_TARGET_time covers operators affecting heartbeat and time synchronization.

TARGET Time Operator

pyvgx.op.OP_tic

2.3.8. pyvgx.op.OP_TARGET_exec

pyvgx.op.OP_TARGET_exec covers operators performing mass-execution of events.

TARGET Exec Operator

pyvgx.op.OP_evx

2.3.9. pyvgx.op.OP_TARGET_acquire

pyvgx.op.OP_TARGET_acquire covers operators that modify the write-lock state of many vertices at the same time.

TARGET Acquire Operator

pyvgx.op.OP_lxw

pyvgx.op.OP_ulv

pyvgx.op.OP_ula

2.3.10. pyvgx.op.OP_TARGET_enum

pyvgx.op.OP_TARGET_enum covers operators that create or delete enumerations.

TARGET Enum Operator

pyvgx.op.OP_vea

pyvgx.op.OP_ved

pyvgx.op.OP_rea

pyvgx.op.OP_red

pyvgx.op.OP_dea

pyvgx.op.OP_ded

pyvgx.op.OP_kea

pyvgx.op.OP_ked

pyvgx.op.OP_sea

pyvgx.op.OP_sed

3. Operator Profiles

Operator profile constants represent pre-defined sets of allowed and denied operators.

Operator profile constants must be applied using pyvgx.op.Profile().

3.1. Consumer Profile

The consumer profile is suitable for VGX instances that do not generate their own data.