O documento discute ontologias, definindo-as como modelos de dados que representam conceitos e relacionamentos dentro de um domínio. Detalha como ontologias são especificadas usando triplos de sujeito-predicado-objeto e discute exemplos como a ontologia CLAV para classificar informação pública portuguesa.
2. Agenda
1. O que são?
2. No nosso contexto...
3. Como se definem, como se estruturam
4. Exemplos tradicionais
5. Quando a coisa se complica: especialização de relações, reificação
6. Exemplos do CLAV
3. O que são?
Aristóteles:
“A Ontologia é para Aristóteles a filosofia primeira e tem como seu principal objeto de pesquisa o ser enquanto tal,
ele propõe a ontologia como um projeto de ciência com pretensões de universalidade. O ser é tudo aquilo que
permanece com substância imutável, é tudo aquilo que fica indiferente às mudanças que ocorrem aos entes. Ente é tudo o
que é, é tudo o que existe e esse existir pode ser de diversos modos como são diversas as coisas que existem. Existem
10 categorias que classificam os entes através de suas diferenças: Substância, qualidade, quantidade, relação, ação,
tempo, lugar, posição, posse e paixão. Essas 10 categorias segundo Aristóteles permitem a completa classificação dos
entes e nenhuma delas está em todos eles.”
4. O que são?
No nosso contexto:
“Em Ciência da Computação, Sistemas de Informação e Ciência da Informação, uma ontologia é um modelo
de dados que representa um conjunto de conceitos dentro de um domínio e os relacionamentos entre estes.
Ontologias são utilizadas em inteligência artificial, web semântica, engenharia de software e arquitetura da
informação, como uma forma de representação de conhecimento sobre o mundo ou alguma parte deste.
Ontologias geralmente descrevem:
● Indivíduos: os objetos básicos;
● Classes: conjuntos, coleções ou tipos de objetos;
● Atributos: propriedades, características ou parâmetros que os objetos podem ter e compartilhar;
● Relacionamentos: as formas como os objetos podem se relacionar com outros objetos.”
7. Voltando ao nosso Contexto...
Ontologia = lista de triplos
Triplo = (sujeito, predicado, objeto)
Exemplo:
O meu carro é verde. --> :meuCarro :temCor “verde”
8. Tudo é especificado em triplos simples...
:eu :temNome “José Carlos Ramalho” .
:eu :trabalha :um .
:um a :Universidade .
:um :temDesignacao “Universidade do Minho” .
:um :temEscola :eeng .
:eeng a :Escola .
:eeng :temDesignacao “Escola de Engenharia” .
Sujeitos: :eu, :um, :eeng;
Predicados: :temNome,
:trabalha, a, :temDesignacao,
temEscola;
Objetos: “José...”, :um,
:Universidade, “Universidade
do Minho”, :eeng, :Escola,
“Escola ...”
9. O que podemos modelar numa Ontologia?
Praticamente tudo!...
10. Qual a sua importância?
● Permitem-nos partilhar conhecimento duma forma clara e sem
ambiguidades entre pessoas e/ou máquinas;
● Permitem-nos reutilizar conhecimento de um determinado domínio;
● Permitem-nos tornar explícito o conhecimento de um determinado domínio;
● Permitem-nos separar o conhecimento do domínio do conhecimento
operacional;
● Ao especificá-las estamos a analisar o seu domínio.
11. Metodologia para especificação de Ontologias
1. Especificar o domínio:
a. Para que é que vamos usá-la?
b. A que perguntas deve dar resposta?
c. Quem vai usá-la e mantê-la?
2. Considerar a utilização de ontologias já existentes;
3. Enumerar os termos mais importantes do domínio;
4. Definir as classes e a sua hierarquia;
5. Definir os atributos de cada classe;
6. Definir restrições sobre os atributos: vocabulários controlados;
7. Definir as relações que se podem estabelecer entre indivíduos;
8. Definir os Indivíduos.
13. 1. Especificar o domínio da CLAV
● Processos da Administração Pública Portuguesa;
● Entidades da Administração Pública Portuguesa;
● Diplomas legislativos;
● Tipologias de Entidades;
● Termos de Índice;
● Prazos de Conservação Administrativa;
● Destinos Finais;
● Critérios...
● Relações entre processos, entidades, diplomas, prazos e destinos;
● Restrições/invariantes;
● etc.
14. 2. Considerar Ontologias existentes
Especificação de Vocabulários
Controlados: Forma de Contagem do
PCA, Tipo de Participação, etc...
Necessário para criar pontes com a
Linked Open Data (LOD).
20. Quando as coisas se complicam...
Exemplo:
1. Na Lista Consolidada os processos da AP estão relacionados com entidades.
2. A relação pode ser “dono” ou “participante”.
3. No caso de ser “participante” há um tipo de participação associado.
:c400.10.025 :temParticipante :ent_SEF
:c400.10.025 :título “Aquisição de nacionalidade”
Como associar ao triplo o tipo de participação?
21. Solução 1: especialização da relação
:c400.10.025 :temParticipanteApreciador :ent_SEF
Pode ser usada quando:
● Temos apenas um atributo adicional para a relação;
● Quando o domínio deste atributo é pequeno.
Neste caso:
TipoParticipação = [“Apreciar”, “Assessorar”, “Comunicar”, “Decidir”, “Executar”, “Iniciar”]
c400.10.025
ent_SEF
temParticipanteApreciador
22. Solução 2: Reificação, abstraindo a relação
:Participação a owl:Class .
:part_sef_c400.10.025 a :Participação .
:part_sef_c400.10.025 :entidade :ent_SEF .
:part_sef_c400.10.025 :processo :c400.10.025 .
:part_sef_c400.10.025 :tipo “Apreciar” .
:part_sef_c400.10.025 :posso_acrescentar_mais_props ...
23. Solução 2: Reificação, abstraindo a relação
:Participação a owl:Class .
:part_sef_c400.10.025 a :Participação .
:part_sef_c400.10.025 :entidade :ent_SEF .
:part_sef_c400.10.025 :processo :c400.10.025 .
:part_sef_c400.10.025 :tipo “Apreciar” .
part_sef_c400.10.025
Participação
ent_SEF c400.10.025
Apreciar
entidade
processo
tipo