Model deployment traversing across multiple objects

Hi,

I am trying to conduct some complex analysis on multiple objects and then deploy this so that the user can view the results in real time.

The input of the function/model is one object to which there can be up to 125,000 linked objects in which a mathematical model is applied to sets of up to 1000 times.

I tried doing this as a typescript function but found that even when optimised and coded asynchronously it would still time out; so in this way thought a model deployment might work better.

So my question is this, is it possible to write a model that can take the input of an object, filter another object so that only the relevant objects are present, and then conduct some logic here to produce a result in the form of a list of numbers? Ideally this would then be deployed as a function so that it can be used in a workshop module. eg.

def my_model(object_1) -> list(float):
    obj2 = object_2.filter(object_1)

    ### apply mathematical model here
    param_list = ["1", "2", "...", "1000"]
    list_floats = [f(obj2, param) for param in param_list]

    return list_floats

Hi @domsasston,

Really interesting problem, have you explored Modelling Objectives?
If so you can run models from this application over input and output datasets, the best way to do this using objects would be to set up materialisations in your ontology manager to pass the edited data in and out of your models.

Once the modelling objective has run and produced a result, you can then put the output back into an object and render this out in Workshop or other applications through OSDK etc!