Ferramentas do usuário

Ferramentas do site


acesso_publico:scripts_sparql

Scripts SPARQL de exemplo para consultas ao Orçamento Federal

Abaixo seguem alguns exemplos de consultas ao endpoint SPARQL dos Dados Abertos do Orçamento Federal.

1. Como executar consultas no endpoint SPARQL do Orçamento Federal

  1. Copie o código da consulta para a área de “Query Text” no endpoint SPARQL da SOF. Note que estão disponibilizadas algumas consultas neste manual. Se tiver interesse em outras, entre em contato para criarmos. Se tiver interesse de aprender a linguagem SPARQL, existem vários tutoriais disponíveis na WEB. Veja aqui um exemplo.
  2. Escolha o formato de saída na opção Results Format indicada abaixo.

Rode a consulta: botão “Run Query”.

2. Consultas Genéricas

Total do Orçamento de um ano específico

Valores de execução para 2017, neste exemplo.

SELECT  ?exercicio  (sum(?val1) as ?ploa) (sum(?val2) as ?loa) (sum(?val3) as ?lei_mais_credito) (sum(?val4) as ?empenhado) (sum(?val5) as ?liquidado) (sum(?val6) as ?pago) WHERE { 
    GRAPH <http://orcamento.dados.gov.br/2017/> {
        ?endExercicio loa:dataUltimaAtualizacao ?data .
        ?endExercicio loa:identificador ?exercicio .
        ?i a loa:ItemDespesa .    
        ?i loa:valorProjetoLei ?val1 .
        ?i loa:valorDotacaoInicial ?val2 .
        ?i loa:valorLeiMaisCredito ?val3 .
        ?i loa:valorEmpenhado ?val4 .
        ?i loa:valorLiquidado ?val5 .
        ?i loa:valorPago ?val6 .
    }
 } Group By ?exercicio 
  Order By ?exercicio

Informações por função num ano específico

Valores por função para 2017, neste exemplo.

SELECT  ?Funcao (sum (?DotacaoInicial)) as ?total   WHERE
{
   ?i  rdf:type  loa:ItemDespesa .
   ?i  loa:temExercicio  [loa:identificador 2017] . 
   ?i  loa:temFuncao  [rdfs:label ?Funcao] .
   ?i  loa:valorDotacaoInicial  ?DotacaoInicial
}
   GROUP BY ?Funcao
   ORDER BY ?total

Informação de uma linha específica (Line Item) do Orçamento

Informação de um line item (linha de despesa 221900) específica, neste exemplo.

SELECT  ?linha ?UO ?Funcao ?Programa ?Acao ?DotInicial WHERE
{
   ?linha rdf:type loa:ItemDespesa .
   FILTER (regex (?linha, "221900", "i")) .
   ?linha   loa:temExercicio   [loa:identificador 2015] .
   ?linha   loa:temUnidadeOrcamentaria [rdfs:label ?UO] .
   ?linha   loa:temFuncao  [rdfs:label ?Funcao] .
   ?linha   loa:temPrograma  [rdfs:label ?Programa] .
   ?linha   loa:temAcao  [rdfs:label ?Acao] .
   ?linha   loa:valorDotacaoInicial  ?DotInicial .
}

Totais por ano

Valores totais do orçamento anual para todos os exercícios para os quais existem dados no endpoint.

SELECT  ?year  (sum(?value)  as  ?total)
WHERE {
   ?i  loa:temExercicio  ?year .
   ?i  loa:valorDotacaoInicial  ?value . 
} GROUP BY  ?year  ORDER BY  ?year

Line itens por ano

SELECT  ?year  (COUNT (?i) as ?lines)  WHERE
{
   ?i   rdf:type   loa:ItemDespesa .
   ?i   loa:temExercicio  ?year .
}  
GROUP BY ?year 
ORDER BY ?year

Orçamento Detalhado

O exemplo abaixo é mais complexo pois detalha todo o orçamento de um determinado ano (neste exemplo é 2017). Note que filtros podem ser estabelecidos nas seções iniciadas por “#” para restringir ao que se quer.

SELECT ?codExercicio ?data ?codEsfera ?descEsfera ?codOrgao ?descOrgao ?codUO ?descUO ?codFuncao ?descFuncao ?codSubfuncao ?descSubfuncao ?codPrograma ?descPrograma ?codAcao ?descAcao ?codSubtitulo ?descSubtitulo ?codPlanoOrcamentario ?descPlanoOrcamentario ?codFonte ?descFonte ?codCategoriaEconomica ?descCategoriaEconomica ?codGND ?descGND ?codModalidadeAplicacao ?descModalidadeAplicacao ?codIdUso ?descIdUso ?codResultadoPrimario ?descResultadoPrimario ?codElementoDespesa ?descElementoDespesa (sum(?val1) as ?ploa) (sum(?val2) as ?loa) (sum(?val3) as ?lei_mais_credito) (sum(?val4) as ?empenhado) (sum(?val5) as ?liquidado) (sum(?val6) as ?pago) WHERE { 
   GRAPH <http://orcamento.dados.gov.br/2017/> {
       ?i                    loa:temExercicio            ?exercicio .
       ?exercicio            loa:dataUltimaAtualizacao   ?data .
       ?exercicio            loa:identificador           ?codExercicio .
       ?i                    loa:temEsfera               ?esfera .
       ?esfera               loa:codigo                  ?codEsfera .
       ?esfera               rdfs:label                  ?descEsfera .
       ?UO                   loa:temOrgao                ?orgao .
       ?orgao                loa:codigo                  ?codOrgao .
       ?orgao                rdfs:label                  ?descOrgao .
       ?i                    loa:temUnidadeOrcamentaria  ?UO .
       ?UO                   loa:codigo                  ?codUO .
       ?UO                   rdfs:label                  ?descUO . 
       ?i                    loa:temFuncao               ?funcao .
       ?funcao               loa:codigo                  ?codFuncao .
       ?funcao               rdfs:label                  ?descFuncao .
       ?i                    loa:temSubfuncao            ?subfuncao .
       ?subfuncao            loa:codigo                  ?codSubfuncao .
       ?subfuncao            rdfs:label                  ?descSubfuncao .
       ?i                    loa:temPrograma             ?programa .
       ?programa             loa:codigo                  ?codPrograma .
       ?programa             rdfs:label                  ?descPrograma .  
       ?i                    loa:temAcao                 ?acao .
       ?acao                 loa:codigo                  ?codAcao .
       ?acao                 rdfs:label                  ?descAcao .
       ?i                    loa:temSubtitulo            ?subtitulo .
       ?subtitulo            loa:codigo                  ?codSubtitulo .
       ?subtitulo            rdfs:label                  ?descSubtitulo .
       ?i                    loa:temPlanoOrcamentario    ?planoorcamentario .
       ?planoorcamentario    loa:codigo                  ?codPlanoOrcamentario .
       ?planoorcamentario    rdfs:label                  ?descPlanoOrcamentario .
       ?i                    loa:temFonteRecursos        ?fonte .
       ?fonte                loa:codigo                  ?codFonte .
       ?fonte                rdfs:label                  ?descFonte .
       ?i                    loa:temCategoriaEconomica   ?categoriaeconomica .
       ?categoriaeconomica   loa:codigo                  ?codCategoriaEconomica .
       ?categoriaeconomica   rdfs:label                  ?descCategoriaEconomica .
       ?i                    loa:temGND                  ?GND .
       ?GND                  loa:codigo                  ?codGND .
       ?GND                  rdfs:label                  ?descGND .
       ?i                    loa:temModalidadeAplicacao  ?modalidadeaplicacao .
       ?modalidadeaplicacao  loa:codigo                  ?codModalidadeAplicacao .
       ?modalidadeaplicacao  rdfs:label                  ?descModalidadeAplicacao .
       ?i                    loa:temIdentificadorUso     ?iduso .
       ?iduso                loa:codigo                  ?codIdUso .
       OPTIONAL  {?iduso     rdfs:label                  ?descIdUso }.
       ?i                    loa:temResultadoPrimario    ?resultadoprimario .
       ?resultadoprimario    loa:codigo                  ?codResultadoPrimario .
       OPTIONAL  
      {?resultadoprimario    rdfs:label                  ?descResultadoPrimario }.
       ?i                    loa:temElementoDespesa      ?elementoDespesa .
       ?elementoDespesa      loa:codigo                  ?codElementoDespesa .
       ?elementoDespesa      rdfs:label                  ?descElementoDespesa .

      # Filtro. Insira o caractere '#' antes da linha para excluír a linha.
      # Uma linha excluída, significa que o filtro não será considerado.
      # Por exemplo, se for excluída a linha "#?funcao              loa:codigo  "26" ,
      # Isso significa que todas as funções serão consideradas na pesquisa, não apenas a função "26" como anteriormente.

      #?esfera               loa:codigo  "10"    .
      #?orgao                loa:codigo  "39000" .
      #?UO                   loa:codigo  "26101" .
      #?funcao               loa:codigo  "26"    .
      #?subfuncao            loa:codigo  "122"   .
      #?programa             loa:codigo  "2029"  .
      #?acao                 loa:codigo  "7K66"  .
      #?subtitulo            loa:codigo  "0014"  .
      #?planoorcamentario    loa:codigo  "0000"  .
      #?fonte                loa:codigo  "100"   .
      #?resultadoprimario    loa:codigo  "2"     .
      #?categoriaeconomica   loa:codigo  "3"     .
      #?GND                  loa:codigo  "3"     .
      #?modalidadeaplicacao  loa:codigo  "90"    .
      #?elemento             loa:codigo  "39"    .
      #?iduso                loa:codigo  "0"     .

      #FILTER (regex (?descUO, "superintendência de seguros", "i")) .


       ?i loa:valorProjetoLei     ?val1 .
       ?i loa:valorDotacaoInicial ?val2 .
       ?i loa:valorLeiMaisCredito ?val3 .
       ?i loa:valorEmpenhado      ?val4 .
       ?i loa:valorLiquidado      ?val5 .
       ?i loa:valorPago           ?val6 .
  }
} GROUP BY ?codExercicio ?codEsfera ?descEsfera ?codOrgao ?descOrgao ?codUO ?descUO ?codFuncao ?descFuncao ?codSubfuncao ?descSubfuncao ?codPrograma ?descPrograma ?codAcao ?descAcao ?codSubtitulo ?descSubtitulo ?codPlanoOrcamentario ?descPlanoOrcamentario ?codFonte ?descFonte ?codCategoriaEconomica ?descCategoriaEconomica ?codGND ?descGND ?codModalidadeAplicacao ?descModalidadeAplicacao ?codIdUso ?descIdUso ?codResultadoPrimario ?descResultadoPrimario ?codElementoDespesa ?descElementoDespesa ?data
  ORDER BY ?codExercicio ?codEsfera ?codOrgao ?codUO ?codFuncao ?codSubfuncao ?codPrograma ?codAcao ?codSubtitulo ?codPlanoOrcamentario ?codFonte ?codCategoriaEconomica ?codGND ?codModalidadeAplicacao ?codIdUso ?codResultadoPrimario ?codElementoDespesa

Consulta Órgão, UO, Ação em 2016. O exercício pode ser alterado.

SELECT ?codExercicio ?data ?codOrgao ?descOrgao ?codUO ?descUO ?codAcao ?descAcao  (sum(?val1) as ?ploa) (sum(?val2) as ?loa) (sum(?val3) as ?lei_mais_credito) (sum(?val4) as ?empenhado) (sum(?val5) as ?liquidado) (sum(?val6) as ?pago) WHERE { 
   GRAPH <http://orcamento.dados.gov.br/2016/> {

       ?i                    loa:temExercicio            ?exercicio .
       ?exercicio            loa:dataUltimaAtualizacao   ?data .
       ?exercicio            loa:identificador           ?codExercicio .
       ?UO                   loa:temOrgao                ?orgao .
       ?orgao                loa:codigo                  ?codOrgao .
       ?orgao                rdfs:label                  ?descOrgao .
       ?i                    loa:temUnidadeOrcamentaria  ?UO .
       ?UO                   loa:codigo                  ?codUO .
       ?UO                   rdfs:label                  ?descUO . 
       ?i                    loa:temAcao                 ?acao .
       ?acao                 loa:codigo                  ?codAcao .
       ?acao                 rdfs:label                  ?descAcao .

       ?orgao                loa:codigo  "39000" .

       ?i loa:valorProjetoLei     ?val1 .
       ?i loa:valorDotacaoInicial ?val2 .
       ?i loa:valorLeiMaisCredito ?val3 .
       ?i loa:valorEmpenhado      ?val4 .
       ?i loa:valorLiquidado      ?val5 .
       ?i loa:valorPago           ?val6 .
  }
} GROUP BY ?codExercicio ?codOrgao ?descOrgao ?codUO ?descUO ?codAcao ?descAcao ?data
  ORDER BY ?codExercicio ?codOrgao ?codUO ?codAcao 

3. Consultas sobre Emendas Parlamentares

Orçamento de Emendas Detalhado para um exercício (2015)

Para filtrar use a seção da consulta onde os campos estão desabilitados 1) para definir filtragens. Para emendas os devidos campos já estão filtrados (RP).

SELECT ?codExercicio ?data ?codEsfera ?descEsfera ?codOrgao ?descOrgao ?codUO ?descUO ?codFuncao ?descFuncao ?codSubfuncao ?descSubfuncao ?codPrograma ?descPrograma ?codAcao ?descAcao ?codSubtitulo ?descSubtitulo ?codPlanoOrcamentario ?descPlanoOrcamentario ?codFonte ?descFonte ?codCategoriaEconomica ?descCategoriaEconomica ?codGND ?descGND ?codModalidadeAplicacao ?descModalidadeAplicacao ?codIdUso ?descIdUso ?codResultadoPrimario ?descResultadoPrimario ?codElementoDespesa ?descElementoDespesa (sum(?val1) as ?ploa) (sum(?val2) as ?loa) (sum(?val3) as ?lei_mais_credito) (sum(?val4) as ?empenhado) (sum(?val5) as ?liquidado) (sum(?val6) as ?pago) WHERE { 
 GRAPH <http://orcamento.dados.gov.br/2015/> {
       ?i                    loa:temExercicio            ?exercicio .
       ?exercicio            loa:dataUltimaAtualizacao   ?data .
       ?exercicio            loa:identificador           ?codExercicio .
       ?i                    loa:temEsfera               ?esfera .
       ?esfera               loa:codigo                  ?codEsfera .
       ?esfera               rdfs:label                  ?descEsfera .
       ?UO                   loa:temOrgao                ?orgao .
       ?orgao                loa:codigo                  ?codOrgao .
       ?orgao                rdfs:label                  ?descOrgao .
       ?i                    loa:temUnidadeOrcamentaria  ?UO .
       ?UO                   loa:codigo                  ?codUO .
       ?UO                   rdfs:label                  ?descUO . 
       ?i                    loa:temFuncao               ?funcao .
       ?funcao               loa:codigo                  ?codFuncao .
       ?funcao               rdfs:label                  ?descFuncao .
       ?i                    loa:temSubfuncao            ?subfuncao .
       ?subfuncao            loa:codigo                  ?codSubfuncao .
       ?subfuncao            rdfs:label                  ?descSubfuncao .
       ?i                    loa:temPrograma             ?programa .
       ?programa             loa:codigo                  ?codPrograma .
       ?programa             rdfs:label                  ?descPrograma .  
       ?i                    loa:temAcao                 ?acao .
       ?acao                 loa:codigo                  ?codAcao .
       ?acao                 rdfs:label                  ?descAcao .
       ?i                    loa:temSubtitulo            ?subtitulo .
       ?subtitulo            loa:codigo                  ?codSubtitulo .
       ?subtitulo            rdfs:label                  ?descSubtitulo .
       ?i                    loa:temPlanoOrcamentario    ?planoorcamentario .
       ?planoorcamentario    loa:codigo                  ?codPlanoOrcamentario .
       ?planoorcamentario    rdfs:label                  ?descPlanoOrcamentario .
       ?i                    loa:temFonteRecursos        ?fonte .
       ?fonte                loa:codigo                  ?codFonte .
       ?fonte                rdfs:label                  ?descFonte .
       ?i                    loa:temCategoriaEconomica   ?categoriaeconomica .
       ?categoriaeconomica   loa:codigo                  ?codCategoriaEconomica .
       ?categoriaeconomica   rdfs:label                  ?descCategoriaEconomica .
       ?i                    loa:temGND                  ?GND .
       ?GND                  loa:codigo                  ?codGND .
       ?GND                  rdfs:label                  ?descGND .
       ?i                    loa:temModalidadeAplicacao  ?modalidadeaplicacao .
       ?modalidadeaplicacao  loa:codigo                  ?codModalidadeAplicacao .
       ?modalidadeaplicacao  rdfs:label                  ?descModalidadeAplicacao .
       ?i                    loa:temIdentificadorUso     ?iduso .
       ?iduso                loa:codigo                  ?codIdUso .
       OPTIONAL  {?iduso     rdfs:label                  ?descIdUso }.
       ?i                    loa:temResultadoPrimario    ?resultadoprimario .
       ?resultadoprimario    loa:codigo                  ?codResultadoPrimario .
       OPTIONAL  
      {?resultadoprimario    rdfs:label                  ?descResultadoPrimario }.
       ?i                    loa:temElementoDespesa      ?elementoDespesa .
       ?elementoDespesa      loa:codigo                  ?codElementoDespesa .
       ?elementoDespesa      rdfs:label                  ?descElementoDespesa .

      ?exercicio             loa:codigo  "2015"    .
      #?esfera               loa:codigo  "10"    .
      #?orgao                loa:codigo  "39000" .
      #?UO                   loa:codigo  "26101" .
      #?funcao               loa:codigo  "26"    .
      #?subfuncao            loa:codigo  "122"   .
      #?programa             loa:codigo  "2126"  .
      #?acao                 loa:codigo  "2000"  .
      #?subtitulo            loa:codigo  "0001"  .
      #?planoorcamentario    loa:codigo  "0000"  .
      #?fonte                loa:codigo  "100"   .
      ?resultadoprimario    loa:codigo  "6"     .
      #?categoriaeconomica   loa:codigo  "3"     .
      #?GND                  loa:codigo  "3"     .
      #?modalidadeaplicacao  loa:codigo  "90"    .
      #?elemento             loa:codigo  "39"    .
      #?iduso                loa:codigo  "0"     .

      #FILTER (regex (?descUO, "superintendência de seguros", "i")) .

       ?i loa:valorProjetoLei     ?val1 .
       ?i loa:valorDotacaoInicial ?val2 .
       ?i loa:valorLeiMaisCredito ?val3 .
       ?i loa:valorEmpenhado      ?val4 .
       ?i loa:valorLiquidado      ?val5 .
       ?i loa:valorPago           ?val6 .
  }
} 

GROUP BY ?codExercicio ?codEsfera ?descEsfera ?codOrgao ?descOrgao ?codUO ?descUO ?codFuncao ?descFuncao ?codSubfuncao ?descSubfuncao ?codPrograma ?descPrograma ?codAcao ?descAcao ?codSubtitulo ?descSubtitulo ?codPlanoOrcamentario ?descPlanoOrcamentario ?codFonte ?descFonte ?codCategoriaEconomica ?descCategoriaEconomica ?codGND ?descGND ?codModalidadeAplicacao ?descModalidadeAplicacao ?codIdUso ?descIdUso ?codResultadoPrimario ?descResultadoPrimario ?codElementoDespesa ?descElementoDespesa ?data

ORDER BY ?codExercicio ?codEsfera ?codOrgao ?codUO ?codFuncao ?codSubfuncao ?codPrograma ?codAcao ?codSubtitulo ?codPlanoOrcamentario ?codFonte ?codCategoriaEconomica ?codGND ?codModalidadeAplicacao ?codIdUso ?codResultadoPrimario ?codElementoDespesa
1) Começam por #