Issue 1:
I think this should be marked as feature request, but it's not as much a request as a curious question (and a scream of pain, yes). From now on I'm going to talk about neo4j-embedded API, not Cypher.

Since most methods on most entities return Iterables or Iterators, further processing of the results turns into a fairly painful procedure. I don't know whether I'm one from just a few or there are a lot of people with the same problem, but if you could, please consider (if not replacing, at least providing along) some methods that return Streams. Wouldn't it be great if end-users could so something like this:

node.getRelationships(type, direction).map(mapper).collect(collector)?

IMHO, switching to Stream API might even turn out to be a good choice since there all kinds of facilities: lazy loading of huge amounts of data, short-circuiting on some operations and so on.

Currently we are using helpers like the following across out neo4j projects:

StreamSupport.stream(iterable.spliterator(), false);

It works, but introduces some amount of boilerplate and duplicated code and, what's more important, it's just a trivial wrapper. Knowing that Stream API provides a fair amount of additional Characteristics for optimizing operations on streams, it seems to me that bringing this functionality to neo4j kernel would be more effective.

P.S. By the way, let me thank you for being that close to community. Seeing as your developers kindly address issues here and on stackoverflow/google groups and closely communicating with user base is quite an inspiration, really.

P.P.S. This it totally unrelated, but is there any possibility of introducing a typed getProperty() method that could infer it's return type? Now we have just this:String s = (String)node.getProperty("key"), but it would be (again, not that important, but probably just nice) String s = node.getProperty("key") or (dummy example) System.out.println(node.<String>getProperty(someKey)). Here's an excerpt from the code we use for this:

public <T> T getProperty(final String key, final T deflt) {
Objects.requireNonNull(key);
return (T)node.getProperty(key, deflt);
}

Issue 2:
when our neo4j backup runs daily, it seems to be generating inconsistency checker report files in the /root folder filling up space

Neo4j Version: 3.5.7

Operating System: Ubuntu 18.04.2 LTS

Steps to reproduce

Install neo4j 3.5.7

Take backups nightly until problems arise

Expected behavior

Backups should work, consistency checker should not be getting NullPointerExceptions

Actual behavior

/root/ filling up with these NullPointerExceptions

Example:

ERROR: Failed to check record: java.lang.NullPointerException at org.neo4j.consistency.checking.full.PropertyReader.propertyValue(PropertyReader.java:107) at org.neo4j.consistency.checking.full.PropertyAndNodeIndexedCheck.getPropertyValues(PropertyAndNodeIndexedCheck.java:217) at org.neo4j.consistency.checking.full.PropertyAndNodeIndexedCheck.matchIndexesToNode(PropertyAndNodeIndexedCheck.java:117) at org.neo4j.consistency.checking.full.PropertyAndNodeIndexedCheck.check(PropertyAndNodeIndexedCheck.java:83) at org.neo4j.consistency.checking.full.PropertyAndNodeIndexedCheck.check(PropertyAndNodeIndexedCheck.java:59) at org.neo4j.consistency.report.ConsistencyReporter.dispatch(ConsistencyReporter.java:116) at org.neo4j.consistency.report.ConsistencyReporter.forNode(ConsistencyReporter.java:384) at org.neo4j.consistency.checking.full.PropertyAndNode2LabelIndexProcessor.process(PropertyAndNode2LabelIndexProcessor.java:63) at org.neo4j.consistency.checking.full.PropertyAndNode2LabelIndexProcessor.process(PropertyAndNode2LabelIndexProcessor.java:39) at org.neo4j.consistency.checking.full.RecordCheckWorker.run(RecordCheckWorker.java:77) at

Note that prior to some date, around Nov 19, we are seeing much smaller "inconsistency" report files containing details such as Node[6042535,used=true,rel=-1,prop=13355857,labels=Inline(0x1000000002:[2]),light,secondaryUnitId=-1] ERROR: The property chain contains multiple properties that have the same property key id, which means that the entity has at least one duplicate property. and at around Nov 19 the NullPointerException appears which causes growth in file sizes on the disk

Not aware of any process that may have changed