-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SPARQL Update Part 2: DeltaTriples #1429
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1429 +/- ##
==========================================
- Coverage 94.14% 88.21% -5.94%
==========================================
Files 347 361 +14
Lines 25641 27132 +1491
Branches 3450 3661 +211
==========================================
- Hits 24141 23935 -206
- Misses 1458 1952 +494
- Partials 42 1245 +1203 ☔ View full report in Codecov by Sentry. |
Quality Gate passedIssues Measures |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A first round of reviews.
explicit DeltaTriples(const Index& index) : index_(index) {} | ||
|
||
// Get the common `LocalVocab` of the delta triples. | ||
LocalVocab& localVocab() { return localVocab_; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it a good idea to make this mutable getter public?
It lets us introduce very very very nasty bugs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made it private for now.
Mutable LocalVocabs are used in LocatedTriples and the execution of normal queries (though these are currently temporary). These two need to be in sync for the retrieval of IDs while querying. The temporary IDs that a generated while querying (e.g. Service) can be discarded. Given the constraints I decided on a single global LocalVocab. This is a point that is still open for the integration PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes,
I think that issues like "how do we clean up the local vocab, when the inserted entries are not needed anymore"
Can be postponed to the future, as it is probably related with the question "how do we deal with concurrent updates" (in particular updates that run concurrently with queries.).
# Conflicts: # src/index/CMakeLists.txt
# Conflicts: # src/index/CMakeLists.txt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much, this is very clean code.
I just have some suggestions and some questions for clarification, so we should be able to merge this soon.
Quality Gate passedIssues Measures |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for this next step of updates.
DeltaTriples
manage onLocatedTriples
object per permutation. Insertions/Deletions of (sets of) triples are processed byDeltaTriples
.