本文整理汇总了Java中org.apache.jena.sparql.core.Quad类的典型用法代码示例。如果您正苦于以下问题:Java Quad类的具体用法?Java Quad怎么用?Java Quad使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Quad类属于org.apache.jena.sparql.core包,在下文中一共展示了Quad类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: filter
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
/**
* filter RDD of {@link Quad}s based on the specified config
*
* @param quads RDD of quads to filter
* @return filtered RDD of quads
*/
public JavaRDD<Quad> filter(JavaRDD<Quad> quads) {
Set<String> subjectBlacklist = new HashSet<>(config.getResourceBlacklist());
if (config.getResources().isEmpty()) {
return QuadUtils.filterQuadsByForbiddenSubjects(quads, subjectBlacklist);
}
log.info("Filtering quads");
Set<String> subjects = new HashSet<>(config.getResources());
boolean directed = config.isDirected();
for (int d = 0; d < config.getRelatedDepth(); d++) {
log.info("Depth {}, collecting neighbors of {} resources", d, subjects.size());
List<String> neighbors = QuadUtils.getNeighborResources(quads, subjects, directed).collect();
subjects.addAll(neighbors);
subjects.removeAll(subjectBlacklist);
}
log.info("Filtering on an in-memory set of {} subjects", subjects.size());
quads = QuadUtils.filterQuadsByAllowedSubjects(quads, subjects);
return quads;
}
示例2: getRdfsLabels
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
/**
* Get map of rdfs:labels for specified URIs
*
* @param quads Quads to use for retrieving labels
* @param uris Set of URI Strings to find labels for
* @return map of URI -> rdfs:label
*/
private Map<String, String> getRdfsLabels(JavaRDD<Quad> quads, Set<String> uris) {
Broadcast<Set<String>> broadcastURIs = sc.broadcast(uris);
Map<String, String> nonSerializableMap = quads.filter(quad ->
// filter out label predicates for specified subject URIs
quad.getPredicate().isURI() &&
quad.getPredicate().getURI().equals(LABEL_URI) &&
quad.getSubject().isURI() &&
(broadcastURIs.getValue().contains(quad.getSubject().getURI()))
// map to pair of uri, label
).mapToPair(quad -> new Tuple2<>(
quad.getSubject().getURI(),
quad.getObject().getLiteralValue().toString()
)).collectAsMap();
return new HashMap<>(nonSerializableMap);
}
示例3: deleteAny
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
@Override
/** Simple implementation but done without assuming iterator.remove() */
public void deleteAny(Node g, Node s, Node p, Node o) {
Quad[] buffer = new Quad[DeleteBufferSize];
while (true) {
Iterator<Quad> iter = find(g, s, p, o);
// Get a slice
int len = 0;
for ( ; len < DeleteBufferSize ; len++ ) {
if ( !iter.hasNext() )
break;
buffer[len] = iter.next();
}
// Delete them.
for ( int i = 0 ; i < len ; i++ ) {
delete(buffer[i]);
buffer[i] = null;
}
// Finished?
if ( len < DeleteBufferSize )
break;
}
}
示例4: changeSuppressEmptyCommit_4
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
@Test public void changeSuppressEmptyCommit_4() {
Quad q = SSE.parseQuad("(_ :s :p 'object')");
Triple t = SSE.parseTriple("(:t :p 'object')");
Txn.executeRead(dsg, ()->{});
testCounters(counter.summary(), 0, 0);
Txn.executeWrite(dsg, ()->{dsg.add(q);});
testCounters(counter.summary(), 1, 0);
Txn.executeWrite(dsg, ()->{dsg.getDefaultGraph().add(t);});
testCounters(counter.summary(), 2, 0);
Txn.executeWrite(dsg, ()->{dsg.getDefaultGraph().getPrefixMapping().setNsPrefix("", "http://example/");});
testCounters(counter.summary(), 2, 1);
Txn.executeWrite(dsg, ()->{});
testCounters(counter.summary(), 2, 1);
}
示例5: change_2
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
@Test
public void change_2() {
String NAME = "change_2";
DeltaClient dClient = createRegister(NAME);
try(DeltaConnection dConn = dClient.get(NAME)) {
Id dsRef = dConn.getDataSourceId();
long version = dConn.getRemoteVersionLatest();
DatasetGraph dsg = dConn.getDatasetGraph();
Txn.executeWrite(dsg, ()->{
Quad q = SSE.parseQuad("(_ :s1 :p1 :o1)");
dsg.add(q);
});
// Rebuild directly.
DatasetGraph dsg2 = DatasetGraphFactory.createTxnMem();
long ver = dConn.getRemoteVersionLatest();
RDFPatch patch1 = dConn.getLink().fetch(dsRef, ver) ;
RDFPatchOps.applyChange(dsg2, patch1);
Set<Quad> set1 = Txn.calculateRead(dsg, ()->Iter.toSet(dsg.find()));
Set<Quad> set2 = Txn.calculateRead(dsg2, ()->Iter.toSet(dsg2.find()));
assertEquals(set1, set2);
}
}
示例6: change_read_new
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
private void change_read_new(Runnable betweenSections) {
Quad quad = DeltaTestLib.freshQuad();
String NAME = "DS-"+counter.incrementAndGet();
DeltaClient dClient = createRegister(NAME);
Id dsRef;
try(DeltaConnection dConn = dClient.get(NAME)) {
dConn.getPatchLogInfo().getDataSourceId();
dsRef = dConn.getDataSourceId();
long version = dConn.getRemoteVersionLatest();
DatasetGraph dsg = dConn.getDatasetGraph();
Txn.executeWrite(dsg, ()->dsg.add(quad) );
}
betweenSections.run();
// New client.
// Rebuild.
dClient = resetDeltaClient(NAME);
try(DeltaConnection dConn = dClient.get(NAME)) {
boolean b = dConn.getDatasetGraph().contains(quad);
assertTrue(b);
}
}
示例7: update_3
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
@Test
public void update_3() {
// Create on the Delta link then setup DeltaClient
DeltaLink dLink = getLink();
String DS_NAME = "12345";
Id dsRef = dLink.newDataSource(DS_NAME, "http://example/datasource_update_3");
DeltaClient dClient = createDeltaClient();
dClient.register(dsRef, LocalStorageType.MEM, TxnSyncPolicy.NONE);
DeltaConnection dConn = dClient.get(DS_NAME);
Quad quad = SSE.parseQuad("(_ :s :p :o)");
DatasetGraph dsg = dConn.getDatasetGraph();
long x0 = Txn.calculateRead(dsg, ()->Iter.count(dsg.find()) );
assertEquals(0, x0);
dsg.begin(ReadWrite.WRITE);
dsg.add(quad);
dsg.abort();
long x1 = Txn.calculateRead(dsg, ()->Iter.count(dsg.find()) );
assertEquals(0, x1);
}
示例8: next
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
@Override
public Quad next() {
QuerySolution solution = results.next();
Node s = solution.get("s").asNode();
Node p = solution.get("p").asNode();
Node o = solution.get("o").asNode();
Node g = null;
if (solution.get("g") != null) {
g = solution.get("g").asNode();
} else {
if (graphName != null) {
g = NodeFactory.createURI(graphName);
}
}
Quad quad = new Quad(g, s, p, o);
return quad;
}
示例9: testAdd_ReadUser
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
@Test
public void testAdd_ReadUser() throws FileNotFoundException {
Exception exp = null;
try {
Quad quad = new Quad(NodeFactory.createURI("http://originalGraph1"), new Triple(NodeFactory.createURI("#electricVehicle3"),
NodeFactory.createURI("http://www.w3.org/1999/02/22-rdf-syntax-ns#type1"),
NodeFactory.createLiteral("http://people.aifb.kit.edu/awa/2011/smartgrid/schema/smartgrid#ElectricVehicle1")));
markLogicDatasetGraphReader.add(quad);
markLogicDatasetGraphReader.sync();
assertFalse(markLogicDatasetGraphReader.contains(quad));
} catch (Exception e) {
exp = e;
}
assertTrue("Should catch ForbiddenUserException ", exp.toString().contains("ForbiddenUserException") && exp != null);
}
示例10: testSetDefaultGraph_admin
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
@Test
public void testSetDefaultGraph_admin() {
String file = datasource + "relative1.nt";
// Read triples into dataset
RDFDataMgr.read(markLogicDatasetGraphWriter, file);
markLogicDatasetGraphWriter.sync();
Graph g1 = markLogicDatasetGraphWriter.getDefaultGraph();
assertTrue("did not match Triples", g1.toString().contains("#electricVehicle2"));
// Create New graph and add triples from defaultgraph to new graph
Triple triple = new Triple(NodeFactory.createURI("s5"), NodeFactory.createURI("p5"), NodeFactory.createURI("o5"));
Quad quad = new Quad(NodeFactory.createURI("new-graph-fordefault"), triple);
Node n1 = NodeFactory.createURI("new-graph-fordefault");
markLogicDatasetGraphWriter.add(quad);
markLogicDatasetGraphWriter.sync();
Graph g2 = markLogicDatasetGraphWriter.getGraph(n1);
assertTrue("did not match Triples", g2.contains(triple));
// Set DefaultGraph to be NamedGraph
markLogicDatasetGraphWriter.setDefaultGraph(g2);
Graph defaultG = markLogicDatasetGraphWriter.getDefaultGraph();
assertTrue("did not match Triples", defaultG.contains(triple));
}
示例11: testDelete_admin
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
@Test
public void testDelete_admin() {
Triple triple = new Triple(NodeFactory.createURI("s5"), NodeFactory.createURI("p5"), NodeFactory.createURI("o5"));
Quad quad = new Quad(NodeFactory.createURI("new-graph-fordefault2"), triple);
Node n2 = NodeFactory.createURI("new-graph-fordefault2");
markLogicDatasetGraphWriter.add(quad);
markLogicDatasetGraphWriter.sync();
Graph g3 = markLogicDatasetGraphWriter.getGraph(n2);
g3.delete(triple);
markLogicDatasetGraphWriter.sync();
assertTrue("did not match Triples", g3.size() == 0);
markLogicDatasetGraphWriter.delete(quad);
assertTrue("Quad Should be deleted , but looks like its not", !markLogicDatasetGraphWriter.contains(quad));
markLogicDatasetGraphWriter.setDefaultGraph(g3);
Graph defaultG = markLogicDatasetGraphWriter.getDefaultGraph();
assertTrue("did not match Triples", defaultG.size() == 0);
}
示例12: literalSubjectDefaultGraphGen
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
@Test
public void literalSubjectDefaultGraphGen() throws Exception {
final JenaIRI ex1 = jena.createIRI("http://example.com/ex1");
final JenaIRI ex2 = jena.createIRI("http://example.com/ex2");
// No need to cast to JenaIRI
final JenaRDFTerm defG = jena.asRDFTerm(Quad.defaultGraphNodeGenerated);
final JenaLiteral lit = jena.createLiteral("Hello");
final JenaGeneralizedQuadLike q = jena.createGeneralizedQuad(lit, ex1, ex2, defG);
assertEquals(lit, q.getSubject()); // it's a literal!
assertEquals(ex1, q.getPredicate());
assertEquals(ex2, q.getObject());
assertTrue(q.asJenaQuad().getSubject().isLiteral());
assertFalse(q.getGraphName().isPresent());
assertTrue(q.asJenaQuad().isDefaultGraph());
}
示例13: doExportTree
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
private void doExportTree(RegisterItem item, StreamRDF out) {
if ( item.isRegister() ) {
Register register = item.getAsRegister(this);
for (RegisterEntryInfo ei : listMembers(register )) {
doExportTree( getCurrentVersion(ei.getItemURI()).asRegisterItem(), out );
}
}
Collection<Resource> graphs = scanAllVersions(item.getRoot(), out, null);
for (Resource g : graphs) {
Iterator<Quad> i = store.asDataset().asDatasetGraph().findNG(g.asNode(), Node.ANY, Node.ANY, Node.ANY);
while (i.hasNext()){
out.quad( i.next() );
}
}
}
示例14: assertIdentical
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
private void assertIdentical(final String uri, final String originalRdf) throws IOException {
try (CloseableDataset roundtripped = getDataset(new HttpGet(uri))) {
try (CloseableDataset original = parseTriples(new ByteArrayInputStream(originalRdf.getBytes()))) {
final DatasetGraph originalGraph = original.asDatasetGraph();
final DatasetGraph roundtrippedGraph = roundtripped.asDatasetGraph();
final Iterator<Quad> originalQuadIt = originalGraph.find();
while (originalQuadIt.hasNext()) {
final Quad q = originalQuadIt.next();
assertTrue(q + " should be preserved through a roundtrip! \nOriginal RDF: " + originalRdf
+ "\nRoundtripped Graph:\n" + roundtrippedGraph, roundtrippedGraph.contains(q));
roundtrippedGraph.delete(q);
}
assertTrue("Roundtripped graph had extra quads! " + roundtrippedGraph, roundtrippedGraph.isEmpty());
}
}
}
示例15: testGetObjectVersionProfile
import org.apache.jena.sparql.core.Quad; //导入依赖的package包/类
@Test
public void testGetObjectVersionProfile() throws IOException {
final String id = getRandomUniqueId();
final String label = "v0.0.1";
createObjectAndClose(id);
enableVersioning(id);
postObjectVersion(id, label);
logger.debug("Retrieved version profile:");
try (final CloseableDataset dataset = getDataset(new HttpGet(serverAddress + id + "/fcr:versions"))) {
final DatasetGraph graph = dataset.asDatasetGraph();
assertEquals("Expected exactly 3 triples!", 3, countTriples(graph));
final Resource subject = createResource(serverAddress + id);
final Iterator<Quad> hasVersionTriple = graph.find(ANY, subject.asNode(), HAS_VERSION.asNode(), ANY);
assertTrue("Didn't find a version triple!", hasVersionTriple.hasNext());
final Node versionURI = hasVersionTriple.next().getObject();
assertFalse("Found extra version triple!", hasVersionTriple.hasNext());
assertTrue("Version label wasn't presented!",
graph.contains(ANY, versionURI, HAS_VERSION_LABEL.asNode(), createLiteral(label)));
assertTrue("Version creation date wasn't present!",
graph.contains(ANY, versionURI, CREATED_DATE.asNode(), ANY));
}
}