Seems like I've got the wrong feeling from early messages, revisited Andys Post missed the "additional provide" part, sorry.
Am 19.11.2019 16:48 schrieb "A. Soroka" <sorok...@gmail.com>: I think there may be some confusion here about Streams and Iterators. Streams are not and were never intended to be a replacement for or equivalent to Iterators. Iterators are a source of elements. There is no further complexity. Streams, on the other hand, are pipelines of computation which do not begin flowing until a terminal operation is called and then the data flows through the pipe without further action from the caller. We should not even consider replacing Iterators with Streams and I did not hear anyone suggest it. The suggestion I heard (and which I thoroughly support) is to offer Streams alongside Iterators for their intended purpose; pipelining computations. For example, consider a dataset backed by a remote SPARQL connection. Suppose stream() is called on a graph from this dataset, and suppose limit() is called on that Stream. Then in the right conditions a smart implementation could push that limit upstream to become a LIMIT in the SPARQL being sent over the wire. That's the real value of all those methods on Stream. They aren't merely for developer convenience. A library like our Iter would do for that. They are there to provide opportunities to classify and manage the computations being pipelined. So Stream is very useful for its purpose, but not for Iterator's purpose. As for crossing module boundaries, I haven't seen any problems with that and I'm not sure what the objection actually is. In fact, refusing to expose Streams at APIs seems to make the whole thing rather pointless. ajs6f On Tue, Nov 19, 2019, 10:06 AM Merlin Bögershausen < merlin.boegershau...@rwth-aachen.de> wrote: > Hi, > > To the Stream discussion: Streams should not be passed beyond module > borders. In my personal view not even beyond scopes, because the > exceptions thrown by an already terminated stream can be misleading. > Every user can feel free to use the StreamSupport class whenever the > application code uses streams. > > Another thing, I would like to see a graph view inside Fuseki UI, where > the triples are visualized like in > <https://www.w3.org/2018/09/rdf-data-viz/> > I use such visualization whenever I explain the usage of our graph data > model to my colleagues, whenever they have problems to develop SPARQL > queries. Also, I feel that it would help our support team to see why > the system performs unexpected steps. > > Merlin > >