function ARC_sparql_parser::parse_DescribeQuery in Taxonomy import/export via XML 6.2
Same name and namespace in other branches
- 5.2 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_DescribeQuery()
- 5 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_DescribeQuery()
- 6 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_DescribeQuery()
File
- arc/
ARC_sparql_parser.php, line 532
Class
Code
function parse_DescribeQuery() {
/* vars */
$vars = $this
->extract_vars($this->q);
$result_vars = array();
$result_iris = array();
$return_all = false;
/* result vars/iris */
if (preg_match("/^\\*/", $this->q, $matches)) {
/* * */
$result_vars = $vars;
$return_all = true;
}
else {
/* explicit var list */
$q = $this->q;
while ($sub_result = $this
->parse_VarOrIRIref($q)) {
if ($sub_result["type"] == "var") {
$result_vars[] = $sub_result["val"];
$this->logs[] = "adding result var " . $sub_result["val"];
}
elseif ($sub_result["type"] == "iri") {
$result_iris[] = $sub_result["val"];
$this->logs[] = "adding result iri " . $sub_result["val"];
}
$q = $sub_result["unparsed_val"];
}
$this->q = $q;
}
$this->infos["vars"] = $vars;
$this->infos["result_vars"] = $result_vars;
$this->infos["result_iris"] = $result_iris;
/* FROM */
$this
->parse_DatasetClause();
/* WHERE */
$this
->parse_WhereClause();
/* ORDER/LIMIT/OFFSET */
$this
->parse_SolutionModifier();
/* result_iris */
if ($return_all) {
$this->infos["result_iris"] = $this->iris;
}
}