本文整理了Java中org.apache.commons.rdf.api.Dataset
类的一些代码示例,展示了Dataset
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Dataset
类的具体详情如下:
包路径:org.apache.commons.rdf.api.Dataset
类名称:Dataset
[英]An RDF 1.1 Dataset, a set of RDF quads, as defined by RDF-1.1 Concepts and Abstract Syntax, a W3C Recommendation published on 25 February 2014.
[中]一个RDF 1.1 Dataset,一组RDF四元组,由RDF-1.1 Concepts and Abstract Syntax定义,W3C建议于2014年2月25日发布。
代码示例来源:origin: org.trellisldp/trellis-api
@Override
public Stream<Quad> stream() {
return dataset.stream().map(Quad.class::cast);
}
代码示例来源:origin: trellis-ldp/trellis
/**
* Add a quad to the dataset.
*
* @param quad an RDF Quad
*/
public void add(final Quad quad) {
dataset.add(quad);
}
代码示例来源:origin: org.trellisldp/trellis-rosid-common
dataset.remove(of(PreferServerManaged), null, type, null);
dataset.add(PreferServerManaged, identifier, type, ixnModel);
if (LDP.Resource.equals(ixnModel) && dataset.contains(of(PreferAudit), null, type, Delete)) {
dataset.add(PreferUserManaged, identifier, type, DeletedResource);
} else {
dataset.remove(of(PreferUserManaged), identifier, type, DeletedResource);
代码示例来源:origin: org.trellisldp/trellis-rosid-common
private ProducerRecord<String, String> buildContainmentMessage(final String topic, final IRI resource,
final Resource parent, final Dataset dataset) throws Exception {
try (final Dataset data = dataset.stream(of(PreferAudit), null, null, null).map(auditTypeMapper)
.collect(toDataset())) {
data.add(PreferContainment, parent.getIdentifier(), contains, resource);
return new ProducerRecord<>(topic, parent.getIdentifier().getIRIString(), serialize(data));
}
}
代码示例来源:origin: org.apache.commons/commons-rdf-api
@Test
public void clear() throws Exception {
dataset.clear();
assertFalse(dataset.contains(null, alice, knows, bob));
assertEquals(0, dataset.size());
dataset.clear(); // no-op
assertEquals(0, dataset.size());
assertFalse(dataset.contains(null, null, null, null)); // nothing here
}
代码示例来源:origin: trellis-ldp/trellis
dataset.add(Trellis.PreferUserManaged, resource, DC.title, rdf.createLiteral("Indirect Container"));
dataset.add(Trellis.PreferUserManaged, resource, DC.description, rdf.createLiteral("Test LDP-IC"));
dataset.add(Trellis.PreferUserManaged, resource, DC.subject, rdf.createIRI("http://example.com/subject"));
dataset.add(Trellis.PreferUserManaged, resource, RDF.type, SKOS.Concept);
dataset.add(Trellis.PreferUserManaged, resource, LDP.membershipResource, members);
dataset.add(Trellis.PreferUserManaged, resource, LDP.hasMemberRelation, RDFS.label);
dataset.add(Trellis.PreferUserManaged, resource, LDP.insertedContentRelation, SKOS.prefLabel);
dataset.add(Trellis.PreferAudit, resource, PROV.wasGeneratedBy, bnode0);
dataset.add(Trellis.PreferAudit, bnode0, PROV.atTime, rdf.createLiteral(now().toString(), XSD.dateTime));
dataset.add(Trellis.PreferAudit, bnode0, RDF.type, PROV.Activity);
dataset.add(Trellis.PreferAudit, bnode0, RDF.type, AS.Create);
dataset.clear();
dataset.add(Trellis.PreferUserManaged, members, DC.title, rdf.createLiteral("Membership resource"));
dataset.add(Trellis.PreferAudit, members, PROV.wasGeneratedBy, bnode1);
dataset.add(Trellis.PreferAudit, bnode1, PROV.atTime, rdf.createLiteral(now().toString(), XSD.dateTime));
dataset.add(Trellis.PreferAudit, bnode1, RDF.type, PROV.Activity);
dataset.add(Trellis.PreferAudit, bnode1, RDF.type, AS.Create);
dataset.clear();
dataset.add(Trellis.PreferUserManaged, child, SKOS.prefLabel, label);
dataset.add(Trellis.PreferAudit, child, PROV.wasGeneratedBy, bnode2);
dataset.add(Trellis.PreferAudit, bnode2, RDF.type, AS.Create);
dataset.add(Trellis.PreferAudit, bnode2, RDF.type, PROV.Activity);
代码示例来源:origin: org.apache.commons/commons-rdf-api
@Test
public void remove() throws Exception {
final long fullSize = dataset.size();
dataset.remove(Optional.of(graph1), alice, knows, bob);
final long shrunkSize = dataset.size();
assertEquals(1, fullSize - shrunkSize);
dataset.remove(Optional.of(graph1), alice, knows, bob);
assertEquals(shrunkSize, dataset.size()); // unchanged
dataset.add(graph1, alice, knows, bob);
dataset.add(graph2, alice, knows, bob);
dataset.add(graph2, alice, knows, bob);
assertTrue(dataset.size() > shrunkSize);
dataset.remove(null, alice, knows, bob);
assertEquals(shrunkSize, dataset.size());
try (Stream<? extends Quad> stream = dataset.stream()) {
final Optional<? extends Quad> anyQuad = stream.findAny();
Assume.assumeTrue(anyQuad.isPresent());
dataset.remove(otherQuad);
assertEquals(shrunkSize - 1, dataset.size());
dataset.remove(otherQuad);
assertEquals(shrunkSize - 1, dataset.size()); // no change
dataset.add(otherQuad);
代码示例来源:origin: trellis-ldp/trellis
@Test
public void testAuditUpdate() {
final Dataset dataset = rdf.createDataset();
final AuditService svc = new DefaultAuditService() {};
svc.update(subject, mockSession).forEach(dataset::add);
assertTrue(dataset.getGraph(Trellis.PreferAudit).filter(graph -> graph.size() == dataset.size()).isPresent());
assertTrue(dataset.contains(null, null, type, AS.Update));
assertAll("Event property check", checkEventProperties(dataset));
}
代码示例来源:origin: trellis-ldp/trellis
/**
* Get a graph from the dataset.
*
* @param graphName the graph name
* @return the graph
*/
public Optional<Graph> getGraph(final IRI graphName) {
return dataset.getGraph(graphName);
}
代码示例来源:origin: org.trellisldp/trellis-test
/**
* Test replacing a resource.
* @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");
}
代码示例来源:origin: org.apache.commons/commons-rdf-api
@Test
public void getQuads() throws Exception {
long quadCount;
try (Stream<? extends Quad> stream = dataset.stream()) {
quadCount = stream.count();
}
assertTrue(quadCount > 0);
try (Stream<? extends Quad> stream = dataset.stream()) {
assertTrue(stream.allMatch(t -> dataset.contains(t)));
}
// Check exact count
Assume.assumeNotNull(bnode1, bnode2, aliceName, bobName, secretClubName, companyName, bobNameQuad);
assertEquals(10, quadCount);
}
代码示例来源:origin: trellis-ldp/trellis
@Override
public CompletionStage<Void> add(final IRI id, final Dataset dataset) {
return runAsync(() -> {
final IRI graphName = rdf.createIRI(id.getIRIString() + "?ext=audit");
try (final Dataset data = rdf.createDataset()) {
dataset.getGraph(PreferAudit).ifPresent(g ->
g.stream().forEach(t -> data.add(graphName, t.getSubject(), t.getPredicate(), t.getObject())));
executeWrite(rdfConnection, () -> rdfConnection.loadDataset(asJenaDataset(data)));
} catch (final Exception ex) {
throw new RuntimeTrellisException("Error storing audit dataset for " + id, ex);
}
});
}
代码示例来源:origin: org.apache.commons/commons-rdf-api
factory = createFactory();
dataset = factory.createDataset();
assertEquals(0, dataset.size());
bobName = factory.createLiteral("Bob", "en-US");
dataset.add(graph1, alice, name, aliceName);
dataset.add(graph1, alice, knows, bob);
dataset.add(graph1, alice, member, bnode1);
dataset.add(bobNameQuad);
dataset.add(factory.createQuad(graph2, bob, member, bnode1));
dataset.add(factory.createQuad(graph2, bob, member, bnode2));
dataset.add(graph1, bnode1, name, secretClubName);
dataset.add(graph2, bnode2, name, companyName);
dataset.add(null, alice, isPrimaryTopicOf, graph1);
dataset.add(null, bob, isPrimaryTopicOf, graph2);
代码示例来源:origin: org.apache.commons/commons-rdf-simple
@Override
public boolean contains(final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object) {
return dataset.contains(unionOrNamedGraph(), subject, predicate, object);
}
代码示例来源:origin: trellis-ldp/trellis
@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);
quads.remove(testSecondQuad);
assertEquals(0, quads.size(), "Resource was retrieved with too much data!");
}
代码示例来源:origin: org.apache.commons/commons-rdf-api
@Test
public void getGraph2() throws Exception {
// graph2 should be present, even if is named by a BlankNode
// We'll look up the potentially mapped graph2 blanknode
final BlankNodeOrIRI graph2Name = (BlankNodeOrIRI) dataset.stream(Optional.empty(), bob, isPrimaryTopicOf, null)
.map(Quad::getObject).findAny().get();
try (final Graph g2 = dataset.getGraph(graph2Name).get()) {
assertEquals(4, g2.size());
final Triple bobNameTriple = bobNameQuad.asTriple();
assertTrue(g2.contains(bobNameTriple));
assertTrue(g2.contains(bob, member, bnode1));
assertTrue(g2.contains(bob, member, bnode2));
assertFalse(g2.contains(bnode1, name, secretClubName));
assertTrue(g2.contains(bnode2, name, companyName));
}
}
代码示例来源:origin: org.apache.commons/commons-rdf-api
@Test
public void containsLanguageTagsCaseInsensitive() {
// COMMONSRDF-51: Ensure we can add/contains/remove with any casing
// of literal language tag
final Literal lower = factory.createLiteral("Hello there", "en-gb");
final Literal upper = factory.createLiteral("Hello there", "EN-GB");
final Literal mixed = factory.createLiteral("Hello there", "en-GB");
final IRI example1 = factory.createIRI("http://example.com/s1");
final IRI greeting = factory.createIRI("http://example.com/greeting");
dataset.add(null, example1, greeting, upper);
// any kind of Triple should match
assertTrue(dataset.contains(factory.createQuad(null, example1, greeting, upper)));
assertTrue(dataset.contains(factory.createQuad(null, example1, greeting, lower)));
assertTrue(dataset.contains(factory.createQuad(null, example1, greeting, mixed)));
// or as patterns
assertTrue(dataset.contains(null, null, null, upper));
assertTrue(dataset.contains(null, null, null, lower));
assertTrue(dataset.contains(null, null, null, mixed));
}
代码示例来源:origin: trellis-ldp/trellis
private Stream<Executable> checkEventProperties(final Dataset dataset) {
return Stream.of(
() -> assertTrue(dataset.contains(null, null, type, PROV.Activity), "missing prov:Activity triple!"),
() -> assertTrue(dataset.contains(null, subject, PROV.wasGeneratedBy, null),
"missing prov:wasGeneratedBy triple!"),
() -> assertTrue(dataset.contains(null, null, PROV.wasAssociatedWith, Trellis.AnonymousAgent),
"missing prov:wasAssociatedWith triple!"),
() -> assertTrue(dataset.contains(null, null, PROV.actedOnBehalfOf, Trellis.AdministratorAgent),
"missing prov:actedOnBehalfOf triple!"),
() -> assertTrue(dataset.contains(null, null, PROV.atTime,
rdf.createLiteral(created.toString(), XSD.dateTime)), "missing prov:atTime triple!"),
() -> assertEquals(6L, dataset.size(), "Incorrect dataset size!"));
}
}
代码示例来源:origin: org.apache.commons/commons-rdf-api
/**
* Ensure {@link Dataset#getGraphNames()} contains our two graphs.
*
* @throws Exception
* If test fails
*/
@Test
public void getGraphNames() throws Exception {
final Set<BlankNodeOrIRI> names = dataset.getGraphNames().collect(Collectors.toSet());
assertTrue("Can't find graph name " + graph1, names.contains(graph1));
assertTrue("Found no quads in graph1", dataset.contains(Optional.of(graph1), null, null, null));
final Optional<BlankNodeOrIRI> graphName2 = dataset.getGraphNames().filter(BlankNode.class::isInstance).findAny();
assertTrue("Could not find graph2-like BlankNode", graphName2.isPresent());
assertTrue("Found no quads in graph2", dataset.contains(graphName2, null, null, null));
// Some implementations like Virtuoso might have additional internal graphs,
// so we can't assume this:
//assertEquals(2, names.size());
}
代码示例来源:origin: org.apache.commons/commons-rdf-api
@Test
public void size() throws Exception {
assertEquals(10, dataset.size());
}
内容来源于网络,如有侵权,请联系作者删除!