Integration tests for dataset/graphs and some assemblers.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/41eefd40 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/41eefd40 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/41eefd40 Branch: refs/heads/master Commit: 41eefd40e298b00fa35ff5b4b4cf3ec0aebccdf0 Parents: 4744cfc Author: Andy Seaborne <a...@apache.org> Authored: Sun Mar 4 15:41:04 2018 +0000 Committer: Andy Seaborne <a...@apache.org> Committed: Mon Mar 5 14:50:50 2018 +0000 ---------------------------------------------------------------------- .../jena/sparql/core/DatasetGraphOne.java | 41 +++--- .../jena/sparql/core/TransactionalLock.java | 4 +- .../jena/sparql/core/TxnDataset2Graph.java | 15 +- .../transaction/TestTransactionSupport.java | 16 +- .../jena/test/assembler/TS_Assembler.java | 31 ++++ .../test/assembler/TestDatasetAssembler.java | 145 +++++++++++++++++++ .../rdfconnection/TestRDFConnectionRemote.java | 3 +- .../apache/jena/test/txn/TestDataset2Graph.java | 19 ++- .../testing/Assembler/assem_dsg1_1.ttl | 11 ++ .../testing/Assembler/assem_dsg1_2.ttl | 15 ++ .../testing/Assembler/assem_dsg1_3.ttl | 15 ++ .../testing/Assembler/assem_dsg1_bad_1.ttl | 15 ++ .../testing/Assembler/assem_dsg1_inf_tdb1.ttl | 31 ++++ .../testing/Assembler/assem_dsg1_inf_tdb2.ttl | 30 ++++ .../testing/Assembler/assem_dsg_sink.ttl | 11 ++ .../testing/Assembler/assem_dsg_zero.ttl | 9 ++ .../testing/Assembler/data.ttl | 5 + 17 files changed, 373 insertions(+), 43 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java index faf37c7..29a486b 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java @@ -45,6 +45,12 @@ public class DatasetGraphOne extends DatasetGraphBaseFind { private final boolean supportsAbort; public static DatasetGraph create(Graph graph) { + if ( graph instanceof GraphView ) { + // This becomes a simple class that passes all transaction operations the + // underlying dataset and masks the fact here are other graphs in the storage. + return new DatasetGraphOne(graph, ((GraphView)graph).getDataset()); + } + return new DatasetGraphOne(graph); } @@ -57,30 +63,18 @@ public class DatasetGraphOne extends DatasetGraphBaseFind { @SuppressWarnings("deprecation") private DatasetGraphOne(Graph graph) { + // Not GraphView which was hanled in create(Graph). this.graph = graph; - if ( graph instanceof GraphView ) { - backingDGS = ((GraphView)graph).getDataset(); - txn = backingDGS; - supportsAbort = backingDGS.supportsTransactionAbort(); - } else { - // JENA-1492 - pass down transactions. - if ( TxnDataset2Graph.TXN_DSG_GRAPH ) - txn = new TxnDataset2Graph(graph); - else - txn = TransactionalLock.createMRSW(); - backingDGS = null; - supportsAbort = false; - } - } - - public DatasetGraphOne(Graph graph, Transactional transactional) { - this.graph = graph; - backingDGS = null; - if ( transactional == null ) - txn = TransactionalLock.createMRSW(); + // JENA-1492 - pass down transactions. + if ( TxnDataset2Graph.TXN_DSG_GRAPH ) + txn = new TxnDataset2Graph(graph); else - txn = transactional; - supportsAbort = false; + txn = TransactionalLock.createMRSW(); + backingDGS = null; + // Don't advertise the fact but TxnDataset2Graph tries to provide abort. + // We can not guarantee it though because a plain, non-TIM, + // memory graph does not support abort. + supportsAbort = false; } @Override public void begin(TxnType txnType) { txn.begin(txnType); } @@ -93,8 +87,7 @@ public class DatasetGraphOne extends DatasetGraphBaseFind { @Override public ReadWrite transactionMode() { return txn.transactionMode(); } @Override public TxnType transactionType() { return txn.transactionType(); } @Override public boolean supportsTransactions() { return true; } - // Because there are never any changes, abort() means "finish". - @Override public boolean supportsTransactionAbort() { return true; } + @Override public boolean supportsTransactionAbort() { return supportsAbort; } @Override public boolean containsGraph(Node graphNode) { http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalLock.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalLock.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalLock.java index 930f9e2..1c0ce6f 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalLock.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalLock.java @@ -161,7 +161,7 @@ public class TransactionalLock implements Transactional { endOnce() ; } - private void endOnce() { + protected void endOnce() { if ( isInTransaction() ) { lock.leaveCriticalSection() ; txnMode.set(null); @@ -173,7 +173,7 @@ public class TransactionalLock implements Transactional { } } - private void error(String msg) { + protected void error(String msg) { throw new JenaTransactionException(msg) ; } } http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-arq/src/main/java/org/apache/jena/sparql/core/TxnDataset2Graph.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/TxnDataset2Graph.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/TxnDataset2Graph.java index 027d1ed..564c1db 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/TxnDataset2Graph.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/TxnDataset2Graph.java @@ -220,8 +220,21 @@ public class TxnDataset2Graph extends TransactionalLock { @Override public void abort() { - handlers(h -> h.abort()); + handlers(h->h.abort()); finish(); super.abort(); } + + @Override + public void end() { + if ( isTransactionMode(ReadWrite.WRITE) ) + error("Write transaction - no commit or abort before end()") ; + // Need to put this in between the two parts of end(). + if ( super.isInTransaction() ) { + // Must be READ at this point. + handlers(h->h.commit()); + finish(); + } + super.endOnce(); + } } http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-arq/src/test/java/org/apache/jena/sparql/transaction/TestTransactionSupport.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/transaction/TestTransactionSupport.java b/jena-arq/src/test/java/org/apache/jena/sparql/transaction/TestTransactionSupport.java index 3b8d880..2208c6d 100644 --- a/jena-arq/src/test/java/org/apache/jena/sparql/transaction/TestTransactionSupport.java +++ b/jena-arq/src/test/java/org/apache/jena/sparql/transaction/TestTransactionSupport.java @@ -24,6 +24,7 @@ import java.util.List ; import org.apache.jena.atlas.lib.Creator ; import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.core.DatasetGraphFactory ; +import org.apache.jena.sparql.core.DatasetGraphSink; import org.apache.jena.sparql.core.DatasetGraphZero; import org.apache.jena.sparql.graph.GraphFactory ; import org.junit.Assert ; @@ -48,16 +49,17 @@ public class TestTransactionSupport { x.add(new Object[] {"create", (Creator<DatasetGraph>)()->DatasetGraphFactory.create(), true, false}) ; - x.add(new Object[] {"wrap" , - (Creator<DatasetGraph>)()-> - DatasetGraphFactory.wrap(GraphFactory.createDefaultGraph()), - true, true}) ; - x.add(new Object[] {"createZeroGraph" , + x.add(new Object[] {"wrap(Graph)" , + (Creator<DatasetGraph>)()->DatasetGraphFactory.wrap(GraphFactory.createDefaultGraph()), + true, false}) ; + x.add(new Object[] {"zero" , (Creator<DatasetGraph>)()->new DatasetGraphZero(), true, true}) ; + x.add(new Object[] {"sink" , + (Creator<DatasetGraph>)()->new DatasetGraphSink(), + true, true}) ; x.add(new Object[] {"create(Graph)", - (Creator<DatasetGraph>)()-> - DatasetGraphFactory.create(GraphFactory.createDefaultGraph()), + (Creator<DatasetGraph>)()->DatasetGraphFactory.create(GraphFactory.createDefaultGraph()), true, false}) ; return x ; } http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/src/test/java/org/apache/jena/test/assembler/TS_Assembler.java ---------------------------------------------------------------------- diff --git a/jena-integration-tests/src/test/java/org/apache/jena/test/assembler/TS_Assembler.java b/jena-integration-tests/src/test/java/org/apache/jena/test/assembler/TS_Assembler.java new file mode 100644 index 0000000..053f322 --- /dev/null +++ b/jena-integration-tests/src/test/java/org/apache/jena/test/assembler/TS_Assembler.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.jena.test.assembler; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses( { + TestDatasetAssembler.class +}) + +public class TS_Assembler { + +} http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/src/test/java/org/apache/jena/test/assembler/TestDatasetAssembler.java ---------------------------------------------------------------------- diff --git a/jena-integration-tests/src/test/java/org/apache/jena/test/assembler/TestDatasetAssembler.java b/jena-integration-tests/src/test/java/org/apache/jena/test/assembler/TestDatasetAssembler.java new file mode 100644 index 0000000..c1a8e62 --- /dev/null +++ b/jena-integration-tests/src/test/java/org/apache/jena/test/assembler/TestDatasetAssembler.java @@ -0,0 +1,145 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.jena.test.assembler; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import org.apache.jena.assembler.exceptions.AssemblerException; +import org.apache.jena.atlas.logging.Log; +import org.apache.jena.query.ARQ; +import org.apache.jena.query.Dataset; +import org.apache.jena.query.TxnType; +import org.apache.jena.rdf.model.Model; +import org.apache.jena.rdf.model.Property; +import org.apache.jena.rdf.model.Resource; +import org.apache.jena.rdf.model.Statement; +import org.apache.jena.riot.RDFDataMgr; +import org.apache.jena.sparql.core.DatasetOne; +import org.apache.jena.sparql.core.TxnDataset2Graph; +import org.apache.jena.sparql.core.assembler.AssemblerUtils; +import org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab; +import org.apache.jena.system.JenaSystem; +import org.apache.jena.system.Txn; +import org.apache.jena.test.txn.TestDataset2Graph; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests of building datasets with assemblers. + */ +public class TestDatasetAssembler { + static { JenaSystem.init(); } + + @SuppressWarnings("deprecation") + @BeforeClass public static void beforeClass() { + if ( ! TxnDataset2Graph.TXN_DSG_GRAPH ) + Log.warn(TestDataset2Graph.class, "**** TxnDataset2Graph.TXN_DSG_GRAPH is false in the system setup ****"); + } + + protected static String DIR = "testing/Assembler/"; + + static private Model data = RDFDataMgr.loadModel(DIR + "data.ttl"); + static private Resource s = data.createResource("http://example/data/s"); + static private Property p = data.createProperty("http://example/data/p"); + static private Resource o = data.createResource("http://example/data/o"); + static private Statement stmt = data.createStatement(s, p, o); + + // See also jena-arq/etc/... + + // ---- Null dataset assemblers + + @Test public void dsg_zero() { + Dataset ds = (Dataset)AssemblerUtils.build(DIR+"assem_dsg_zero.ttl", DatasetAssemblerVocab.tDatasetZero); + assertNotNull(ds); + try { + ds.getDefaultModel().add(stmt); + } catch (UnsupportedOperationException ex) {} + } + + @Test public void dsg_sink() { + Dataset ds = (Dataset)AssemblerUtils.build(DIR+"assem_dsg_sink.ttl", DatasetAssemblerVocab.tDatasetSink); + assertNotNull(ds); + assertTrue(ds.getContext().isDefined(ARQ.queryTimeout)); + ds.getDefaultModel().add(stmt); + assertEquals(0, ds.getDefaultModel().size()); + } + + // ---- DatasetOneAssembler + + @Test public void dsg1_1() { + Dataset ds = (Dataset)AssemblerUtils.build(DIR+"assem_dsg1_1.ttl", DatasetAssemblerVocab.tDatasetOne); + assertNotNull(ds); + assertNotNull(ds.getDefaultModel()); + assertTrue(ds instanceof DatasetOne); + useIt(ds); + } + + @Test public void dsg1_2() { + Dataset ds = (Dataset)AssemblerUtils.build(DIR+"assem_dsg1_2.ttl", DatasetAssemblerVocab.tDatasetOne); + assertNotNull(ds); + assertNotNull(ds.getDefaultModel()); + assertTrue(ds instanceof DatasetOne); + readIt(ds); + } + + @Test public void dsg1_3() { + Dataset ds = (Dataset)AssemblerUtils.build(DIR+"assem_dsg1_3.ttl", DatasetAssemblerVocab.tDatasetOne); + assertNotNull(ds); + assertNotNull(ds.getDefaultModel()); + assertTrue(ds instanceof DatasetOne); + readIt(ds); + } + + @Test(expected=AssemblerException.class) + public void dsg1_bad_1() { + Dataset ds = (Dataset)AssemblerUtils.build(DIR+"assem_dsg1_bad_1.ttl", DatasetAssemblerVocab.tDatasetOne); + assertNotNull(ds); + } + + @Test public void dsg1_inf_tdb1_1() { + Dataset ds = (Dataset)AssemblerUtils.build(DIR+"assem_dsg1_inf_tdb1.ttl", DatasetAssemblerVocab.tDatasetOne); + assertNotNull(ds); + assertNotNull(ds.getDefaultModel()); + assertTrue(ds instanceof DatasetOne); + useIt(ds); + } + + @Test public void dsg1_inf_tdb1_2() { + Dataset ds = (Dataset)AssemblerUtils.build(DIR+"assem_dsg1_inf_tdb2.ttl", DatasetAssemblerVocab.tDatasetOne); + assertNotNull(ds); + assertNotNull(ds.getDefaultModel()); + assertTrue(ds instanceof DatasetOne); + useIt(ds); + } + + private void readIt(Dataset ds) { + Txn.exec(ds, TxnType.READ, ()->{ + assertTrue(ds.getDefaultModel().contains(stmt)); + }); + } + + private void useIt(Dataset ds) { + Txn.executeWrite(ds, ()->{ + ds.getDefaultModel().add(data); + }); + readIt(ds); + } +} http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/src/test/java/org/apache/jena/test/rdfconnection/TestRDFConnectionRemote.java ---------------------------------------------------------------------- diff --git a/jena-integration-tests/src/test/java/org/apache/jena/test/rdfconnection/TestRDFConnectionRemote.java b/jena-integration-tests/src/test/java/org/apache/jena/test/rdfconnection/TestRDFConnectionRemote.java index ef86755..d064b6d 100644 --- a/jena-integration-tests/src/test/java/org/apache/jena/test/rdfconnection/TestRDFConnectionRemote.java +++ b/jena-integration-tests/src/test/java/org/apache/jena/test/rdfconnection/TestRDFConnectionRemote.java @@ -35,10 +35,11 @@ import org.junit.BeforeClass ; public class TestRDFConnectionRemote extends AbstractTestRDFConnection { private static FusekiServer server ; private static DatasetGraph serverdsg = DatasetGraphFactory.createTxnMem() ; - protected static int PORT = FusekiLib.choosePort(); + protected static int PORT; @BeforeClass public static void beforeClass() { + PORT = FusekiLib.choosePort(); server = FusekiServer.create() .setPort(PORT) .add("/ds", serverdsg) http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/src/test/java/org/apache/jena/test/txn/TestDataset2Graph.java ---------------------------------------------------------------------- diff --git a/jena-integration-tests/src/test/java/org/apache/jena/test/txn/TestDataset2Graph.java b/jena-integration-tests/src/test/java/org/apache/jena/test/txn/TestDataset2Graph.java index 38e1e55..4d515b6 100644 --- a/jena-integration-tests/src/test/java/org/apache/jena/test/txn/TestDataset2Graph.java +++ b/jena-integration-tests/src/test/java/org/apache/jena/test/txn/TestDataset2Graph.java @@ -20,13 +20,13 @@ package org.apache.jena.test.txn; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; import java.util.Arrays; import java.util.Collection; import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.atlas.lib.Creator; +import org.apache.jena.atlas.logging.Log; import org.apache.jena.graph.Triple; import org.apache.jena.query.*; import org.apache.jena.rdf.model.Model; @@ -63,6 +63,9 @@ public class TestDataset2Graph { // TXN_DSG_GRAPH must be true. @SuppressWarnings("deprecation") @BeforeClass public static void beforeClass() { + if ( ! TxnDataset2Graph.TXN_DSG_GRAPH ) + Log.warn(TestDataset2Graph.class, "**** TxnDataset2Graph.TXN_DSG_GRAPH is false in the system setup ****"); + txn_dsg_graph = TxnDataset2Graph.TXN_DSG_GRAPH; TxnDataset2Graph.TXN_DSG_GRAPH = true; // Make sure sync isn't called. @@ -78,13 +81,13 @@ public class TestDataset2Graph { @Parameters(name = "{index}: {0}") public static Collection<Object[]> data() { - Creator<Dataset> datasetPlainMaker = ()-> DatasetFactory.createTxnMem() ; + Creator<Dataset> datasetPlainMaker = ()-> DatasetFactory.createGeneral() ; Creator<Dataset> datasetTxnMemMaker = ()-> DatasetFactory.createTxnMem() ; Creator<Dataset> datasetTDB1 = ()-> TDBFactory.createDataset(); Creator<Dataset> datasetTDB2 = ()-> TDB2Factory.createDataset(); return Arrays.asList(new Object[][] { - { "Plain", datasetPlainMaker }, - { "TIM", datasetTxnMemMaker }, + { "Plain", datasetPlainMaker }, + { "TIM", datasetTxnMemMaker }, { "TDB1", datasetTDB1 }, { "TDB2", datasetTDB2 } }); @@ -96,15 +99,15 @@ public class TestDataset2Graph { this.creator = creator; } - @Test public void dsgGraph_model() { + @Test public void dsgGraphTxn_model() { testInfModel(creator.create()); } - @Test public void dsgGraphTxnTDB_dataset_wrap() { + @Test public void dsgGraphTxn_dataset_wrap() { testOverDS(creator.create(), true); } - @Test public void dsgGraphTxnTDB_dataset_create() { + @Test public void dsgGraphTxn_dataset_create() { testOverDS(creator.create(), false); } private static void testInfModel(Dataset ds0) { @@ -129,7 +132,7 @@ public class TestDataset2Graph { try ( RDFConnection conn = RDFConnectionFactory.connect(ds1) ) { - conn.querySelect("SELECT (count(*) AS ?C) { ?s ?p ?o } HAVING (?C = 0)", (qs)-> fail("Didn't expect any query solutions")); + //conn.querySelect("SELECT (count(*) AS ?C) { ?s ?p ?o } HAVING (?C = 0)", (qs)-> fail("Didn't expect any query solutions")); // Necessary Txn.exec(conn, TxnType.READ, ()->{ http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/testing/Assembler/assem_dsg1_1.ttl ---------------------------------------------------------------------- diff --git a/jena-integration-tests/testing/Assembler/assem_dsg1_1.ttl b/jena-integration-tests/testing/Assembler/assem_dsg1_1.ttl new file mode 100644 index 0000000..046659a --- /dev/null +++ b/jena-integration-tests/testing/Assembler/assem_dsg1_1.ttl @@ -0,0 +1,11 @@ +## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +PREFIX : <#> +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX tdb: <http://jena.hpl.hp.com/2008/tdb#> +PREFIX ja: <http://jena.hpl.hp.com/2005/11/Assembler#> + +# No default graph specified means add an in-memory one. +<#dataset> rdf:type ja:RDFDatasetOne . + http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/testing/Assembler/assem_dsg1_2.ttl ---------------------------------------------------------------------- diff --git a/jena-integration-tests/testing/Assembler/assem_dsg1_2.ttl b/jena-integration-tests/testing/Assembler/assem_dsg1_2.ttl new file mode 100644 index 0000000..00c3324 --- /dev/null +++ b/jena-integration-tests/testing/Assembler/assem_dsg1_2.ttl @@ -0,0 +1,15 @@ +## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +PREFIX : <#> +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX tdb: <http://jena.hpl.hp.com/2008/tdb#> +PREFIX ja: <http://jena.hpl.hp.com/2005/11/Assembler#> + +<#dataset> rdf:type ja:RDFDatasetOne ; + ja:defaultGraph <#graph> . + +<#graph> a ja:MemoryModel ; + ja:content [ja:externalContent <file:data.ttl> ] ; + . + http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/testing/Assembler/assem_dsg1_3.ttl ---------------------------------------------------------------------- diff --git a/jena-integration-tests/testing/Assembler/assem_dsg1_3.ttl b/jena-integration-tests/testing/Assembler/assem_dsg1_3.ttl new file mode 100644 index 0000000..af8d98c --- /dev/null +++ b/jena-integration-tests/testing/Assembler/assem_dsg1_3.ttl @@ -0,0 +1,15 @@ +## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +PREFIX : <#> +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX tdb: <http://jena.hpl.hp.com/2008/tdb#> +PREFIX ja: <http://jena.hpl.hp.com/2005/11/Assembler#> + +<#dataset> rdf:type ja:RDFDatasetOne ; + ja:graph <#graph> . + +<#graph> a ja:MemoryModel ; + ja:content [ja:externalContent <file:data.ttl> ] ; + . + http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/testing/Assembler/assem_dsg1_bad_1.ttl ---------------------------------------------------------------------- diff --git a/jena-integration-tests/testing/Assembler/assem_dsg1_bad_1.ttl b/jena-integration-tests/testing/Assembler/assem_dsg1_bad_1.ttl new file mode 100644 index 0000000..5ab7911 --- /dev/null +++ b/jena-integration-tests/testing/Assembler/assem_dsg1_bad_1.ttl @@ -0,0 +1,15 @@ +## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +PREFIX : <#> +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX tdb: <http://jena.hpl.hp.com/2008/tdb#> +PREFIX ja: <http://jena.hpl.hp.com/2005/11/Assembler#> + +<#dataset> rdf:type ja:RDFDatasetOne ; + ## Illegal + ja:namedGraph [ ja:graphName <http://example/graph1> ; + ja:graph :data1 ] ; + . + +<#graph> a ja:MemoryModel . http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/testing/Assembler/assem_dsg1_inf_tdb1.ttl ---------------------------------------------------------------------- diff --git a/jena-integration-tests/testing/Assembler/assem_dsg1_inf_tdb1.ttl b/jena-integration-tests/testing/Assembler/assem_dsg1_inf_tdb1.ttl new file mode 100644 index 0000000..00cd419 --- /dev/null +++ b/jena-integration-tests/testing/Assembler/assem_dsg1_inf_tdb1.ttl @@ -0,0 +1,31 @@ +## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +## Assembler for a dataset of a single inference model, +## with the base storage in TDB1. + +PREFIX : <#> +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX tdb: <http://jena.hpl.hp.com/2008/tdb#> +PREFIX ja: <http://jena.hpl.hp.com/2005/11/Assembler#> + +<#dataset> rdf:type ja:RDFDatasetOne ; + ja:defaultGraph <#model_inf> ; + . + +<#model_inf> a ja:InfModel ; + ja:baseModel <#tdbGraph> ; + ja:reasoner [ + ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner> + ] . + +## Graph from TDB +<#tdbGraph> rdf:type tdb:GraphTDB ; + tdb:dataset <#tdbDataset> . + + +## Base data in TDB. +<#tdbDataset> rdf:type tdb:DatasetTDB ; + tdb:location "--mem--" ; + . + http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/testing/Assembler/assem_dsg1_inf_tdb2.ttl ---------------------------------------------------------------------- diff --git a/jena-integration-tests/testing/Assembler/assem_dsg1_inf_tdb2.ttl b/jena-integration-tests/testing/Assembler/assem_dsg1_inf_tdb2.ttl new file mode 100644 index 0000000..76c5010 --- /dev/null +++ b/jena-integration-tests/testing/Assembler/assem_dsg1_inf_tdb2.ttl @@ -0,0 +1,30 @@ +## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +## Assembler for a dataset of a single inference model, +## with the base storage in TDB2. + +PREFIX : <#> +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX tdb2: <http://jena.apache.org/2016/tdb#> +PREFIX ja: <http://jena.hpl.hp.com/2005/11/Assembler#> + +<#dataset> rdf:type ja:RDFDatasetOne ; + ja:defaultGraph <#model_inf> ; + . + +<#model_inf> a ja:InfModel ; + ja:baseModel <#tdbGraph> ; + ja:reasoner [ + ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner> + ] . + +## Graph from the database +<#tdbGraph> rdf:type tdb2:GraphTDB2 ; + tdb2:dataset <#tdbDataset> . + +## Base data in TDB2. +<#tdbDataset> rdf:type tdb2:DatasetTDB2 ; + tdb2:location "--mem--" ; + . + http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/testing/Assembler/assem_dsg_sink.ttl ---------------------------------------------------------------------- diff --git a/jena-integration-tests/testing/Assembler/assem_dsg_sink.ttl b/jena-integration-tests/testing/Assembler/assem_dsg_sink.ttl new file mode 100644 index 0000000..58f608c --- /dev/null +++ b/jena-integration-tests/testing/Assembler/assem_dsg_sink.ttl @@ -0,0 +1,11 @@ +## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +PREFIX : <#> +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX tdb: <http://jena.hpl.hp.com/2008/tdb#> +PREFIX ja: <http://jena.hpl.hp.com/2005/11/Assembler#> + +<#dataset> rdf:type ja:RDFDatasetSink ; + ja:context [ ja:cxtName "arq:queryTimeout" ; ja:cxtValue "300" ] ; + . http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/testing/Assembler/assem_dsg_zero.ttl ---------------------------------------------------------------------- diff --git a/jena-integration-tests/testing/Assembler/assem_dsg_zero.ttl b/jena-integration-tests/testing/Assembler/assem_dsg_zero.ttl new file mode 100644 index 0000000..ba76fc2 --- /dev/null +++ b/jena-integration-tests/testing/Assembler/assem_dsg_zero.ttl @@ -0,0 +1,9 @@ +## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +PREFIX : <#> +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX tdb: <http://jena.hpl.hp.com/2008/tdb#> +PREFIX ja: <http://jena.hpl.hp.com/2005/11/Assembler#> + +<#dataset> rdf:type ja:RDFDatasetZero . http://git-wip-us.apache.org/repos/asf/jena/blob/41eefd40/jena-integration-tests/testing/Assembler/data.ttl ---------------------------------------------------------------------- diff --git a/jena-integration-tests/testing/Assembler/data.ttl b/jena-integration-tests/testing/Assembler/data.ttl new file mode 100644 index 0000000..e0d78e9 --- /dev/null +++ b/jena-integration-tests/testing/Assembler/data.ttl @@ -0,0 +1,5 @@ +PREFIX : <http://example/data/> + +:s :p :o . +:s :q 12 . +:s :q 12.0 .