def search(self,concept): global G, mentioned_concepts new_subgraph = nx.DiGraph() # ('ConceptuallyRelatedTo',1), ('AtLocation',2), ('DerivedFrom', 1) for relation, lim in [('IsA',3), ('PartOf', 2),('HasContext', 2)]: for node in mentioned_concepts: json_document = json.dumps(cnet.search(rel=relation, start=node, end=concept, limit=lim)) decoder = json.JSONDecoder() json_obj = decoder.decode(json_document) new_subgraph = nx.compose(new_subgraph,self.parse_json_to_graph(json_obj, start=node, end=concept)) json_document = json.dumps(cnet.search(rel=relation,start=concept, end=node, limit=lim)) decoder = json.JSONDecoder() json_obj = decoder.decode(json_document) new_subgraph = nx.compose(new_subgraph, self.parse_json_to_graph(json_obj, start=concept, end=node)) G = nx.compose(G,new_subgraph)
def do_search(self, line): args = line.split(' ') if not len(args) == 5: print "must have 5 arguments" return for i, arg in enumerate(args): if arg == "null": args[i] = None if i == 4: if arg == "True": args[i] = True else: args[i] = False print args print cnet.search(rel=args[0], start=args[1], end=args[2], limit=args[3], absolute=args[4])
def search_separately(self, concept): global G # ('ConceptuallyRelatedTo',1), ('AtLocation',2), ('DerivedFrom', 1) for relation, lim in [('IsA',3), ('PartOf', 2),('HasContext', 2)]: json_document = json.dumps(cnet.search(rel=relation, start=concept, limit=lim)) decoder = json.JSONDecoder() json_obj = decoder.decode(json_document) new_subgraph = self.parse_json_to_graph(json_obj, start=concept) G = nx.compose(G,new_subgraph)