qlever icon indicating copy to clipboard operation
qlever copied to clipboard

Proof of concept for SPARQL UPDATE

Open hannahbast opened this issue 1 year ago • 4 comments

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.

hannahbast avatar Mar 19 '23 15:03 hannahbast

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

... and 88 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

codecov[bot] avatar Mar 19 '23 15:03 codecov[bot]

SonarCloud Quality Gate failed.    Quality Gate failed

Bug E 1 Bug
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 84 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

sonarqubecloud[bot] avatar Apr 17 '23 18:04 sonarqubecloud[bot]

SonarCloud Quality Gate failed.    Quality Gate failed

Bug E 1 Bug
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 79 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

sonarqubecloud[bot] avatar Jun 09 '23 16:06 sonarqubecloud[bot]

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.

arcangelo7 avatar May 20 '24 10:05 arcangelo7