You are here

function ARC_sparql_parser::parse_GraphPattern in Taxonomy import/export via XML 6.2

Same name and namespace in other branches
  1. 5.2 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_GraphPattern()
  2. 5 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_GraphPattern()
  3. 6 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_GraphPattern()
1 call to ARC_sparql_parser::parse_GraphPattern()
ARC_sparql_parser::parse_GroupGraphPattern in arc/ARC_sparql_parser.php

File

arc/ARC_sparql_parser.php, line 731

Class

ARC_sparql_parser

Code

function parse_GraphPattern($val = "") {
  $entries = array();

  /* triples */
  if ($val && ($sub_result = $this
    ->parse_Triples($val)) && count($sub_result["triples"])) {
    $entries[] = $sub_result;
    $val = $sub_result["unparsed_val"];
    $val = substr($val, 0, 1) === "." ? trim(substr($val, 1)) : $val;
  }

  /* graph pattern, but not triples */
  if ($val && ($sub_result = $this
    ->parse_GraphPatternNotTriples($val)) && $sub_result["type"]) {
    $val = $sub_result["unparsed_val"];
    unset($sub_result["unparsed_val"]);
    $entries[] = $sub_result;
    $val = substr($val, 0, 1) === "." ? trim(substr($val, 1)) : $val;

    /* graph pattern */
    if ($val && ($sub_result = $this
      ->parse_GraphPattern($val)) && count($sub_result["entries"])) {
      $entries[] = $sub_result["entries"];
      $val = $sub_result["unparsed_val"];
      $val = substr($val, 0, 1) === "." ? trim(substr($val, 1)) : $val;
    }
  }
  return array(
    "entries" => $entries,
    "unparsed_val" => trim($val),
  );
}