Connect to Nuclia Data in JRuby
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:
- Log in to the Nuclia Cloud Dashboard at https://nuclia.cloud
- Navigate to your Knowledge Box settings
- Go to the Service Accounts section
- 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!