You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Andy Seaborne <an...@apache.org> on 2022/04/30 19:39:10 UTC

New in-memory graph

https://github.com/apache/jena/pull/1273

PR 1273 is a contribution of a new implementation of Graph to replace 
the current GraphMem.

It's faster in nearly every case and takes up less memory. There are 
benchmark figures on the PR. It is easier to maintain as well.

The test suite runs with this as the implementation of the general 
purpose in-memory graph.

GraphMem is in-memory, non-transactional and it is the implementation 
for ModelFactory.createDefaultModel, as well as models that aren't views 
of a dataset, including inf graphs and OWL models; it also used in 
DatasetGraphMapLink and DatasetGraphMap.

Applications shouldn't be calling the GraphMem constructor directly, let 
along any of the components making up the current GraphMem directly. 
They should be getting a graph via Factory.createDefaultGraph or 
Factory.createGraphMem

Migration::

The idea is to introduce this at Jena 4.6.0 (the release after next).

At 4.5.0, GraphMem can be marked "deprecated" to alert user code that 
shouldn't be calling directly. This, together with something in the ANN 
message will signal the future switch over coming up.

Because this is a significant piece of work from a commercial company 
for a central facility in Jena, the project should get a contribution 
agreement (either CCLA of software grant).

     Andy

Re: New in-memory graph

Posted by Bruno Kinoshita <br...@gmail.com>.
Sounds good to me. +1

Thanks
Bruno

On Sun, 1 May 2022, 7:39 am Andy Seaborne, <an...@apache.org> wrote:

> https://github.com/apache/jena/pull/1273
>
> PR 1273 is a contribution of a new implementation of Graph to replace
> the current GraphMem.
>
> It's faster in nearly every case and takes up less memory. There are
> benchmark figures on the PR. It is easier to maintain as well.
>
> The test suite runs with this as the implementation of the general
> purpose in-memory graph.
>
> GraphMem is in-memory, non-transactional and it is the implementation
> for ModelFactory.createDefaultModel, as well as models that aren't views
> of a dataset, including inf graphs and OWL models; it also used in
> DatasetGraphMapLink and DatasetGraphMap.
>
> Applications shouldn't be calling the GraphMem constructor directly, let
> along any of the components making up the current GraphMem directly.
> They should be getting a graph via Factory.createDefaultGraph or
> Factory.createGraphMem
>
> Migration::
>
> The idea is to introduce this at Jena 4.6.0 (the release after next).
>
> At 4.5.0, GraphMem can be marked "deprecated" to alert user code that
> shouldn't be calling directly. This, together with something in the ANN
> message will signal the future switch over coming up.
>
> Because this is a significant piece of work from a commercial company
> for a central facility in Jena, the project should get a contribution
> agreement (either CCLA of software grant).
>
>      Andy
>