You are here

function ARC_sparql_parser::parse_WhereClause in Taxonomy import/export via XML 6

Same name and namespace in other branches
  1. 5.2 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_WhereClause()
  2. 5 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_WhereClause()
  3. 6.2 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_WhereClause()
4 calls to ARC_sparql_parser::parse_WhereClause()
ARC_sparql_parser::parse_AskQuery in arc/ARC_sparql_parser.php
ARC_sparql_parser::parse_ConstructQuery in arc/ARC_sparql_parser.php
ARC_sparql_parser::parse_DescribeQuery in arc/ARC_sparql_parser.php
ARC_sparql_parser::parse_SelectQuery in arc/ARC_sparql_parser.php

File

arc/ARC_sparql_parser.php, line 607

Class

ARC_sparql_parser

Code

function parse_WhereClause() {
  if (preg_match("/^(WHERE)?\\s*(\\{.*)\$/is", $this->q, $matches)) {
    if ($sub_result = $this
      ->parse_GroupGraphPattern(trim($matches[2]))) {
      $this->q = $sub_result["unparsed_val"];
      unset($sub_result["unparsed_val"]);
      $this->infos["patterns"] = $sub_result["entries"];
    }
    else {
      $this->errors[] = "could not extract group graph pattern in parse_WhereClause()";
    }
  }
  else {
    if ($this->infos["query_type"] != "describe") {
      $this->errors[] = "empty where clause (or missing brackets) in parse_WhereClause()";
    }
  }
}