Esempio n. 1
0
 def test_add_task_concept(self):
     self.assertTrue(
         self.client.login(username=self.user.username,
                           password=self.password))
     task = Task()
     concept = Concept()
     contrast = Contrast()
     tsk = task.create('test_add_task_concept', {'prop': 'prop'})
     con = concept.create('test_add_task_concept', {'prop': 'prop'})
     cont = contrast.create('test_add_task_concept', {'prop': 'prop'})
     concept.link(con.properties['id'],
                  cont.properties['id'],
                  "HASCONTRAST",
                  endnode_type='contrast')
     response = self.client.post(
         reverse('add_task_concept', kwargs={'uid': tsk.properties['id']}),
         {'concept_selection': con.properties['id']})
     self.assertEqual(response.status_code, 200)
     response = self.client.get(
         reverse('task', kwargs={'uid': tsk.properties['id']}))
     self.assertEqual(response.status_code, 200)
     self.assertEqual(len(response.context['task']['relations']['ASSERTS']),
                      1)
     self.assertEqual(
         response.context['task']['relations']['ASSERTS'][0]['id'],
         con.properties['id'])
     tsk.delete_related()
     con.delete_related()
     tsk.delete()
     con.delete()
     cont.delete()
Esempio n. 2
0
def add_concept_relation(request, uid):
    '''add_concept_relation will add a relation from a concept to another concept (PARTOF or KINDOF)
    :param uid: the uid of the concept page, for returning to the page after creation
    '''
    if request.method == "POST":
        relation_type = request.POST.get('relation_type', '')
        concept_selection = request.POST.get('concept_selection', '')
        Concept.link(uid, concept_selection, relation_type)
    return view_concept(request, uid)
Esempio n. 3
0
def add_concept_contrast(request, uid):
    '''add_concept_contrast will add a contrast associated with conditions--> task to the task view
    :param uid: the uid of the task, to return to the correct page after creation
    '''
    if request.method == "POST":
        relation_type = "MEASUREDBY"  #concept --MEASUREDBY-> contrast
        contrast_selection = request.POST.get('contrast_selection', '')
        concept_id = request.POST.get('concept_id', '')
        Concept.link(concept_id,
                     contrast_selection,
                     relation_type,
                     endnode_type="contrast")
    return view_task(request, uid)
Esempio n. 4
0
 def setUp(self):
     self.task = Task()
     self.node_name = "test_name"
     self.node_properties = {'test_key': 'test_value'}
     self.graph = Graph("http://graphdb:7474/db/data/")
     self.task1 = self.task.create(
         name=self.node_name,
         properties=self.node_properties)
     self.task2 = self.task.create(
         name=self.node_name,
         properties=self.node_properties)
     condition = Condition()
     self.cond = condition.create(
         name=self.node_name,
         properties=self.node_properties)
     contrast = Contrast()
     self.cont = contrast.create(
         name=self.node_name,
         properties=self.node_properties)
     concept = Concept()
     self.con = concept.create(
         name=self.node_name,
         properties=self.node_properties)
     self.task.link(
         self.task1.properties['id'],
         self.cond.properties['id'],
         "HASCONDITION",
         endnode_type='condition')
     self.task.link(
         self.task1.properties['id'],
         self.con.properties['id'],
         "ASSERTS",
         endnode_type='concept')
     condition.link(
         self.cond.properties['id'],
         self.cont.properties['id'],
         "HASCONTRAST",
         endnode_type='contrast')
     concept.link(
         self.con.properties['id'],
         self.cont.properties['id'],
         "MEASUREDBY",
         endnode_type='contrast')