| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Make sure we get slf4j in every test source set and every application by
default. Saves configuration effort when creating a new library that tests
VIATRA or other dependencies that require log4j.
|
|
|
|
|
|
|
| |
Improves IDE support build scripts in IntelliJ.
There is no Eclipse IDE support, but Eclipse didn't have support for Groovy
either, so there is no degradation of functionality.
|
|
|
|
|
|
|
|
|
|
| |
* Directly transform VIATRA tuples into Refinery tuples, since creating
the additional wrapper object doesn't save any memory.
* Adds static arity Tuple3 and Tuple4 implementations to be more
aligned with VIATRA internals and save memory for queries with up to
4 parameters.
* Makes sure no new objects are allocated (for varargs handling) when a
static arity tuple is hashed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Implement data terms for computations in queries.
* Function-like queries with computed results.
* Improved query evaluation, including positive and negative diagonal
cosntraints.
* Preliminary local search support.
* Changes to the DNF representation for count and aggregation support.
feat: terms wip
feat: query terms wip
feat: query evaluation, diagonal constraints, local search wip
fix reasoning compilation wip
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Accessing VIATRA result sets through IQueryResultProvider requires a lot
of indirection, allocations, and locking.
We use reflection instead to have direct access to the underlying
Indexer instead.
Unfortunately, projection to arbitrary tuple masks (with wildcard
entries in a tuple) is completely broken in VIATRA when RETE update
propagation is delayed. While a new, ad-hoc projection indexer gets
added to the RETE net immediately, it is not populated with the
projection results until updates are flushed in the query engine.
Therefore, when encountering an ad-hoc projection for the first time,
the projection results will always be empty (thus usually out of date).
While declaring the desired projections ahead of time would be a
possible solution, for now, we completely remove ad-hoc projection
support. If projections are needed on the ModelQuery level, we should
create an API for declaring projections for each registered Dnf.
|
| |
|
|
|
|
|
|
| |
Allows more complicated dependency hiearchies (e.g., use
store-query-viatra for testing store-partial) and better separation of
test fixtures.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Use PVisibility.EMBEDDED helper patterns to avoid superfluous production
nodes in the Rete net.
|
|
|
|
| |
Use Adapters to simplify API usage.
|
|
|
|
|
|
| |
Prefers sealed non-generic interfaces over wildcard types to avoid
confusion about method return types, especially in collections
(see SonarQube rule java:S1452).
|
|
|
|
| |
We will have to implement counting in DNF queries in another way.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Restore count != capability.
Still needs semantics and tests for count atoms over partial models.
|
| |
|
| |
|
| |
|
|
|