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());
}
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)));
}
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());
}
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)));
}
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());
}
}
Aggregations