function ARC_sparql2sql_rewriter::get_best_table_name in Taxonomy import/export via XML 6
Same name and namespace in other branches
- 5.2 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_best_table_name()
- 5 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_best_table_name()
- 6.2 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_best_table_name()
2 calls to ARC_sparql2sql_rewriter::get_best_table_name()
File
- arc/
ARC_sparql2sql_rewriter.php, line 266
Class
Code
function get_best_table_name($alias = "") {
$store_type = $this->config["store_type"];
$prefix = $this->config["prefix"];
$has_prop_tables = isset($this->config["prop_tables"]) && count($this->config["prop_tables"]) ? true : false;
if ($store_type == "basic") {
return $prefix . "_triple";
}
if (isset($this->alias_prop_infos[$alias])) {
$a_info = $this->alias_prop_infos[$alias];
/* graph check */
if ($a_info["in_graph"]) {
return $prefix . "_triple_all_wdup";
}
if ($store_type == "split") {
/* try concrete p iri */
if ($a_info["p_term_type"] == "iri") {
$p_iri = $a_info["p_term_val"];
/* check prop_table_infos */
if (isset($this->prop_table_infos[$p_iri])) {
return $this->prop_table_infos[$p_iri]["tbl"];
}
/* o is literal */
if ($a_info["o_term_type"] == "literal" || in_array($p_iri, $this->dt_props)) {
return $prefix . "_triple_dp";
}
/* o is iri */
if ($a_info["o_term_type"] == "iri" || in_array($p_iri, $this->obj_props)) {
return $prefix . "_triple_op";
}
}
/* o is literal */
if ($a_info["o_term_type"] == "literal") {
return $prefix . "_triple_dp_all";
}
/* o is iri */
if ($a_info["o_term_type"] == "iri") {
return $prefix . "_triple_op_all";
}
/* o is obj */
if ($a_info["o_term_type"] == "var") {
$o_var_val = $a_info["o_term_val"];
if (($col_occurs = $this->var_col_occurs[$o_var_val]) && in_array("s", $col_occurs)) {
/* used to join => obj prop */
return $has_prop_tables ? $prefix . "_triple_op_all" : $prefix . "_triple_op";
}
}
}
}
return $store_type == "split" ? $prefix . "_triple_all" : $prefix . "_triple";
}