in commons-rdf-simple/src/main/java/org/apache/commons/rdf/simple/GraphImpl.java [153:172]
public Stream<Triple> stream(final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object) {
final BlankNodeOrIRI newSubject = (BlankNodeOrIRI) internallyMap(subject);
final IRI newPredicate = (IRI) internallyMap(predicate);
final RDFTerm newObject = internallyMap(object);
return getTriples(t -> {
// Lacking the requirement for .equals() we have to be silly
// and test ntriples string equivalance
if (subject != null && !t.getSubject().equals(newSubject)) {
return false;
}
if (predicate != null && !t.getPredicate().equals(newPredicate)) {
return false;
}
if (object != null && !t.getObject().equals(newObject)) {
return false;
}
return true;
});
}