You are here

function ARC_sparql2sql_rewriter::get_describe_sql in Taxonomy import/export via XML 6.2

Same name and namespace in other branches
  1. 5.2 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_describe_sql()
  2. 5 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_describe_sql()
  3. 6 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_describe_sql()

File

arc/ARC_sparql2sql_rewriter.php, line 234

Class

ARC_sparql2sql_rewriter

Code

function get_describe_sql($infos = "", $limit = 100) {

  /* called by ARC RDF Store once for all vars, then for each result_iri separately */
  if ($infos) {
    $this->infos = $infos;
  }
  if (isset($this->infos["result_vars"]) && count($this->infos["result_vars"])) {
    return $this
      ->get_select_sql();
  }
  elseif ($this->infos["result_iris"]) {
    $iri = $this->infos["result_iris"][0];

    //$q='SELECT ?ref_s ?ref_p ?p ?o WHERE { { ?ref_s  ?ref_p  <'.$iri.'> } UNION { <'.$iri.'> ?p ?o } }';
    $q = 'SELECT DISTINCT ?p ?o WHERE { <' . $iri . '> ?p ?o } ORDER BY ?p';
    $q .= $limit ? ' LIMIT ' . $limit : "";
    $parser = $this->api
      ->get_sparql_parser();
    $parser
      ->parse($q);
    $this->infos = $parser
      ->get_infos();
    return $this
      ->get_select_sql();
  }
  return "";
}