Refine search
private void verifyStatementWithInvalidDatatype(boolean useDatatypeVerification) throws RDFHandlerException, IOException, RDFParseException { TestRDFHandler rdfHandler = new TestRDFHandler(); parser.setRDFHandler(rdfHandler); parser.getParserConfig().set(BasicParserSettings.VERIFY_DATATYPE_VALUES, useDatatypeVerification); parser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, useDatatypeVerification); if (!useDatatypeVerification) { parser.getParserConfig().addNonFatalError(BasicParserSettings.VERIFY_DATATYPE_VALUES); parser.getParserConfig().addNonFatalError(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES); } final ByteArrayInputStream bais = new ByteArrayInputStream( ("<http://dbpedia.org/resource/Camillo_Benso,_conte_di_Cavour> " + "<http://dbpedia.org/property/mandatofine> " + "\"1380.0\"^^<http://dbpedia.org/invalid/datatype/second> " + "<http://it.wikipedia.org/wiki/Camillo_Benso,_conte_di_Cavour#absolute-line=20> .").getBytes()); parser.parse(bais, "http://base-uri"); rdfHandler.assertHandler(1); }
/** * Load triples from TURTLE file to graph * * @param handler * @param format * @throws java.io.IOException * @throws org.openrdf.rio.RDFParseException * @throws org.openrdf.rio.RDFHandlerException */ public void loadWithSesame(RDFHandlerBase handler, RDFFormat format) throws IOException, RDFParseException, RDFHandlerException { RDFParser parser = Rio.createParser(format); ParserConfig config = new ParserConfig(); config.set(BasicParserSettings.PRESERVE_BNODE_IDS, true); config.addNonFatalError(NTriplesParserSettings.FAIL_ON_NTRIPLES_INVALID_LINES); parser.setParserConfig(config); parser.setRDFHandler(handler); //System.out.println(this.base+format); parser.parse(this.reader, this.base); } }
/** * Test that the explicit constructor sets all of the basic settings using * the default values. */ @Test public final void testParserConfigSameAsDefaults() { ParserConfig testConfig = new ParserConfig(true, true, false, DatatypeHandling.VERIFY); // check that the basic settings are explicitly set assertTrue(testConfig.isSet(BasicParserSettings.PRESERVE_BNODE_IDS)); // check that the basic settings all return their expected default values assertFalse(testConfig.get(BasicParserSettings.PRESERVE_BNODE_IDS)); assertFalse(testConfig.isPreserveBNodeIDs()); }
public void setStopAtFirstError(final boolean stopAtFirstError) { config = new ParserConfig(config.verifyData(), stopAtFirstError, config.isPreserveBNodeIDs(), config.datatypeHandling()); }
public void setPreserveBNodeIDs(final boolean preserveBNodeIDs) { config = new ParserConfig(config.verifyData(), config.stopAtFirstError(), preserveBNodeIDs, config.datatypeHandling()); }
public void setVerifyData(final boolean verifyData) { config = new ParserConfig(verifyData, config.stopAtFirstError(), config.isPreserveBNodeIDs(), config.datatypeHandling()); }
/** * 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); }
@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"); }
/** * Override this method to setup custom settings for ParserConfig needed to * pass tests. * * @param config * The config object to modify. */ protected void setupParserConfig(ParserConfig config) { config.set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, true); config.set(BasicParserSettings.FAIL_ON_UNKNOWN_LANGUAGES, true); }
/** * Test method for * {@link org.openrdf.rio.ParserConfig#isNonFatalError(org.openrdf.rio.RioSetting)} * . */ @Test public final void testIsNonFatalError() { ParserConfig testConfig = new ParserConfig(); assertTrue(testConfig.getNonFatalErrors().isEmpty()); assertFalse(testConfig.isNonFatalError(BasicParserSettings.PRESERVE_BNODE_IDS)); testConfig.addNonFatalError(BasicParserSettings.PRESERVE_BNODE_IDS); assertTrue(testConfig.isNonFatalError(BasicParserSettings.PRESERVE_BNODE_IDS)); }
@Deprecated @Override public void setStopAtFirstError(boolean stopAtFirstError) { getParserConfig().set(NTriplesParserSettings.FAIL_ON_NTRIPLES_INVALID_LINES, stopAtFirstError); if (!stopAtFirstError) { getParserConfig().addNonFatalError(NTriplesParserSettings.FAIL_ON_NTRIPLES_INVALID_LINES); } else { // TODO: Add a ParserConfig.removeNonFatalError function to avoid // this Set<RioSetting<?>> set = new HashSet<RioSetting<?>>(getParserConfig().getNonFatalErrors()); set.remove(NTriplesParserSettings.FAIL_ON_NTRIPLES_INVALID_LINES); getParserConfig().setNonFatalErrors(set); } }
/** * Test method for * {@link org.openrdf.rio.ParserConfig#set(org.openrdf.rio.RioSetting, java.lang.Object)} * . */ @Test public final void testSet() { ParserConfig testConfig = new ParserConfig(); assertFalse(testConfig.isSet(BasicParserSettings.VERIFY_RELATIVE_URIS)); testConfig.set(BasicParserSettings.VERIFY_RELATIVE_URIS, false); assertTrue(testConfig.isSet(BasicParserSettings.VERIFY_RELATIVE_URIS)); }
/** * Test method for * {@link org.openrdf.rio.ParserConfig#addNonFatalError(org.openrdf.rio.RioSetting)} * . */ @Test public final void testAddNonFatalError() { ParserConfig testConfig = new ParserConfig(); assertTrue(testConfig.getNonFatalErrors().isEmpty()); testConfig.addNonFatalError(BasicParserSettings.PRESERVE_BNODE_IDS); assertTrue(testConfig.getNonFatalErrors().contains(BasicParserSettings.PRESERVE_BNODE_IDS)); }
/** * Test method for * {@link org.openrdf.rio.ParserConfig#setNonFatalErrors(java.util.Set)}. */ @Test public final void testSetNonFatalErrors() { ParserConfig testConfig = new ParserConfig(); // Test that the defaults exist and are empty assertNotNull(testConfig.getNonFatalErrors()); assertTrue(testConfig.getNonFatalErrors().isEmpty()); // Test that we can add to the default before calling setNonFatalErrors // (SES-1801) testConfig.addNonFatalError(BasicParserSettings.PRESERVE_BNODE_IDS); assertFalse(testConfig.getNonFatalErrors().isEmpty()); assertTrue(testConfig.getNonFatalErrors().contains(BasicParserSettings.PRESERVE_BNODE_IDS)); assertFalse(testConfig.getNonFatalErrors().contains(BasicParserSettings.VERIFY_DATATYPE_VALUES)); // Test with a non-empty set that we remove the previous setting testConfig.setNonFatalErrors(Collections.<RioSetting<?>> singleton(BasicParserSettings.VERIFY_DATATYPE_VALUES)); assertNotNull(testConfig.getNonFatalErrors()); assertFalse(testConfig.getNonFatalErrors().isEmpty()); assertFalse(testConfig.getNonFatalErrors().contains(BasicParserSettings.PRESERVE_BNODE_IDS)); assertTrue(testConfig.getNonFatalErrors().contains(BasicParserSettings.VERIFY_DATATYPE_VALUES)); // Test with an empty set testConfig.setNonFatalErrors(new HashSet<RioSetting<?>>()); assertNotNull(testConfig.getNonFatalErrors()); assertTrue(testConfig.getNonFatalErrors().isEmpty()); }
/** * Test method for * {@link org.openrdf.rio.ParserConfig#get(org.openrdf.rio.RioSetting)}. */ @Test public final void testGet() { ParserConfig testConfig = new ParserConfig(); assertTrue(testConfig.get(BasicParserSettings.VERIFY_RELATIVE_URIS)); testConfig.set(BasicParserSettings.VERIFY_RELATIVE_URIS, false); assertFalse(testConfig.get(BasicParserSettings.VERIFY_RELATIVE_URIS)); }
/** * 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 method for {@link org.openrdf.rio.ParserConfig#verifyData()}. */ @Test public final void testVerifyData() { ParserConfig testConfig = new ParserConfig(); assertTrue(testConfig.verifyData()); testConfig.set(BasicParserSettings.VERIFY_RELATIVE_URIS, false); assertFalse(testConfig.verifyData()); }
/** * Test method for {@link org.openrdf.rio.ParserConfig#stopAtFirstError()}. * Test specifically for SES-1947 */ @Test public final void testStopAtFirstError() { ParserConfig testConfig = new ParserConfig(); assertTrue(testConfig.stopAtFirstError()); testConfig.addNonFatalError(NTriplesParserSettings.FAIL_ON_NTRIPLES_INVALID_LINES); assertFalse(testConfig.stopAtFirstError()); }
/** * Test method for {@link org.openrdf.rio.ParserConfig#isPreserveBNodeIDs()}. */ @Test public final void testIsPreserveBNodeIDs() { ParserConfig testConfig = new ParserConfig(); assertFalse(testConfig.isPreserveBNodeIDs()); testConfig.set(BasicParserSettings.PRESERVE_BNODE_IDS, true); assertTrue(testConfig.isPreserveBNodeIDs()); }
@Test public void testExceptionHandlingParsingNTriplesIntoMemoryStoreWithoutStopAtFirstError() throws Exception { Repository repo = new SailRepository(new MemoryStore()); repo.initialize(); RepositoryConnection conn = repo.getConnection(); try { // Force the connection to not use stop at first error conn.getParserConfig().addNonFatalError(NTriplesParserSettings.FAIL_ON_NTRIPLES_INVALID_LINES); conn.getParserConfig().set(NTriplesParserSettings.FAIL_ON_NTRIPLES_INVALID_LINES, Boolean.TRUE); String data = "invalid nt"; conn.add(new StringReader(data), "http://example/", RDFFormat.NTRIPLES); // verify that no triples were added after the successful parse assertEquals(0, conn.size()); } finally { conn.close(); repo.shutDown(); } }