/** * Create a serialization service. * * @param namespaceService the namespace service * @param htmlSerializer the HTML serializer service */ public JenaIOService(final NamespaceService namespaceService, final RDFaWriterService htmlSerializer) { this(namespaceService, htmlSerializer, new NoopProfileCache()); }
/** * Create a serialization service. * * @param namespaceService the namespace service * @param htmlSerializer the HTML serializer service * @param cache a cache for custom JSON-LD profile resolution * @param whitelist a whitelist of JSON-LD profiles * @param whitelistDomains a whitelist of JSON-LD profile domains */ public JenaIOService(final NamespaceService namespaceService, final RDFaWriterService htmlSerializer, final CacheService<String, String> cache, final String whitelist, final String whitelistDomains) { this(namespaceService, htmlSerializer, cache, intoSet(whitelist), intoSet(whitelistDomains)); }
/** * Create a serialization service. * @param namespaceService the namespace service */ public JenaIOService(final NamespaceService namespaceService) { this(namespaceService, findFirst(RDFaWriterService.class).orElse(null)); }
@Test public void testJsonLdCustomSerializerNoopCache() throws UnsupportedEncodingException { final ByteArrayOutputStream out = new ByteArrayOutputStream(); final IOService svc = new JenaIOService(mockNamespaceService, null, new NoopProfileCache(), "http://www.w3.org/ns/anno.jsonld,,,", "http://www.trellisldp.org/ns/"); svc.write(getTriples(), out, JSONLD, rdf.createIRI("http://www.w3.org/ns/anno.jsonld")); final String output = out.toString("UTF-8"); final Graph graph = rdf.createGraph(); service.read(new ByteArrayInputStream(output.getBytes(UTF_8)), JSONLD, null).forEach(graph::add); assertTrue(validateGraph(graph), "Not all triples present in output graph!"); }
@Test public void testJsonLdNullCache() throws UnsupportedEncodingException { final ByteArrayOutputStream out = new ByteArrayOutputStream(); final IOService myservice = new JenaIOService(); myservice.write(getTriples(), out, JSONLD, rdf.createIRI("http://www.w3.org/ns/anno.jsonld")); final String output = out.toString("UTF-8"); final Graph graph = rdf.createGraph(); myservice.read(new ByteArrayInputStream(output.getBytes(UTF_8)), JSONLD, null).forEach(graph::add); assertAll("Check compact serialization", checkCompactSerialization(output, graph)); }
@Test public void testHtmlSerializer2() throws Exception { final IOService service4 = new JenaIOService(mockNamespaceService, mockHtmlSerializer); final ByteArrayOutputStream out = new ByteArrayOutputStream(); service4.write(getComplexTriples(), out, RDFA); verify(mockHtmlSerializer).write(any(), eq(out), eq(null)); }
private static RDFFormat getJsonLdProfile(final IRI... profiles) { return JSONLD_FORMATS.get(mergeProfiles(profiles)); }
private void writeHTML(final Stream<Triple> triples, final OutputStream output, final String subject) { if (nonNull(htmlSerializer)) { htmlSerializer.write(triples, output, subject); } else { write(triples, output, TURTLE); } }
private static Stream<Executable> checkExpandedSerialization(final String serialized, final Graph graph) { return of( () -> assertTrue(serialized.contains("\"http://purl.org/dc/terms/title\":[{\"@value\":\"A title\"}]"), "no expanded dc:title property!"), () -> assertFalse(serialized.contains("\"@context\":"), "unexpected @context!"), () -> assertFalse(serialized.contains("\"@graph\":"), "unexpected @graph!"), () -> assertTrue(validateGraph(graph), "Not all triples present in output graph!")); }
private static boolean validateGraph(final Graph graph) { return getTriples().map(graph::contains).reduce(true, (acc, x) -> acc && x); }
/** * Create a serialization service. * * @param namespaceService the namespace service * @param htmlSerializer the HTML serializer service */ public JenaIOService(final NamespaceService namespaceService, final RDFaWriterService htmlSerializer) { this(namespaceService, htmlSerializer, new NoopProfileCache()); }
@Test public void testHtmlSerializer() throws Exception { final IOService service4 = new JenaIOService(mockNamespaceService, mockHtmlSerializer); final ByteArrayOutputStream out = new ByteArrayOutputStream(); service4.write(getComplexTriples(), out, RDFA, rdf.createIRI("http://example.org/")); verify(mockHtmlSerializer).write(any(), eq(out), eq("http://example.org/")); }
/** * Create a serialization service. * @param namespaceService the namespace service */ public JenaIOService(final NamespaceService namespaceService) { this(namespaceService, findFirst(RDFaWriterService.class).orElse(null)); }
/** * Create a serialization service. * * @param namespaceService the namespace service * @param htmlSerializer the HTML serializer service * @param cache a cache for custom JSON-LD profile resolution * @param whitelist a whitelist of JSON-LD profiles * @param whitelistDomains a whitelist of JSON-LD profile domains */ public JenaIOService(final NamespaceService namespaceService, final RDFaWriterService htmlSerializer, final CacheService<String, String> cache, final String whitelist, final String whitelistDomains) { this(namespaceService, htmlSerializer, cache, intoSet(whitelist), intoSet(whitelistDomains)); }
private static RDFFormat getJsonLdProfile(final IRI... profiles) { return JSONLD_FORMATS.get(mergeProfiles(profiles)); }
private void writeHTML(final Stream<Triple> triples, final OutputStream output, final String subject) { if (nonNull(htmlSerializer)) { htmlSerializer.write(triples, output, subject); } else { write(triples, output, TURTLE); } }
private static Stream<Executable> checkCompactSerialization(final String serialized, final Graph graph) { return of( () -> assertTrue(serialized.contains("\"title\":\"A title\""), "missing/invalid dc:title value!"), () -> assertTrue(serialized.contains("\"@context\":"), "missing @context!"), () -> assertFalse(serialized.contains("\"@graph\":"), "unexpected @graph!"), () -> assertTrue(validateGraph(graph), "Not all triples present in output graph!")); }
/** * Create a serialization service. */ @Inject public JenaIOService() { this(findFirst(NamespaceService.class).orElseGet(NoopNamespaceService::new)); }
private static Stream<Executable> checkFlattenedSerialization(final String serialized, final Graph graph) { return of( () -> assertTrue(serialized.contains("\"title\":\"A title\""), "missing/invalid dc:title value!"), () -> assertTrue(serialized.contains("\"@context\":"), "missing @context!"), () -> assertTrue(serialized.contains("\"@graph\":"), "unexpected @graph!"), () -> assertTrue(validateGraph(graph), "Not all triples present in output graph!")); } }
/** * Create a serialization service. */ @Inject public JenaIOService() { this(findFirst(NamespaceService.class).orElseGet(NoopNamespaceService::new)); }