Search in sources :

Example 46 with Tuple

use of org.apache.jena.atlas.lib.tuple.Tuple in project jena by apache.

the class AbstractTestTupleIndex method TupleIndexRecordFindNot_4.

@Test
public void TupleIndexRecordFindNot_4() {
    TupleIndex index = createIndex("SPO");
    add(index, n1, n2, n3);
    add(index, n1, n5, n6);
    Tuple<NodeId> tuple2 = TupleFactory.tuple(n4, n5, n6);
    Iterator<Tuple<NodeId>> iter = index.find(tuple2);
    assertFalse(iter.hasNext());
}
Also used : NodeId(org.apache.jena.tdb.store.NodeId) TupleIndex(org.apache.jena.tdb.store.tupletable.TupleIndex) Tuple(org.apache.jena.atlas.lib.tuple.Tuple) BaseTest(org.apache.jena.atlas.junit.BaseTest) Test(org.junit.Test)

Example 47 with Tuple

use of org.apache.jena.atlas.lib.tuple.Tuple in project jena by apache.

the class AbstractTestTupleIndex method TupleIndexRecordSPO_6.

@Test
public void TupleIndexRecordSPO_6() {
    TupleIndex index = createIndex("SPO");
    add(index, n1, n2, n3);
    add(index, n1, n2, n4);
    Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, NodeId.NodeIdAny);
    Iterator<Tuple<NodeId>> iter = index.find(tuple2);
    Set<Tuple<NodeId>> x = Iter.toSet(iter);
    assertEquals(2, x.size());
    assertTrue(x.contains(TupleFactory.tuple(n1, n2, n3)));
    assertTrue(x.contains(TupleFactory.tuple(n1, n2, n4)));
}
Also used : NodeId(org.apache.jena.tdb.store.NodeId) TupleIndex(org.apache.jena.tdb.store.tupletable.TupleIndex) Tuple(org.apache.jena.atlas.lib.tuple.Tuple) BaseTest(org.apache.jena.atlas.junit.BaseTest) Test(org.junit.Test)

Example 48 with Tuple

use of org.apache.jena.atlas.lib.tuple.Tuple in project jena by apache.

the class AbstractTestTupleIndex method TupleIndexRecordSPO_1.

@Test
public void TupleIndexRecordSPO_1() {
    TupleIndex index = createIndex("SPO");
    add(index, n1, n2, n3);
    Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, n3);
    Iterator<Tuple<NodeId>> iter = index.find(tuple2);
    assertTrue(iter.hasNext());
    iter.next();
    assertFalse(iter.hasNext());
}
Also used : NodeId(org.apache.jena.tdb.store.NodeId) TupleIndex(org.apache.jena.tdb.store.tupletable.TupleIndex) Tuple(org.apache.jena.atlas.lib.tuple.Tuple) BaseTest(org.apache.jena.atlas.junit.BaseTest) Test(org.junit.Test)

Example 49 with Tuple

use of org.apache.jena.atlas.lib.tuple.Tuple in project jena by apache.

the class AbstractTestTupleIndex method TupleIndexRecordSPO_5.

@Test
public void TupleIndexRecordSPO_5() {
    TupleIndex index = createIndex("SPO");
    add(index, n1, n2, n3);
    add(index, n1, n2, n4);
    Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, n3);
    Iterator<Tuple<NodeId>> iter = index.find(tuple2);
    Set<Tuple<NodeId>> x = Iter.toSet(iter);
    assertEquals(1, x.size());
    assertTrue(x.contains(TupleFactory.tuple(n1, n2, n3)));
    assertFalse(x.contains(TupleFactory.tuple(n1, n2, n4)));
}
Also used : NodeId(org.apache.jena.tdb.store.NodeId) TupleIndex(org.apache.jena.tdb.store.tupletable.TupleIndex) Tuple(org.apache.jena.atlas.lib.tuple.Tuple) BaseTest(org.apache.jena.atlas.junit.BaseTest) Test(org.junit.Test)

Example 50 with Tuple

use of org.apache.jena.atlas.lib.tuple.Tuple in project jena by apache.

the class AbstractNodeWriter method writeValue.

/**
     * Writes the given value
     * <p>
     * If the value is one of the RDF primitives - {@link NodeWritable},
     * {@link TripleWritable}, {@link QuadWritable} and
     * {@link NodeTupleWritable} - then it is formatted as a series of nodes
     * separated by the separator. Otherwise it is formatted by simply calling
     * {@code toString()} on it.
     * </p>
     * 
     * @param value
     *            Values
     */
protected void writeValue(TValue value) {
    // Handle null specially
    if (value instanceof NullWritable || value == null)
        return;
    // Handle RDF primitives specially and format them as proper nodes
    if (value instanceof NodeWritable) {
        this.writeKey((NodeWritable) value);
    } else if (value instanceof TripleWritable) {
        Triple t = ((TripleWritable) value).get();
        this.writeNodes(t.getSubject(), t.getPredicate(), t.getObject());
    } else if (value instanceof QuadWritable) {
        Quad q = ((QuadWritable) value).get();
        this.writeNodes(q.getGraph(), q.getSubject(), q.getPredicate(), q.getObject());
    } else if (value instanceof NodeTupleWritable) {
        Tuple<Node> tuple = ((NodeTupleWritable) value).get();
        Node[] n = new Node[tuple.len()];
        tuple.copyInto(n);
        this.writeNodes(n);
    } else {
        // For arbitrary values just toString() them
        this.writer.write(value.toString());
    }
}
Also used : Triple(org.apache.jena.graph.Triple) NodeWritable(org.apache.jena.hadoop.rdf.types.NodeWritable) TripleWritable(org.apache.jena.hadoop.rdf.types.TripleWritable) Quad(org.apache.jena.sparql.core.Quad) QuadWritable(org.apache.jena.hadoop.rdf.types.QuadWritable) NullWritable(org.apache.hadoop.io.NullWritable) Tuple(org.apache.jena.atlas.lib.tuple.Tuple) NodeTupleWritable(org.apache.jena.hadoop.rdf.types.NodeTupleWritable)

Aggregations

Tuple (org.apache.jena.atlas.lib.tuple.Tuple)75 NodeId (org.apache.jena.tdb.store.NodeId)35 Node (org.apache.jena.graph.Node)22 TupleIndex (org.apache.jena.tdb.store.tupletable.TupleIndex)19 Test (org.junit.Test)19 BaseTest (org.apache.jena.atlas.junit.BaseTest)17 Quad (org.apache.jena.sparql.core.Quad)13 NodeId (org.apache.jena.tdb2.store.NodeId)10 Predicate (java.util.function.Predicate)8 Triple (org.apache.jena.graph.Triple)7 Iterator (java.util.Iterator)6 Binding (org.apache.jena.sparql.engine.binding.Binding)6 ArrayList (java.util.ArrayList)5 Iter (org.apache.jena.atlas.iterator.Iter)5 NodeTable (org.apache.jena.tdb.store.nodetable.NodeTable)5 NodeTupleTable (org.apache.jena.tdb.store.nodetupletable.NodeTupleTable)5 NodeTable (org.apache.jena.tdb2.store.nodetable.NodeTable)5 Function (java.util.function.Function)4 InternalErrorException (org.apache.jena.atlas.lib.InternalErrorException)4 TupleFactory (org.apache.jena.atlas.lib.tuple.TupleFactory)4