public static ParserProfile profile(Lang lang, String baseIRI, ErrorHandler handler) { if ( sameLang(NTRIPLES, lang) || sameLang(NQUADS, lang) ) { boolean checking = SysRIOT.strictMode ; // If strict mode, do checking e.g. URIs return profile(baseIRI, false, checking, handler) ; } if ( sameLang(RDFJSON, lang) ) return profile(baseIRI, false, true, handler) ; return profile(baseIRI, true, true, handler) ; }
public static ParserProfile profile(Lang lang, String baseIRI, ErrorHandler handler) { if ( sameLang(NTRIPLES, lang) || sameLang(NQUADS, lang) ) { boolean checking = SysRIOT.isStrictMode(); // If strict mode, do checking e.g. URIs return profile(baseIRI, false, checking, handler); } if ( sameLang(RDFJSON, lang) ) return profile(baseIRI, false, true, handler); return profile(baseIRI, true, true, handler); }
/** Create a parser */ public static LangRIOT createParser(Tokenizer tokenizer, Lang lang, String baseIRI, StreamRDF dest) { if ( RDFLanguages.sameLang(RDFXML, lang) ) throw new RiotException("Not possible - can't parse RDF/XML from a RIOT token stream") ; if ( RDFLanguages.sameLang(TURTLE, lang) || RDFLanguages.sameLang(N3, lang) ) return createParserTurtle(tokenizer, baseIRI, dest) ; if ( RDFLanguages.sameLang(NTRIPLES, lang) ) return createParserNTriples(tokenizer, dest) ; if ( RDFLanguages.sameLang(RDFJSON, lang) ) // But it must be a JSON tokenizer ... return createParserRdfJson(tokenizer, dest) ; if ( RDFLanguages.sameLang(NQUADS, lang) ) return createParserNQuads(tokenizer, dest) ; if ( RDFLanguages.sameLang(TRIG, lang) ) return createParserTriG(tokenizer, baseIRI, dest) ; if ( RDFLanguages.sameLang(RDFNULL, lang) ) return new LangNull() ; return null ; }
/** InputStream input */ public static LangRIOT createParser(InputStream input, Lang lang, StreamRDF dest, ParserProfile profile) { if ( RDFLanguages.sameLang(RDFJSON, lang) ) { Tokenizer tokenizer = new TokenizerJSON(PeekReader.makeUTF8(input)); return createParserRdfJson(tokenizer, dest, profile); } Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input); if ( RDFLanguages.sameLang(TURTLE, lang) || RDFLanguages.sameLang(N3, lang) ) return createParserTurtle(tokenizer, dest, profile); if ( RDFLanguages.sameLang(NTRIPLES, lang) ) return createParserNTriples(tokenizer, dest, profile); if ( RDFLanguages.sameLang(NQUADS, lang) ) return createParserNQuads(tokenizer, dest, profile); if ( RDFLanguages.sameLang(TRIG, lang) ) return createParserTriG(tokenizer, dest, profile); return null; }
/** Reader input */ public static LangRIOT createParser(Reader input, Lang lang, StreamRDF dest, ParserProfile profile) { if ( RDFLanguages.sameLang(RDFJSON, lang) ) { Tokenizer tokenizer = new TokenizerJSON(PeekReader.make(input)); return createParserRdfJson(tokenizer, dest, profile); } @SuppressWarnings("deprecation") Tokenizer tokenizer = TokenizerFactory.makeTokenizer(input); if ( RDFLanguages.sameLang(TURTLE, lang) || RDFLanguages.sameLang(N3, lang) ) return createParserTurtle(tokenizer, dest, profile); if ( RDFLanguages.sameLang(NTRIPLES, lang) ) return createParserNTriples(tokenizer, dest, profile); if ( RDFLanguages.sameLang(NQUADS, lang) ) return createParserNQuads(tokenizer, dest, profile); if ( RDFLanguages.sameLang(TRIG, lang) ) return createParserTriG(tokenizer, dest, profile); return null; }
private ParserProfile makeParserProfile(Lang lang) { boolean resolve = resolveURIs; boolean checking$ = strict; // Per language tweaks. if ( sameLang(NTRIPLES, lang) || sameLang(NQUADS, lang) ) { if ( ! strict ) checking$ = checking.orElseGet(()->false); resolve = false; } else { if ( ! strict ) checking$ = checking.orElseGet(()->true); } if ( sameLang(RDFJSON, lang) ) resolve = false; IRIResolver resolver = this.resolver; if ( resolver == null ) { resolver = resolve ? IRIResolver.create(baseUri) : IRIResolver.createNoResolve() ; } PrefixMap prefixMap = PrefixMapFactory.createForInput(); ParserProfileStd parserFactory = new ParserProfileStd(factory, errorHandler, resolver, prefixMap, context, checking$, strict); return parserFactory; } }
/** Create a parser for a quads language */ public static LangRIOT createParserQuads(Tokenizer tokenizer, Lang lang, String baseIRI, StreamRDF dest) { if ( RDFLanguages.sameLang(NQUADS, lang) ) return createParserNQuads(tokenizer, dest) ; if ( RDFLanguages.sameLang(TRIG, lang) ) return createParserTriG(tokenizer, baseIRI, dest) ; // try to do via triples to quads extension. dest = StreamRDFLib.extendTriplesToQuads(dest) ; return createParserTriples(tokenizer, lang, baseIRI, dest) ; }
public static Iterator<Quad> createIteratorQuads(InputStream input, Lang lang, String baseIRI) { // Special case N-Triples, because the RIOT reader has a pull interface // Special case N-Quads, because the RIOT reader has a pull interface if ( RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) || RDFLanguages.sameLang(RDFLanguages.NQUADS, lang)) { return new IteratorResourceClosing<>( RiotParsers.createIteratorNQuads(input, null, RiotLib.dftProfile()), input); } // Otherwise, we have to spin up a thread to deal with it PipedRDFIterator<Quad> it = new PipedRDFIterator<>(); PipedQuadsStream out = new PipedQuadsStream(it) { @Override public void triple(Triple triple) { quad(new Quad(Quad.defaultGraphNodeGenerated, triple)); } }; Thread t = new Thread(()->parseFromInputStream(out, input, baseIRI, lang, null)) ; t.start(); return it; }
public static Iterator<Quad> createIteratorQuads(InputStream input, Lang lang, String baseIRI) { // Special case N-Triples, because the RIOT reader has a pull interface // Special case N-Quads, because the RIOT reader has a pull interface if ( RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) || RDFLanguages.sameLang(RDFLanguages.NQUADS, lang)) { return new IteratorResourceClosing<>( RiotParsers.createIteratorNQuads(input, null, RiotLib.dftProfile()), input); } // Otherwise, we have to spin up a thread to deal with it PipedRDFIterator<Quad> it = new PipedRDFIterator<>(); PipedQuadsStream out = new PipedQuadsStream(it) { @Override public void triple(Triple triple) { quad(new Quad(Quad.defaultGraphNodeGenerated, triple)); } }; Thread t = new Thread(()->parseFromInputStream(out, input, baseIRI, lang, null)) ; t.start(); return it; }
/** * Create an iterator over parsing of triples * @param input Input Stream * @param lang Language * @param baseIRI Base IRI * @return Iterator over the triples */ public static Iterator<Triple> createIteratorTriples(InputStream input, Lang lang, String baseIRI) { // Special case N-Triples, because the RIOT reader has a pull interface if ( RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) ) return new IteratorResourceClosing<>(RiotParsers.createIteratorNTriples(input, null), input); // Otherwise, we have to spin up a thread to deal with it PipedRDFIterator<Triple> it = new PipedRDFIterator<>(); PipedTriplesStream out = new PipedTriplesStream(it); Thread t = new Thread(()->parseFromInputStream(out, input, baseIRI, lang, null)) ; t.start(); return it; }
public static Iterator<Triple> createIteratorTriples(final InputStream input, final Lang lang, final String baseIRI) { // Special case N-Triples, because the RIOT reader has a pull interface if ( RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) ) { return new IteratorResourceClosing<Triple>(createParserNTriples(input, null), input); } else { // Otherwise, we have to spin up a thread to deal with it final PipedRDFIterator<Triple> it = new PipedRDFIterator<Triple>(); final PipedTriplesStream out = new PipedTriplesStream(it); Thread t = new Thread(new Runnable() { @Override public void run() { parseTriples(input, lang, baseIRI, out); } }); t.start(); return it; } }
if ( RDFLanguages.sameLang(RDFLanguages.NQUADS, lang) )
public static Iterator<Quad> createIteratorQuads(final InputStream input, final Lang lang, final String baseIRI) { // Special case N-Quads, because the RIOT reader has a pull interface if ( RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) ) { return new IteratorResourceClosing<Quad>(createParserNQuads(input, null), input); } else { // Otherwise, we have to spin up a thread to deal with it final PipedRDFIterator<Quad> it = new PipedRDFIterator<Quad>(); final PipedQuadsStream out = new PipedQuadsStream(it); Thread t = new Thread(new Runnable() { @Override public void run() { parseQuads(input, lang, baseIRI, out); } }); t.start(); return it; } }
if ( RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) )
/** * Creates an iterator over parsing of quads * @param input Input Stream * @param lang Language * @param baseIRI Base IRI * @return Iterator over the quads */ public static Iterator<Quad> createIteratorQuads(InputStream input, Lang lang, String baseIRI) { // Special case N-Quads, because the RIOT reader has a pull interface if ( RDFLanguages.sameLang(RDFLanguages.NQUADS, lang) ) { return new IteratorResourceClosing<>( RiotParsers.createIteratorNQuads(input, null, RiotLib.dftProfile()), input); } // Otherwise, we have to spin up a thread to deal with it final PipedRDFIterator<Quad> it = new PipedRDFIterator<>(); final PipedQuadsStream out = new PipedQuadsStream(it); Thread t = new Thread(()->parseFromInputStream(out, input, baseIRI, lang, null)) ; t.start(); return it; } }