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 |
|---|---|
New vertex |
|
Delete vertex |
|
Set vertex rank |
|
Set vertex type |
|
Set vertex expiration |
|
Convert vertex manifestation |
|
Set vertex property |
|
Delete vertex property |
|
Clear vertex properties |
|
Set vertex vector |
|
Delete vertex vector |
|
Delete vertex outarcs |
|
Delete vertex inarcs |
|
Acquire vertex write lock |
|
Release vertex write lock |
|
Create arc |
|
Delete arc |
|
No operation |
|
System attach |
|
System detach |
|
Clear registry |
|
Configure similarity |
|
New graph |
|
Delete graph |
|
Send data as comment |
|
Send raw data |
|
Clone graph |
|
Truncate graph |
|
Persist graph |
|
Assert graph state |
|
Set graph readonly |
|
Set graph writable |
|
Enable background TTL |
|
Disable background TTL |
|
Heartbeat |
|
Execute all due TTL events |
|
Acquire multiple vertex write locks atomically |
|
Release multiple vertex write locks atomically |
|
Release all vertex write locks atomically |
|
Add vertex type enumeration |
|
Remove vertex type enumeration |
|
Add relationship enumeration |
|
Remove relationship enumeration |
|
Add vector dimension enumeration |
|
Remove vector dimension enumeration |
|
Add property key enumeration |
|
Remove property key enumeration |
|
Add property string value enumeration |
|
Remove property string value enumeration |
|
All operators |
|
Operators modifying existing attributes |
|
Operators creating new objects |
|
Operators deleting objects |
|
Operators communicating events |
|
Operators affecting single objects |
|
Operators affecting multiple objects |
|
Operators affecting vertex objects |
|
Operators affecting arcs |
|
Operators with system-wide effect |
|
Operators affecting graphs |
|
Operators modifying read-write state of graphs |
|
Operators modifying the TTL event processor state |
|
Operators affecting heartbeat and time synchronization |
|
Operators performing mass-execution of events |
|
Operators modifying write-locks of multiple vertices |
|
Operators affecting enumerations |
|
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.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.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.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 |
|---|
2.1.2. pyvgx.op.OP_ACTION_create
pyvgx.op.OP_ACTION_create covers all operators that create new objects.
| ACTION Create Operator |
|---|
2.1.3. pyvgx.op.OP_ACTION_delete
pyvgx.op.OP_ACTION_delete covers all operators that delete objects.
| ACTION Delete Operator |
|---|
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 |
|---|
2.2. Scope Groups
2.2.1. pyvgx.op.OP_SCOPE_single
pyvgx.op.OP_SCOPE_single covers all operators affecting single objects.
| SCOPE Single Operator |
|---|
2.2.2. pyvgx.op.OP_SCOPE_multiple
pyvgx.op.OP_SCOPE_multiple covers all operators affecting multiple objects.
| SCOPE Multiple Operator |
|---|
2.3. Target Groups
2.3.1. pyvgx.op.OP_TARGET_vertex
pyvgx.op.OP_TARGET_vertex covers all operators affecting vertex objects.
| TARGET Vertex Operator |
|---|
2.3.2. pyvgx.op.OP_TARGET_arc
pyvgx.op.OP_TARGET_arc covers all operators affecting arcs.
| TARGET Arc Operator |
|---|
2.3.3. pyvgx.op.OP_TARGET_system
pyvgx.op.OP_TARGET_system covers all operators with system-wide effect.
| TARGET System Operator |
|---|
2.3.4. pyvgx.op.OP_TARGET_graph
pyvgx.op.OP_TARGET_graph covers all operators affecting graph objects.
| TARGET Graph Operator |
|---|
2.3.5. pyvgx.op.OP_TARGET_rw
pyvgx.op.OP_TARGET_rw covers operators modifying read-write state of graphs.
| TARGET RW Operator |
|---|
2.3.6. pyvgx.op.OP_TARGET_evp
pyvgx.op.OP_TARGET_evp covers operators modifying the TTL event processor state.
| TARGET EVP Operator |
|---|
2.3.7. pyvgx.op.OP_TARGET_time
pyvgx.op.OP_TARGET_time covers operators affecting heartbeat and time synchronization.
| TARGET Time Operator |
|---|
2.3.8. pyvgx.op.OP_TARGET_exec
pyvgx.op.OP_TARGET_exec covers operators performing mass-execution of events.
| TARGET Exec Operator |
|---|
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 |
|---|
2.3.10. pyvgx.op.OP_TARGET_enum
pyvgx.op.OP_TARGET_enum covers operators that create or delete enumerations.
| TARGET Enum Operator |
|---|
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.
3.1.1. pyvgx.op.OP_PROFILE_consumer
The profile pyvgx.op.OP_PROFILE_consumer prevents various system operations, mass-deletion and graph persist.
pyvgx.op.OP_PROFILE_consumer ALLOW |
|---|
pyvgx.op.OP_PROFILE_consumer DENY |
|---|
