/** Write a Graph in streaming fashion * * @param output OutputStream * @param graph Graph to write * @param lang Syntax */ public static void write(OutputStream output, Graph graph, Lang lang) { RDFFormat fmt = registry.choose(lang) ; write(output, graph, fmt) ; }
/** Write a DatasetGraph in streaming fashion * * @param output OutputStream * @param datasetGraph DatasetGraph to write * @param lang Syntax */ public static void write(OutputStream output, DatasetGraph datasetGraph, Lang lang) { RDFFormat fmt = registry.choose(lang) ; write(output, datasetGraph, fmt) ; }
@Test public void graph_02() { ByteArrayOutputStream out = new ByteArrayOutputStream() ; StreamRDFWriter.write(out, graph, Lang.RDFTHRIFT) ; byte[] bytes = out.toByteArray() ; ByteArrayInputStream in = new ByteArrayInputStream(bytes) ; Graph g2 = GraphFactory.createGraphMem() ; RDFDataMgr.read(g2, in, Lang.RDFTHRIFT) ; boolean b = IsoMatcher.isomorphic(graph, g2) ; assertTrue(b) ; // Stronger - same bNodes. // ** Java8 //graph.find(null, null, null).forEachRemaining(t -> assertTrue(g2.contains(t))) ; // Stronger - same bNodes. sameTerms(graph, g2) ; }
@Test public void dataset_02() { DatasetGraph dsg1 = datasetGraph ; ByteArrayOutputStream out = new ByteArrayOutputStream() ; StreamRDFWriter.write(out, dsg1, Lang.RDFTHRIFT) ; byte[] bytes = out.toByteArray() ; ByteArrayInputStream in = new ByteArrayInputStream(bytes) ; DatasetGraph dsg2 = DatasetGraphFactory.create() ; StreamRDF stream2 = StreamRDFLib.dataset(dsg2) ; BinRDF.inputStreamToStream(in, stream2) ; boolean b = IsoMatcher.isomorphic(dsg1, dsg2) ; assertTrue(b) ; // Stronger - same bNode and same as in original data. Node obj = Iter.first(dsg1.listGraphNodes(), Node::isBlank) ; termAsObject(dsg1, obj) ; }