예제 #1
0
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
예제 #2
0
 def get_input_values(self):
     return values_from_objects(self.input_objects)
예제 #3
0
 def get_fluent_values(self):
     return [
         Fact(get_prefix(f), values_from_objects(get_args(f)))
         for f in self.fluent_facts
     ]