Yuri Astrakhan
3feeb7d0ce
Linting: Impl ordering, Self refs
...
For consistency, ordered implementation of a traits the same way as they are declared.
Used `Self::<assoc>` in a few last spots
1 year ago
Tpt
d838d55f02
Uses nightly rustfmt on imports and comments
1 year ago
Yuri Astrakhan
5be6f55155
A few more self-fixes
...
These are a bit more questionable but still keep things cleaner a bit, at least in some cases?
Most of these were the result of `cargo clippy --fix -- -W clippy::use_self`
1 year ago
Yuri Astrakhan
2b8df24b8b
Use `Self::AssocName` to simplify declarations
...
To keep with DRY principle, I think it makes it a bit less redundant to reuse the Self::<associated_type_name> structure in the well known trait implementations - keeps it consistent with the trait decl too.
1 year ago
Tpt
c2040a30fd
oxttl: Exposes the base IRI
...
Issue #730
1 year ago
Tpt
2a135283d5
Lints against 1.74
1 year ago
Tpt
899e553249
Makes SPARQL query result Send and Sync
1 year ago
Tpt
f8034c68e9
SPARQL: refactor AggregateExpression
...
Avoids code duplication
1 year ago
Tpt
e6d98445e6
Makes newer Clippy happy
1 year ago
Tpt
ea80c11d6e
CI: Run clippy on all targets
2 years ago
Tpt
b0a01e65fa
SPARQL: makes sure that STR is working properly on small IRIs
...
Issue #645
2 years ago
Tpt
dbb39d867a
Upgrades json-event-parser
2 years ago
Tpt
7fe055d2b4
Exposes SPARQL results I/O in Oxigraph and improve EvaluationError
2 years ago
Tpt
f10e5a40a3
Enables more Clippy lints
...
Auto-enable all Clippy lints that are not in nursery but a blacklist
2 years ago
Tpt
077c1fc1a8
Improves XSD errors and code organization
2 years ago
Tpt
1e1ed65d3b
Stop assuming JS platform when compiling to wasm32-unknown-unknown
...
- Adds the "js" feature to enable JS support
- Adds the "custom-now" feature to oxsdatatypes to inject a custom "now" implementation
It is already possible for random with the getrandom "custom" feature
Issue #471
2 years ago
Thomas
8e770fbb5d
SPARQL: Removes intermediate query plan representation
...
Covered by the optimizer plan
2 years ago
Thomas
c31ba0e823
Makes sparopt figure out good join keys
2 years ago
Thomas
501f9ce6f9
Makes profiler independent from query plan
2 years ago
Tpt
01caaa5d70
calendar subtraction: it should return xsd:dayTimeDuration following XPath
2 years ago
Tpt
40b10cdabc
Adds a naive standalone query optimizer
...
This drops some left join optimizations
2 years ago
Tpt
c016116b09
Makes Clippy 1.65 happy
2 years ago
Tpt
acf83d4a31
Fixes || evaluation when all alternatives are false
...
It should return false and not fail...
2 years ago
Tpt
8c68cf4041
Makes SPARQL AVG aggregate function simpler
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
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
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
ef2701dc0c
Makes new Clippy happy
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
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
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
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
d16033ba66
Variable should stay not bound in subqueries even if they are bound in the parent query
...
Closes #261
3 years ago