Search in sources :

Example 41 with Quad

use of org.apache.jena.sparql.core.Quad in project jena by apache.

the class AbstractDatasetGraphFind method find_union_01.

@Test
public void find_union_01() {
    List<Quad> x = toList(dsg.find(Quad.unionGraph, null, null, null));
    assertEquals(3, x.size());
    x.stream().allMatch(q -> q.getGraph().equals(Quad.unionGraph));
    List<Triple> z = x.stream().map(Quad::asTriple).collect(Collectors.toList());
    assertTrue(z.contains(q4.asTriple()));
    assertTrue(z.contains(q5.asTriple()));
    Quad qx = Quad.create(Quad.unionGraph, q4.asTriple());
    assertTrue(x.contains(qx));
    Quad qz = Quad.create(Quad.unionGraph, q2.asTriple());
    assertFalse(x.contains(qz));
}
Also used : Triple(org.apache.jena.graph.Triple) Quad(org.apache.jena.sparql.core.Quad) Test(org.junit.Test)

Example 42 with Quad

use of org.apache.jena.sparql.core.Quad in project jena by apache.

the class TestFmtUtils method stringForQuadEncoding.

@Test
public void stringForQuadEncoding() {
    Node n1 = NodeFactory.createURI("q1");
    Quad quad = new Quad(n1, getTriple());
    assertEquals("<q1> <n1> <n2> \"l3\"", stringForQuad(quad));
}
Also used : FmtUtils.stringForQuad(org.apache.jena.sparql.util.FmtUtils.stringForQuad) Quad(org.apache.jena.sparql.core.Quad) FmtUtils.stringForRDFNode(org.apache.jena.sparql.util.FmtUtils.stringForRDFNode) Node(org.apache.jena.graph.Node) Test(org.junit.Test)

Example 43 with Quad

use of org.apache.jena.sparql.core.Quad in project jena by apache.

the class AbstractQuadOutputFormatTests method generateTuples.

@Override
protected Iterator<QuadWritable> generateTuples(int num) {
    List<QuadWritable> qs = new ArrayList<QuadWritable>();
    for (int i = 0; i < num; i++) {
        Quad q = new Quad(NodeFactory.createURI("http://example.org/graphs/" + i), NodeFactory.createURI("http://example.org/subjects/" + i), NodeFactory.createURI("http://example.org/predicate"), NodeFactory.createLiteral(Integer.toString(i), XSDDatatype.XSDinteger));
        qs.add(new QuadWritable(q));
    }
    return qs.iterator();
}
Also used : Quad(org.apache.jena.sparql.core.Quad) QuadWritable(org.apache.jena.hadoop.rdf.types.QuadWritable) ArrayList(java.util.ArrayList)

Example 44 with Quad

use of org.apache.jena.sparql.core.Quad in project jena by apache.

the class AbstractTriplesToQuadsMapper method map.

@Override
protected final void map(TKey key, TripleWritable value, Context context) throws IOException, InterruptedException {
    Triple triple = value.get();
    Node graphNode = this.selectGraph(triple);
    context.write(key, new QuadWritable(new Quad(graphNode, triple)));
}
Also used : Triple(org.apache.jena.graph.Triple) Quad(org.apache.jena.sparql.core.Quad) QuadWritable(org.apache.jena.hadoop.rdf.types.QuadWritable) Node(org.apache.jena.graph.Node)

Example 45 with Quad

use of org.apache.jena.sparql.core.Quad in project jena by apache.

the class TestEmbeddedFuseki method embedded_04.

@Test
public void embedded_04() {
    DatasetGraph dsg = dataset();
    Txn.executeWrite(dsg, () -> {
        Quad q = SSE.parseQuad("(_ :s :p _:b)");
        dsg.add(q);
    });
    // A service with just being able to do quads operations
    // That is, GET, POST, PUT on  "/data" in N-quads and TriG. 
    DataService dataService = new DataService(dsg);
    dataService.addEndpoint(OperationName.Quads_RW, "");
    dataService.addEndpoint(OperationName.Query, "");
    dataService.addEndpoint(OperationName.Update, "");
    int port = FusekiLib.choosePort();
    FusekiEmbeddedServer server = FusekiEmbeddedServer.create().setPort(port).add("/data", dataService).build();
    server.start();
    try {
        // Put data in.
        String data = "(graph (:s :p 1) (:s :p 2) (:s :p 3))";
        Graph g = SSE.parseGraph(data);
        HttpEntity e = graphToHttpEntity(g);
        HttpOp.execHttpPut("http://localhost:" + port + "/data", e);
        // Get data out.
        try (TypedInputStream in = HttpOp.execHttpGet("http://localhost:" + port + "/data")) {
            Graph g2 = GraphFactory.createDefaultGraph();
            RDFDataMgr.read(g2, in, RDFLanguages.contentTypeToLang(in.getContentType()));
            assertTrue(g.isIsomorphicWith(g2));
        }
        // Query.
        query("http://localhost:" + port + "/data", "SELECT * { ?s ?p ?o}", qExec -> {
            ResultSet rs = qExec.execSelect();
            int x = ResultSetFormatter.consume(rs);
            assertEquals(3, x);
        });
        // Update
        UpdateRequest req = UpdateFactory.create("CLEAR DEFAULT");
        UpdateExecutionFactory.createRemote(req, "http://localhost:" + port + "/data").execute();
        // Query again.
        query("http://localhost:" + port + "/data", "SELECT * { ?s ?p ?o}", qExec -> {
            ResultSet rs = qExec.execSelect();
            int x = ResultSetFormatter.consume(rs);
            assertEquals(0, x);
        });
    } finally {
        server.stop();
    }
}
Also used : Quad(org.apache.jena.sparql.core.Quad) DatasetGraph(org.apache.jena.sparql.core.DatasetGraph) Graph(org.apache.jena.graph.Graph) HttpEntity(org.apache.http.HttpEntity) UpdateRequest(org.apache.jena.update.UpdateRequest) ResultSet(org.apache.jena.query.ResultSet) TypedInputStream(org.apache.jena.atlas.web.TypedInputStream) DatasetGraph(org.apache.jena.sparql.core.DatasetGraph) DataService(org.apache.jena.fuseki.server.DataService) Test(org.junit.Test)

Aggregations

Quad (org.apache.jena.sparql.core.Quad)161 Test (org.junit.Test)91 DatasetGraph (org.apache.jena.sparql.core.DatasetGraph)49 Node (org.apache.jena.graph.Node)36 BaseTest (org.apache.jena.atlas.junit.BaseTest)32 Triple (org.apache.jena.graph.Triple)25 UpdateBuilder (org.apache.jena.arq.querybuilder.UpdateBuilder)14 Update (org.apache.jena.update.Update)14 QuadWritable (org.apache.jena.hadoop.rdf.types.QuadWritable)12 ResultSet (java.sql.ResultSet)8 ArrayList (java.util.ArrayList)8 TripleWritable (org.apache.jena.hadoop.rdf.types.TripleWritable)7 Var (org.apache.jena.sparql.core.Var)7 LongWritable (org.apache.hadoop.io.LongWritable)6 UpdateDataDelete (org.apache.jena.sparql.modify.request.UpdateDataDelete)6 UpdateDataInsert (org.apache.jena.sparql.modify.request.UpdateDataInsert)6 Element (org.apache.jena.sparql.syntax.Element)6 Graph (org.apache.jena.graph.Graph)5 BasicPattern (org.apache.jena.sparql.core.BasicPattern)4 IOException (java.io.IOException)3