Abaixo seguem alguns exemplos de consultas ao endpoint SPARQL dos Dados Abertos 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 acima.
3) Rode a consulta: botão Run Query.
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
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 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 . }
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
SELECT ?year (COUNT (?i) as ?lines) WHERE { ?i rdf:type loa:ItemDespesa . ?i loa:temExercicio ?year . } GROUP BY ?year ORDER BY ?year
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
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
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