def create_immediate_context(stream_result, stream_plan): # TODO: consider previous bindings and choose one value streams = [] for result in stream_plan: if set(stream_result.output_objects) & set( result.instance.input_objects): if all( isinstance(o, Object) for o in set(result.instance.input_objects) - set(stream_result.output_objects)): streams.append( (result.instance.external.name, ) + values_from_objects(result.instance.input_objects)) return values_from_objects(stream_result.output_objects), streams
def get_input_values(self): return values_from_objects(self.input_objects)
def get_fluent_values(self): return [ Fact(get_prefix(f), values_from_objects(get_args(f))) for f in self.fluent_facts ]