@Test public void dataset_05() { String graphName = "http://example/"; Dataset ds = createFixed(); ds.addNamedModel(graphName, model1); ds.replaceNamedModel(graphName, model2); assertTrue(ds.containsNamedModel(graphName)); List<String> x = Iter.toList(ds.listNames()); assertEquals(1, x.size()); assertEquals(graphName, x.get(0)); assertFalse(model1.isIsomorphicWith(ds.getNamedModel(graphName))); assertTrue(model2.isIsomorphicWith(ds.getNamedModel(graphName))); }
@Test public void directDataLinkToQuads() throws IOException { // first make a file of quads to load later final Model model = createDefaultModel(); final Path quads = createTempFile("quadExample", ".nq"); final Resource quadsURI = model.createResource(quads.toFile().toURI().toString()); final Resource simpleExample = model.createResource("test:simpleExample"); simpleExample.addProperty(type, DatasetAssemblerVocab.tDatasetTxnMem); simpleExample.addProperty(data, quadsURI); final DatasetGraph dsg = createTxnMem().asDatasetGraph(); model .listStatements() .mapWith(Statement::asTriple) .mapWith(t -> new Quad(quadsURI.asNode(), t)) .forEachRemaining(dsg::add); try (OutputStream out = new FileOutputStream(quads.toFile())) { write(out, dsg, NQUADS); } final Dataset dataset = assemble(simpleExample); final Model assembledDefaultModel = dataset.getDefaultModel(); final Model assembledNamedModel = dataset.getNamedModel(quadsURI.getURI()); assertTrue(assembledDefaultModel.isEmpty()); assertTrue( assembledNamedModel.contains( assembledNamedModel.createStatement(simpleExample, data, quadsURI))); }
public void setup() { DatasetGraph dsg = TDBFactory.createDatasetGraph(); dsg.getContext().set(TDB.symUnionDefaultGraph, true); Dataset myDataset = DatasetFactory.create(dsg); baseModel = myDataset.getNamedModel("http://example.com/baseModel"); baseModel = QueryEngineTest.populateModel(baseModel); dftModel = Factory.getInstance(eval, "http://example.com/securedModel", baseModel); dataset = DatasetFactory.createMem(); dataset.setDefaultModel(dftModel); }
@Test public void dataset_04() { String graphName = "http://example/"; Dataset ds = createFixed(); ds.addNamedModel(graphName, model1); assertTrue(ds.containsNamedModel(graphName)); List<String> x = Iter.toList(ds.listNames()); assertEquals(1, x.size()); assertEquals(graphName, x.get(0)); assertFalse(model1.isIsomorphicWith(ds.getDefaultModel())); Model m = ds.getNamedModel(graphName); assertNotNull(m); assertTrue(model1.isIsomorphicWith(m)); ds.removeNamedModel(graphName); // Not getNamedModel and test for null as some datasets are "auto graph creating" assertFalse(ds.containsNamedModel(graphName)); }
@Test public void directDataLinkForDefaultAndNamedGraphs() throws IOException { // first make a file of triples to load later final Model model = createDefaultModel(); final Path triples = createTempFile("simpleExample", ".nt"); final Resource triplesURI = model.createResource(triples.toFile().toURI().toString()); final Resource simpleExample = model.createResource("test:simpleExample"); simpleExample.addProperty(type, DatasetAssemblerVocab.tDatasetTxnMem); // add a default graph simpleExample.addProperty(data, triplesURI); // add a named graph final Resource namedGraphDef = model.createResource("test:namedGraphDef"); simpleExample.addProperty(pNamedGraph, namedGraphDef); final Resource namedGraphName = model.createResource("test:namedGraphExample"); namedGraphDef.addProperty(type, MemoryModel); namedGraphDef.addProperty(pGraphName, namedGraphName); namedGraphDef.addProperty(data, triplesURI); try (OutputStream out = new FileOutputStream(triples.toFile())) { write(out, model, NTRIPLES); } final Dataset dataset = assemble(simpleExample); final Model assembledDefaultModel = dataset.getDefaultModel(); final Model assembledNamedModel = dataset.getNamedModel(namedGraphName.getURI()); // we put the same triples in each model, so we check for the same triples in each model for (final Model m : new Model[] {assembledDefaultModel, assembledNamedModel}) { assertTrue(m.contains(simpleExample, pNamedGraph, namedGraphDef)); assertTrue(m.contains(namedGraphDef, pGraphName, namedGraphName)); assertTrue(m.contains(simpleExample, data, triplesURI)); } final Iterator<Node> graphNodes = dataset.asDatasetGraph().listGraphNodes(); assertTrue(graphNodes.hasNext()); assertEquals(namedGraphName.asNode(), graphNodes.next()); assertFalse(graphNodes.hasNext()); }