streamreasoning / rsp4j

RSP4J a library for RDF Stream Processing
Apache License 2.0
31 stars 12 forks source link

Remove Strings from Task API #18

Open riccardotommasini opened 2 years ago

riccardotommasini commented 2 years ago

Currently, Task API uses strings to refer to operator names, but it is very error prone

transform this

   TaskAbstractionImpl<Graph, Graph, Binding, Binding> t =
            new TaskAbstractionImpl.TaskBuilder(prefixes)
                    .addS2R(":observations", w1, "window1")
                    .addS2R(":tracing", w2, "window2")
                    .addR2R("window1", bgp)
                    .addR2R("window2", bgp2)
                    .addR2S("out", new Rstream<Binding, Binding>())
                    .addProjectionStrings(List.of("?s","?o","?s2"))
                    .build();

into this

TaskAbstractionImpl<Graph, Graph, Binding, Binding> t =
            new TaskAbstractionImpl.TaskBuilder(prefixes)
                    .addS2R(observationStream, w1)
                    .addS2R(outStream, w2)
                    .addR2R(w1, bgp)
                    .addR2R(w2, bgp2)
                    .addR2S(outStream, new Rstream<Binding, Binding>())
                    .addProjectionStrings(List.of("?s","?o","?s2"))
                    .build();