コード例 #1
0
ファイル: manager.py プロジェクト: milesmcc/raq
 def get_graph_json(self, querystring):
     graph = []
     root_topic = Topic(querystring)
     self.topic_path.append(root_topic)
     graph.append(root_topic.assemble())
     searched = [querystring]
     for related_level1 in root_topic.get_related_topics()[:4]:
         if related_level1 in searched:
             continue
         else:
             searched.append(related_level1)
         topic_level1 = Topic(related_level1)
         root_topic.connect(topic_level1.string_query)
         topic_level1.connect(root_topic.string_query)
         for related_level2 in topic_level1.get_related_topics()[:4]:
             if related_level2 in searched:
                 continue
             else:
                 searched.append(related_level2)
             topic_level2 = Topic(related_level1)
             topic_level2.connect(topic_level1.string_query)
             topic_level1.connect(topic_level2.string_query)
             graph.append(topic_level2.assemble())
         graph.append(topic_level1.assemble())
     # for topic in self.topic_path[-min(len(self.topic_path), 3):]:
     # 	graph.append(topic.assemble())
     # graph = {
     # 	v['name']:v for v in map(lambda x: x, graph)
     # }.values()
     for thing in graph:
         print(thing)
     graph_json = json.dumps(graph)
     # print "\n\n"
     # print graph
     # print "\n"
     return graph_json