Skip to content

Conversation

@Qup42
Copy link
Member

@Qup42 Qup42 commented May 19, 2024

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
Copy link
Member Author

Qup42 commented May 20, 2024

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 5 commits July 16, 2024 16:35
# 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

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

sonarqubecloud bot commented Oct 2, 2024

@Qup42 Qup42 closed this Feb 22, 2025
@Qup42 Qup42 deleted the located-triples-3 branch February 22, 2025 17:28
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