def dataset_query_service( request ): """ Complex Query Service """ if request.method == 'POST': query_request = simplejson.loads(request.POST['groups_query']) id = request.POST.get('id', "") endpoint = request.POST.get('endpoint', "") query_sparql = json2sparql(query_request) import re r = re.compile('sparqlEndpoint=(.*?)&') endpoint_url = r.search(endpoint) from masterinterface.atos.exceptions import AtosPermissionException try: connector = json.dumps(dataset_query_connector(query_sparql, endpoint_url, request.user.username, request.ticket), sort_keys=False) except AtosPermissionException, e: response = HttpResponse(status=401) response._is_string = False return response response = HttpResponse(content=connector, content_type='application/json ') response._is_string = False return response
def annotation_search_view(request): """ annotation Search view """ dataset = '' datasetLabel = '' conceptClass = '' conceptLabel = '' user = request.user name = 'query-' + datetime.utcnow().strftime("%Y-%m-%d-%H:%M") results = '' explore = '' if request.GET.get('groups_query', None) is not None: groups_query = unquote(request.GET['groups_query']) load_groups = simplejson.loads(groups_query) dataset = unquote(request.GET['dataset']) datasetLabel = unquote(request.GET['datasetLabel']) conceptClass = class_search_connector(None, datasetLabel, num_max_hits='200', page_num='1').get('1',[]) import re r = re.compile('sparqlEndpoint=(.*?)&') endpoint_url = r.search(dataset) ####### Save History ####### query_obj = Query(name=name, query=groups_query) query_obj.save() query_obj.user.add(user) query_sparql = json2sparql(load_groups) results =dataset_query_connector(query_sparql, endpoint_url, request.user.username, request.ticket) elif request.GET.get('id', None) is not None: query_obj = Query.objects.get(id=request.GET['id']) groups_query = unquote(query_obj.query) load_groups = simplejson.loads(groups_query) ####### Save History ####### query_obj = Query.objects.get(id=id) if not query_obj.saved: query_obj.name = name query_obj.query = groups_query query_obj.date = datetime.utcnow() query_obj.save() query_obj.user.add(user) results = complex_query_connector(load_groups, request.user) if request.GET.get('dataset', None) is not None: dataset = unquote(request.GET['dataset']) datasetLabel = unquote(request.GET['datasetLabel']) import re r = re.compile('sparqlEndpoint=(.*?)&') endpoint_url = r.search(dataset) if 'read/sparql' in endpoint_url.group(1): explore = endpoint_url.group(1).replace('read/sparql', 'explore/sql.html') explore = explore.replace('https://','https://*****:*****@'%request.ticket) conceptClass = class_search_connector(None, datasetLabel, num_max_hits='200', page_num='1').get('1',[]) #conceptClass = unquote(request.GET['conceptClass']) #conceptClassLabel = unquote(request.GET['conceptLabel']) #annotations = annotation_search_connector(None, dataset, conceptClass, conceptClassLabel, num_max_hits='200', page_num='1') return render_to_response('scs_search/scs_search.html', {'search': 'complex', 'results': results, 'dataset': dataset, 'datasetLabel': datasetLabel , 'class': conceptClass, 'breadcrum': [1, 1, 1], 'classLabel': conceptLabel, 'conceptClass': conceptClass, 'explore':explore}, RequestContext(request))