示例#1
0
    def plans(type):
        triplets = request.get_json(force=True)
        graph = Graph(triplets)
        planner = pipeline_res["train-planner"]

        all_plans = [
            l.replace("[", " [ ").replace("]", " ] ").replace("  ", " ")
            for l in (graph.exhaustive_plan() if type ==
                      "full" else graph.plan_all()).linearizations()
        ]

        return jsonify({
            "concat": {n: concat_entity(n)
                       for n in graph.nodes},
            "linearizations":
            list(
                sorted([{
                    "l": l,
                    "s": planner.score(l)
                } for l in all_plans],
                       key=lambda p: p["s"],
                       reverse=True))
        })
示例#2
0
 def plan_all(self, g: Graph):
     return g.exhaustive_plan(force_tree=False).linearizations()
示例#3
0
def exhaustive_plan(g: Graph):
    return g.exhaustive_plan().linearizations()