RelationalAI SDK Configuration

This guide presents the configuration of the RelationalAI SDK, used to interact with the Relational Knowledge Graph Management System (RKGMS).

The Configuration File

To connect to the RAI Server using any of the available RelationalAI SDKs, you need a configuration file with RAICredentials, i.e., an ID and a secret key provided to you by an admin. Typically, ~/.rai/config is used as the default configuration file for Linux and MacOS, but you can use any other file by simply providing the file path in the respective SDK function.

To get RAICredentials, follow these steps:

  1. The Organization/Team/Person requests an account from RAI. Once the account is set up, an admin user is assigned to the account.
  2. This admin uses the RAI Console to create OAuth Clients. For more information on OAuth clients, see Managing OAuth Clients. Each client is identified by a client_id and a client_secret.
  3. The SDK user adds the client_id and client_secret to their configuration file (for example, ~/.rai/config), which should look like this:
[default]
host = azure.relationalai.com
client_id = ################ [from RAICloud admin]
client_secret = ############## [from RAICloud admin]

Note that in place of ######### the actual user OAuth credentials should appear. Here, [default] is the profile name. You will refer to this profile name when using the SDK.

Within the configuration file, you can also specify some optional parameters, with the following default values:

[default]
region = us-east
port = 443      
scheme = https      
client_credentials_url = https://login.relationalai.com/oauth/token

Multiple Profiles (Optional)

You can specify other profiles in addition to [default], such as [my-profile], in separate sections of the config file. This is useful, for instance, if you have configurations for different regions.

Permissions

Each OAuth Client has its own set of permissions, which determine the operations it can execute. Depending on the permissions, some operations (such as listing other users, or creating or deleting compute engines) may fail.