eclipse-researchlabs / scava

Eclipse Public License 2.0
7 stars 1 forks source link

[KB] Update to API (UNP Usecase) #62

Open davidediruscio opened 4 years ago

davidediruscio commented 4 years ago

The API call /api/artifacts/storeIoTCataloque/ was good for the initial testing of the KB capabilities, however the integration with the Use Case would work better if it was replaced by the followed methods:

Also it would be a great enhancement if the calculation of the CROSSREC distance map could be partial, focusing only on the modifications since the last calculation (new, updated or deleted products).

davidediruscio commented 4 years ago

Hi @MarcioMateus , I'm working on it. My 2 cents: 1 CrossRec doesn't allow to compute a partial distance map because it relies on graph similarities. 2 I can provide 2 new resources to add and delete artifacts. 3 I can implement a scheduled job to compute CrossRec distance matrix as I did in the dev branch. What do you think about? Is it ok?

davidediruscio commented 4 years ago

Hi @md2manoppello .

Thanks.

Reading again my description I thing that it may lead to some confusion. What I meant as "calculation of partial map" not for the calculation of the "base" distance matrix, but when we update or add new products just calculate the parts of the matrix affected by the updates and not calculate everything from scratch. This is to try to reduce the time needed to update the entire distance graph.

About the

scheduled job to compute CrossRec distance matrix

I would say that it depends. If during the update of the distance matrix we cannot query for "related products" (i.e. use /api/recommendation/similar/p/{id}/m/{sim_method}/n/{num}), then we would like to be able to choose when the matrix will be computed.

davidediruscio commented 4 years ago

I well understood your needs. No, I'm sorry. CROSSRec doesn't allow to partially compute the distance matrix because it doesn't calculate the difference one by one. It is an agglomerative similarity function. For this reason, I suggested a scheduled job.