Skip to content

Proposal for Enhanced Graph Cloning in Apache Jena #2169:#2316

Merged
afs merged 1 commit intoapache:mainfrom
arne-bdt:GH-2169-Proposal-for-Enhanced-Graph-Cloning-in-Apache-Jena
Mar 11, 2024
Merged

Proposal for Enhanced Graph Cloning in Apache Jena #2169:#2316
afs merged 1 commit intoapache:mainfrom
arne-bdt:GH-2169-Proposal-for-Enhanced-Graph-Cloning-in-Apache-Jena

Conversation

@arne-bdt
Copy link
Copy Markdown
Contributor

@arne-bdt arne-bdt commented Mar 7, 2024

GitHub issue resolved #2169

Pull request Description:

  • added new interface Copyable<>
    • implemented Copyable#copy in GraphMem2 all three descendants (Legacy, Fast and Roaring)
    • extended TripleStore to implement Copyable<> and implemented it in all three descendants (Legacy, Fast and Roaring)
  • added copy constructors to mem2/collections/, mem2/store//Bunch, mem2/store//HashMap and mem2/store//*Set
  • added unit tests to keep the test coverage for mem2/** at 100%
  • added benchmark for GraphMem2#copy
  • implemented new method G#copy which uses Copyable#copy if the graph implements it, otherwise G#copyGraphSrcToDst is used as fallback.
    • added a unit test for G#copy

  • Tests are included.
  • Documentation change and updates are provided for the Apache Jena website
  • Commits have been squashed to remove intermediate development commit messages.
  • Key commit messages start with the issue number (GH-xxxx, or if in JIRA, JENA-xxxx)

By submitting this pull request, I acknowledge that I am making a contribution to the Apache Software Foundation under the terms and conditions of the Contributor's Agreement.


See the Apache Jena "Contributing" guide.

Copy link
Copy Markdown
Member

@afs afs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great.

One request: Please change the first line of the commit message to

"GH-2169: Enhanced GraphMem Cloning".

Starting with "issue number" is a pattern used to help when reading the commit history.

It looks ready to go to me so it is not a "Proposal" !

@namedgraph
Copy link
Copy Markdown
Contributor

What is the effect of this on applications using Jena?

@afs
Copy link
Copy Markdown
Member

afs commented Mar 10, 2024

What is the effect of this on applications using Jena?

See the issue -- #2169 or the PR code.

If the application is using GraphMem's and it has need to copy graphs, then this is made faster.

- added new interface Copyable<>
  - implemented Copyable#copy in GraphMem2 all three descendants (Legacy, Fast and Roaring)
  - extended TripleStore to implement Copyable<> and implemented it in all three descendants (Legacy, Fast and Roaring)
- added copy constructors to mem2/collections/*, mem2/store/*/*Bunch, mem2/store/*/*HashMap and mem2/store/*/*Set
- added unit tests to keep the test coverage for mem2/** at 100%
- added benchmark for GraphMem2#copy
- implemented new method G#copy which uses Copyable#copy if the graph implements it, otherwise G#copyGraphSrcToDst is used as fallback.
  - added a unit test for G#copy
@arne-bdt arne-bdt force-pushed the GH-2169-Proposal-for-Enhanced-Graph-Cloning-in-Apache-Jena branch from ab02911 to 2d4ca46 Compare March 10, 2024 19:15
@arne-bdt
Copy link
Copy Markdown
Contributor Author

Looks great.

One request: Please change the first line of the commit message to

"GH-2169: Enhanced GraphMem Cloning".

Starting with "issue number" is a pattern used to help when reading the commit history.

It looks ready to go to me so it is not a "Proposal" !

The commit message should be fixed now.

@arne-bdt arne-bdt requested a review from afs March 11, 2024 07:28
@afs
Copy link
Copy Markdown
Member

afs commented Mar 11, 2024

Going into Jena 5.0.0 ...

@afs afs merged commit cf0e1f3 into apache:main Mar 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Proposal for Enhanced Graph Cloning in Apache Jena

3 participants