diff --git a/pom.xml b/pom.xml
index 9a873d9..4669fee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,20 +57,15 @@
9.3.6.v20151106
-
- org.rdfhdt
- hdt-jena
- 1.1
-
org.apache.jena
jena-core
- 2.13.0
+ 3.0.0
org.apache.jena
jena-arq
- 2.13.0
+ 3.0.0
org.apache.httpcomponents
@@ -118,7 +113,12 @@
org.apache.jena
jena-tdb
- 1.1.2
+ 3.0.0
+
+
+ org.rdfhdt
+ hdt-jena
+ 1.1.1-SNAPSHOT
org.freemarker
diff --git a/src/main/java/org/linkeddatafragments/datasource/AbstractRequestProcessorForTriplePatterns.java b/src/main/java/org/linkeddatafragments/datasource/AbstractRequestProcessorForTriplePatterns.java
index e1e4bbf..83d8f4d 100644
--- a/src/main/java/org/linkeddatafragments/datasource/AbstractRequestProcessorForTriplePatterns.java
+++ b/src/main/java/org/linkeddatafragments/datasource/AbstractRequestProcessorForTriplePatterns.java
@@ -1,7 +1,6 @@
package org.linkeddatafragments.datasource;
-import com.hp.hpl.jena.rdf.model.Model;
-
+import org.apache.jena.rdf.model.Model;
import org.linkeddatafragments.fragments.ILinkedDataFragment;
import org.linkeddatafragments.fragments.ILinkedDataFragmentRequest;
import org.linkeddatafragments.fragments.tpf.ITriplePatternElement;
diff --git a/src/main/java/org/linkeddatafragments/datasource/hdt/HdtBasedRequestProcessorForTPFs.java b/src/main/java/org/linkeddatafragments/datasource/hdt/HdtBasedRequestProcessorForTPFs.java
index 7305e87..a011631 100644
--- a/src/main/java/org/linkeddatafragments/datasource/hdt/HdtBasedRequestProcessorForTPFs.java
+++ b/src/main/java/org/linkeddatafragments/datasource/hdt/HdtBasedRequestProcessorForTPFs.java
@@ -1,6 +1,10 @@
package org.linkeddatafragments.datasource.hdt;
import java.io.IOException;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.rdf.model.RDFNode;
import org.linkeddatafragments.datasource.AbstractRequestProcessorForTriplePatterns;
import org.linkeddatafragments.datasource.IFragmentRequestProcessor;
@@ -14,10 +18,7 @@
import org.rdfhdt.hdt.triples.TripleID;
import org.rdfhdt.hdtjena.NodeDictionary;
-import com.hp.hpl.jena.graph.Triple;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.ModelFactory;
-import com.hp.hpl.jena.rdf.model.RDFNode;
+
/**
* Implementation of {@link IFragmentRequestProcessor} that processes
diff --git a/src/main/java/org/linkeddatafragments/datasource/index/IndexRequestProcessorForTPFs.java b/src/main/java/org/linkeddatafragments/datasource/index/IndexRequestProcessorForTPFs.java
index dcb94da..263e781 100644
--- a/src/main/java/org/linkeddatafragments/datasource/index/IndexRequestProcessorForTPFs.java
+++ b/src/main/java/org/linkeddatafragments/datasource/index/IndexRequestProcessorForTPFs.java
@@ -1,16 +1,17 @@
package org.linkeddatafragments.datasource.index;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.ModelFactory;
-import com.hp.hpl.jena.rdf.model.Property;
-import com.hp.hpl.jena.rdf.model.RDFNode;
-import com.hp.hpl.jena.rdf.model.Resource;
-import com.hp.hpl.jena.rdf.model.ResourceFactory;
-import com.hp.hpl.jena.rdf.model.StmtIterator;
-import com.hp.hpl.jena.rdf.model.impl.PropertyImpl;
-import com.hp.hpl.jena.rdf.model.impl.ResourceImpl;
+
import java.util.HashMap;
import java.util.Map;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.rdf.model.Property;
+import org.apache.jena.rdf.model.RDFNode;
+import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.rdf.model.ResourceFactory;
+import org.apache.jena.rdf.model.StmtIterator;
+import org.apache.jena.rdf.model.impl.PropertyImpl;
+import org.apache.jena.rdf.model.impl.ResourceImpl;
import org.linkeddatafragments.datasource.AbstractRequestProcessorForTriplePatterns;
import org.linkeddatafragments.datasource.IDataSource;
diff --git a/src/main/java/org/linkeddatafragments/datasource/tdb/JenaTDBBasedRequestProcessorForTPFs.java b/src/main/java/org/linkeddatafragments/datasource/tdb/JenaTDBBasedRequestProcessorForTPFs.java
index 323fdc5..33b7a8a 100644
--- a/src/main/java/org/linkeddatafragments/datasource/tdb/JenaTDBBasedRequestProcessorForTPFs.java
+++ b/src/main/java/org/linkeddatafragments/datasource/tdb/JenaTDBBasedRequestProcessorForTPFs.java
@@ -1,20 +1,20 @@
package org.linkeddatafragments.datasource.tdb;
-import com.hp.hpl.jena.query.Dataset;
-import com.hp.hpl.jena.query.Query;
-import com.hp.hpl.jena.query.QueryExecution;
-import com.hp.hpl.jena.query.QueryExecutionFactory;
-import com.hp.hpl.jena.query.QueryFactory;
-import com.hp.hpl.jena.query.QuerySolution;
-import com.hp.hpl.jena.query.QuerySolutionMap;
-import com.hp.hpl.jena.query.ResultSet;
-import com.hp.hpl.jena.query.Syntax;
-import com.hp.hpl.jena.rdf.model.Literal;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.ModelFactory;
-import com.hp.hpl.jena.rdf.model.RDFNode;
-import com.hp.hpl.jena.tdb.TDBFactory;
import java.io.File;
+import org.apache.jena.query.Dataset;
+import org.apache.jena.query.Query;
+import org.apache.jena.query.QueryExecution;
+import org.apache.jena.query.QueryExecutionFactory;
+import org.apache.jena.query.QueryFactory;
+import org.apache.jena.query.QuerySolution;
+import org.apache.jena.query.QuerySolutionMap;
+import org.apache.jena.query.ResultSet;
+import org.apache.jena.query.Syntax;
+import org.apache.jena.rdf.model.Literal;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.rdf.model.RDFNode;
+import org.apache.jena.tdb.TDBFactory;
import org.linkeddatafragments.datasource.AbstractRequestProcessorForTriplePatterns;
import org.linkeddatafragments.datasource.IFragmentRequestProcessor;
diff --git a/src/main/java/org/linkeddatafragments/fragments/ILinkedDataFragment.java b/src/main/java/org/linkeddatafragments/fragments/ILinkedDataFragment.java
index 3bce34e..3889436 100644
--- a/src/main/java/org/linkeddatafragments/fragments/ILinkedDataFragment.java
+++ b/src/main/java/org/linkeddatafragments/fragments/ILinkedDataFragment.java
@@ -1,8 +1,7 @@
package org.linkeddatafragments.fragments;
import java.io.Closeable;
-
-import com.hp.hpl.jena.rdf.model.StmtIterator;
+import org.apache.jena.rdf.model.StmtIterator;
/**
* Represents any possible Linked Data Fragment.
diff --git a/src/main/java/org/linkeddatafragments/fragments/LinkedDataFragmentBase.java b/src/main/java/org/linkeddatafragments/fragments/LinkedDataFragmentBase.java
index 05e81aa..ac4612a 100644
--- a/src/main/java/org/linkeddatafragments/fragments/LinkedDataFragmentBase.java
+++ b/src/main/java/org/linkeddatafragments/fragments/LinkedDataFragmentBase.java
@@ -1,15 +1,16 @@
package org.linkeddatafragments.fragments;
-import com.hp.hpl.jena.rdf.model.Literal;
+import org.apache.jena.rdf.model.Literal;
import java.net.URISyntaxException;
import org.apache.http.client.utils.URIBuilder;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.rdf.model.StmtIterator;
import org.linkeddatafragments.util.CommonResources;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.ModelFactory;
-import com.hp.hpl.jena.rdf.model.Resource;
-import com.hp.hpl.jena.rdf.model.StmtIterator;
+
/**
* Base class of any implementation of {@link ILinkedDataFragment} that uses
diff --git a/src/main/java/org/linkeddatafragments/fragments/tpf/TPFRequestParserForJenaBackends.java b/src/main/java/org/linkeddatafragments/fragments/tpf/TPFRequestParserForJenaBackends.java
index 56897bd..cbd38b9 100644
--- a/src/main/java/org/linkeddatafragments/fragments/tpf/TPFRequestParserForJenaBackends.java
+++ b/src/main/java/org/linkeddatafragments/fragments/tpf/TPFRequestParserForJenaBackends.java
@@ -1,7 +1,6 @@
package org.linkeddatafragments.fragments.tpf;
-import com.hp.hpl.jena.rdf.model.RDFNode;
-
+import org.apache.jena.rdf.model.RDFNode;
import org.linkeddatafragments.util.TriplePatternElementParserForJena;
/**
diff --git a/src/main/java/org/linkeddatafragments/fragments/tpf/TriplePatternFragmentBase.java b/src/main/java/org/linkeddatafragments/fragments/tpf/TriplePatternFragmentBase.java
index d02bcdf..9f46228 100644
--- a/src/main/java/org/linkeddatafragments/fragments/tpf/TriplePatternFragmentBase.java
+++ b/src/main/java/org/linkeddatafragments/fragments/tpf/TriplePatternFragmentBase.java
@@ -1,17 +1,18 @@
package org.linkeddatafragments.fragments.tpf;
import java.util.NoSuchElementException;
+import org.apache.jena.datatypes.xsd.XSDDatatype;
+import org.apache.jena.rdf.model.Literal;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.rdf.model.Statement;
+import org.apache.jena.rdf.model.StmtIterator;
+import org.apache.jena.util.iterator.NiceIterator;
import org.linkeddatafragments.fragments.LinkedDataFragmentBase;
import org.linkeddatafragments.util.CommonResources;
-import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
-import com.hp.hpl.jena.rdf.model.Literal;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.Resource;
-import com.hp.hpl.jena.rdf.model.Statement;
-import com.hp.hpl.jena.rdf.model.StmtIterator;
-import com.hp.hpl.jena.util.iterator.NiceIterator;
+
/**
* Base class for implementations of {@link ITriplePatternFragment}.
diff --git a/src/main/java/org/linkeddatafragments/fragments/tpf/TriplePatternFragmentImpl.java b/src/main/java/org/linkeddatafragments/fragments/tpf/TriplePatternFragmentImpl.java
index 3ebb5ed..77840c4 100644
--- a/src/main/java/org/linkeddatafragments/fragments/tpf/TriplePatternFragmentImpl.java
+++ b/src/main/java/org/linkeddatafragments/fragments/tpf/TriplePatternFragmentImpl.java
@@ -1,7 +1,9 @@
package org.linkeddatafragments.fragments.tpf;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.StmtIterator;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.StmtIterator;
+
+
/**
* Implementation of {@link ITriplePatternFragment}.
diff --git a/src/main/java/org/linkeddatafragments/servlet/LinkedDataFragmentServlet.java b/src/main/java/org/linkeddatafragments/servlet/LinkedDataFragmentServlet.java
index 04d6649..10797d1 100644
--- a/src/main/java/org/linkeddatafragments/servlet/LinkedDataFragmentServlet.java
+++ b/src/main/java/org/linkeddatafragments/servlet/LinkedDataFragmentServlet.java
@@ -13,6 +13,8 @@
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.riot.Lang;
import org.linkeddatafragments.config.ConfigReader;
import org.linkeddatafragments.datasource.DataSourceFactory;
diff --git a/src/main/java/org/linkeddatafragments/util/CommonResources.java b/src/main/java/org/linkeddatafragments/util/CommonResources.java
index 8fc051d..d5ca95f 100644
--- a/src/main/java/org/linkeddatafragments/util/CommonResources.java
+++ b/src/main/java/org/linkeddatafragments/util/CommonResources.java
@@ -1,7 +1,7 @@
package org.linkeddatafragments.util;
-import com.hp.hpl.jena.rdf.model.Property;
-import com.hp.hpl.jena.rdf.model.ResourceFactory;
+import org.apache.jena.rdf.model.Property;
+import org.apache.jena.rdf.model.ResourceFactory;
/**
*
diff --git a/src/main/java/org/linkeddatafragments/util/TriplePatternElementParserForJena.java b/src/main/java/org/linkeddatafragments/util/TriplePatternElementParserForJena.java
index aa49252..32dd197 100644
--- a/src/main/java/org/linkeddatafragments/util/TriplePatternElementParserForJena.java
+++ b/src/main/java/org/linkeddatafragments/util/TriplePatternElementParserForJena.java
@@ -1,9 +1,9 @@
package org.linkeddatafragments.util;
-import com.hp.hpl.jena.datatypes.RDFDatatype;
-import com.hp.hpl.jena.datatypes.TypeMapper;
-import com.hp.hpl.jena.rdf.model.RDFNode;
-import com.hp.hpl.jena.rdf.model.ResourceFactory;
+import org.apache.jena.datatypes.RDFDatatype;
+import org.apache.jena.datatypes.TypeMapper;
+import org.apache.jena.rdf.model.RDFNode;
+import org.apache.jena.rdf.model.ResourceFactory;
/**
* A {@link TriplePatternElementParser} for Jena-based backends.
diff --git a/src/main/java/org/linkeddatafragments/views/HtmlTriplePatternFragmentWriterImpl.java b/src/main/java/org/linkeddatafragments/views/HtmlTriplePatternFragmentWriterImpl.java
index c8ebb59..704c81f 100644
--- a/src/main/java/org/linkeddatafragments/views/HtmlTriplePatternFragmentWriterImpl.java
+++ b/src/main/java/org/linkeddatafragments/views/HtmlTriplePatternFragmentWriterImpl.java
@@ -1,22 +1,20 @@
package org.linkeddatafragments.views;
-import com.hp.hpl.jena.rdf.model.RDFNode;
-import com.hp.hpl.jena.rdf.model.Statement;
-import com.hp.hpl.jena.rdf.model.StmtIterator;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;
-import java.io.File;
import java.io.IOException;
import java.io.OutputStreamWriter;
-import java.net.URL;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
+import org.apache.jena.rdf.model.RDFNode;
+import org.apache.jena.rdf.model.Statement;
+import org.apache.jena.rdf.model.StmtIterator;
import org.linkeddatafragments.datasource.IDataSource;
import org.linkeddatafragments.datasource.index.IndexDataSource;
import org.linkeddatafragments.fragments.ILinkedDataFragment;
diff --git a/src/main/java/org/linkeddatafragments/views/RdfWriterImpl.java b/src/main/java/org/linkeddatafragments/views/RdfWriterImpl.java
index f8ec1e4..99883c0 100644
--- a/src/main/java/org/linkeddatafragments/views/RdfWriterImpl.java
+++ b/src/main/java/org/linkeddatafragments/views/RdfWriterImpl.java
@@ -1,12 +1,12 @@
package org.linkeddatafragments.views;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.ModelFactory;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.riot.Lang;
import org.apache.jena.riot.RDFDataMgr;
import org.apache.jena.riot.RDFLanguages;
diff --git a/src/test/java/org/linkeddatafragments/test/datasource/HdtDataSourceTest.java b/src/test/java/org/linkeddatafragments/test/datasource/HdtDataSourceTest.java
index 891b6d6..bd1c52e 100644
--- a/src/test/java/org/linkeddatafragments/test/datasource/HdtDataSourceTest.java
+++ b/src/test/java/org/linkeddatafragments/test/datasource/HdtDataSourceTest.java
@@ -1,9 +1,9 @@
package org.linkeddatafragments.test.datasource;
import com.google.gson.JsonObject;
-import com.hp.hpl.jena.rdf.model.RDFNode;
import java.io.File;
+import org.apache.jena.rdf.model.RDFNode;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -17,7 +17,6 @@
import org.rdfhdt.hdt.hdt.HDT;
import org.rdfhdt.hdt.hdt.HDTManager;
import org.rdfhdt.hdt.options.HDTSpecification;
-import org.linkeddatafragments.test.datasource.DataSourceTest;
/**
*
diff --git a/src/test/java/org/linkeddatafragments/test/datasource/JenaTDBDataSourceTest.java b/src/test/java/org/linkeddatafragments/test/datasource/JenaTDBDataSourceTest.java
index 9a85f40..1af273d 100644
--- a/src/test/java/org/linkeddatafragments/test/datasource/JenaTDBDataSourceTest.java
+++ b/src/test/java/org/linkeddatafragments/test/datasource/JenaTDBDataSourceTest.java
@@ -2,13 +2,13 @@
import com.google.gson.JsonObject;
-import com.hp.hpl.jena.query.Dataset;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.RDFNode;
-import com.hp.hpl.jena.tdb.TDBFactory;
+import org.apache.jena.query.Dataset;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.tdb.TDBFactory;
import java.io.File;
import java.io.InputStream;
+import org.apache.jena.rdf.model.RDFNode;
import org.apache.jena.riot.Lang;
import org.apache.jena.riot.RDFDataMgr;