def get_one_resource(**kwargs):
    """
    Handles a GET method to get one resource
    :param kwargs:
    :type kwargs:
    :return:
    :rtype:
    """
    username = kwargs["username"]
    owl_class_name = kwargs["rdf_type_name"]
    query_type = "get_one_user"
    kls = kwargs["kls"]
    request_args: Dict[str, str] = {
        "resource": build_instance_uri(kwargs["id"]),
        "g": generate_graph(username)
    }
    try:
        response = query_manager.obtain_query(owl_class_name=owl_class_name,
                                              query_type=query_type,
                                              endpoint=ENDPOINT,
                                              request_args=request_args)
        if response:
            return kls.from_dict(response[0])

    except:
        logger.error("Exception occurred", exc_info=True)
        return "Bad request", 400, {}
Exemple #2
0
def request_all(kls, owl_class_name, request_args, resource_type_uri, query_type="get_all_user"):
    try:
        response = query_manager.obtain_query(query_directory=owl_class_name,
                                              owl_class_uri=resource_type_uri,
                                              query_type=query_type,
                                              endpoint=ENDPOINT,
                                              request_args=request_args)
        items = []
        for d in response:
            items.append(kls.from_dict(d))
        return items
    except:
        logger.error("Exception occurred", exc_info=True)
        return "Bad request", 400, {}
Exemple #3
0
def request_one(kls, owl_class_name, request_args, resource_type_uri, query_type="get_one_user"):
    try:
        response = query_manager.obtain_query(query_directory=owl_class_name,
                                              owl_class_uri=resource_type_uri,
                                              query_type=query_type,
                                              endpoint=ENDPOINT,
                                              request_args=request_args)
        if len(response) > 0:
            return kls.from_dict(response[0])
        else:
            return "Not found", 404, {}

    except:
        logger.error("Exception occurred", exc_info=True)
        return "Bad request", 400, {}
def get_all_resource(**kwargs):
    """
    Handles a GET method to get all resource by rdf_type
    :param kwargs:
    :type kwargs:
    :return:
    :rtype:
    """
    resource_type_uri = kwargs["rdf_type_uri"]
    username = kwargs["username"]
    owl_class_name = kwargs["rdf_type_name"]
    kls = kwargs["kls"]
    request_args: Dict[str, str] = {
        "type": resource_type_uri,
        "g": generate_graph(username)
    }

    if "label" in kwargs and kwargs["label"] is not None:
        query_text = kwargs["label"]
        logger.debug("searching by label " + query_text)
        query_type = "get_all_search"
        request_args["text"] = query_text
    else:
        query_type = "get_all_user"

    try:
        response = query_manager.obtain_query(owl_class_name=owl_class_name,
                                              query_type=query_type,
                                              endpoint=ENDPOINT,
                                              request_args=request_args)
        items = []
        for d in response:
            items.append(kls.from_dict(d))
        return items
    except:
        logger.error("Exception occurred", exc_info=True)
        return "Bad request", 400, {}