SolidLabResearch / Challenges

24 stars 0 forks source link

Privacy aware reasoning (theory & implementation) #53

Open jeswr opened 2 years ago

jeswr commented 2 years ago

TODO: This is a placeholder

The overall motivation of this challenge is to develop theory around materlialization-style reasoning across public and private data with various privacy restrictions.

The goal would be to give fast access to many different views on implicit data based based on a description of the explicit data a user has access to.

Pitch

In order to enable fast access to growing amounts of data in the Solid ecosystem; POD hosts are going to need an efficient way of materialising data which contains different views and access controls. Concretely, there needs to be a way of performing materialisation over all documents within a POD, each of which have varying level of access control, such that I can instantly look up, "what is the graph, including implicit data, that I see if I am user X trying to access documents A, B, and C"

The way I see the first version of this being implemented is:

  1. Implementing this specifically in terms of document views without bringing access controls into it. That is, fast and memory efficient lookups of what is the implicit data if I look at just document A, just document B, document A and B. In the 2 document of this is fairly straightforward incremental reasoning; with 1 index for implicit data for document A, another for the implicit data of document B, and then a 3rd for the implicit data that can only be generated using the union of document A and B. The main challenge for this case is avoiding duplicating data that is returned if document A and document B have an overlap in facts. For this reason it may be better to have a single annotated index rather than multiple indexes. This also becomes more complex when dealing with bigger permutations and combinations of indices.
  2. Seeing what changes are needed for this to handle triple-level permissions and access controls

Desired solution

Acceptance criteria

Pointers

Scenarios