GithubHelp home page GithubHelp logo

test-mass-forker-org-1 / amazon-neptune-jdbc-driver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aws/amazon-neptune-jdbc-driver

0.0 0.0 0.0 27.05 MB

Amazon Neptune JDBC Driver by Amazon Web Services

Home Page: https://aws.amazon.com/neptune/

License: Apache License 2.0

Shell 0.59% JavaScript 0.19% Python 0.25% Java 97.70% Groovy 1.13% Batchfile 0.11% Dockerfile 0.03%

amazon-neptune-jdbc-driver's Introduction

JDBC Driver for Amazon Neptune

This driver provides read-only JDBC connectivity for the Amazon Neptune service using SQL, Gremlin, openCypher and SPARQL queries.

Using the Driver

The driver comes packed in a single jar file. To use the driver, place the jar file in the classpath of the application which is going to use it.

For the initial public preview release, the driver will be available for download on GitHub along with the driver's .jar file and .taco file.

To use the Driver in BI tools, please refer to the documentation below.

To connect to Amazon Neptune using the JDBC driver, the Neptune instance must be available through an SSH tunnel, load balancer, or the JDBC driver must be deployed in an EC2 instance.

SSH Tunnel and host file must be configured before using the drive to connect to Neptune, please see SSH configuration.

Specifications

This driver is compatible with JDBC 4.2 and requires a minimum of Java 8.

Connection URL and Settings

To set up a connection, the driver requires a JDBC connection URL. The connection URL is generally of the form:

jdbc:neptune:[connectionType]://[host];[propertyKey1=value1];[propertyKey2=value2]..;[propertyKeyN=valueN]

A basic example of a connection string is:

jdbc:neptune:sqlgremlin://neptune-example.com;port=8182

Specific requirements for the string can be found below in the specific query language documentation.

Connecting using the DriverManager Interface

If the jar is in the application's classpath, no other configuration is required. The driver can be connected to using the JDBC DriverManager by connecting using an Amazon Neptune connection string.

Below is an example where Neptune is accessible through the endpoint neptune-example.com on port 8182.

Reminder: The Neptune endpoint is only accessible if a SSH tunnel is established to a EC2 instance in the same Amazon VPC as the Neptune cluster.

In this example, the SSH tunnel would have been established by running something similar to the following in a shell:

ssh -i "ec2Access.pem" -L 8182:neptune-example.com:8182 [email protected] -N

The full documentation for how to establish the SSH tunnel can once again be found here.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

void example() {
    String url = "jdbc:neptune:sqlgremlin://neptune-example.com;port=8182";

    Connection connection = DriverManager.getConnection(url);
    Statement statement = connection.createStatement();
    
    connection.close();
}

Refer to the connection string options in the specific query language documentation below for more information about configuring the connection.

For more example applications, see the sample applications.

Graph Query Language Support

SQL

The driver supports a subset of SQL-92 and some common extensions.

To connection to Amazon Neptune using SQL, please see the SQL connection configurations for details about connection string configurations.

For information on the limitations of the SQL query support please see the SQL specifications.

Gremlin

Gremlin is a graph traversal language supported by Neptune. To issue Gremlin queries to Neptune though the driver, please see Gremlin connection configurations.

openCypher

openCypher is an open query language for property graph database supported by Neptune. To issue openCypher queries to Neptune though the driver, please see openCypher connection configurations.

SPARQL

SPARQL is an RDF query language supported by Neptune. To issue SPARQL queries to Neptune though the driver, please see SPARQL connection configurations.

Driver Setup in BI Applications

To learn how to set up the driver in various BI tools, instructions are outlined here for:

Troubleshooting

To troubleshoot or debug issues with the JDBC driver, please see the troubleshooting instructions.

Contributing

Because the JDBC driver is available as open source, contribution from the community is encouraged. If you are interested in improving performance, adding new features, or fixing bugs, please see our contributing guidelines.

Building from Source

If you wish to contribute, you will need to build the driver. The requirements to build the driver are very simple, you only need a Java 8 compiler with a runtime environment and you can build and run the driver.

Git submodules must be updated before attempting to build the driver.

Security Issue Notifications

If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our vulnerability reporting page. Please do not create a public GitHub issue.

Licensing

See the LICENSE file for our project's licensing. We will ask you to confirm the licensing of your contribution.

Copyright

Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

amazon-neptune-jdbc-driver's People

Contributors

lyndonbauto avatar xiazcy avatar valentina-bq avatar simonz-bq avatar alexey-temnikov avatar dependabot[bot] avatar danielmatuki avatar csolonynka avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.