Thomas
de9c2e358c
Makes profiler independent from query plan
2 years ago
Thomas
24a1dd2556
Applies some recent Clippy lints
2 years ago
Tpt
40b10cdabc
Adds a naive standalone query optimizer
...
This drops some left join optimizations
2 years ago
Tpt
e96672a2a8
SPARQL plan: allows AND and OR to have more than 2 children
...
Adds tests on VALUES cardinality validation
2 years ago
Tpt
7175784356
Improves Clippy lint list
2 years ago
Tpt
79c5e3918e
SPARQL plan: fixes used variable lookup in quoted triple patterns
2 years ago
Tpt
60ffd99ad8
Exposes the query profiler to the CLI app
2 years ago
Tpt
dcd59ac4dd
Adds a way to add profiling to the evaluator
2 years ago
Tpt
81793bc221
Makes nested PlanNode easy to clone
2 years ago
Tpt
9dc1106b9a
SPARQL query plan: attach original RDF terms
...
Helps debugging
2 years ago
Tpt
a7bc31b446
SPARQL regex: compile ahead of time if possible
2 years ago
Tpt
5c055e0d12
Removes Eq derive on query plan
...
Unused anywhere
2 years ago
Tpt
719cde2eac
Implements SEP-0002 ADJUST function
...
ADJUST is now only implemented when a new timezone is given. I am not sure "" for no timezone is the best way to go.
It is behind a sep-0002 feature in spargebra and sparql-smith and enabled by default in oxigraph.
2 years ago
Tpt
76dd879ea6
Implements LATERAL join
...
Follows SPARQL 1.2 SEP 0006. It is behind a sep-0006 feature in spargebra and sparql-smith and enabled by default in oxigraph.
Apache Jena tests are passing.
SEP 0006: https://github.com/w3c/sparql-12/blob/main/SEP/SEP-0006/sep-0006.md
2 years ago
Tpt
d7e4d5583f
SPARQL: Adds an option to disable the optimizer
...
Provides a plain evaluator without any trick
2 years ago
Tpt
865f1dac8d
Uses the same key space inside and outside of aggregate evaluation
...
There is a project node just alongside aggregates so the key space is already bounded by it
3 years ago
Tpt
e9bbe8e036
Applies new Clippy suggestions
3 years ago
Tpt
b04bdcceed
Makes the new Clippy happy
3 years ago
Tpt
f5545f1948
Makes Oxigraph model standalone as oxrdf
...
Allows to reuse it in other crates like spargebra
3 years ago
Tpt
cfb3be6d34
Adds custom functions support
3 years ago
Tpt
505980f026
Implements reduced operation during evaluation
...
Cheap streaming implementation (no malloc needed)
4 years ago
Tpt
836a7ad4a1
Push filters as deep as possible
...
Allows to remove some possible bindings as soon as possible
4 years ago
Tpt
4453235b90
Removes unused Rc in PlanNode
4 years ago
Tpt
6287b4e4c9
Implements real hash join and anti join
4 years ago
Tpt
ba98e2d1f8
Makes left join variable bad variable set smaller
...
Removes from it some safe cases
4 years ago
Tpt
bb5431b545
Removes PlanExpression::In
...
Can be expressed with Or and Equals
4 years ago
Tpt
4f7e396af0
Introduces PlanNode::ForLoopJoin
...
Makes for loop join more explicit and usable in more places
4 years ago
Tpt
1ddc9a8788
Fixes SPARQL FILTER evaluation with VALUES and subqueries
4 years ago
Tpt
f084cfe332
Enables more Clippy lints and enforces them
4 years ago
Tpt
7e9e3a0743
Implements SPARQL-star nested triple patterns evaluation
4 years ago
Tpt
dcaf3793d5
Adds RDF-star SPARQL functions
4 years ago
Tpt
e2bbc29198
Makes encoded term not copy
4 years ago
Tpt
0efc5b4654
Renames SledStore to Store and cleans up files hierarchy
4 years ago
Tpt
be4a5b0b6b
Moves SPARQL parser and algebra to an independent crate
4 years ago
Tpt
fe5bab8eb9
Drops generics on string ids
4 years ago
Tpt
cc43742da1
Makes Clippy 1.51 happy
4 years ago
Tpt
34f0efbb39
Rework SPARQL algebra and makes it public
4 years ago
Tpt
75a629860d
Enforces some extra Clippy lints
5 years ago
Tpt
bf3d205cf7
Implements SPARQL UPDATE
5 years ago
Tpt
5038d95a00
Allows each store to use its own ID builder
5 years ago
Tpt
fcb3a33606
Makes StrContainer::insert_str return the string ID
5 years ago
Tpt
3d07160167
Relaxes error bound from Into<Io::Error> to Into<EvaluationError>
5 years ago
Tpt
3b207f7239
Removes encoded string constants
5 years ago
Tpt
669d3b1494
Introduces a WithStoreError trait to share the store error
...
Avoids a lot of "as" casts
5 years ago
Tpt
9038ab3921
Converts oxigraph::Error into oxigraph::sparql::EvaluationError
5 years ago
Tpt
0d4743f452
Uses io::Error for all basic disk store operations
5 years ago
Tpt
a3dce12d94
Makes SPARQL query execution static and simplify federation
5 years ago
Tpt
90d4baae2a
Makes ReadableEncodedStore::encoded_quads_for_pattern static
5 years ago
Tpt
5d54bc2d06
Allows some low level storage trait to specify error type
5 years ago
Tpt
79038afe44
Introduces native support for xsd:dayTimeDuration and xsd:yearMonthDuration
5 years ago