Tpt
57d39cad24
Makes Clippy happy
2 years ago
Tpt
adda2d2d7e
Makes hash join into for loop join optimization more aggressive
2 years ago
Tpt
22f990344f
Fixes hash left join into for loop left join optimization
...
It can inject variables into projections
2 years ago
Tpt
4cc9e4008b
Fixes empty IN expression optimization
2 years ago
Tpt
0a064a8704
SPARQL: Prevents ForLoopLeftJoin with MINUS
...
It can flip the MINUS operation out of the "disjoint" case
2 years ago
Tpt
7b9e9f9694
SPARQL: Makes average function works with yearMonthDuration and dayTimeDuration
2 years ago
Tpt
63945638ea
XSD: Adds checked_neg operation
2 years ago
Tpt
d24461fc42
XSD: Improves arithmetic computations
...
Avoids internal overflow inside some decimal operations
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
Thomas
704440538d
Adds EXISTS operation to the profiler output
2 years ago
Tpt
79c5e3918e
SPARQL plan: fixes used variable lookup in quoted triple patterns
2 years ago
Tpt
3e0f6b5405
Applies oxigraph crate clippy lint to the complete project
2 years ago
Maximilian Goisser
1d02098b70
Fix missing GSPO compaction
2 years ago
Tpt
86bbebf93c
Fixes evaluation of empty aggregation without GROUP BY
...
Aggregators should return their default value (0 for COUNT...) and not an empty row
2 years ago
Tpt
a977adff91
Allows to collect RocksDB statistics
...
Hidden behind the "rocksdb_debug" features
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
6af6c9c0eb
Bulk loader: fixes the progress indicator display
2 years ago
Tpt
7787be6e84
Bulk loader: pre-allocate some buffers
2 years ago
Tpt
13976014e7
Bulk loader: reduces default system parameters
...
Uses by default targets of 1GB of RAM and 2 threads.
Data parsing is in most of the case slower than ingestion so no more than 2 threads are used anyway.
2 years ago
Tpt
fbcbd60c0e
Python: adds Store.bulk_extend
2 years ago
Tpt
26f4e2dc98
Allows to have secondary instances in memory
2 years ago
Tpt
5f68cb3746
Cleans up RocksDB wrapper code and implements backup from read-only and secondary instances
2 years ago
Tpt
b2385509a6
Improves read only and secondary test coverage
...
Adds the missing get method
2 years ago
Tpt
855c39146d
Replaces Store::open_with_options with explicit variants
...
Trades enums and structs for methods
2 years ago
Tpt
9729ec8ed3
Adds features annotations to docs.rs
2 years ago
Tpt
ef2701dc0c
Makes new Clippy happy
2 years ago
Benedikt Seidl
f7637ee5a5
Add option to open database in read-only mode
...
With read-only it's not possible to modify the data. Updates to the data
are possible via a primary instance of oxigraph, but will not be
reflected. The data is frozen at the time the read-only server is
started.
2 years ago
Benedikt Seidl
aa9476b9cc
Add option to open rocksdb in secondary mode
...
The database can be opened once in primary mode, but may be opened
multiple times in secondary mode. It's not possible to write data to the
database in secondary mode.
Secondary mode does not support checkpoints so there might be data
inconsistencies when data is changed while said data is queried. It
might happen that the result data mixes both elements before and after
the change that can not happen in primary mode.
2 years ago
Tpt
afdb1f76e8
Adds a typo linter as part of the CI
2 years ago
Tpt
8684b82893
Properly expose oxigraph::sparql::QueryDataset
2 years ago
Tpt
2d19a19320
Fixes TriG serialization
2 years ago
Tpt
07e105e1be
Property path: faster eval for closed path
2 years ago
Tpt
0a78eacfcd
SPARQL: Makes sure there are no duplicates when evaluating (a|b) property paths
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
1fa0633db3
Library: adds basic WASI support
...
Adds tests for WASM+JS and WASI to the CI
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
3485833875
Makes Datetime.checked_sub return DayTimeDuration
...
Allows to be consistent with XPath and SPARQL 1.2 SEP 0002
This change is not replicated yet into the SPARQL evaluator to avoid a breaking change
https://www.w3.org/TR/xpath-functions/#func-subtract-dateTimes
https://github.com/w3c/sparql-12/blob/main/SEP/SEP-0002/sep-0002.md
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
854e29ee38
Makes XSD datatypes a standalone crate
...
Allows other crates to reuse Oxigraph XSD datatypes implementation
2 years ago
Tpt
1ded5ac4b4
SPARQL eval: Makes sure to avoid overflow when estimating result size upper bound
2 years ago
Tpt
808c9db007
String formatting: uses inline syntax
2 years ago
Tpt
d7e4d5583f
SPARQL: Adds an option to disable the optimizer
...
Provides a plain evaluator without any trick
2 years ago
Tpt
2ca8bd19d3
PlanBuilder: no need for &mut references
2 years ago
Tpt
d65e587756
Property evaluates property paths with unknown graphs
2 years ago
Tpt
b6c9a5b429
Fixes ZeroOrX path evaluation on terms that are not in the dataset but only in the query
2 years ago