You are here

function ARC_sparql_parser::parse_Constraint in Taxonomy import/export via XML 5.2

Same name and namespace in other branches
  1. 5 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_Constraint()
  2. 6.2 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_Constraint()
  3. 6 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_Constraint()
1 call to ARC_sparql_parser::parse_Constraint()
ARC_sparql_parser::parse_GraphPatternNotTriples in arc/ARC_sparql_parser.php

File

arc/ARC_sparql_parser.php, line 835

Class

ARC_sparql_parser

Code

function parse_Constraint($val = "") {
  if (preg_match("/^(FILTER)(\\s*)(.*)\$/is", $val, $matches)) {
    $val = trim($matches[3]);

    /* (...) */
    if ($sub_result = $this
      ->parse_BrackettedExpression($val)) {
      return array(
        "type" => "filter",
        "sub_type" => "expression",
        "expression" => $sub_result["expression"],
        "unparsed_val" => $sub_result["unparsed_val"],
      );
    }
    elseif ($sub_result = $this
      ->parse_BuiltInCall($val)) {
      return array(
        "type" => "filter",
        "sub_type" => "built_in_call",
        "call" => $sub_result,
        "unparsed_val" => $sub_result["unparsed_val"],
      );
    }
    elseif ($sub_result = $this
      ->parse_FunctionCall($val)) {
      return array(
        "type" => "filter",
        "sub_type" => "function_call",
        "call" => $sub_result,
        "unparsed_val" => $sub_result["unparsed_val"],
      );
    }
  }

  /* else */
  return false;
}