e-VoG

Modelo ontológico da Classificação das Despesas do Orçamento Federal Brasileiro

Esta Versão:
Setembro 2013 (OWL/XML)
Documentos de Referência:
Carta de Serviços
Manual Técnico de Orçamento - MTO 2014
Arquivos de dados:
Serialização do orçamento 2014 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2013 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2012 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2011 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2010 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2009 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2008 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2007 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2006 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2005 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2004 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2003 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2002 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2001 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Serialização do orçamento 2000 em RDF compactado para uso local. (N-TRIPLES+ZIP)
Autoria:
Secretaria de Orçamento Federal - SOF

Sumário

Apresentação

Um movimento no campo democrático, em escala mundial, vem afetando positivamente a administração pública nos últimos tempos. Trata-se dos esforços em atender à maior demanda por transparência e pelo acesso às informações de interesse geral por parte do cidadão, produzidas pelo governo. Este movimento ensejou, aqui no Brasil, o Plano de Ação Nacional sobre Governo Aberto (Decreto de 15 de setembro de 2011) e a assinatura da Parceira para Governo Aberto (PGA), firmada inicialmente entre oito países e copresidida pelo Brasil e pelos Estados Unidos.

Desde então, os esforços nacionais incluem a publicação da chamada Lei de Acesso à Informação (Lei 12.527, de 18 de novembro de 2011) que, além de instituir unidades de atendimento ao cidadão dentro dos órgãos do Governo brasileiro, estabelece a necessidade de disponibilização digital dos seus dados.

Em confluência com este movimento político, a comunidade de Tecnologia da Informação vem realizando amplo debate e disponibilizando ferramentas adequadas para o livre acesso e a distribuição de dados. Como resultado, têm-se os padrões e formatos de dados abertos, os quais servirão como veículos para a divulgação e o intercâmbio de dados.

Sintonizada com esta nova direção mundial, na qual se insere o nosso País, a Secretaria de Orçamento Federal iniciou os esforços para disponibilizar seus dados de maneira a dar maior transparência a seus processos propiciando ainda mais a participação do cidadão brasileiro, em especial, no processo orçamentário, que é fundamental para a gestão dos recursos financeiros nacionais em prol do desenvolvimento da nação.

Como parte destes esforços, e acreditando ser de grande valia para os objetivos mencionados, a Secretaria apresenta neste espaço o primeiro produto resultado do Projeto “Orçamento Federal em Formato Aberto”, o qual é a publicação dos dados da despesa do Orçamento Geral da União no período de 2000 a 2013, no padrão de dados abertos definido pelo consórcio nacional formado para definir os padrões mundiais de internet – W3C, o RDF – Resource Description Framework.

Célia Corrêa - Secretária de Orçamento Federal

1. Introdução

Este manual tem como objetivo servir de instrumento de apoio para a utilização dos arquivos RDF publicados com os dados da despesa do Orçamento Geral da União no período de 2000 a 2013. Propõe-se a explicar o que é, para que serve, quais os pré-requisitos e como utilizar o Orçamento Federal em Formato Aberto.

Neste sentido, a estratégia adotada no projeto “Orçamento Federal em Formato Aberto” foi criar uma ontologia da classificação da despesa do orçamento federal, contemplando as categorias e conceitos sedimentados no Manual Técnico do Orçamento 2013 - MTO 2013 (Brasil, 2013).

O trabalho é dirigido à comunidade de desenvolvedores, que poderá utilizá-lo para criar produtos voltados para a comunidade dos técnicos em finanças públicas, bem como para os cidadãos comuns, destinatários finais desses esforços. Nesse contexto, a ontologia provê a explicitação formal dos conceitos orçamentários da despesa pública e viabiliza o tratamento automatizado dos dados. Para obter todo o potencial deste manual é recomendado o conhecimento prévio das tecnologias RDF - Resource Description Framework e OWL – Ontology Web Language.

O formato aberto não é um fim em si, mas o meio pelo qual será possível difundir as informações do orçamento para o público em geral. Demanda-se, portanto, para a utilização potencial dessa ferramenta, por tratar-se de uma forma diferente de abordagem, uma atitude multidisciplinar. Esta visão apresenta-se por um lado como um desafio, mas por outro lado proporciona também a abertura – para todos – de um amplo leque de possibilidades para o desenvolvimento de aplicações com dados do orçamento público, antes impossível de se imaginar.

2. A ontologia da classificação da despesa

2.1. Ontologias

O termo Ontologia é tradicionalmente utilizado na Filosofia para designar o estudo do ser, do que existe, das condições para a existência, entre outras. O termo foi adotado pela ciência da computação e a definição mais aceita nesse contexto é a de Grubber (1993): “Ontologia é uma especificação explícita e formal de uma conceitualização compartilhada de um domínio do conhecimento”. O termo formal nesta definição conota a capacidade de ser processada computacionalmente.

As ontologias, no sentido computacional, tornaram-se relevantes a partir dos anos 90 com os desenvolvimentos na área de inteligência artificial. Uma ontologia possibilita a especificação de noções genéricas como tempo e espaço ou ligadas a um domínio de conhecimento específico como engenharia ou ciências biológicas. O termo “compartilhado” se refere ao aspecto de que uma ontologia representa um conhecimento consensual acordado por um grupo como resultado de uma construção social.

Em ciência da computação as ontologias se referem a um tipo especial de objeto ou artefato que tem por objetivo representar um modelo de um determinado domínio do conhecimento. Ontologias são meios de modelar formalmente a estrutura de um sistema, isto é, as suas entidades relevantes e as relações entre elas e que são úteis para um propósito determinado. Ontologias podem ser codificadas em arquivos por meio da linguagem OWL – Ontology Web Language (Guarino, 2003).

2.2. O modelo ontológico das Classificações da Despesa

O orçamento da União pode ser representado como uma lista de itens de despesa. A cada item desta lista estão associados valores financeiros que correspondem aos diversos estágios da execução orçamentária, sendo eles o valor do PLOA – Projeto de Lei Orçamentaria Anual, valor da LOA – Lei Orçamentária Anual (também chamado de Dotação Inicial), valor da LOA mais Créditos (também chamado de Dotação Atual), valor Empenhado, valor Liquidado e valor Pago. Cada item de Despesa está associado a um código de 44 dígitos , que o vinculam aos critérios de classificação da despesa, constantes do MTO (Brasil, 2013). A Figura 2.1 ilustra a estruturação de um item de despesa de forma resumida (somente com o valor de dotação inicial) para a LOA 2012, com a apresentação de seus códigos e descrições.

Item de Despesa
Figura 2.1 - Item de Despesa

A definição da ontologia do orçamento federal teve como princípio refletir esta organização na publicação dos dados da despesa orçamentária. A Figura 2.2 apresenta a estrutura das classes, que são representadas por retângulos na cor cinza e as relações entre elementos de classes, representados por retângulos pretos. O range (alcance) das relações é representado por por uma seta sem preenchimento, enquanto o domínio (domain) é representado por uma seta com preenchimento. Linhas tracejadas representam relações de herança e de definição de tipo.

A classe central da ontologia é a classe ItemDespesa que, como dito anteriormente, representa um linha do orçamento. Cada Item de Despesa tem seis valores associados por meio das relações valorProjetoLei, valorDotacaoInicial, valorLeiMaisCreditos, valorEmpenhado, valorLiquidado e valorPago. A soma total dos valores da relação valorDotacaoInicial de cada Item de Despesa é o valor total do orçamento do exercício em questão, no ano de 2012, por exemplo, é de R$ 2.150.458.867,507,00 – Lei 12.596/2012.

As classificações orçamentárias possuem relação de especialização com a classe Classificador e cada classificador possui um rótulo descritivo (label) e um código. As classes referentes a estas classificações foram definidas de modo a abranger todos os 44 dígitos do código de um item de despesa.

Para representação do exercício em que o Item de Despesa está inserido, toda instância dessa classe possui uma relação temExercico com um objeto da classe Exercicio. Os recursos da classe Exercicio possuem a propriedade dataUltimaAtualizacao (em formato dateTime) que define a ultima data em que o exercício financeiro foi atualizado. O recurso também possui um identificador que consiste no ano que o exercício representa.

Ontologia da despesa do Orçamento Federal
Figura 2.2 - Ontologia da despesa do Orçamento Federal

A Tabela 2.1, a seguir, apresenta a relação da nomenclatura das classes da ontologia básica de orçamento estabelecidas no âmbito do projeto e sua correlação com os tipos de classificação apresentadas no MTO (Brasil, 2013). Existem também subclasses que são especializações de outras. Por exemplo, a classe Acao possui as subclasses Atividade, Projeto e OperacaoEspecial, que representam particularizações do conceito de Ação. Na prática, um Item de Despesa tem obrigatoriamente uma relação com Ação, mais especificamente com uma dessas três subclasses.

Tabela 2.1 - Classes da Ontologia da despesa do Orçamento Federal
Classes MTO 2013
CategoriaEconomica Categoria Econômica
Classificador Sem correspondência. Classe de suporte ao conceito de classificação, da qual, todas as outras classes que se referem ao conceito de classificação da despesa se especializam. Tem como propriedades a descrição (label) e o código.
ElementoDespesa Elemento de Despesa
Esfera Esfera
Exercicio Exercício Financeiro (Anualidade ou Periodicidade)
FonteRecursos Fonte de Recursos
GrupoNatDespesa Grupo de Natureza da Despesa (GND)
ItemDespesa Sem correspondência. Cada elemento da classe ItemDespesa (Item de Despesa) é caracterizado por ter propriedades de objeto (object properties) específicas para cada uma das subclasses da classe Classificadores e uma propriedade que estabelece uma realação com um Exercício financeiro, além de possuir seis datatype properties numéricas que representam os valores financeiros. Só possui significado por conta das suas propriedades, não tendo valor orçamentário sozinho, por isso é representado por blank nodes
Subtitulo Subtítulo (Localizador do gasto)
ModalidadeAplicacao Modalidade de Aplicação
Programa Programa
Acao Ação
Projeto Projeto
Atividade Atividade
OperacaoEspecial Operação Especial
PlanoOrcamentario Plano Orçamentário
Funcao Função
Subfuncao Subfunção
UnidadeOrcamentaria Unidade Orçamentária (UO)
Orgao Órgão
IdentificadorUso Identificador de Uso(IDUSO)
ResultadoPrimario Identificador de Resultado Primário

Em OWL existem dois tipos de propriedades: propriedades de objeto (object properties) e propriedades tipo de dados (datatype properties). Nas primeiras, o objeto da tripla é sempre um resource. Na segunda, o objeto é um item de dados de algum tipo já definido na sintaxe XML Schema.

Com relação às propriedades de objeto (object property), a maior parte delas tem como domínio a classe ItemDespesa e como range, as subclasses de classificadores apresentadas na Figura 2.2. Além disso, existem propriedades de objeto que relacionam indivíduos da classe UnidadeOrcamentaria e os da classe Orgao. Cada uma dessas relações está descrita na Tabela 2.2, a seguir.

Tabela 2.2 - Relacionamentos da Ontologia da despesa do Orçamento Federal
Object Property Descrição
temExercicio Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe Exercicio
temClassificador Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe Classificador. É a super-propriedade de todas as outras que relacionam um ItemDespesa a um Classificador
temAcao Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe Acao
temCategoriaEconomica Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe CategoriaEconomica
temElementoDespesa Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe ElementoDespesa
temEsfera Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe Esfera
temFonteRecursos Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe FonteRecursos
temFuncao Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe Funcao
temGnd Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe GrupoNatDespesa
temIdentificadorUso Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe IdentificadorUso
temSubtitulo Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe Subtitulo
temModalidadeAplicacao Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe ModalidadeAplicacao
temOrgao Object Property que relaciona elementos da classe (domain) UnidadeOrcamentaria com os elementos da classe (range) Orgao
temPrograma Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe Programa
temPlanoOrcamentario Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe PlanoOrcamentario. Diferentemente das outras propriedades esta não é obrigatória em um ItemDespesa, pois existe somente nos dados a partir de 2010
temResultadoPrimario Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe ResultadoPrimario
temSubfuncao Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe Subfuncao
temUnidadeOrcamentaria Propriedade funcional que tem como domínio a classe ItemDespesa e range a classe UnidadeOrcamentaria

Nessa ontologia, as propriedades de tipo de dado (datatype property) são também importantes para restringir e definir classes. Por exemplo, ItemDespesa possui seis propriedades com um valor em formato decimal que expressam a quantia relacionada ao Item de Despesa em reais. A Tabela 2.3, a seguir, contém a descrição dos tipos de dados utilizados nessa ontologia.

Tabela 2.3 - Atributos da Ontologia da despesa do Orçamento Federal
Datatype Property Descrição
codigo Código do classificador. Esse datatype é herdado para as subclasses da classe Classificador e é utilizado como uma restrição para definir essas subclasses. Ele exerce a função de identificação única para as instâncias da maioria dos classificadores, menos nas instâncias das classes Subtitulo e Plano Orçamentário
label Refere-se ao nome, título ou descrição do classificador. Esse datatype é herdado para as subclasses da classe Classificador e é utilizado como uma restrição para definir subclasses
valorProjetoLei Refere-se ao valor do PLOA para o referido item de despesa dentro do orçamento anual
valorDotacaoInicial Refere-se ao valor da LOA para o referido item de despesa dentro do orçamento anual
valorLeiMaisCreditos Refere-se ao valor da LOA mais créditos para o referido item de despesa dentro do orçamento anual
valorEmpenhado Refere-se ao valor empenhado para o referido item de despesa dentro do orçamento anual
valorLiquidado Refere-se ao valor liquidado para o referido item de despesa dentro do orçamento anual
valorPago Refere-se ao valor pago para o referido item de despesa dentro do orçamento anual
dataAtualizacao Refere-se a última data em que o exercício financeiro em questão foi atualizado
identificador Tem dois valores, (1) pode representar o ano (ex: 2013) de uma instância de um Exercício ou (2) representar identificadores de Subtítulos e Planos Orçamentários, sem nenhum significado direto com o orçamento, servindo somente para identificação única das instâncias dessas classes.

3. Orçamento Federal de 2000 a 2013 em RDF

RDF (Resource Description Framework) é um modelo recomendado pela W3C para descrever recursos encontrados na web, sendo um dos pilares da Web Semântica. RDF define uma forma simples de expressar afirmações sobre esses recursos. A unidade de informação utilizada por este modelo é a tripla composta de sujeito, predicado e objeto, formando assim uma afirmação (statement).

Para que um recurso seja identificado dentro do contexto apresentado pela Web Semântica é atribuído a ele uma URI (Uniform Resource Identifier), ou seja, tanto o sujeito como o predicado e o objeto estão associados a um identificador de recursos.

Exemplo de uma tripla RDF
Figura 3.1 - Exemplo de uma tripla RDF

Um conjunto de triplas forma um grafo de modelo de dados, no qual uma tripla é representada por dois “nós” e a ligação entre eles. Portanto um arquivo RDF é constituído por uma série de triplas interligadas, que resultam em afirmações a respeito dos relacionamentos entre recursos. Cada nó pode ser uma URI que identifica um recurso, um dado do tipo literal ou até mesmo um nó em branco.

Exemplo de um grafo RDF
Figura 3.2 - Exemplo de um grafo RDF

As descrições RDF apresentadas nas Figuras 3.1 e 3.2 foram mostradas graficamente. Porém, para construir e disponibilizar um arquivo RDF, é necessário que este esteja na forma textual. O RDF pode ser expresso textualmente por meio de outras sintaxes. A linguagem mais utilizada para este fim e recomendada pela W3C é o RDF/XML, que possibilita a serialização de um grafo RDF em um documento no formato XML.

Existem outras sintaxes de arquivos RDF serializados que aderem a diferentes objetivos. Uma delas é o formato Turtle (TTL) que possui características a facilitar a leitura e escrita por humanos de recursos RDF, como a capacidade de abreviações e uso de prefixos para URI's, criando uma maneira compacta de representar triplas. Outro formato é o N-Triples que é uma versão mais simplificada do Turtle, removendo praticamente todos os tipos de abreviações e uso de prefixos para URI's, dificultando a leitura e escrita humana, mas facilitando o seu processamento por máquinas principalmente quando o volume de dados é grande.

Pelos motivos citados anteriormente junto a necessidade de serem constantemente publicados novos dados da execução orçamentária do exercício corrente (no caso o de 2013), o formato escolhido para disponibilização os arquivos em RDF da LOA a partir de 2000 é o N-Triples. O processo de conversão dos dados orçamentários em um arquivo RDF (processo chamado de "triplificação") são bem mais rápidos quando é utilizado o formato N-Triples como resultado. As triplas RDF neste formato são apresentadas na sua forma mais natural, diretamente em forma de linhas em um arquivo seguindo a ordem: Sujeito, Predicado, Objeto e um ponto final "." que encerra a tripla.

Para exemplificar o uso e formato do arquivo RDF, utilizaremos um exemplo de Item de Despesa da LOA de 2013 transformado em sentenças RDF. Este item utilizado foi retirado da execução orçamentária com atualização na data de 05/06/2013. Tomaremos inicialmente o Item de Despesa descrito na Tabela 3.1, com os seus respectivos atributos qualitativos e quantitativos.

Tabela 3.1 - Item de despesa da LOA 2013
Entidade Valor/Descrição
Esfera Orçamento Fiscal (10)
Órgão Ministério do Planejamento, Orçamento e Gestão (47000)
Unidade Orçamentária Ministério do Planejamento, Orçamento e Gestão (47101)
Função Administração (04)
Subfuncao Tecnologia da Informação (126)
Programa Democracia e Aperfeiçoamento da Gestão Pública (2038)
Ação Gestão e Aprimoramento dos Recursos de Tecnologia da Informação e de Logística do Serviço Público Federal (20U2)
Subtítulo Nacional (0001)
Plano Orçamentário Integração dos Sistemas Informatizados do Governo Federal (0003)
Identificador de Uso Recursos não destinados à contrapartida (0)
Fonte de Recursos Recursos Ordinários (100)
Categoria Econômica Despesas Correntes (3)
Grupo de Natureza da Despesa Outras Despesas Correntes (3)
Modalidade de Aplicação Aplicações Diretas (90)
Elemento de Despesa A Definir (00)
Resultado Primário Primária discricionária, não PAC, considerada no cálculo do RP (2)
Valor PLOA R$ 0,00
Valor LOA R$ 1.686.356,00
Valor LOA mais Créditos R$ 2.337.313,00
Valor Empenhado R$ 0,00
Valor Liquidado R$ 0,00
Valor Pago R$ 0,00

Nesse caso, as sentenças RDF foram criadas tomando como base a definição de conceitos e relações da ontologia OWL descrita na seção 2 e deram origem a uma descrição RDF serializada em formato N-Triples que está apresentada na Tabela 3.2. Nota-se que a coluna Sujeito representa a URI das instâncias de ItemDespesa, que nesta ontologia são representados pro blank nodes e não possuem significado no orçamento, podendo a mesma URI ser alterada diariamente por conta da execução orçamentária, ou seja, o verdadeiro significado está ligado aos seus Predicados e Objetos.

Tabela 3.2 - Item de despesa da LOA 2013 em formato N-Triples (parte 1)
  Sujeito Predicado Objeto
1 _:AmapX3aXItemDespesaX40XX40X7988 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vocab.e.gov.br/2013/09/loa#ItemDespesa> .
2 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temEsfera> <http://orcamento.dados.gov.br/2013/id/Esfera/10> .
3 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temUnidadeOrcamentaria> <http://orcamento.dados.gov.br/2013/id/UnidadeOrcamentaria/47101> .
4 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temFuncao> <http://orcamento.dados.gov.br/2013/id/Funcao/04> .
5 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temSubfuncao> <http://orcamento.dados.gov.br/2013/id/Subfuncao/126> .
6 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temPrograma> <http://orcamento.dados.gov.br/2013/id/Programa/2038> .
7 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temAcao> <http://orcamento.dados.gov.br/2013/id/Acao/20U2> .
8 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temSubtitulo> <http://orcamento.dados.gov.br/2013/id/Subtitulo/20U20001> .
9 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temPlanoOrcamentario> <http://orcamento.dados.gov.br/2013/id/PlanoOrcamentario/47101203820U200010003> .
10 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temIdentificadorUso> <http://orcamento.dados.gov.br/2013/id/IdentificadorUso/0> .
11 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temFonteRecursos> <http://orcamento.dados.gov.br/2013/id/FonteRecursos/100> .
13 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temCategoriaEconomica> <http://orcamento.dados.gov.br/2013/id/CategoriaEconomica/3> .
14 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temGND> <http://orcamento.dados.gov.br/2013/id/GrupoNatDespesa/3> .
15 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temModalidadeAplicacao> <http://orcamento.dados.gov.br/2013/id/ModalidadeAplicacao/90> .
16 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temElementoDespesa> <http://orcamento.dados.gov.br/2013/id/ElementoDespesa/00> .
17 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#temResultadoPrimario> <http://orcamento.dados.gov.br/2013/id/ResultadoPrimario/2> .
18 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#valorProjetoLei> "0.00"^^<http://www.w3.org/2001/XMLSchema#decimal> .
19 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#valorDotacaoInicial> "1686356.00"^^<http://www.w3.org/2001/XMLSchema#decimal> .
20 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#valorLeiMaisCredito> "2337313.00"^^<http://www.w3.org/2001/XMLSchema#decimal> .
21 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#valorEmpenhado> "0.00"^^<http://www.w3.org/2001/XMLSchema#decimal> .
22 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#valorLiquidado> "0.00"^^<http://www.w3.org/2001/XMLSchema#decimal> .
23 _:AmapX3aXItemDespesaX40XX40X7988 <http://vocab.e.gov.br/2013/09/loa#valorPago> "0.00"^^<http://www.w3.org/2001/XMLSchema#decimal> .

A tabela 3.2 demonstra as triplas RDF que representam o Item de Despesa descrito textualmente na Tabela 3.1. Cada linha da tabela representa uma única tripla, onde o sujeito de todas as triplas descritas são mesmo recurso <http://orcamento.dados.gov.br/2013/id/ItemDespesa/101640> (o Item de Despesa em questão). A linha 1 define que o recurso é do tipo ItemDespesa, da linha 2 até a linha 17 são definidos quais os classificadores que este item de despesa tem relação, da linha 18 a 23 são definidos os valores financeiros que o item possui.

No formato de serialização N-Triples não existem prefixos para os namespaces, então eles ficam descritos completamente nos recursos, classes e propriedades. Nesta parte explicada do RDF de 2013 estão contidos 4 diferentes namespaces, (1) http://orcamento.dados.gov.br/2013/CLASSE/CODIGO - Representam os recursos (instâncias) dos dados orçamentários, (2) http://vocab.e.gov.br/2013/09/loa#PROPRIEDADE_OU_CLASSE - Representam as propriedades e classes da ontologia da Classificação das Despesas do Orçamento Federal Brasileiro definidos no arquivo OWL disponibilizado, (3) http://www.w3.org/1999/02/22-rdf-syntax-ns#PROPRIEDADE - Representa o vocabulário padrão do RDF, neste caso foi utilizada a sua propriedade type para indicar a que classe um recurso pertence, (4) http://www.w3.org/2001/XMLSchema#PROPRIEDADE - Representa o vocabulário padrão de definição de tipos de dados.

Tabela 3.3 - Item de despesa da LOA 2013 em formato N-Triples (parte 2)
  Sujeito Predicado Objeto
1 <http://orcamento.dados.gov.br/2013/id/Programa/2038> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vocab.e.gov.br/2013/09/loa#Programa> .
2 <http://orcamento.dados.gov.br/2013/id/Programa/2038> <http://vocab.e.gov.br/2013/09/loa#codigo> "2038" .
3 <http://orcamento.dados.gov.br/2013/id/Programa/2038> <http://www.w3.org/1999/02/22-rdf-syntax-ns#label> "Democracia e Aperfeiçoamento da Gestão Pública" .
4 <http://orcamento.dados.gov.br/2013/id/GrupoNatDespesa/3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vocab.e.gov.br/2013/09/loa#GrupoNatDespesa> .
5 <http://orcamento.dados.gov.br/2013/id/GrupoNatDespesa/3> <http://vocab.e.gov.br/2013/09/loa#codigo> "3" .
6 <http://orcamento.dados.gov.br/2013/id/GrupoNatDespesa/3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#label> "Outras Despesas Correntes" .
7 <http://orcamento.dados.gov.br/2013/id/Funcao/04> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vocab.e.gov.br/2013/09/loa#Funcao> .
8 <http://orcamento.dados.gov.br/2013/id/Funcao/04> <http://vocab.e.gov.br/2013/09/loa#codigo> "04" .
9 <http://orcamento.dados.gov.br/2013/id/Funcao/04> <http://www.w3.org/1999/02/22-rdf-syntax-ns#label> "Administração" .
10 <http://orcamento.dados.gov.br/2013/id/Acao/20U2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vocab.e.gov.br/2013/09/loa#Acao> .
11 <http://orcamento.dados.gov.br/2013/id/Acao/20U2> <http://vocab.e.gov.br/2013/09/loa#codigo> "20U2" .
12 <http://orcamento.dados.gov.br/2013/id/Acao/20U2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#label> "Gestão e Aprimoramento dos Recursos de Tecnologia da Informação e de Logística do Serviço Público Federal" .

A parte seguinte do arquivo de exemplo está descrita na tabela 3.3. Nessa parte do arquivo estão listadas as propriedades e atributos de alguns dos recursos que se relacionaram com o item de despesa explicado anteriormente, mais especificamente foram definidos os seus tipos, códigos e descrições. Os recursos que não foram listados seguem o mesmo padrão.

Portanto, os arquivos RDF da LOA serão compostos normalmente por: (1) Triplas para relacionar um item de despesa a um programa, ação, função e demais classificadores vinculados, (2) Triplas para relacionar um item de despesa aos seus valores de dotação inicial, valor de lei mais créditos, entre outros já citados, (3) Triplas para definirem os próprios classificadores, com seus códigos e descrições.

Na Figura 3.3 estão apresentadas, de forma gráfica, as sentenças RDF relativas ao exemplo das tabelas 3.2/3.3 e seus respectivos tipos e significados diante da especificação OWL descrita na seção 2 (nessa figura somente algumas propriedades foram mostradas para melhor visualização).

Mapeamento de informações entre os arquivos de sentenças RDF e de especificação OWL
Figura 3.3 - Mapeamento de informações entre os arquivos de sentenças RDF e de especificação OWL

4. Possibilidades de uso do arquivo RDF

As informações sobre a especificação OWL e o próprio orçamento relativo ao período de 2000 a 2013 estão disponibilizados como arquivos no portalSOF, no endereço http://www.siop.planejamento.gov.br/. Os arquivos com as informações descritas nos Capítulos 2 e 3 são os seguintes (1) o arquivo loa.owl – que contém a especificação de conceitos relativos ao orçamento, e (2) os arquivos loa2000.zip, loa2001.zip, ..., loa2013.zip – que contém as triplas ou sentenças RDF relativas ao orçamento de cada exercício financeiro. O arquivo RDF relacionado ao exercício corrente é atualizado periodicamente com a execução orçamentária.

As instruções iniciais de uso são as seguintes:

  1. descarregar (fazer download) o arquivo OWL (em formato OWL/XML);
  2. descarregar (fazer download) os arquivos RDF (em formato N-Triples);
  3. descompactar esses arquivos em uma pasta do usuário.

Pronto! Os arquivos RDF e OWL estão aptos para o uso .

4.1. Possibilidades de uso

A possibilidade mais comum é o uso de triplestores para persistir os dados do RDF de maneira semelhante ao armazenamento de bases de dados em SGBD’s relacionais. A partir do triplestore e de um endpoint, uma consulta SPARQL pode ser efetuada na base e o resultado recuperado em uma planilha, em um formato XML, em formato JSON, no próprio formato RDF, entre outros.

Existem diversas ferramentas para manipulação de grafos RDF, tais como raciocinadores para inferência, visualizadores para apresentação gráfica, navegadores para web semântica, entre outros. Aos desenvolvedores estão disponíveis API’s para o desenvolvimento de aplicações que fazem uso de dados RDF. A seguir uma figura ilustrando as possibilidades de uso:

Ferramentas para manipulação de grafos
Figura 4.1 - Possibilidades de uso do RDF

4.2. Exemplos de uso do arquivo RDF

Um exemplo concreto de dado que pode ser extraído é o seguinte: Existe uma Ação na LOA 2013 que tem a descrição “Apoio a Sistemas de Transporte Não-Motorizados”. Caso se queria saber quanto foi alocado de dotação inicial para essa Ação deve-se somar os valores de todos os Itens de Despesa que possuem relação temAcao com a ação cujo label possui a string “Apoio a Sistemas de Transporte Não-Motorizados”. Então como descobrir quais são esses itens e somar o valor de dotação inicial? Uma consulta SPARQL pode ser usada para recuperar essas informações, formando a seguinte query:

  PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
  PREFIX loa: <http://vocab.e.gov.br/2013/09/loa#>

  SELECT ?itemBlankNode ?acaoURI ?dotacaoInicial WHERE 
  {  
    ?itemBlankNode loa:temExercicio ?exercicioURI .
    ?exercicioURI loa:identificador 2013 .
    ?itemBlankNode loa:temAcao ?acaoURI .
    ?acaoURI rdf:label "Apoio a Sistemas de Transporte Não-Motorizados".
    ?itemBlankNode loa:valorDotacaoInicial ?dotacaoInicial .
  }

O resultado é o seguinte:

itemBlankNode acaoURI dotacaoInicial
_:AmapX3aXItemDespesaX40XX40X205 <http://orcamento.dados.gov.br/2013/id/Acao/10ST> 0.00
_:AmapX3aXItemDespesaX40XX40X117 <http://orcamento.dados.gov.br/2013/id/Acao/10ST> 250000.00
_:AmapX3aXItemDespesaX40XX40X560 <http://orcamento.dados.gov.br/2013/id/Acao/10ST> 4000000.00
_:AmapX3aXItemDespesaX40XX40X380 <http://orcamento.dados.gov.br/2013/id/Acao/10ST> 1500000.00
_:AmapX3aXItemDespesaX40XX40X404 <http://orcamento.dados.gov.br/2013/id/Acao/10ST> 1750000.00

Na linha 5 da consulta são selecionados todas as instâncias que possuem a propriedade loa:temExercicio (Todos os Itens de Despesa) com algum objeto, logo na linha 6 os objetos selecionados, que são instâncias de exercício, são filtrados de modo que só sejam selecionados os itens do exercício financeiro de 2013. Na linha 7 da consulta são selecionados todas as instâncias que possuem a propriedade loa:temAcao (Todos os Itens de Despesa), na linha 8 é feita uma filtragem onde somente são selecionadas as instâncias em que a propriedade rdf:label seja "Apoio a Sistemas de Transporte Não-Motorizados".

Na consulta anterior foram mostrados o loa:valorDotacaoInicial relacionados a cada Item de Despesa, a seguir é mostrado uma consulta para saber o valor total somado dos mesmos itens.

  PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
  PREFIX loa: <http://vocab.e.gov.br/2013/09/loa#>

  SELECT (SUM(?dotacaoInicial) AS ?somaDotacaoInicial) WHERE 
  {  
    ?itemBlankNode loa:temExercicio ?exercicioURI .
    ?exercicioURI loa:identificador 2013 .
    ?itemBlankNode loa:temAcao ?acaoURI .
    ?acaoURI rdf:label "Apoio a Sistemas de Transporte Não-Motorizados".
    ?itemBlankNode loa:valorDotacaoInicial ?dotacaoInicial .
  }

Resultando na soma:

somaDotacaoInicial
7500000.00

Na linha 5 a 8 são feitos exatamente os mesmos passos da consulta anterior. Na linha 9, após estarem selecionados somente os Itens de Despesa da Ação "Apoio a Sistemas de Transporte Não-Motorizados", são pegos os valores loa:valorDotacaoInicial de cada um, e na linha 4 é utilizada uma função agregadora do SPARQL, a SUM(), que soma todos os valores que estão contidos na variável de consulta ?dotacaoInicial e os chama de ?somaDotacaoInicial.

O mesmo raciocínio pode ser utilizado para extrair mais informações selecionadas, como por exemplo, o valor total da despesa de pessoal (GND = ‘1’) para o Ministério da Educação (Órgão = ‘26000’).

Query:

  PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
  PREFIX loa: <http://vocab.e.gov.br/2013/09/loa#>

  SELECT (SUM(?dotacaoInicial) AS ?somaDotacaoInicial) WHERE 
  {  
    ?itemBlankNode loa:temExercicio ?exercicioURI .
    ?exercicioURI loa:identificador 2013 .
    ?itemBlankNode loa:temGND ?gndURI .
    ?gndURI loa:codigo "1" .
    ?itemBlankNode loa:temUnidadeOrcamentaria ?uoURI .
    ?uoURI loa:temOrgao ?orgaoURI .
    ?orgaoURI loa:codigo "26000" .
    ?itemBlankNode loa:valorDotacaoInicial ?dotacaoInicial .
  }

Resultado:

somaDotacaoInicial
30147863213.00

Como ultimo exemplo serão selecionadas a somatória do valor PLOA de todos os itens de despesa de 2012, os agrupando e ordenando pelo label da Função (Saúde, Educação, Agricultura, etc).

Query:

  PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
  PREFIX loa: <http://vocab.e.gov.br/2013/09/loa#>

  SELECT ?funcaoLabel(SUM(?ploa) AS ?somaPloa) WHERE 
  {
    ?itemBlankNode loa:temExercicio ?exercicioURI .
    ?exercicioURI loa:identificador 2012 .
    ?itemBlankNode loa:temFuncao ?funcaoURI .
    ?funcaoURI rdf:label ?funcaoLabel .
    ?itemBlankNode loa:valorProjetoLei ?ploa .
  } GROUP BY ?funcaoLabel ORDER BY ?funcaoLabel

Resultado:

funcaoLabel somaPloa
"Administração" 23739719343.00
"Agricultura" 17255966726.00
"Assistência Social" 54065344660.00
"Ciência e Tecnologia" 8466322306.00
"Comunicações" 1345239060.00
"Comércio e Serviços" 2178691180.00
"Cultura" 1644229337.00
"Defesa Nacional" 33067483477.00
"Desporto e Lazer" 1576440933.00
"Direitos da Cidadania" 1190048023.00
"Educação" 66549564914.00
"Encargos Especiais" 1270688354946.00
"Energia" 1061921676.00
"Essencial à Justiça" 3936883589.00
"Gestão Ambiental" 5737321316.00
"Habitação" 886093669.00
"Indústria" 2054982027.00
"Judiciária" 24112419071.00
"Legislativa" 6502904639.00
"Organização Agrária" 4637441059.00
"Previdência Social" 391666375809.00
"Relações Exteriores" 1797509176.00
"Reserva de Contingência" 34047739949.00
"Saneamento" 2753239343.00
"Saúde" 79531384068.00
"Segurança Pública" 8386084930.00
"Trabalho" 42314617144.00
"Transporte" 23680551145.00
"Urbanismo" 3398809926.00

Os exemplos de consultas SPARQL foram feitos utilizando componentes do Jena Framework, o Fuseki como endpoint SPARQL e o TDB como triplestore. Todos os arquivos RDF foram inseridos no grafo default do triplestore e a data de atualização do RDF 2013 era de 26/06/2013.