2.7. System Frames in xGT¶
xGT uses several special frames to store system information necessary for running the server.
The following frames are considered system frames by xGT and have special uses within an executing server process:
Name |
Type |
Description |
---|---|---|
|
Stores the namespaces available on the server. |
|
|
Namespace frame |
Stores the system frames inside the |
|
Vertex frame |
Stores the set of available security labels for frames and users. |
|
Table frame |
Stores the mapping of groups to labels for users. |
|
Internal associative frame |
Stores the mapping of global configuration entries for the server. |
|
Internal associative frame |
Stores the set of executing jobs on the server. |
|
Internal associative frame |
Stores the jobs that have finalized executing on the server. |
Frames, frame types, and namespaces are described in Graph Data Model: Frames and Namespaces. Job execution and the system job frames are described in Job Management and History.
Associative frames are a special, internal-use type of frame that the xGT server uses to map keys to values.
Associative frames are not available to the Python script writer via proxy frame objects, however some Python API calls manipulate associative frames (e.g. get_config()
, set_config()
).
Namespace frames can be manipulated via the available Python API calls for them.
All of these system frames can be queried using TQL, if the user has the correct read permissions on them.
The schema for the system frames are as follows:
Field |
Type |
Description |
---|---|---|
name |
string |
Name of the frame. Must be unique within the namespace. |
container_id |
int |
Internal identifier of the frame. |
Field |
Type |
Description |
---|---|---|
label |
string |
Unique key of the label. |
Field |
Type |
Description |
---|---|---|
group |
string |
Name of a group mapping to the label in the row. |
label |
string |
Name of a label registered in the |
Field |
Type |
Description |
---|---|---|
key |
string |
Unique name of the configuration key. |
value |
string |
String corresponding to the value of the configuration key. Note that all key types are stored as strings. |
type |
int |
Integer indicating the TQL data type of the configuration value. |
The section Configuring the xGT Server has more details on configuration keys, values and types.
The xgt__Running_Jobs
and xgt__Job_History
frame schemas are described in Job Management and History.
Namespace frames can be queried using TQL as follows:
MATCH (a:__)
RETURN a.name
Returns the name of ALL namespaces present in the system.
MATCH (a:employment__)
RETURN a.name
Returns the name of all frames inside the employment
namespace.
MATCH (a:xgt__)
WHERE a.name CONTAINS "Label"
RETURN a.name
Returns the name of frames inside the system’s xgt
namespace that contain the substring “Label”.
The result would be the names of the xgt__Label
and xgt__Group_Label
frames.
An example of querying the configuration frames is as follows:
MATCH (a:xgt__Config)
WHERE a.key STARTS WITH "system"
RETURN a.key, a.value
This query returns the keys and values of entries where the key starts with the “system” prefix string.
Warning
Note that while it is possible to change the values or key types of the xgt__Config
frame using TQL SET clauses, it is strongly discouraged since it can compromise the stability of a running xGT server.
The supported strategy for changing configuration values is via the set_config()
API call.