List of usage examples for org.apache.commons.rdf.api Dataset contains
@Override
boolean contains(Quad quad);
From source file:org.trellisldp.api.JoiningResourceServiceTest.java
@Test public void testMergingBehavior() { final Quad testMutableQuad = createQuad(testResourceId2, testResourceId2, testResourceId1, badId); final Quad testImmutableQuad = createQuad(testResourceId2, testResourceId2, testResourceId1, badId); // store some data in mutable and immutable sides under the same resource ID final Resource testMutableResource = new TestResource(testResourceId2, testMutableQuad); assertNull(testable.create(Metadata.builder(testMutableResource).build(), testMutableResource.dataset()) .toCompletableFuture().join(), "Couldn't create a resource!"); final Resource testImmutableResource = new TestResource(testResourceId2, testImmutableQuad); assertNull(testable.add(testResourceId2, testImmutableResource.dataset()).toCompletableFuture().join(), "Couldn't create an immutable resource!"); final Resource retrieved = testable.get(testResourceId2).toCompletableFuture().join(); assertEquals(testMutableResource.getIdentifier(), retrieved.getIdentifier(), "Resource was retrieved with wrong ID!"); final Dataset quads = retrieved.dataset(); assertTrue(quads.contains(testImmutableQuad), "Resource was retrieved without its immutable data!"); assertTrue(quads.contains(testMutableQuad), "Resource was retrieved without its mutable data!"); quads.remove(testImmutableQuad);/* ww w . j ava 2 s . c o m*/ quads.remove(testMutableQuad); assertEquals(0, quads.size(), "Resource was retrieved with too much data!"); }
From source file:org.trellisldp.api.JoiningResourceServiceTest.java
@Test public void testAppendSemantics() { final Quad testFirstQuad = createQuad(testResourceId3, testResourceId2, testResourceId1, badId); final Quad testSecondQuad = createQuad(testResourceId3, testResourceId2, testResourceId1, badId); // store some data in mutable and immutable sides under the same resource ID final Resource testFirstResource = new TestResource(testResourceId3, testFirstQuad); assertNull(testable.add(testResourceId3, testFirstResource.dataset()).toCompletableFuture().join(), "Couldn't create an immutable resource!"); final Resource testSecondResource = new TestResource(testResourceId3, testSecondQuad); assertNull(testable.add(testResourceId3, testSecondResource.dataset()).toCompletableFuture().join(), "Couldn't add to an immutable resource!"); final Resource retrieved = testable.get(testResourceId3).toCompletableFuture().join(); assertEquals(testResourceId3, retrieved.getIdentifier(), "Resource was retrieved with wrong ID!"); final Dataset quads = retrieved.dataset(); assertTrue(quads.contains(testFirstQuad), "Resource was retrieved without its immutable data!"); assertTrue(quads.contains(testSecondQuad), "Resource was retrieved without its mutable data!"); quads.remove(testFirstQuad);/*from w ww . j a va 2s. c o m*/ quads.remove(testSecondQuad); assertEquals(0, quads.size(), "Resource was retrieved with too much data!"); }
From source file:org.trellisldp.test.ResourceServiceTests.java
/** * Test creating a resource.//from ww w . j a va2 s. c o m * @throws Exception if the operation failed */ @Test @DisplayName("Test creating resource") default void testCreateResource() throws Exception { final RDF rdf = getInstance(); final IRI identifier = rdf.createIRI(TRELLIS_DATA_PREFIX + getResourceService().generateIdentifier()); final Dataset dataset = buildDataset(identifier, "Creation Test", SUBJECT1); assertEquals(MISSING_RESOURCE, getResourceService().get(identifier).toCompletableFuture().join(), "Check for no pre-existing LDP-RS"); assertDoesNotThrow( () -> getResourceService().create(Metadata.builder(identifier).interactionModel(LDP.RDFSource) .container(ROOT_CONTAINER).build(), dataset).toCompletableFuture().join(), "Check that the resource was successfully created"); final Resource res = getResourceService().get(identifier).toCompletableFuture().join(); assertAll("Check resource stream", res.stream(Trellis.PreferUserManaged) .map(toQuad(Trellis.PreferUserManaged)) .map(q -> () -> assertTrue(dataset.contains(q), "Verify that the quad is from the dataset: " + q))); }
From source file:org.trellisldp.test.ResourceServiceTests.java
/** * Test replacing a resource./*from ww w . jav a 2s. co m*/ * @throws Exception if the operation failed */ @Test @DisplayName("Test replacing resource") default void testReplaceResource() throws Exception { final RDF rdf = getInstance(); final IRI identifier = rdf.createIRI(TRELLIS_DATA_PREFIX + getResourceService().generateIdentifier()); final Dataset dataset = buildDataset(identifier, "Replacement Test", SUBJECT2); assertEquals(MISSING_RESOURCE, getResourceService().get(identifier).toCompletableFuture().join(), "Check for no pre-existing LDP-RS"); assertDoesNotThrow( () -> getResourceService().create(Metadata.builder(identifier).interactionModel(LDP.RDFSource) .container(ROOT_CONTAINER).build(), dataset).toCompletableFuture().join(), "Check that the LDP-RS was successfully created"); dataset.clear(); dataset.add(Trellis.PreferUserManaged, identifier, SKOS.prefLabel, rdf.createLiteral("preferred label")); dataset.add(Trellis.PreferUserManaged, identifier, SKOS.altLabel, rdf.createLiteral("alternate label")); dataset.add(Trellis.PreferUserManaged, identifier, type, SKOS.Concept); assertDoesNotThrow( () -> getResourceService().replace(Metadata.builder(identifier).interactionModel(LDP.RDFSource) .container(ROOT_CONTAINER).build(), dataset).toCompletableFuture().join(), "Check that the LDP-RS was successfully replaced"); final Resource res = getResourceService().get(identifier).toCompletableFuture().join(); assertAll("Check the replaced LDP-RS stream", res.stream(Trellis.PreferUserManaged).map(toQuad(Trellis.PreferUserManaged)) .map(q -> () -> assertTrue(dataset.contains(q), "Check that the quad comes from the dataset: " + q))); assertEquals(3L, res.stream(Trellis.PreferUserManaged).count(), "Check the total user-managed triple count"); }
From source file:org.trellisldp.test.ResourceServiceTests.java
/** * Test adding immutable data.//w ww. j a v a 2 s . c o m * @throws Exception if the operation failed */ @Test @DisplayName("Test adding immutable data") default void testAddImmutableData() throws Exception { final RDF rdf = getInstance(); final IRI identifier = rdf.createIRI(TRELLIS_DATA_PREFIX + getResourceService().generateIdentifier()); final Dataset dataset0 = buildDataset(identifier, "Immutable Resource Test", SUBJECT2); assertDoesNotThrow( () -> getResourceService().create(Metadata.builder(identifier).interactionModel(LDP.RDFSource) .container(ROOT_CONTAINER).build(), dataset0).toCompletableFuture().join(), "Check the successful creation of an LDP-RS"); final IRI audit1 = rdf.createIRI(TRELLIS_BNODE_PREFIX + getResourceService().generateIdentifier()); final Dataset dataset1 = rdf.createDataset(); dataset1.add(Trellis.PreferAudit, identifier, PROV.wasGeneratedBy, audit1); dataset1.add(Trellis.PreferAudit, audit1, type, PROV.Activity); dataset1.add(Trellis.PreferAudit, audit1, type, AS.Create); dataset1.add(Trellis.PreferAudit, audit1, PROV.atTime, rdf.createLiteral(now().toString(), XSD.dateTime)); assertDoesNotThrow(() -> getResourceService().add(identifier, dataset1).toCompletableFuture().join(), "Check the successful addition of audit quads"); final Resource res = getResourceService().get(identifier).toCompletableFuture().join(); assertAll("Check the audit stream", res.stream(Trellis.PreferAudit).map(toQuad(Trellis.PreferAudit)) .map(q -> () -> assertTrue(dataset1.contains(q), "Check that the audit stream includes: " + q))); assertEquals(4L, res.stream(Trellis.PreferAudit).count(), "Check the audit triple count"); final IRI audit2 = rdf.createIRI(TRELLIS_BNODE_PREFIX + getResourceService().generateIdentifier()); final Dataset dataset2 = rdf.createDataset(); dataset2.add(Trellis.PreferAudit, identifier, PROV.wasGeneratedBy, audit2); dataset2.add(Trellis.PreferAudit, audit2, type, PROV.Activity); dataset2.add(Trellis.PreferAudit, audit2, type, AS.Update); dataset2.add(Trellis.PreferAudit, audit2, PROV.atTime, rdf.createLiteral(now().toString(), XSD.dateTime)); assertDoesNotThrow(() -> getResourceService().add(identifier, dataset2).toCompletableFuture().join(), "Check that audit triples are added successfully"); final Resource res2 = getResourceService().get(identifier).toCompletableFuture().join(); final Dataset combined = rdf.createDataset(); dataset1.stream().forEach(combined::add); dataset2.stream().forEach(combined::add); assertAll("Check the audit stream", res2.stream(Trellis.PreferAudit).map(toQuad(Trellis.PreferAudit)) .map(q -> () -> assertTrue(combined.contains(q), "Check that the audit stream includes: " + q))); assertEquals(8L, res2.stream(Trellis.PreferAudit).count(), "Check the audit triple count"); }