Skip to content

Commit 473bd4c

Browse files
author
mielvds
authored
Merge pull request LinkedDataFragments#56 from awoods/update-jena
Update Jena to 3.11.0
2 parents 15f72a0 + bc59057 commit 473bd4c

File tree

8 files changed

+40
-9
lines changed

8 files changed

+40
-9
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
log/
1616
target/
1717

18+
# VI
19+
*~
20+
1821
ldf-server.json
1922
/data/
2023
/nbproject/

config-example.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,13 @@
1818
"type": "HdtDatasource",
1919
"description": "Semantic Web Dog Food with an HDT back-end",
2020
"settings": { "file": "data/swdf.hdt" }
21-
}
21+
},
22+
"vivo": {
23+
"title": "Semantic TDB",
24+
"type": "JenaTDBDatasource",
25+
"description": "Semantic Web with a TDB back-end",
26+
"settings": { "directory": "/tmp/tdbModels",
27+
"graph": "http://vitro.mannlib.cornell.edu/default/vitro-kb-2" }
2228
},
2329

2430
"prefixes": {

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,12 @@
6060
<dependency>
6161
<groupId>org.apache.jena</groupId>
6262
<artifactId>jena-core</artifactId>
63-
<version>3.1.0</version>
63+
<version>3.11.0</version>
6464
</dependency>
6565
<dependency>
6666
<groupId>org.apache.jena</groupId>
6767
<artifactId>jena-arq</artifactId>
68-
<version>3.1.0</version>
68+
<version>3.11.0</version>
6969
</dependency>
7070
<dependency>
7171
<groupId>org.apache.httpcomponents</groupId>
@@ -113,7 +113,7 @@
113113
<dependency>
114114
<groupId>org.apache.jena</groupId>
115115
<artifactId>jena-tdb</artifactId>
116-
<version>3.1.0</version>
116+
<version>3.11.0</version>
117117
</dependency>
118118
<dependency>
119119
<groupId>org.rdfhdt</groupId>

src/main/java/org/linkeddatafragments/datasource/tdb/JenaTDBBasedRequestProcessorForTPFs.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public class JenaTDBBasedRequestProcessorForTPFs
3333
extends AbstractRequestProcessorForTriplePatterns<RDFNode,String,String>
3434
{
3535
private final Dataset tdb;
36+
private final String defaultGraph;
3637
private final String sparql = "CONSTRUCT WHERE { ?s ?p ?o } " +
3738
"ORDER BY ?s ?p ?o";
3839

@@ -95,7 +96,13 @@ protected ILinkedDataFragment createFragment(
9596
// e.g., (?x foaf:knows ?x ) or (_:bn foaf:knows _:bn)
9697
// see https://github.com/LinkedDataFragments/Server.Java/issues/24
9798

98-
Model model = tdb.getDefaultModel();
99+
Model model;
100+
if (defaultGraph == null) {
101+
model = tdb.getDefaultModel();
102+
} else {
103+
model = tdb.getNamedModel(defaultGraph);
104+
}
105+
99106
QuerySolutionMap map = new QuerySolutionMap();
100107
if ( ! subject.isVariable() ) {
101108
map.add("s", subject.asConstantTerm());
@@ -160,6 +167,11 @@ protected ILinkedDataFragment createFragment(
160167
* @param tdbdir directory used for TDB backing
161168
*/
162169
public JenaTDBBasedRequestProcessorForTPFs(File tdbdir) {
170+
this(tdbdir, null);
171+
}
172+
173+
public JenaTDBBasedRequestProcessorForTPFs(File tdbdir, String defaultGraph) {
174+
this.defaultGraph = defaultGraph;
163175
this.tdb = TDBFactory.createDataset(tdbdir.getAbsolutePath());
164176
}
165177
}

src/main/java/org/linkeddatafragments/datasource/tdb/JenaTDBDataSource.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ public IFragmentRequestProcessor getRequestProcessor()
4040
* @param description
4141
* @param tdbdir directory used for TDB backing
4242
*/
43-
public JenaTDBDataSource(String title, String description, File tdbdir) {
43+
public JenaTDBDataSource(String title, String description, File tdbdir, String graph) {
4444
super(title, description);
45-
requestProcessor = new JenaTDBBasedRequestProcessorForTPFs( tdbdir );
45+
requestProcessor = new JenaTDBBasedRequestProcessorForTPFs( tdbdir , graph);
4646
}
4747
}

src/main/java/org/linkeddatafragments/datasource/tdb/JenaTDBDataSourceType.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,14 @@ public IDataSource createDataSource( final String title,
2525
final String dname = settings.getAsJsonPrimitive("directory").getAsString();
2626
final File dir = new File( dname );
2727

28+
// Set the defaultGraph, if provided
29+
String graph = null;
30+
if (settings.has("graph")) {
31+
graph = settings.getAsJsonPrimitive("graph").getAsString();
32+
}
33+
2834
try {
29-
return new JenaTDBDataSource(title, description, dir);
35+
return new JenaTDBDataSource(title, description, dir, graph);
3036
} catch (Exception ex) {
3137
throw new DataSourceCreationException(ex);
3238
}

src/main/java/org/linkeddatafragments/servlet/LinkedDataFragmentServlet.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
import javax.servlet.http.HttpServletResponse;
1717

1818
import org.apache.http.HttpHeaders;
19+
import org.apache.jena.query.ARQ;
1920
import org.apache.jena.riot.Lang;
21+
import org.apache.jena.sys.JenaSystem;
2022
import org.linkeddatafragments.config.ConfigReader;
2123
import org.linkeddatafragments.datasource.DataSourceFactory;
2224
import org.linkeddatafragments.datasource.DataSourceTypesRegistry;
@@ -79,6 +81,9 @@ private File getConfigFile(ServletConfig config) throws IOException {
7981
*/
8082
@Override
8183
public void init(ServletConfig servletConfig) throws ServletException {
84+
// Ensure ARQ has been initialized (needed for TDB requests)
85+
ARQ.init();
86+
8287
try {
8388
// load the configuration
8489
File configFile = getConfigFile(servletConfig);

src/test/java/org/linkeddatafragments/test/datasource/JenaTDBDataSourceTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ public static void setUpClass() throws Exception {
6666
Model model = dataset.getDefaultModel();
6767
InputStream in = ClassLoader.getSystemResourceAsStream("demo.nt");
6868
RDFDataMgr.read(model, in, Lang.NTRIPLES);
69-
model.commit();
7069

7170
// Everything is in place, now create the LDF datasource
7271
JsonObject config = createConfig("jena tdb test", "jena tdb test",

0 commit comments

Comments
 (0)