Connect to Nuclia Data in JRuby

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Create a simple JRuby app with access to live Nuclia data.

JRuby is a high-performance, stable, fully threaded Java implementation of the Ruby programming language. The CData JDBC Driver for Nuclia makes it easy to integrate connectivity to live Nuclia data in JRuby. This article shows how to create a simple JRuby app that connects to Nuclia data, executes a query, and displays the results.

Configure a JDBC Connection to Nuclia Data

Before creating the app, note the installation location for the JAR file for the JDBC Driver (typically C:\Program Files\CData\CData JDBC Driver for Nuclia\lib).

JRuby natively supports JDBC, so you can easily connect to Nuclia and execute SQL queries. Initialize the JDBC connection with the getConnection function of the java.sql.DriverManager class.

Using API Key Authentication

Nuclia uses API key authentication for accessing Knowledge Box data. To obtain an API key:

  1. Log in to the Nuclia Cloud Dashboard at https://nuclia.cloud
  2. Navigate to your Knowledge Box settings
  3. Go to the Service Accounts section
  4. Create a new service account or copy an existing API key

After obtaining your API key, set the following connection properties:

  • AuthScheme: Set this to APIKey.
  • APIKey: Set this to your Nuclia service account API key.
  • KbId: Set this to your Knowledge Box UUID.
  • Zone: Set this to your Nuclia deployment zone (e.g., aws-us-east-2-1).

Example Connection String

Profile=C:\profiles\Nuclia.apip;AuthScheme=APIKey;APIKey=your_service_account_key;KbId=your_kb_uuid;Zone=aws-us-east-2-1;

Connecting to Nuclia

Once the authentication is configured, you can connect to Nuclia and query data from any of the available tables such as Resources, KnowledgeBox, LabelSets, and ProcessingStatus.

Built-in Connection String Designer

For assistance in constructing the JDBC URL, use the connection string designer built into the Nuclia JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

java -jar cdata.jdbc.api.jar

Fill in the connection properties and copy the connection string to the clipboard.

Below is a typical JDBC connection string for Nuclia:

jdbc:api:Profile=C:\profiles\Nuclia.apip;AuthScheme=APIKey;APIKey=your_service_account_key;KbId=your_kb_uuid;Zone=aws-us-east-2-1;

Create a JRuby App with Connectivity to Nuclia Data

Create a new Ruby file (for example: APISelect.rb) and open it in a text editor. Copy the following code into your file:

require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for Nuclia 2018/lib/cdata.jdbc.api.jar'

url = "jdbc:api:Profile=C:\profiles\Nuclia.apip;AuthScheme=APIKey;APIKey=your_service_account_key;KbId=your_kb_uuid;Zone=aws-us-east-2-1;"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT ,  FROM KnowledgeBox")
while (rs.next) do
  puts rs.getString(1) + ' ' + rs.getString(2)
end

With the file completed, you are ready to display your Nuclia data with JRuby. To do so, simply run your file from the command line:

jruby -S APISelect.rb

Writing SQL-92 queries to Nuclia allows you to quickly and easily incorporate Nuclia data into your own JRuby applications. Download a free trial today!

Ready to get started?

Connect to live data from Nuclia with the API Driver

Connect to Nuclia