Skip to content

First functional version of SPARQL 1.1 Update (work in progress) - #1351

Closed
Qup42 wants to merge 172 commits into
ad-freiburg:masterfrom
Qup42:located-triples-3
Closed

Qup42 wants to merge 172 commits into
ad-freiburg:masterfrom
Qup42:located-triples-3

Conversation

@Qup42

@Qup42 Qup42 commented May 19, 2024 •

Copy link
Copy Markdown
Member

Implement SPARQL 1.1 Update support. This is an overarching PR that contains the latest implementation. It will be merged into the main branch one part after another. See #1379, #1429 for the parts.

The current state is most likely broken. It is not planed to bring this PR back to a working state until more of the parts are done. The effort required to keep up with the rest of the code base and ensure that this PR is (at least somewhat) bug free is currently to large to be worthwhile.

Hannah Bast and others added 22 commits June 9, 2023 16:47
This is the first part of a series of PRs split of from the large
proof-of-concept PR ad-freiburg#916,
which realizes SPARQL 1.1 Update
This PR is from June 2023. Since then, quite a bit of code that is
relevant for this PR has been refactored. In particular: the
`Permutation` class, the `CompressedRelationWriter` and the index
building functions in `IndexImpl`. Mostly, this refactoring has made the
code in this PR simpler. There is still some akwardness in
`LocatedTriplesTest.cpp` because we want to build an index from `Id`
triples there (and not from Turtle input).

Now evertyhing compiles and runs through again. Various tests in
`LocatedTriplesTest` fail, that's what I will look at next.
This makes the actual changes hard to spot
Both cases would have done a full scan anyway, so we can do that directly without retrieving the relation metadata.
# Conflicts:
#	test/ValueIdTest.cpp
@Qup42

Qup42 commented May 20, 2024 •

Copy link
Copy Markdown
Member Author
Outdated performance testing for a first implementation

Some data:

  • Built with Release CMake Profile against cfc581e
  • Executed on my Laptop (AMD Ryzen 7840U, 32GB RAM, SSD)
  • Olympics dataset
    • ~400k and ~8M triples are to be located, once each for deletion and insertion
    • times are averaged over all permutations

~400k

IdTable, random-access IdTable, pre-sorting std::vector, random-access std::vector pre-sorting
Result materialisation 70ms 70ms 70ms 70ms
Sorting N/A 60ms-160ms N/A 20ms
Location 15ms-20ms 10ms-20ms 15ms-20ms 10ms-20ms

~8M

IdTable, random-access IdTable, pre-sorting std::vector, random-access std::vector pre-sorting
Result materialisation 1330ms 1330ms 1330ms 1330ms
Sorting N/A 1500ms-4000ms N/A 460ms-510ms
Location 330ms-450ms 240ms-360ms 330ms-460ms 220ms-350ms

@Qup42 Qup42 mentioned this pull request May 22, 2024
Qup42 added 4 commits July 17, 2024 20:29
# Conflicts:
#	src/global/IdTriple.h
#	src/index/IndexFormatVersion.h
#	src/index/LocatedTriples.cpp
#	src/index/LocatedTriples.h
#	test/CMakeLists.txt
#	test/IdTripleTest.cpp
#	test/LocatedTriplesTest.cpp
# Conflicts:
#	src/engine/sparqlExpressions/SparqlExpressionValueGetters.cpp
@sonarqubecloud

Copy link
Copy Markdown

@hannahbast hannahbast changed the title Located Triples First functional version of SPARQL 1.1 Update (work in progress) Sep 6, 2024
@sonarqubecloud

sonarqubecloud Bot commented Oct 2, 2024

Copy link
Copy Markdown

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.

1 participant