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!")); } }
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 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!")); }
@Test public void testTurtleReaderWithContext() { final Graph graph = rdf.createGraph(); service.read(getClass().getResourceAsStream("/testRdf.ttl"), TURTLE, "trellis:data/resource") .forEach(graph::add); assertTrue(validateGraph(graph), "Failed round-trip for Turtle using a context value!"); }
@Test public void testJsonLdCustomSerializer2() throws UnsupportedEncodingException { final ByteArrayOutputStream out = new ByteArrayOutputStream(); service2.write(getTriples(), out, JSONLD, rdf.createIRI("http://www.w3.org/ns/anno.jsonld")); final String output = out.toString("UTF-8"); assertTrue(output.contains("\"dcterms:title\":\"A title\""), "missing/incorrect dcterms:title!"); assertTrue(output.contains("\"type\":\"Text\""), "missing/incorrect rdf:type!"); assertTrue(output.contains("\"@context\":"), "missing @context!"); assertTrue(output.contains("\"@context\":\"http://www.w3.org/ns/anno.jsonld\""), "Incorrect @context value!"); assertFalse(output.contains("\"@graph\":"), "unexpected @graph!"); final Graph graph = rdf.createGraph(); service2.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 testJsonLdCustomSerializer() throws UnsupportedEncodingException { final ByteArrayOutputStream out = new ByteArrayOutputStream(); service.write(getTriples(), out, JSONLD, rdf.createIRI("http://www.w3.org/ns/anno.jsonld")); final String output = out.toString("UTF-8"); assertTrue(output.contains("\"dcterms:title\":\"A title\""), "missing dcterms:title!"); assertTrue(output.contains("\"type\":\"Text\""), "missing rdf:type Text!"); assertTrue(output.contains("\"@context\":"), "missing @context!"); assertTrue(output.contains("\"@context\":\"http://www.w3.org/ns/anno.jsonld\""), "Incorrect @context value!"); assertFalse(output.contains("\"@graph\":"), "unexpected @graph!"); 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 testNullHtmlSerializer() { final ByteArrayOutputStream out = new ByteArrayOutputStream(); service.write(getTriples(), out, RDFA); final ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); final org.apache.jena.graph.Graph graph = createDefaultGraph(); RDFDataMgr.read(graph, in, Lang.TURTLE); assertTrue(validateGraph(rdf.asGraph(graph)), "null HTML serialization didn't default to Turtle!"); }
@Test public void testTurtleSerializer() { final ByteArrayOutputStream out = new ByteArrayOutputStream(); service.write(getTriples(), out, TURTLE); final ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); final org.apache.jena.graph.Graph graph = createDefaultGraph(); RDFDataMgr.read(graph, in, Lang.TURTLE); assertTrue(validateGraph(rdf.asGraph(graph)), "Failed round-trip for Turtle!"); }
@Test public void testNTriplesSerializer() { final ByteArrayOutputStream out = new ByteArrayOutputStream(); service3.write(getTriples(), out, NTRIPLES); final ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); final org.apache.jena.graph.Graph graph = createDefaultGraph(); RDFDataMgr.read(graph, in, Lang.NTRIPLES); assertTrue(validateGraph(rdf.asGraph(graph)), "Failed round-trip for N-Triples!"); }
@Test public void testBufferedSerializer() { final ByteArrayOutputStream out = new ByteArrayOutputStream(); service.write(getTriples(), out, RDFXML); final ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); final org.apache.jena.graph.Graph graph = createDefaultGraph(); RDFDataMgr.read(graph, in, Lang.RDFXML); assertTrue(validateGraph(rdf.asGraph(graph)), "Failed round-trip for RDFXML!"); }
@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!"); }