function ARC_sparql2sql_rewriter::parse_pattern in Taxonomy import/export via XML 6.2
Same name and namespace in other branches
- 5.2 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::parse_pattern()
- 5 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::parse_pattern()
- 6 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::parse_pattern()
4 calls to ARC_sparql2sql_rewriter::parse_pattern()
- ARC_sparql2sql_rewriter::parse_graph_pattern in arc/
ARC_sparql2sql_rewriter.php - ARC_sparql2sql_rewriter::parse_group_pattern in arc/
ARC_sparql2sql_rewriter.php - ARC_sparql2sql_rewriter::parse_optional_pattern in arc/
ARC_sparql2sql_rewriter.php - ARC_sparql2sql_rewriter::parse_patterns in arc/
ARC_sparql2sql_rewriter.php
File
- arc/
ARC_sparql2sql_rewriter.php, line 922
Class
Code
function parse_pattern($args = "") {
$r = "";
if (is_array($args) && isset($args["pattern"]) && ($pattern = $args["pattern"])) {
$nl = "\n";
$ind = $args["ind"];
$ni = $nl . $ind;
$cur_type = isset($pattern["type"]) ? $pattern["type"] : "";
if ($cur_type) {
$mthd = "parse_" . $cur_type . "_pattern";
if (method_exists($this, $mthd)) {
$r .= $this
->{$mthd}($args);
}
}
elseif (count($pattern)) {
/* has sub-patterns */
foreach ($pattern as $sub_pattern) {
$args["pattern"] = $sub_pattern;
$sub_r = $this
->parse_pattern($args);
if (trim($sub_r)) {
$r .= strlen($r) ? $ni . "AND" . $ni . "(" . $nl . " " . str_replace("\n", "\n ", $sub_r) . $ni . ")" : $sub_r;
}
}
}
}
return $r;
}