2.6. 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:

xGT System Frames

Name

Type

Description

__

Namespace frame

Stores the namespaces available on the server.

xgt__

Namespace frame

Stores the system frames inside the xgt namespace.

xgt__Label

Vertex frame

Stores the set of available security labels for frames and users.

xgt__Group_Label

Table frame

Stores the mapping of groups to labels for users.

xgt__Config

Internal associative frame

Stores the mapping of global configuration entries for the server.

xgt__Running_Jobs

Internal associative frame

Stores the set of executing jobs on the server.

xgt__Job_History

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:

Namespace Frames

Field

Type

Description

name

string

Name of the frame. Must be unique within the namespace.

container_id

int

Internal identifier of the frame.

xgt__Label

Field

Type

Description

label

string

Unique key of the label.

xgt__Group_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 xgt__Label frame.

xgt__Config

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.