public static List<RDFFormat> filterAvailableParsers(List<RDFFormat> rdfFormats) { final List<RDFFormat> result = new ArrayList<>(); final RDFParserRegistry parserRegistry = RDFParserRegistry.getInstance(); for (RDFFormat f: rdfFormats) { if (parserRegistry.has(f)) { result.add(f); } } return result; }
private static RDFFormat getFormat(String format) { return RDFParserRegistry.getInstance().getFileFormatForMIMEType(format); } }
private static RDFFormat getFormat(String format) { return RDFParserRegistry.getInstance().getFileFormatForMIMEType(format); } }
@PostConstruct public void initialise() { log.info("registering RDF importer ..."); RDFParserRegistry parserRegistry = RDFParserRegistry.getInstance(); acceptTypes = new ArrayList<>(); for(RDFFormat format : parserRegistry.getKeys()) { acceptTypes.addAll(format.getMIMETypes()); } log.info(" - available parsers: {}", Arrays.toString(acceptTypes.toArray())); }
@PostConstruct public void initialise() { log.info("registering RDF importer ..."); RDFParserRegistry parserRegistry = RDFParserRegistry.getInstance(); acceptTypes = new ArrayList<>(); for(RDFFormat format : parserRegistry.getKeys()) { acceptTypes.addAll(format.getMIMETypes()); } log.info(" - available parsers: {}", Arrays.toString(acceptTypes.toArray())); }
private String getAcceptHeader() { StringBuilder sb = new StringBuilder(); String preferred = RDFFormat.RDFXML.getDefaultMIMEType(); sb.append(preferred).append(";q=0.2"); Set<RDFFormat> rdfFormats = RDFParserRegistry.getInstance().getKeys(); for (RDFFormat format : rdfFormats) { for (String type : format.getMIMETypes()) { if (!preferred.equals(type)) { sb.append(", ").append(type); } } } return sb.toString(); }
private String getAcceptHeader() { StringBuilder sb = new StringBuilder(); String preferred = RDFFormat.RDFXML.getDefaultMIMEType(); sb.append(preferred).append(";q=0.2"); Set<RDFFormat> rdfFormats = RDFParserRegistry.getInstance().getKeys(); for (RDFFormat format : rdfFormats) { for (String type : format.getMIMETypes()) { if (!preferred.equals(type)) { sb.append(", ").append(type); } } } return sb.toString(); } }
private String getAcceptHeader() { StringBuilder sb = new StringBuilder(); String preferred = RDFFormat.RDFXML.getDefaultMIMEType(); sb.append(preferred).append(";q=0.2"); Set<RDFFormat> rdfFormats = RDFParserRegistry.getInstance().getKeys(); for (RDFFormat format : rdfFormats) { for (String type : format.getMIMETypes()) { if (!preferred.equals(type)) { sb.append(", ").append(type); } } } return sb.toString(); } }
/** * Returns the corresponding RDF parser for a given RDF format. * * @param format the RDF format * @return RDF parser */ protected RDFParser getRDFParser(RDFFormat format) { return RDFParserRegistry.getInstance().get(format).getParser(); }
private RDFFormat forFileName(String path, RDFFormat fallback) { RDFFormat format = RDFFormat.forFileName(path); RDFParserRegistry registry = RDFParserRegistry.getInstance(); if (format != null && registry.has(format)) return format; return fallback; }
/** * Tries to match the extension of a file name against the list of RDF * formats that can be parsed. * * @param fileName * A file name. * @return An RDFFormat object if a match was found, or * {@link Optional#empty()} otherwise. * @see #getParserFormatForFileName(String, RDFFormat) */ public static Optional<RDFFormat> getParserFormatForFileName(String fileName) { return RDFFormat.matchFileName(fileName, RDFParserRegistry.getInstance().getKeys()); }
private RDFFormat forMIMEType(String contentType, RDFFormat fallback) { RDFFormat format = RDFFormat.forMIMEType(contentType); RDFParserRegistry registry = RDFParserRegistry.getInstance(); if (format != null && registry.has(format)) return format; return fallback; }
/** * Tries to match a MIME type against the list of RDF formats that can be * parsed. * * @param mimeType * A MIME type, e.g. "application/rdf+xml". * @return An RDFFormat object if a match was found, or * {@link Optional#empty()} otherwise. * @see #getParserFormatForMIMEType(String, RDFFormat) */ public static Optional<RDFFormat> getParserFormatForMIMEType(String mimeType) { return RDFFormat.matchMIMEType(mimeType, RDFParserRegistry.getInstance().getKeys()); }
/** * returns a list of all mimetypes which can be parsed by implemented parsers * @return */ @Override public List<String> getAcceptTypes() { Set<String> acceptTypes = new LinkedHashSet<>(); for(RDFFormat format : RDFParserRegistry.getInstance().getKeys()) { // Ignore binary formats if(format.hasCharset()) { acceptTypes.addAll(format.getMIMETypes()); } } return new ArrayList<>(acceptTypes); }
/** * returns a list of all mimetypes which can be parsed by implemented parsers * @return */ @Override public List<String> getAcceptTypes() { Set<String> acceptTypes = new LinkedHashSet<>(); for(RDFFormat format : RDFParserRegistry.getInstance().getKeys()) { // Ignore binary formats if(format.hasCharset()) { acceptTypes.addAll(format.getMIMETypes()); } } return new ArrayList<>(acceptTypes); }
@Override protected Map<String, Object> referenceData(HttpServletRequest arg0) throws Exception { Map<String, Object> result = new HashMap<String, Object>(); Map<String, String> rdfFormats = new TreeMap<String, String>(); for (RDFParserFactory factory : RDFParserRegistry.getInstance().getAll()) { RDFFormat format = factory.getRDFFormat(); rdfFormats.put(format.getName(), format.getName()); } result.put("formats", rdfFormats); return result; } }
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; }
/** * Convenience methods for creating RDFParser objects. This method uses the * registry returned by {@link RDFParserRegistry#getInstance()} to get a * factory for the specified format and uses this factory to create the * appropriate parser. * * @throws UnsupportedRDFormatException * If no parser is available for the specified RDF format. */ public static RDFParser createParser(RDFFormat format) throws UnsupportedRDFormatException { RDFParserFactory factory = RDFParserRegistry.getInstance().get(format).orElseThrow( Rio.unsupportedFormat(format)); return factory.getParser(); }
private void addVerbatimRdfizers() { RDFParser.DatatypeHandling datatypeHandling = getDatatypeHandling(); Map<RDFFormat, Rdfizer> rdfizerMap = new HashMap<>(); for (RDFFormat format : RDFParserRegistry.getInstance().getKeys()) { Rdfizer rdfizer = new VerbatimRdfizer(format, datatypeHandling); rdfizerMap.put(format, rdfizer); for (String type : format.getMIMETypes()) { double qualityFactor = type.equals("application/rdf+xml") ? 1.0 : 0.5; addRdfizer(type, rdfizer, qualityFactor); } } addRdfizer("text/xml", rdfizerMap.get(RDFFormat.RDFXML), 0.25); }
private void addVerbatimRdfizers() { RDFParser.DatatypeHandling datatypeHandling = getDatatypeHandling(); Map<RDFFormat, Rdfizer> rdfizerMap = new HashMap<>(); for (RDFFormat format : RDFParserRegistry.getInstance().getKeys()) { Rdfizer rdfizer = new VerbatimRdfizer(format, datatypeHandling); rdfizerMap.put(format, rdfizer); for (String type : format.getMIMETypes()) { double qualityFactor = type.equals("application/rdf+xml") ? 1.0 : 0.5; addRdfizer(type, rdfizer, qualityFactor); } } addRdfizer("text/xml", rdfizerMap.get(RDFFormat.RDFXML), 0.25); }