/** Read quads or triples into a dataset with bytes from an input stream. * @param dataset Destination * @param in InputStream * @param base Base URI * @param lang Language syntax */ public static void read(DatasetGraph dataset, InputStream in, String base, Lang lang) { Objects.requireNonNull(in, "InputStream is null") ; StreamRDF dest = StreamRDFLib.dataset(dataset) ; parseFromInputStream(dest, in, base, lang, (Context)null) ; }
/** Read quads into a dataset with chars from a StringReader. * Use java.io.Readers is not encouraged - use with a StringReader is the primary use case. * For files, open a {@link java.io.FileInputStream} to ensure correct character set handling. * @param dataset Destination * @param in InputStream * @param base Base URI * @param lang Language syntax */ public static void read(DatasetGraph dataset, StringReader in, String base, Lang lang) { StreamRDF dest = StreamRDFLib.dataset(dataset) ; parseFromReader(dest, in, base, lang, (Context)null) ; }
/** * Parse the source, sending the results to a {@link DatasetGraph}. */ public void parse(DatasetGraph dataset) { parse(StreamRDFLib.dataset(dataset)); }
/** Read quads into a dataset with chars from an Reader. * Use java.io.Readers is not encouraged - use with a StringReader is the primary use case. * For files, open a {@link java.io.FileInputStream} to ensure correct character set handling. * @param dataset Destination * @param in InputStream * @param base Base URI * @param lang Language syntax * @deprecated use an InputStream or a StringReader. */ @Deprecated public static void read(DatasetGraph dataset, Reader in, String base, Lang lang) { StreamRDF dest = StreamRDFLib.dataset(dataset) ; parseFromReader(dest, in, base, lang, (Context)null) ; }
/** Read quads into a dataset with chars from a StringReader. * Use java.io.Readers is not encouraged - use with a StringReader is the primary use case. * For files, open a {@link java.io.FileInputStream} to ensure correct character set handling. * @param dataset Destination * @param in InputStream * @param base Base URI * @param lang Language syntax */ public static void read(DatasetGraph dataset, StringReader in, String base, Lang lang) { StreamRDF dest = StreamRDFLib.dataset(dataset) ; process(dest, in, base, lang, null) ; }
/** Read quads or triples into a Dataset from the given location. * @see #read(Dataset, String, String, Lang, Context) * @param dataset Destination * @param uri URI to read from (includes file: and a plain file name). * @param base Base URI (defaults to uri). * @param hintLang Language syntax * @param context Context for the reader * @throws RiotNotFoundException if the location is not found - the dataset is unchanged. * Throws parse errors depending on the language and reader; the dataset may be partially updated. * @deprecated To be removed. Use {@code RDFParser.create().context(context)...} */ @Deprecated public static void read(DatasetGraph dataset, String uri, String base, Lang hintLang, Context context) { StreamRDF sink = StreamRDFLib.dataset(dataset) ; parseFromURI(sink, uri, base, hintLang, context) ; }
/** Read quads into a dataset with chars from an Reader. * Use java.io.Readers is not encouraged - use with a StringReader is the primary use case. * For files, open a {@link java.io.FileInputStream} to ensure correct character set handling. * @param dataset Destination * @param in InputStream * @param base Base URI * @param lang Language syntax * @deprecated use an InputStream or a StringReader. */ @Deprecated public static void read(DatasetGraph dataset, Reader in, String base, Lang lang) { StreamRDF dest = StreamRDFLib.dataset(dataset) ; process(dest, in, base, lang, null) ; }
/** Read quads or triples into a Dataset from the given location. * @see #read(Dataset, String, String, Lang, Context) * @param dataset Destination * @param uri URI to read from (includes file: and a plain file name). * @param base Base URI (defaults to uri). * @param hintLang Language syntax * @param context Context for the reader * @throws RiotNotFoundException if the location is not found - the dataset is unchanged. * Throws parse errors depending on the language and reader; the dataset may be partially updated. */ public static void read(DatasetGraph dataset, String uri, String base, Lang hintLang, Context context) { StreamRDF sink = StreamRDFLib.dataset(dataset) ; parse(sink, uri, base, hintLang, context) ; }
public LoaderBasic(DatasetGraph dsg, Node graphName, MonitorOutput output) { super(dsg, graphName, output); baseDest = LoaderOps.toNamedGraph(StreamRDFLib.dataset(dsg), graphName); dest = new StreamRDFCountingBase(baseDest); }
/** Read quads or triples into a dataset with bytes from an input stream. * @param dataset Destination * @param in InputStream * @param base Base URI * @param lang Language syntax */ public static void read(DatasetGraph dataset, InputStream in, String base, Lang lang) { StreamRDF dest = StreamRDFLib.dataset(dataset) ; process(dest, new TypedInputStream(in), base, lang, null) ; }
/** Create an accumulating output stream for later pretty printing */ protected Pair<StreamRDF, PostParseHandler> createAccumulateSink() { final DatasetGraph dsg = DatasetGraphFactory.create() ; StreamRDF sink = StreamRDFLib.dataset(dsg) ; final RDFFormat fmt = modLangOutput.getOutputFormatted() ; PostParseHandler handler = new PostParseHandler() { @Override public void postParse() { // Try as dataset, then as graph. WriterDatasetRIOTFactory w = RDFWriterRegistry.getWriterDatasetFactory(fmt) ; if ( w != null ) { RDFDataMgr.write(outputWrite, dsg, fmt) ; return ; } WriterGraphRIOTFactory wg = RDFWriterRegistry.getWriterGraphFactory(fmt) ; if ( wg != null ) { RDFDataMgr.write(System.out, dsg.getDefaultGraph(), fmt) ; return ; } throw new InternalErrorException("failed to find the writer: "+fmt) ; } } ; return Pair.create(sink, handler) ; }
/** Create an accumulating output stream for later pretty printing */ protected Pair<StreamRDF, PostParseHandler> createAccumulateSink() { final DatasetGraph dsg = DatasetGraphFactory.create() ; StreamRDF sink = StreamRDFLib.dataset(dsg) ; final RDFFormat fmt = modLangOutput.getOutputFormatted() ; PostParseHandler handler = new PostParseHandler() { @Override public void postParse() { // Try as dataset, then as graph. WriterDatasetRIOTFactory w = RDFWriterRegistry.getWriterDatasetFactory(fmt) ; if ( w != null ) { RDFDataMgr.write(outputWrite, dsg, fmt) ; return ; } WriterGraphRIOTFactory wg = RDFWriterRegistry.getWriterGraphFactory(fmt) ; if ( wg != null ) { RDFDataMgr.write(System.out, dsg.getDefaultGraph(), fmt) ; return ; } throw new InternalErrorException("failed to find the writer: "+fmt) ; } } ; return Pair.create(sink, handler) ; }
@Override final public void handle(String baseIRI, HttpResponse response) { try { DatasetGraph dsg = DatasetGraphFactory.createTxnMem(); HttpEntity entity = response.getEntity() ; // org.apache.http.entity.ContentType ; String ct = contentType(response) ; Lang lang = RDFLanguages.contentTypeToLang(ct) ; StreamRDF dest = StreamRDFLib.dataset(dsg); try(InputStream in = entity.getContent()) { RDFParser.source(in).lang(lang).base(baseIRI).parse(dest); } this.dsg = dsg ; } catch (IOException ex) { IO.exception(ex) ; } }
/** Parse for a language - convert errors and warning to ErrorHandlerEx */ static DatasetGraph parseDataset(Lang lang, String ...strings) { DatasetGraph dsg = DatasetGraphFactory.create() ; StreamRDF dest = StreamRDFLib.dataset(dsg) ; parse(lang, dest, strings); return dsg ; }
@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) ; }
@Test public void dataset_01() { DatasetGraph dsg1 = datasetGraph ; ByteArrayOutputStream out = new ByteArrayOutputStream() ; StreamRDF stream = BinRDF.streamToOutputStream(out) ; StreamOps.datasetToStream(dsg1, stream) ; 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) ; }
private void doPutPostTxn(HttpAction action, boolean clearFirst) { UploadDetails details = null ; action.beginWrite() ; try { DatasetGraph dsg = decideDataset(action); if ( clearFirst ) dsg.clear() ; StreamRDF dest = StreamRDFLib.dataset(dsg) ; details = Upload.incomingData(action, dest) ; action.commit() ; ServletOps.success(action) ; } catch (RiotException ex) { // Parse error action.abort() ; ServletOps.errorBadRequest(ex.getMessage()) ; } catch (ActionErrorException ex) { action.abort() ; throw ex ; } catch (Exception ex) { // Something else went wrong. Backout. action.abort() ; ServletOps.errorOccurred(ex.getMessage()) ; } finally { action.end() ; } ServletOps.uploadResponse(action, details) ; }
public LoaderSequential(DatasetGraph dsg, Node graphName, MonitorOutput output) { super(dsg, graphName, output); if ( ! TDBInternal.isBackedByTDB(dsg) ) throw new BulkLoaderException("Not a TDB2 database"); this.dsgtdb = TDBInternal.getDatasetGraphTDB(dsg); this.triplesLoader = new LoaderNodeTupleTable(dsgtdb.getTripleTable().getNodeTupleTable(), output, "Triples"); this.quadsLoader = new LoaderNodeTupleTable(dsgtdb.getQuadTable().getNodeTupleTable(), output, "Quads"); StreamRDF s = StreamRDFLib.dataset(dsg); s = new StreamRDFWrapper(s) { @Override public void triple(Triple triple) { triplesLoader.load(triple.getSubject(), triple.getPredicate(), triple.getObject()); countTriples++; } @Override public void quad(Quad quad) { quadsLoader.load(quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject()); countQuads++; } }; this.stream = LoaderOps.toNamedGraph(s, graphName); }
private void doPutPostNonTxn(HttpAction action, boolean clearFirst) { DatasetGraph dsgTmp = DatasetGraphFactory.create() ; StreamRDF dest = StreamRDFLib.dataset(dsgTmp) ;
@Test public void trix_direct() { ReaderRIOT r = new ReaderTriX(RiotLib.dftProfile(), ErrorHandlerFactory.errorHandlerNoWarnings); InputStream in = IO.openFile(fInput) ; DatasetGraph dsg = DatasetGraphFactory.create() ; //StreamRDF stream = StreamRDFLib.writer(System.out) ; StreamRDF stream = StreamRDFLib.dataset(dsg) ; stream.start(); r.read(in, null, null, stream, null) ; stream.finish(); if ( fExpected != null ) { DatasetGraph dsg2 = RDFDataMgr.loadDatasetGraph(fExpected) ; boolean b = IsoMatcher.isomorphic(dsg, dsg2) ; if ( ! b ) { Assert.fail("Not isomorphic") ; } } }