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
>