Step 1: Add Inrupt Java Client Libraries#

If you have not already, open your Spring Boot project in your IDE.

  • For Java, this tutorial assumes an initialized Spring Boot Web Maven Project.

  • For Kotlin, this tutorial assumes an initialized Spring Boot Web Gradle Project.

1. Add inrupt-client-bom#

For Java, this tutorial assumes an initialized Spring Boot Web Maven Project.

To your project’s pom.xml:

  1. Add the inrupt-client-bom dependency in the project’s <dependencyManagement> section.

  2. Replace SUBSTITUTE_VERSION with the version to use.

<dependencyManagement>
   <dependencies>
      <dependency>
         <groupId>com.inrupt.client</groupId>
         <artifactId>inrupt-client-bom</artifactId>
         <version>SUBSTITUTE_VERSION</version>
         <type>pom</type>
         <scope>import</scope>
      </dependency>
   </dependencies>
</dependencyManagement>

For the latest version of inrupt-client-bom,

  1. Go to Maven Central.

  2. Search for inrupt-client-bom. Get the version for the package with com.inrupt.client namespace.

2. Add Specific Module Dependencies#

For Java, this tutorial assumes an initialized Spring Boot Web Maven Project.

To your project’s pom.xml file, add the specific library modules in your project <dependencies> section. The following example includes the modules used to:

  • Access your WebID,

  • Perform read and write operations (both RDF and non-RDF resources) on your Pod, and

  • For the read of RDF resources, return the RDF resources in Turtle and JSON.

<dependency>
    <groupId>com.inrupt.client</groupId>
    <artifactId>inrupt-client-api</artifactId>
</dependency>
<dependency>
    <groupId>com.inrupt.client</groupId>
    <artifactId>inrupt-client-solid</artifactId>
</dependency>
<dependency>
    <groupId>com.inrupt.client</groupId>
    <artifactId>inrupt-client-core</artifactId>
</dependency>
<dependency>
    <groupId>com.inrupt.client</groupId>
    <artifactId>inrupt-client-okhttp</artifactId>
</dependency>
<dependency>
    <groupId>com.inrupt.client</groupId>
    <artifactId>inrupt-client-jackson</artifactId>
</dependency>
<dependency>
    <groupId>com.inrupt.client</groupId>
    <artifactId>inrupt-client-jena</artifactId>
</dependency>
<dependency>
    <groupId>com.inrupt.client</groupId>
    <artifactId>inrupt-client-openid</artifactId>
</dependency>
<dependency>
    <groupId>com.inrupt.client</groupId>
    <artifactId>inrupt-client-accessgrant</artifactId>
</dependency>
<dependency>
    <groupId>com.inrupt.client</groupId>
    <artifactId>inrupt-client-uma</artifactId>
</dependency>
<dependency>
    <groupId>com.inrupt.client</groupId>
    <artifactId>inrupt-client-vocabulary</artifactId>
</dependency>
<dependency>
    <groupId>com.inrupt.client</groupId>
    <artifactId>inrupt-client-webid</artifactId>
</dependency>

Inrupt’s Java Client Libraries are composed of different modules. See Library Modules for the list of available modules and their description.

Once you have modified your pom.xml, reload your Maven dependencies if your IDE has not automatically done so.