def get_sparql_query(): """Get sparql query of result for the query editor Returns ------- json query: the sparql query error: True if error, else False errorMessage: the error message of error, else an empty string """ try: files_utils = FilesUtils(current_app, session) disk_space = files_utils.get_size_occupied_by_user( ) if "user" in session else None file_id = request.get_json()["fileId"] result_info = {"id": file_id} result = Result(current_app, session, result_info) query = SparqlQuery(current_app, session) sparql = result.get_sparql_query() # get graphs and endpoints used in the query graphs = result.graphs endpoints = result.endpoints # Get all graphs and endpoint, and mark as selected the used one graphs, endpoints = query.get_graphs_and_endpoints( selected_graphs=graphs, selected_endpoints=endpoints) # Build sparql query from json if needed if sparql is None: query.json = result.get_graph_state() query.build_query_from_json(for_editor=True) sparql = query.sparql except Exception as e: traceback.print_exc(file=sys.stdout) return jsonify({ 'query': {}, 'graphs': [], 'endpoints': [], 'diskSpace': 0, 'error': True, 'errorMessage': str(e) }), 500 return jsonify({ 'query': sparql, 'graphs': graphs, 'endpoints': endpoints, 'diskSpace': disk_space, 'error': False, 'errorMessage': '' })
def get_graph_and_sparql_query(): """Get query (graphState or Sparql) Returns ------- json error: True if error, else False errorMessage: the error message of error, else an empty string """ try: file_id = request.get_json()["fileId"] result_info = {"id": file_id} result = Result(current_app, session, result_info) # Get graph state and sparql query graph_state = result.get_graph_state(formated=True) sparql_query = result.get_sparql_query() # Get disk space files_utils = FilesUtils(current_app, session) disk_space = files_utils.get_size_occupied_by_user( ) if "user" in session else None # Get graphs and endpoints graphs = result.graphs endpoints = result.endpoints # Get all graphs and endpoint, and mark as selected the used one query = SparqlQuery(current_app, session) graphs, endpoints = query.get_graphs_and_endpoints( selected_graphs=graphs, selected_endpoints=endpoints) except Exception as e: traceback.print_exc(file=sys.stdout) return jsonify({ 'graphState': {}, 'sparqlQuery': "", 'graphs': [], 'endpoints': [], 'diskSpace': 0, 'error': True, 'errorMessage': str(e) }), 500 return jsonify({ 'graphState': graph_state, 'sparqlQuery': sparql_query, 'graphs': graphs, 'endpoints': endpoints, 'diskSpace': disk_space, 'error': False, 'errorMessage': '' })
def init(): """Get the default sparql query Returns ------- json """ try: # Disk space files_utils = FilesUtils(current_app, session) disk_space = files_utils.get_size_occupied_by_user( ) if "user" in session else None # Get graphs and endpoints query = SparqlQuery(current_app, session) graphs, endpoints = query.get_graphs_and_endpoints(all_selected=True) # Default query default_query = query.prefix_query(query.get_default_query()) console_enabled = can_access(session['user']) except Exception as e: traceback.print_exc(file=sys.stdout) return jsonify({ "error": True, "errorMessage": str(e), "defaultQuery": "", "graphs": {}, "endpoints": {}, "diskSpace": None, "console_enabled": False }), 500 return jsonify({ "error": False, "errorMessage": "", "defaultQuery": default_query, "graphs": graphs, "endpoints": endpoints, "diskSpace": disk_space, "console_enabled": console_enabled })
def get_data(uri): """Get information about uri Returns ------- json error: True if error, else False errorMessage: the error message of error, else an empty string """ try: query = SparqlQuery(current_app, session) graphs, endpoints = query.get_graphs_and_endpoints(all_selected=True) endpoints = [val['uri'] for val in endpoints.values()] data = [] # If the user do not have access to any endpoint (no viewable graph), skip if endpoints: uri = urllib.parse.quote(uri) base_uri = current_app.iniconfig.get('triplestore', 'namespace_data') full_uri = "<%s%s>" % (base_uri, uri) data = query.get_uri_parameters(full_uri, endpoints) except Exception as e: current_app.logger.error(str(e).replace('\\n', '\n')) traceback.print_exc(file=sys.stdout) return jsonify({ 'error': True, 'errorMessage': str(e).replace('\\n', '\n'), 'data': [] }), 500 return jsonify({'data': data, 'error': False, 'errorMessage': ""})
def get_graph_and_sparql_query(): """Get query (graphState or Sparql) Returns ------- json error: True if error, else False errorMessage: the error message of error, else an empty string """ try: data = request.get_json() if not (data and data.get("fileId")): return jsonify({ 'graphState': {}, 'sparqlQuery': "", 'graphs': [], 'endpoints': [], 'diskSpace': 0, 'error': True, 'errorMessage': "Missing fileId parameter" }), 400 file_id = data["fileId"] result_info = {"id": file_id} result = Result(current_app, session, result_info) if not result: return jsonify({ 'graphState': {}, 'sparqlQuery': "", 'graphs': [], 'endpoints': [], 'diskSpace': 0, 'error': True, 'errorMessage': "You do not have access to this query" }), 401 # Get graph state and sparql query graph_state = result.get_graph_state(formated=True) sparql_query = result.get_sparql_query() # Get disk space files_utils = FilesUtils(current_app, session) disk_space = files_utils.get_size_occupied_by_user( ) if "user" in session else None # Get graphs and endpoints graphs = result.graphs endpoints = result.endpoints # Get all graphs and endpoint, and mark as selected the used one query = SparqlQuery(current_app, session) graphs, endpoints = query.get_graphs_and_endpoints( selected_graphs=graphs, selected_endpoints=endpoints) console_enabled = can_access(session['user']) except Exception as e: traceback.print_exc(file=sys.stdout) return jsonify({ 'graphState': {}, 'sparqlQuery': "", 'graphs': [], 'endpoints': [], 'diskSpace': 0, 'error': True, 'errorMessage': str(e) }), 500 return jsonify({ 'graphState': graph_state, 'sparqlQuery': sparql_query, 'graphs': graphs, 'endpoints': endpoints, 'diskSpace': disk_space, 'error': False, 'errorMessage': '', 'console_enabled': console_enabled })