private static void ignoreDatatypesInAllParsers() { RDFParserRegistry r = RDFParserRegistry.getInstance(); Collection<RDFParserFactory> oldFactories = new LinkedList<RDFParserFactory>(); Collection<RDFParserFactory> newFactories = new LinkedList<RDFParserFactory>(); for (final RDFFormat f : r.getKeys()) { final RDFParserFactory pf = r.get(f); pf.getParser().setDatatypeHandling(RDFParser.DatatypeHandling.IGNORE); RDFParserFactory pfn = new RDFParserFactory() { public RDFFormat getRDFFormat() { return f; } public RDFParser getParser() { RDFParser p = pf.getParser(); p.setDatatypeHandling(RDFParser.DatatypeHandling.IGNORE); return p; } }; oldFactories.add(pf); newFactories.add(pfn); } for (RDFParserFactory pf : oldFactories) { r.remove(pf); } for (RDFParserFactory pfn : newFactories) { r.add(pfn); } }
/** * This is needed, because Rio is unable to find the Parser/Writer Factories * automatically when the jar gets deployed as plugin inside the Neo4j * Server. */ private synchronized void initRio() { if (!rioInitialized) { RDFParserRegistry parserRegistry = RDFParserRegistry.getInstance(); parserRegistry.add(new TurtleParserFactory()); parserRegistry.add(new RDFXMLParserFactory()); parserRegistry.add(new NTriplesParserFactory()); parserRegistry.add(new RDFJSONParserFactory()); RDFWriterRegistry writerRegistry = RDFWriterRegistry.getInstance(); writerRegistry.add(new TurtleWriterFactory()); writerRegistry.add(new RDFXMLWriterFactory()); writerRegistry.add(new NTriplesWriterFactory()); writerRegistry.add(new RDFJSONWriterFactory()); rioInitialized = true; } } }
r.add((RDFParserFactory) getInstanceForClass(NTRIPLES_PARSER_FACTORY)); assert r.has(((RDFParserFactory) getInstanceForClass(NTRIPLES_PARSER_FACTORY)).getRDFFormat()); r.add((RDFParserFactory) getInstanceForClass(TURTLE_PARSER_FACTORY)); assert r.has(((RDFParserFactory) getInstanceForClass(TURTLE_PARSER_FACTORY)).getRDFFormat()); r.add((RDFParserFactory) getInstanceForClass(JSON_CONSTRUCT_PARSER_FACTORY));
r.add((RDFParserFactory) getInstanceForClass(NTRIPLES_PARSER_FACTORY)); assert r.has(((RDFParserFactory) getInstanceForClass(NTRIPLES_PARSER_FACTORY)).getRDFFormat()); r.add((RDFParserFactory) getInstanceForClass(TURTLE_PARSER_FACTORY)); assert r.has(((RDFParserFactory) getInstanceForClass(TURTLE_PARSER_FACTORY)).getRDFFormat()); r.add((RDFParserFactory) getInstanceForClass(JSON_CONSTRUCT_PARSER_FACTORY));