SolidLabResearch / Challenges

24 stars 0 forks source link

Determining query equivalence between a newly registered query and an already executing query in the query registry #106

Closed argahsuknesib closed 1 year ago

argahsuknesib commented 1 year ago

Pitch

This challenge is an extension of the solid lab challenge 84. The solid stream aggregator is a service that runs on top of a solid pod(s) to aggregate data streams stored in the solid pod. The data streams are generated from multiple sources to be stored in the solid pod using the LDES in LDP specification. The user can register queries into the aggregator and generate a continuous materialized view over the streams stored in the solid pod. Moreover, multiple users can register the same to the aggregator. On registering the same query, the aggregator currently instantiates a new process to compute and develop a continuous view. However, such an approach is resource-consuming and hinders the scalability of the aggregator. Therefore, there is a need for the aggregator to determine if a newly registered query is similar to an already executing query, and if so, not register the query to compute. The Query Registry component of the aggregator keeps a record of the queries that are being executed currently and can be employed to identify query equivalence between a newly registered query and an already executing one.

Desired solution

The desired solution should be able to use the Query Registry component of the aggregator to determine the equivalence between an already-registered query with a newly registered one. As the queries have been registered in RSP-QL syntax in the query registry, the desired solution should be able to determine equivalence between RSP-QL queries.

Acceptance criteria

The following functionality regarding evaluating the equivalence is required,

Scenarios

This is part of a larger scenario

argahsuknesib commented 1 year ago

The RDF Isomorphic package can be used to find isomorphism in the query's basic graph patterns.

pheyvaer commented 1 year ago

@pbonte Once you are doing with the review of the challenge, can you assign it to me? Thanks!

argahsuknesib commented 1 year ago

A first version of the rspql query equivalence package is developed here which finds if two RSPQL queries are equivalent. Improvements such as renaming the projection variable is to be made in the next steps.

argahsuknesib commented 1 year ago

The demo is finished with a repository containing instructions here

pheyvaer commented 1 year ago

Can you make sure that all requirements are met? For example "You must provide a list of important technical decisions and assumptions that were made, such as the shape and the location of data." is not done.

argahsuknesib commented 1 year ago

added the technical decision section, will keep in mind from the next time.

pheyvaer commented 1 year ago

You find the report for this challenge here.