예제 #1
0
 def delete_goal(self, goal_id):
     user_node = self.user_node
     goal = Goal()
     goal.id = goal_id
     # have to remove all relationships before deleteing a node
     goal.delete_all_interests()
     goal_node = goal.goal_node
     user_goal_rel = self._graph_db.match_one(start_node=user_node,
                                             rel_type=GraphRelationship.HAS_GOAL,
                                             end_node=goal_node)
     self._graph_db.delete(user_goal_rel)
     self._graph_db.delete(goal_node)
예제 #2
0
    def user_goals(self):
        """ get user interests
        :return: list of interests
        """
        #TODO do not need a list of interests -- HATEOAS -- MMD 3/8/2015
        user_goals = self._graph_db.match(start_node=self.user_node, rel_type=GraphRelationship.HAS_GOAL,
                                         end_node=None)
        goals_list = []
        goal_interests_list = []
        for rel in user_goals:
            goal_properties = dict(rel.end_node.properties)
            goal = Goal()
            goal.id = goal_properties['id']
            interests = goal.goal_interests
            interests_list = []
            for interest in interests:
                interests_list.append(interest['name'])
            goal_properties['interests'] = interests_list
            goals_list.append(goal_properties)

        return goals_list