def pg_insert_edges(self): """ Insert Postgres edges. """ size = nx.number_of_edges(self.graph) for cn1, cn2, e in bar(self.graph.edges_iter(data=True), expected_size=size): # Pop out the nodes. n1 = HLOM_Node.get(HLOM_Node.control_number==cn1) n2 = HLOM_Node.get(HLOM_Node.control_number==cn2) HLOM_Edge.create( source=n1, target=n2, weight=e.get('weight', 1) ) HLOM_Edge.create( source=n2, target=n1, weight=e.get('weight', 1) )
def pg_insert_nodes(self): """ Insert Postgres nodes. """ for cn, n in bar(self.graph.nodes_iter(data=True), expected_size=len(self.graph)): # Insert the node. HLOM_Node.create(control_number=cn, node=n)
def neighbors(): """ Given all nodes adjacent to a node. """ cn = request.args.get('cn') node = HLOM_Node.get(HLOM_Node.control_number==cn) query = ( HLOM_Edge .select(HLOM_Edge.weight, HLOM_Node.node) .join(HLOM_Node, on=(HLOM_Node.id==HLOM_Edge.target)) .where(HLOM_Edge.source==node) .order_by(HLOM_Edge.weight.desc()) .limit(100) ) neighbors = [] for n in query.naive(): neighbors.append({ 'node': n.node, 'weight': n.weight }) return jsonify({'neighbors': neighbors })