function ARC_rdf_store::query in Taxonomy import/export via XML 6
Same name and namespace in other branches
- 5.2 arc/ARC_rdf_store.php \ARC_rdf_store::query()
- 5 arc/ARC_rdf_store.php \ARC_rdf_store::query()
- 6.2 arc/ARC_rdf_store.php \ARC_rdf_store::query()
File
- arc/
ARC_rdf_store.php, line 61
Class
Code
function query($args = "") {
/* query, result_type (query_infos|rows|json|xml|single|rows_n_count|row_count|sql), result_type_args, obj_props, dt_props, iri_alts, ifps, fps, fix_utf8 */
if (!isset($args["query"]) || !strlen(trim($args["query"]))) {
return array(
"error" => "missing or empty query",
);
}
$query = trim($args["query"]);
$parser =& $this->api
->get_sparql_parser();
$parser
->parse($query);
/* error check */
if ($errors = $parser
->get_errors()) {
return array(
"error" => "Errors (or unsupported commands) in query :\n- " . implode("\n- ", $errors) . "\n\n",
);
}
/* run query */
$infos = $parser
->get_infos();
if (isset($args["result_type"]) && $args["result_type"] == "query_infos") {
return array(
"result" => $infos,
"error" => "",
);
}
$q_type = $infos["query_type"];
if (!($handler =& $this->api
->get_query_handler($q_type))) {
return array(
"error" => "Unsupported query type '" . $q_type . "'.",
);
}
$args["infos"] = $infos;
return $handler
->get_result($args);
}