Example #1
0
 def test_add_task_contrast(self):
     self.assertTrue(
         self.client.login(username=self.user.username,
                           password=self.password))
     task = Task()
     condition = Condition()
     tsk = task.create('test_add_task_contrast', {'prop': 'prop'})
     cond1 = condition.create('test_add_task_contrast_cond1',
                              {'prop': 'prop'})
     cond2 = condition.create('test_add_task_contrast_cond2',
                              {'prop': 'prop'})
     cond_names = [
         'test_add_task_contrast_cond1', 'test_add_task_contrast_cond2'
     ]
     task.link(tsk.properties['id'],
               cond1.properties['id'],
               'HASCONDITION',
               endnode_type='condition')
     task.link(tsk.properties['id'],
               cond2.properties['id'],
               'HASCONDITION',
               endnode_type='condition')
     response = self.client.get(
         reverse('add_task_contrast', kwargs={'uid': tsk.properties['id']}))
     self.assertEqual(response.status_code, 200)
     self.assertIn(response.context['conditions'][0]['condition_name'],
                   cond_names)
     self.assertIn(response.context['conditions'][1]['condition_name'],
                   cond_names)
     self.assertEqual(len(response.context['conditions']), 2)
     tsk.delete_related()
     tsk.delete()
     cond1.delete()
     cond2.delete()
Example #2
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')
Example #3
0
 def test_add_condition(self):
     self.assertTrue(
         self.client.login(username=self.user.username,
                           password=self.password))
     task = Task()
     condition = Condition()
     tsk = task.create("test_add_condition_task", {
         "prop": "prop",
         "definition": "definition"
     })
     uid = tsk.properties['id']
     response = self.client.post(
         reverse('add_condition', kwargs={'task_id': uid}),
         {'condition_name': 'test_add_condition'})
     self.assertEqual(response.status_code, 200)
     relation = task.get_conditions(uid)
     self.assertEqual(len(relation), 1)
     self.assertEqual(relation[0]['condition_name'], 'test_add_condition')
     con = condition.graph.find_one('condition', 'id',
                                    relation[0]['condition_id'])
     tsk.delete_related()
     tsk.delete()
     con.delete()
Example #4
0
from django.http import HttpResponse, JsonResponse
from django.shortcuts import render
from django.template import loader, Context

from cognitive.apps.atlas.query import Concept, Condition, Contrast, Task
from cognitive.apps.atlas.utils import merge_cypher

Task = Task()
Concept = Concept()
Condition = Condition()
Contrast = Contrast()

# Return full graph visualizations


def graph_view(request, label, uid):
    query = "MATCH (n:{}) where n.id = '{}' OPTIONAL MATCH (n)-[]-(r) return n, r"
    query = query.format(label, uid)
    return render(request, "graph/graph.html", {'query': query})


def task_graph(request, uid):
    nodes = Task.get_graph(uid)
    context = {"graph": nodes}
    return render(request, "graph/task.html", context)


def concept_graph(request, uid):
    nodes = Concept.get_graph(uid)
    context = {"graph": nodes}
    return render(request, "graph/task.html", context)