@Override public ParserConfig getParserConfig() { //Returns the parser configuration this connection uses for Rio-based operations. return rdfParser.getParserConfig(); }
/** * Create a parser for the given format, turning off some of the stricter configuration settings so we * can handle more messy data without errors. * @param format * @return */ private RDFParser createParser(RDFFormat format) { RDFParser parser = Rio.createParser(format); parser.getParserConfig().addNonFatalError(BasicParserSettings.VERIFY_DATATYPE_VALUES); parser.getParserConfig().addNonFatalError(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES); parser.getParserConfig().addNonFatalError(BasicParserSettings.NORMALIZE_DATATYPE_VALUES); return parser; }
/** * Create a parser for the given format, turning off some of the stricter configuration settings so we * can handle more messy data without errors. * @param format * @return */ private RDFParser createParser(RDFFormat format) { RDFParser parser = Rio.createParser(format); parser.getParserConfig().addNonFatalError(BasicParserSettings.VERIFY_DATATYPE_VALUES); parser.getParserConfig().addNonFatalError(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES); parser.getParserConfig().addNonFatalError(BasicParserSettings.NORMALIZE_DATATYPE_VALUES); return parser; }
@Test public void testStatementWithInvalidLiteralContentAndIgnoreValidation() throws RDFHandlerException, IOException, RDFParseException { // Note: Float declare as int. final ByteArrayInputStream bais = new ByteArrayInputStream( ("<http://dbpedia.org/resource/Camillo_Benso,_conte_di_Cavour> " + "<http://dbpedia.org/property/mandatofine> " + "\"1380.0\"^^<http://www.w3.org/2001/XMLSchema#int> " + "<http://it.wikipedia.org/wiki/Camillo_Benso,_conte_di_Cavour#absolute-line=20> .").getBytes()); parser.getParserConfig().set(BasicParserSettings.VERIFY_DATATYPE_VALUES, false); parser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, false); parser.parse(bais, "http://base-uri"); }
protected List<Statement> loadData(final String fileName) throws Exception { Optional<RDFFormat> format = RDFParserRegistry.getInstance().getFileFormatForFileName(fileName); if (!format.isPresent()) { throw new IllegalStateException("unsupported file extension"); } RDFParser p = Rio.createParser(format.get()); p.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, false); List<Statement> c = new LinkedList<>(); p.setRDFHandler(new StatementCollector(c)); InputStream in = fileName.startsWith("/") ? new FileInputStream(new File(fileName)) : RDFStreamProcessor.class.getResourceAsStream(fileName); p.parse(in, BASE_IRI); in.close(); return c; }
/** * Tests whether an known language with the message no fail. */ @Test public final void testKnownLanguageWithMessageNoFailCase2() throws Exception { Model expectedModel = getTestModel(KNOWN_LANGUAGE_VALUE, KNOWN_LANGUAGE_TAG); InputStream input = getKnownLanguageStream(expectedModel); testParser.getParserConfig().useDefaults(); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_LANGUAGES, true); testParser.getParserConfig().addNonFatalError(BasicParserSettings.FAIL_ON_UNKNOWN_LANGUAGES); testParser.parse(input, BASE_URI); assertErrorListener(0, 0, 0); assertModel(expectedModel); }
/** * Tests whether an unknown datatype with the message no fail. */ @Test public final void testUnknownDatatypeWithMessageNoFailCase2() throws Exception { Model expectedModel = getTestModel(UNKNOWN_DATATYPE_VALUE, UNKNOWN_DATATYPE_URI); InputStream input = getUnknownDatatypeStream(expectedModel); testParser.getParserConfig().useDefaults(); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, true); testParser.getParserConfig().addNonFatalError(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES); testParser.parse(input, BASE_URI); assertErrorListener(0, 1, 0); assertModel(expectedModel); }
/** * Tests whether an unknown language with the message no fail. */ @Test public final void testUnknownLanguageWithMessageNoFailCase3() throws Exception { Model expectedModel = getTestModel(UNKNOWN_LANGUAGE_VALUE, UNKNOWN_LANGUAGE_TAG); InputStream input = getUnknownLanguageStream(expectedModel); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_LANGUAGES, true); testParser.getParserConfig().setNonFatalErrors( Collections.<RioSetting<?>> singleton(BasicParserSettings.FAIL_ON_UNKNOWN_LANGUAGES)); testParser.parse(input, BASE_URI); assertErrorListener(0, 1, 0); assertModel(expectedModel); }
/** * Tests whether an known datatype with the message no fail. */ @Test public final void testKnownDatatypeWithMessageNoFailCase3() throws Exception { Model expectedModel = getTestModel(KNOWN_DATATYPE_VALUE, KNOWN_DATATYPE_URI); InputStream input = getKnownDatatypeStream(expectedModel); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, true); testParser.getParserConfig().setNonFatalErrors( Collections.<RioSetting<?>> singleton(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES)); testParser.parse(input, BASE_URI); assertErrorListener(0, 0, 0); assertModel(expectedModel); }
/** * Tests whether an unknown datatype with the message no fail. */ @Test public final void testUnknownDatatypeWithMessageNoFailCase3() throws Exception { Model expectedModel = getTestModel(UNKNOWN_DATATYPE_VALUE, UNKNOWN_DATATYPE_URI); InputStream input = getUnknownDatatypeStream(expectedModel); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, true); testParser.getParserConfig().setNonFatalErrors( Collections.<RioSetting<?>> singleton(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES)); testParser.parse(input, BASE_URI); assertErrorListener(0, 1, 0); assertModel(expectedModel); }
/** * Tests whether an known language with the message no fail. */ @Test public final void testKnownLanguageWithMessageNoFailCase1() throws Exception { Model expectedModel = getTestModel(KNOWN_LANGUAGE_VALUE, KNOWN_LANGUAGE_TAG); InputStream input = getKnownLanguageStream(expectedModel); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_LANGUAGES, true); testParser.getParserConfig().addNonFatalError(BasicParserSettings.FAIL_ON_UNKNOWN_LANGUAGES); testParser.parse(input, BASE_URI); assertErrorListener(0, 0, 0); assertModel(expectedModel); }
/** * Tests whether an known language with the correct settings will both * generate no message and not fail when addNonFatalError is called with the * given setting. */ @Test public final void testKnownLanguageNoMessageNoFailCase4() throws Exception { Model expectedModel = getTestModel(KNOWN_LANGUAGE_VALUE, KNOWN_LANGUAGE_TAG); InputStream input = getKnownLanguageStream(expectedModel); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_LANGUAGES, false); testParser.getParserConfig().addNonFatalError(BasicParserSettings.FAIL_ON_UNKNOWN_LANGUAGES); testParser.parse(input, BASE_URI); assertErrorListener(0, 0, 0); assertModel(expectedModel); }
@Test public void testExceptionHandlingWithoutStopAtFirstError() throws Exception { String data = "invalid nt"; RDFParser ntriplesParser = createRDFParser(); ntriplesParser.getParserConfig().addNonFatalError(NTriplesParserSettings.FAIL_ON_NTRIPLES_INVALID_LINES); ntriplesParser.getParserConfig().set(NTriplesParserSettings.FAIL_ON_NTRIPLES_INVALID_LINES, Boolean.TRUE); Model model = new LinkedHashModel(); ntriplesParser.setRDFHandler(new StatementCollector(model)); ntriplesParser.parse(new StringReader(data), NTRIPLES_TEST_URL); assertEquals(0, model.size()); assertEquals(0, model.subjects().size()); assertEquals(0, model.predicates().size()); assertEquals(0, model.objects().size()); }
private long parseRdfContent(final InputStream content, final RDFFormat format) throws RDFParseException, IOException, RDFHandlerException { RDFParser parser = Rio.createParser(format); parser.getParserConfig().set(BasicParserSettings.VERIFY_DATATYPE_VALUES, false); ParsedRDFHandler parsedRDFHandler = new ParsedRDFHandler(); parsedRDFHandler.clear(); parser.setRDFHandler(parsedRDFHandler); parser.parse(content, BASE_IRI); return parsedRDFHandler.getCount(); }
/** * Tests whether an unknown datatype with the correct settings will both * generate no message and not fail. */ @Test public final void testUnknownDatatypeNoMessageNoFailCase3() throws Exception { Model expectedModel = getTestModel(UNKNOWN_DATATYPE_VALUE, UNKNOWN_DATATYPE_URI); InputStream input = getUnknownDatatypeStream(expectedModel); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, false); testParser.parse(input, BASE_URI); assertErrorListener(0, 0, 0); assertModel(expectedModel); }
/** * Tests whether an unknown language with the correct settings will both * generate no message and not fail. */ @Test public final void testUnknownLanguageNoMessageNoFailCase3() throws Exception { Model expectedModel = getTestModel(UNKNOWN_LANGUAGE_VALUE, UNKNOWN_LANGUAGE_TAG); InputStream input = getUnknownLanguageStream(expectedModel); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_LANGUAGES, false); testParser.parse(input, BASE_URI); assertErrorListener(0, 0, 0); assertModel(expectedModel); }
/** * Tests whether an known datatype with the correct settings will both * generate no message and not fail. */ @Test public final void testKnownDatatypeNoMessageNoFailCase3() throws Exception { Model expectedModel = getTestModel(KNOWN_DATATYPE_VALUE, KNOWN_DATATYPE_URI); InputStream input = getKnownDatatypeStream(expectedModel); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, false); testParser.parse(input, BASE_URI); assertErrorListener(0, 0, 0); assertModel(expectedModel); }
/** * Tests whether an known language with the correct settings will both * generate no message and not fail. */ @Test public final void testKnownLanguageNoMessageNoFailCase3() throws Exception { Model expectedModel = getTestModel(KNOWN_LANGUAGE_VALUE, KNOWN_LANGUAGE_TAG); InputStream input = getKnownLanguageStream(expectedModel); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_LANGUAGES, false); testParser.parse(input, BASE_URI); assertErrorListener(0, 0, 0); assertModel(expectedModel); }
/** * Tests whether an known datatype with the message which generates a failure * if the datatype is unknown. */ @Test public final void testKnownDatatypeWithMessageWhereUnknownWouldFailCase1() throws Exception { Model expectedModel = getTestModel(KNOWN_DATATYPE_VALUE, KNOWN_DATATYPE_URI); InputStream input = getKnownDatatypeStream(expectedModel); testParser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, true); testParser.parse(input, BASE_URI); assertErrorListener(0, 0, 0); assertModel(expectedModel); }
/** * Tests whether an unknown language with the default settings (using * {@link ParserConfig#useDefaults()}) will both generate no message and not * fail. */ @Test public final void testUnknownLanguageNoMessageNoFailCase2() throws Exception { Model expectedModel = getTestModel(UNKNOWN_LANGUAGE_VALUE, UNKNOWN_LANGUAGE_TAG); InputStream input = getUnknownLanguageStream(expectedModel); testParser.getParserConfig().useDefaults(); testParser.parse(input, BASE_URI); assertErrorListener(0, 0, 0); assertModel(expectedModel); }