as I said Romain you are probably best advised to roll-your-own DAG code. I
initially thought you could model the DAG in RDF (Bob DuCharme wrote a
blog post about using Spark with SPARQL*
in 2015) but since that's not your focus Jena adds much more stuff, stuff
you most likely wont need on the lower graph level processing in your case.

http://www.snee.com/bobdc.blog/2015/03/spark-and-sparql-rdf-graphs-an.html


On Mon, Sep 9, 2019 at 5:44 AM Romain Manni-Bucau <rmannibu...@gmail.com>
wrote:

> Hmm, the DAG in my case is about modelising a problem and the algorithm
> modify it to make it simpler and closer to a solution.
>
> If it helps, see it as a generic algorithm and iterations.
>
> So RDF and backends will not help since it is not a goal and if so the
> backend would be a plain json serialization for example.
>
> So I see how a DAG can be enriched to be jena compatible - change vertices
> and edges impl - but the opposite is still less clear for me.
>
> Le dim. 8 sept. 2019 à 23:31, Marco Neumann <marco.neum...@gmail.com> a
> écrit :
>
> > On Sun, Sep 8, 2019 at 10:15 PM Romain Manni-Bucau <
> rmannibu...@gmail.com>
> > wrote:
> >
> > > Le dim. 8 sept. 2019 à 23:03, Marco Neumann <marco.neum...@gmail.com>
> a
> > > écrit :
> > >
> > > > Romain, if I understand you correctly here, and since you are at the
> > > > beginning of this process I think I would like to see this designed
> as
> > > > another custom graph in Jena that in its most basic form could also
> > work
> > > as
> > > > a stand-alone graph with eventually zero jena dependencies.
> > > >
> > >
> > > A bit as a subproject? = Jena would deliver it but not use it?
> >
> >
> > there are a number of adapters that implement vendor specefic backends.
> > orcale, virtuoso etc
> >
> >
> > >
> > >
> > > > said said it sounds like there is some overlap in your effort that
> > could
> > > > benefit significantly from Jena infratructure features directly.
> > > >
> > >
> > > Hmm, do you have some pointers handy?
> >
> >
> > search for jena adapters and custom implementations of GraphBase.
> >
> > I do say so since you explictly mentioned that you are not yet ready to
> go
> > RDF here and a basic DAG impl might be feasible for your anticipated use
> > case. but if this takes off in context of the Commons implementation I'd
> > like to be ready to use these bridges to the RDF world and use Jena to
> > scale for enterprise and web appplication.
> >
> >
> > >
> > >
> > >
> > > > On Sun, Sep 8, 2019 at 4:35 PM Romain Manni-Bucau <
> > rmannibu...@gmail.com
> > > >
> > > > wrote:
> > > >
> > > > > Hi all,
> > > > >
> > > > > I'm coming from dev@commons list and was redirected there by
> Marco,
> > > the
> > > > > discussion is available on our archives ([1])
> > > > >
> > > > > Long story short, I'm looking for a core DAG library which is
> > > dependency
> > > > > free (~100K is ok for the stack, more will need to bring a lot of
> > value
> > > > > ;)).
> > > > >
> > > > > My need is "simple" but very generic (so shareable) and should be
> > > strong
> > > > > (so better if shared and reused instead of coded by app):
> > > > >
> > > > > 1. load/build a graph (DAG actually) model
> > > > > 2. be able to navigate in the model to capture nodes (mainly
> upstream
> > > > > browsing in my case but downstream will be useful quite quickly)
> > > > > 3. create a new DAG by "mutating" (copy of an immutable model is
> not
> > an
> > > > > issue) the original graph
> > > > > 4. dump back the newly obtained graph
> > > > >
> > > > > I did a quick prototype at [2] - please ignore the specificity of
> the
> > > > model
> > > > > loading using JSON-B and modelisation using ports which is likely
> > > > specific
> > > > > to my case (?).
> > > > > The interesting piece of code (core logic) is this class [3] and
> the
> > > > > findUpStream method usage of the DAG.
> > > > > In terms of logic it is very close to what Spark does when it
> "pushes
> > > > down"
> > > > > some filter/predicates in a source during a plan computation
> (that's
> > > why
> > > > it
> > > > > is called this way in the PoC).
> > > > >
> > > > > Therefore my question to Jena are:
> > > > >
> > > > > 1. Does it somehow overlap with Jena goals (even if low level)?
> > > > > 2. Can it be extracted in a jena-graph (core would maybe depend on
> > it?)
> > > > > without guava, slf4j implementation (api is ok) and base
> > dependencies?
> > > > > Concretely jena-graph+slf4j-api are ok for me, more wouldn't.
> > > > > 3. Is a graph modelization not RDF specific ok and would it be
> stable
> > > for
> > > > > consumers?
> > > > >
> > > > > [1]
> > > > >
> > > > >
> > > >
> > >
> >
> https://markmail.org/search/?q=graph%20status%20list%3Aorg.apache.commons.dev%2F#query:graph%20status%20list%3Aorg.apache.commons.dev%2F+page:1+mid:pxecs5y3ezmfztbj+state:results
> > > > > [2] https://github.com/rmannibucau/drag
> > > > > [3]
> > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/rmannibucau/drag/blob/master/src/main/java/com/github/rmannibucau/graph/drag/rule/PushdownRule.java
> > > > >
> > > > > Romain Manni-Bucau
> > > > > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > > > > <https://rmannibucau.metawerx.net/> | Old Blog
> > > > > <http://rmannibucau.wordpress.com> | Github <
> > > > > https://github.com/rmannibucau> |
> > > > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > > > > <
> > > > >
> > > >
> > >
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > > > > >
> > > > >
> > > > --
> > > >
> > > >
> > > > ---
> > > > Marco Neumann
> > > > KONA
> > > >
> > >
> > --
> >
> >
> > ---
> > Marco Neumann
> > KONA
> >
>


-- 


---
Marco Neumann
KONA

Reply via email to