function selecionaCandidatos($ano, $cidade, $estado, $numero_urna, $resultado)
{
    $arq = fopen("dadosAtualiza.txt", "a+");
    fwrite($arq, $ano . " " . $cidade . " " . $estado . " " . $numero_urna . " " . $resultado . "\n");
    fclose($arq);
    $consulta = 'select ?id ?situacao
where{ ?id polbr:election ?election.
      ?election timeline:atYear "' . $ano . '".
      ?election biblio:number "' . $numero_urna . '".
      ?election polbr:situation ?situacao.
      ?election geospecies:State ?estado.
      filter (regex(?estado,"' . $estado . '","i"))
      ?election geospecies:City ?cidade.
      filter (regex(?cidade,"' . $cidade . '","i"))
     }';
    $resultado_consulta = consultaSPARQL($consulta);
    foreach ($resultado_consulta as $resultado_cand) {
        if (isset($resultado_cand['situacao'])) {
            $situacao = $resultado_cand['situacao'];
            $situacao = explode(" (", $situacao);
            //Envia o resultado oficial
            if (strcmp($situacao[0], "APTO") == 0) {
                resultado($resultado_cand['id'], $resultado, $ano, $numero_urna);
            } else {
                if (strcmp($situacao[0], "INAPTO") == 0) {
                    resultado($resultado_cand['id'], "Não Eleito", $ano, $numero_urna);
                }
            }
            $arq = fopen("Existem.txt", "a+");
            fwrite($arq, $resultado_cand['id'] . " " . $resultado . " " . $ano . " " . $numero_urna . "\n");
            fclose($arq);
        }
    }
}
function salvaDadosAllegro($dados)
{
    $nomePol = $dados[5];
    $dataNas = $dados[8];
    $cargo = $dados[2];
    $partido = $dados[3];
    $numProtocolo = $dados[21];
    $cnpj = $dados[22];
    //colocar o cargo e o protocolo
    if ($nomePol != NULL && $dataNas != NULL && $cargo != NULL && $partido != NULL && $numProtocolo != NULL && $cnpj != NULL && strcmp($cnpj, "Visualizar processo de atribuição de CNPJ") != 0 && $numProtocolo != '') {
        echo "Cargo: " . $cargo . "numPro: " . $numProtocolo . "Nome: " . $nomePol . '</br>';
        $id = existePoli($nomePol, $dataNas);
        $anosEleicoes = NULL;
        $naoConcorreuDepois2012 = TRUE;
        if ($id != 0) {
            $consulta = 'select ?ano
                    where{
                     <http://ligadonospoliticos.com.br/politico/' . $id . '> polbr:election ?election.
                     ?election timeline:atYear ?ano                                                    
                    }
                    group by ?ano';
            $anosEleicoes = consultaSPARQL($consulta);
            foreach ($anosEleicoes as $ano) {
                if ($ano['ano'] > 2012) {
                    $naoConcorreuDepois2012 = FALSE;
                }
            }
        }
        //confere se o candidato não possui site
        if (strcmp($dados[17], "NULL") == 0) {
            $dados[17] = NULL;
        }
        //Se o candidato é novo ou não concorreu depois de 2012
        if ($id == 0 || $naoConcorreuDepois2012) {
            $id = politico_Prefeito_Vereador($dados[5], $dados[9], strtoupper($dados[12]), $dados[8], $dados[13], $dados[15], $dados[16], $dados[14], $dados[6], $dados[7], $dados[17], $dados[2], $dados[1], $dados[0], $dados[3], $dados[4]);
        }
        eleicao_Prefeito_Vereador($id, "2012", $dados[10], $dados[11], $dados[3], $dados[2], $dados[1], $dados[0], NULL, $dados[18], $dados[19], $dados[4], $dados[21], $dados[20], $dados[22]);
        $bensEleicao = $dados[23];
        //confere se o politico possui bens
        if (strcmp($bensEleicao, "\n") != 0) {
            $bensEleicao = str_replace("\\|db|/\n", "", $bensEleicao);
            $bens = explode("\\|db|/", $bensEleicao);
            if (strcmp($bensEleicao, "\n") != 0) {
                $i = 0;
                while ($i < count($bens)) {
                    if ($bens[$i] != "" && $bens[$i + 1] != "" && $bens[$i + 2] != "") {
                        declaracao_bens($id, "2012", $bens[$i++], $bens[$i++], $bens[$i++]);
                    } else {
                        $i = $i + 3;
                    }
                }
            }
        }
    }
}
<h2>Downloads</h2>

<?php 
include '../consultasSPARQL.php';
$fp = fopen("./downloads/afastamento.csv", "w");
$quebra = chr(13) . chr(10);
$escrita = "id_afastamento;id_politico;cargo;cargo_uf;data;tipo;motivo;" . $quebra;
//$consulta = "SELECT * FROM afastamento";
$sparql = consultaSPARQL('select ?y
                        where {
                                ?y polbr:absence ?x.
                          OPTIONAL {?x pol:Office ?cargo }.
                          OPTIONAL {?x geospecies:State ?cargo_uf }.
                          OPTIONAL {?x timeline:atDate ?data}.
                          OPTIONAL {?x dcterms:type ?type}.
                          OPTIONAL {?x event:fact ?motivo}.
                        }');
$sql = mysql_query($consulta);
foreach ($sparql as $row) {
    $escrita = $escrita . $row['cargo'] . ';' . $row['cargo_uf'] . ';' . $row['data'] . ';' . $row['tipo'] . ';' . $row['motivo'] . $quebra;
}
$escreve = fwrite($fp, $escrita);
fclose($fp);
escreve("\nSelecione o arquivo abaixo para fazer o download das informações em formato bruto. Os dados são identificados através da chave primária encontrada em <i>Político</i>. <br />\nPara obter os dados mais atualizados, por favor entre em <a href='?pag=contato'>contato</a> conosco. \n", "\nSelect the file below to download the information in raw format. The data are identified by the primary key found in <i>Politician</i>. <br />\nFor the most current data, please <a href='?pag=contato'>contact</a> us.\n");
?>
<ul>
	<li><a href="../downloads/afastamento.csv.zip"> <?php 
escreve("Afastamento", "Absence");
?>
 </a></li><br />
	<li><a href="../downloads/comissao.csv.zip"> <?php 
function salvarDadosNoAllegro($dados, $bens, $numeroBens)
{
    //Condições para verificar a existencia de dados basicos que juntos permitem identificar o politico e podem ajudar
    //ajudar a resolver inconsistencia caso o html do site mude
    if ($dados['nomeCompleto'] != NULL && $dados['dataNascimento'] != NULL && $dados['cargo'] != NULL && $dados['partido'] != NULL && $dados['nProtocolo'] != NULL && $dados['cnpj'] != NULL && strcmp($dados['cnpj'], "Visualizar processo de atribuição de CNPJ") != 0 && $dados['nProtocolo'] != '') {
        //confere se o politico já existe no banco
        $id = existePoli($dados['nomeCompleto'], $dados['dataNascimento']);
        //Confere se o politico já existe no banco, com uma eleição posterior a de 2012
        //evitando assim de apagar dados dessa eleição
        $anosEleicoes = NULL;
        $naoConcorreuDepois2012 = TRUE;
        if ($id != 0) {
            $consulta = 'select ?ano
                    where{
                     <http://ligadonospoliticos.com.br/politico/' . $id . '> polbr:election ?election.
                     ?election timeline:atYear ?ano                                                    
                    }
                    group by ?ano';
            $anosEleicoes = consultaSPARQL($consulta);
            foreach ($anosEleicoes as $ano) {
                if ($ano['ano'] > 2012) {
                    $naoConcorreuDepois2012 = FALSE;
                }
            }
        }
        //caso o candidadto ainda não esteja cadastrado no banco
        //Ou caso o candidato tenha concorrido só em 2010 ou antes
        if ($id == 0 || $naoConcorreuDepois2012) {
            $id = politico_Prefeito_Vereador($dados['nomeCompleto'], $dados['img'], $dados['sexo'], $dados['dataNascimento'], $dados['estadoCivil'], $dados['ocupacao'], $dados['grauInstrucao'], $dados['nacionalidade'], $dados['cidade_nascimento'], $dados['estado_nascimento'], $dados['endSite'], $dados['cargo'], $dados['cidade_cand'], $dados['estado_cand'], $dados['partido'], NULL);
        }
        eleicao_Prefeito_Vereador($id, "2012", $dados['nomeUrna'], $dados['numero'], $dados['partido'], $dados['cargo'], $dados['cidade_cand'], $dados['estado_cand'], NULL, $dados['coligacao'], $dados['composicaoColigacao'], $dados['situacao'], $dados['nProtocolo'], $dados['nProcesso'], $dados['cnpj']);
        $num = 0;
        while ($num < $numeroBens) {
            declaracao_bens($id, "2012", $bens["DescricaoBem"][$num], $bens["TipoBem"][$num], $bens["ValorBem"][$num]);
            $num++;
        }
    }
}
                                  }');
$cont11 = count($sparql11);
if ($cont11 != '') {
    aba_politico_html('Proposições');
}
$sql_voto = mysql_query("SELECT * FROM voto WHERE id_politico = '{$recurso}'");
$cont_voto = mysql_num_rows($sql_voto);
if ($cont_voto != '') {
    aba_politico_html('Votações');
}
$sparql12 = consultaSPARQL('select ?tipo ?data ?casa ?partido ?uf ?resumo
                                    where{
                                      <http://ligadonospoliticos.com.br/politico/' . $recurso . '> biblio:Speech ?y.
                                      ?y dcterms:type ?tipo.
                                      OPTIONAL{?y timeline:atDate ?data }.
                                      ?y po:Place ?casa .
                                      ?y pol:party ?partido .
                                      ?y geospecies:State ?uf .
                                      ?y biblio:abstract ?resumo .
                                      FILTER isliteral(?partido)
                                      }');
$cont12 = count($sparql12);
if ($cont12 != '') {
    aba_politico_html('Pronunciamentos');
}
$sql_outros = mysql_query("SELECT * FROM linkrdf_page WHERE id_politico = '{$recurso}' AND tipo='sameas' AND uri LIKE '%dbpedia%'");
$cont_outros = mysql_num_rows($sql_outros);
aba_politico_html('No Twitter');
if ($cont_outros > 0) {
    aba_politico_html('Outros Dados');
}
$sparqlTotal = str_replace("?id_politico ?nome_civil ?situacao ?partido ?cargo ?cargo_uf", "(count(?id_politico) as ?total)", $sparqlConsulta);
$sparqlTotal = consultaSPARQL($sparqlTotal);
//só possui uma linha
foreach ($sparqlTotal as $row) {
    $total = $row['total'];
}
//numero de registro que é exibido por pagina
$registros = 20;
//calcula o número de páginas arredondando o resultado para cima
$numPaginas = ceil($total / $registros);
$inicio = $registros * $pagina - $registros;
$sparqlConsulta = $sparqlConsulta . '
                    LIMIT ' . $registros . '
                    OFFSET ' . $inicio;
//echo $sparqlConsulta;
$sparqlConsulta = consultaSPARQL($sparqlConsulta);
//$sparqlConsulta = consultaSPARQL($sparqlConsulta);
$cont = count($sparqlConsulta);
echo "<b>" . $total . "</b>";
escreve(" político(s) encontrado(s).", " politician(s) found.");
echo "</br>";
if ($cont > 0) {
    echo "\n\t</br>\n\t<table width=100% bordercolor=white>\n\t\t<tr>\n\t\t\t<td class='topo_tabela'>&nbsp;";
    escreve("Nome", "Name");
    echo "</td>\n\t\t\t<td class='topo_tabela'>&nbsp;";
    escreve("Situação", "Status");
    echo "</td>\n\t\t\t<td class='topo_tabela'>&nbsp;";
    escreve("Cargo", "Office");
    echo "</td>\n\t\t\t<td class='topo_tabela'>&nbsp;";
    escreve("Partido", "Party");
    echo "</td>\n\t\t\t<td class='topo_tabela'>&nbsp;";
function geraGrafico($consulta, $grafico, $X1, $X2, $Y1, $Y2)
{
    include "../fusioncharts/FusionCharts.php";
    include "../properties.php";
    include "../consultasSPARQL.php";
    $strXML = "<graph decimalPrecision='0' showNames='1' showPercentageInLabel='1' showPercentageValues='0' formatNumberScale='0' thousandSeparator='.' xAxisName= '" . retorna($X1, $X2) . "' yAxisName='" . retorna($Y1, $Y2) . "'>";
    $tamanho = '500';
    echo $consulta;
    $row1 = consultaSPARQL($consulta);
    $tamanho = 30 * 15;
    $color = '';
    if ($grafico == '' || $grafico == 'FCF_Bar2D' || $grafico == 'FCF_Area2D' || $grafico == 'FCF_Column2D' || $grafico == 'FCF_Column3D' || $grafico == 'FCF_Line') {
        $color = '9C9CDB';
    }
    if ($row1) {
        $i = 0;
        foreach ($row1 as $row) {
            $i++;
            echo $row['x'] . $row['count'] . "-";
            if ($row['x'] == "MA") {
                $row['x'] = "MARANHAO";
            }
            if ($row['x'] == "ZZ") {
                $row['x'] = "NAO INFORMADO";
            }
            $partido = explode(":", $row['x']);
            if ($partido[0] == "http") {
                $row['x'] = "partido";
            }
            $strXML .= "<set  color='" . $color . "' name='" . $row['x'] . "' value='" . (int) $row['count'] . "'/>";
        }
        if ($i >= 30) {
            $tamanho = $tamanho * 2;
        }
    }
    $strXML .= "</graph>";
    if ($grafico == '') {
        $grafico = "FCF_Bar2D";
    }
    echo renderChart("../fusioncharts/" . $grafico . ".swf", "", $strXML, "", 720, $tamanho);
}
        echo "<br />";
    }
}
//$sql2 = mysql_query("SELECT descricao,tipo,valor FROM declaracao_bens WHERE id_politico = '$recurso'");
//$cont2 = mysql_num_rows($sql2);
$sql2 = consultaSPARQL('select ?tipo ?descricao ?valor 
                                where{
                                  <http://ligadonospoliticos.com.br/politico/' . $recurso . '> polbr:declarationOfAssets ?x.
                                  ?x polbr:DeclarationOfAssets ?y.
                                  ?y dcterms:description ?descricao.
                                  ?y dcterms:type ?tipo.
                                  ?y rdfmoney:Price ?valor
                                  }');
$cont_declaracao_bens = count($sql2);
if ($cont2 > 0) {
    $sql2a = consultaSPARQL("select  (SUM(?v) as ?soma)\n                                                where{\n                                                  <http://ligadonospoliticos.com.br/politico/" . $recurso . "> polbr:declarationOfAssets ?x.\n                                                  ?x polbr:DeclarationOfAssets ?y.\n                                                  ?y rdfmoney:Price ?valor\n                                                  BIND (xsd:decimal(?valor) as ?v) \n                                                  }");
    //while($row2a = mysql_fetch_array($sql2a))
    foreach ($sql2a as $row2a) {
        $soma = $row2a['soma'];
    }
    echo "<div class='divisao'>Declarações de Bens</div>";
    $conta_declaracao = 1;
    echo "<table border=1 class='tabelas'>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td class='topo_tabela'>N</sup></td>\n\t\t\t\t\t\t<td class='topo_tabela'>Descrição</td>\n\t\t\t\t\t\t<td class='topo_tabela'>Tipo</td>\t\n\t\t\t\t\t\t<td class='topo_tabela'>Valor</td>\t\t\t\t\t\n\t\t\t\t\t</tr>";
    foreach ($sql2 as $row) {
        //while($row = mysql_fetch_array($sql2)){
        echo "\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td>{$conta_declaracao}</td>\n\t\t\t\t\t\t\t<td>" . $row['descricao'] . "</td>\n\t\t\t\t\t\t\t<td>" . $row['tipo'] . "</td>\n\t\t\t\t\t\t\t<td>" . $row['valor'] . "</td>\n\t\t\t\t\t\t</tr>";
        $conta_declaracao++;
    }
    echo "\n\t\t\t\t\t\t <tr>\n\t\t\t\t\t\t\t<td colspan = '3' class='topo_tabela'>TOTAL</td>\n\t\t\t\t\t\t\t<td class='topo_tabela'>" . $soma . "</td>\n\t\t\t\t\t\t </tr>";
    echo "</table>";
    echo "<div style='clear:both;'>&nbsp;</div>";
<?php 
escreve("O site <b>Ligado nos Políticos</b> tem como objetivo fornecer dados de políticos brasileiros usando os conceitos de <a href='?pag=dadosligados'>Dados Ligados</a> e <a href='?pag=dadosgovernamentaisabertos'>Dados Governamentais Abertos</a>.<br />\n    Utilize os mecanismos de busca abaixo para encontrar dados sobre os políticos desejados.", "This website aims to provide data from Brazilian politicians using the concepts of <a href = '? pag dadosligados = '>Linked Data</a> and <a href='?pag=dadosgovernamentaisabertos'>Open Government Data</a>. <br />\n    Use the search engine below to find information about the desired politician.");
?>
<br />
<br />
<?php 
$r = consultaSPARQL('SELECT (count(?s) as ?quantidade) 
WHERE	{ 
  	?s dc:creator ?x 
  }');
foreach ($r as $row) {
    $quantidade = $row['quantidade'];
}
echo "<div style='text-align:center;'><div style='background-color:#D7DCE9; width: 230px;margin: 0 auto;'>";
escreve("Políticos Cadastrados: ", "Registered Politicians: ");
echo "<font color='navy'><b>" . $quantidade . "</b></font></div></div>";
?>
<br />
<?php 
include "form_busca.inc.php";
?>

<div class="fonte">
<?php 
escreve("As informações publicadas por esse site são dados públicos coletados das seguintes fontes: <a href='http://www.tse.gov.br/internet/eleicoes/divulg_cand.htm' target='_blank'>TSE - Tribunal Superior Eleitoral</a>, <a href='http://www2.camara.gov.br/' target='_blank'>Câmara dos Deputados</a>, <a href='http://www.senado.gov.br/' target='_blank'>Senado Federal - Brasil</a>, <a href='http://politicosbrasileiros.com.br/' target='_blank'>Políticos Brasileiros</a>, <a href='http://www.fichalimpa.org.br/' target='_blank'>Ficha Limpa</a> e <a href='http://www.excelencias.org.br/' target='_blank'>Excelências</a>", "The information provided by this website are public data collected from the following sources: <a href='http://www.tse.gov.br/internet/eleicoes/divulg_cand.htm' target='_blank'>TSE - Tribunal Superior Eleitoral</a>, <a href='http://www2.camara.gov.br/' target='_blank'>Câmara dos Deputados</a>, <a href='http://www.senado.gov.br/' target='_blank'>Senado Federal - Brasil</a>, <a href='http://politicosbrasileiros.com.br/' target='_blank'>Políticos Brasileiros</a>, <a href='http://www.fichalimpa.org.br/' target='_blank'>Ficha Limpa</a> and <a href='http://www.excelencias.org.br/' target='_blank'>Excelências</a>");
?>
</div>
$nome_parlamentar = '';
//$sql1 = mysql_query("SELECT * FROM politico WHERE id_politico = '$recurso'");
$sparql1 = consultaSPARQL('
            select  ?nome_civil ?nome_parlamentar ?nome_pai ?nome_mae ?foto ?sexo ?cor ?data_nascimento ?estado_civil ?ocupacao ?grau_instrucao ?nacionalidade
            ?cidade_nascimento ?estado_nascimento ?cidade_estado_eleitoral ?site ?email ?cargo ?cargo_uf ?partido ?situacao
            where {
              <http://ligadonospoliticos.com.br/politico/' . $recurso . '> foaf:name ?nome_civil .
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> polbr:governmentalName ?nome_parlamentar }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> bio:father ?nome_pai }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> bio:father ?nome_mae }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> foaf:img ?foto }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> foaf:gender ?sexo }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> person:complexion ?cor }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> foaf:birthday ?data_nascimento }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> polbr:maritalStatus ?estado_civil }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> person:occupation ?ocupacao }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> dcterms:educationLevel ?grau_instrucao }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> dbpprop:nationality ?nacionalidade }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> being:place-of-birth ?cidade_nascimento }. 
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> polbr:state-of-birth ?estado_nascimento }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> polbr:place-of-vote ?cidade_estado_eleitoral }
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> foaf:homepage ?site }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> biblio:Email ?email }. 
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> pol:Office ?cargo }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> polbr:officeState ?cargo_uf }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> pol:party ?partido }.
              OPTIONAL{ <http://ligadonospoliticos.com.br/politico/' . $recurso . '> polbr:situation ?situacao }.        
              FILTER isliteral(?cidade_nascimento).
              FILTER isliteral(?partido)
                      }');
foreach ($sparql1 as $row) {
    $nome_civil = $row['nome_civil'];
            echo "<b>Telefone:</b> " . $row['telefone'] . "<br />";
        }
    }
    if (isset($row['fax'])) {
        if ($row['fax'] != null) {
            echo "<b>Fax:</b> " . $row['fax'] . "<br />";
        }
    }
}
$sparql7 = consultaSPARQL('SELECT ?tipo ?rua ?bairro ?cidade ?estado ?CEP ?CNPJ ?telefone ?disque ?site
        WHERE	{
                <http://ligadonospoliticos.com.br/politico/10> vcard:adr ?x .
                ?x po:Place ?tipo .
                ?x vcard:street-address ?rua .
                ?x polbr:district ?bairro .
                ?x vcard:locality ?cidade .
                ?x geospecies:State ?estado .
                ?x vcard:postal-code ?CEP .
                ?x polbr:CNPJ ?CNPJ .
                ?x polbr:cabinetphone ?telefone .
                ?x polbr:fax ?disque .
                ?x foaf:homepage ?site .
          }');
foreach ($sparql7 as $row) {
    if ($row['tipo'] != null) {
        echo "<b>Local: </b>" . $row['tipo'] . "<br />";
    }
    if ($row['rua'] != null) {
        echo "<b>Rua: </b>" . $row['rua'] . "<br />";
    }
    if ($row['bairro'] != null) {
        echo "<b>Bairro: </b>" . $row['bairro'] . "<br />";