qlever
qlever copied to clipboard
Proof of concept for SPARQL UPDATE
This is not yet meant for production but as a proof of concept. At the time of the creation of this PR, there are commands insert
and delete
for inserting or deleting a single triple via the API. The triple is located in each of the permutations, and the location is sorted in an internal data structure (of a new class DeltaTriples
). There are already extensive unit tests for this functionality, and it seems to work correctly.
There is no code yet that actually takes the inserted or deleted triples into account when processing queries. But that is actually relatively little work (when reading a block from a permutation, just augment the result by the delta triples stored for that block). The hard part, it seems, is the location.
Codecov Report
Patch coverage: 85.29
% and project coverage change: -1.97
:warning:
Comparison is base (
df93d56
) 74.07% compared to head (48578d3
) 72.11%.
:exclamation: Current head 48578d3 differs from pull request most recent head 8910f61. Consider uploading reports for the commit 8910f61 to get more accurate results
Additional details and impacted files
@@ Coverage Diff @@
## master #916 +/- ##
==========================================
- Coverage 74.07% 72.11% -1.97%
==========================================
Files 254 247 -7
Lines 23997 24389 +392
Branches 3021 3156 +135
==========================================
- Hits 17776 17587 -189
- Misses 5010 5449 +439
- Partials 1211 1353 +142
Impacted Files | Coverage Δ | |
---|---|---|
src/global/Id.h | 84.84% <ø> (ø) |
|
src/index/CompressedRelation.h | 100.00% <ø> (ø) |
|
src/index/ConstantsIndexBuilding.h | 100.00% <ø> (ø) |
|
src/index/Index.h | 100.00% <ø> (+25.00%) |
:arrow_up: |
src/index/IndexImpl.h | 57.14% <0.00%> (-9.53%) |
:arrow_down: |
src/index/IndexMetaData.h | 67.56% <ø> (+1.85%) |
:arrow_up: |
src/util/AllocatorWithLimit.h | 95.16% <ø> (ø) |
|
src/index/Index.cpp | 46.39% <22.22%> (-3.61%) |
:arrow_down: |
src/index/DeltaTriples.cpp | 68.90% <68.90%> (ø) |
|
src/index/DeltaTriples.h | 83.33% <83.33%> (ø) |
|
... and 9 more |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
SonarCloud Quality Gate failed.
1 Bug
0 Vulnerabilities
0 Security Hotspots
84 Code Smells
No Coverage information
0.0% Duplication
SonarCloud Quality Gate failed.
1 Bug
0 Vulnerabilities
0 Security Hotspots
79 Code Smells
No Coverage information
0.0% Duplication
Hi Hannah,
Thank you for the updates on the proof of concept for SPARQL UPDATE. For the OpenCitations project, the update functionality has become a priority as we are looking to migrate our OpenCitations Meta data to Qlever. We would like to inquire about the current progress on this feature.
Specifically, we are interested in understanding if it is possible to add triples via SPARQL using the insert and delete commands mentioned. From the PR description, it is not clear if these operations can be performed directly via SPARQL or if they are limited to inserting or deleting one triple at a time through the API.
Could you please provide more details on this? Any updates or clarifications on the state of the SPARQL UPDATE feature would be greatly appreciated.