Query
Follow relations to find the activities, prerequisites and documents behind a requirement.
An organization carries out an activity. That activity has a purpose and depends on an authorization, which applies under certain conditions. The ontology connects these concepts and makes the meaning of each relation explicit.
One person writes “AFE”, another “Operating Authorization”, another “company authorization”. To a search or an AI system, these are three different things. Without agreement on names, people and machines are not talking about the same thing.
A controlled vocabulary solves this. Each concept gets a preferred name, the synonyms that lead to it, a definition with its source and a unique identifier. It is the foundation of the ontology: everything that comes after builds on these concepts.
odc:AutorizacaoFuncionamentoEmpresaLikewise, “AE” leads to Special Authorization (Autorização Especial) and “CBD” to Cannabidiol.
odc:AutorizacaoFuncionamentoEmpresa
a owl:Class ;
rdfs:label "Autorização de Funcionamento de Empresa"@pt-BR ;
# …
skos:altLabel "AFE"@pt-BR ;
skos:definition "Ato de competência da Agência Nacional de Vigilância Sanitária, contendo autorização para o funcionamento de empresas ou estabelecimentos, instituições e órgãos, concedido mediante o cumprimento dos requisitos técnicos e administrativos constantes desta Resolução."@pt-BR ;
# …Brazilian regulations speak of pharmacies, drugstores, herbal shops, carriers, importers. To compare regulations, you need to know which types exist and where each one is defined.
In the ontology, establishment types are grouped in classification schemes, one for each regulation. “Pharmacy” is a type; an actual pharmacy, with a CNPJ (company registration number) and an address, is data that builds on that type.
Law No. 5,991/1973
Ordinances (Portarias) No. 344/1998 and No. 6/1999
Pharmacy appears in both schemes, with the role each regulation gives it.
odc:Farmacia
a owl:NamedIndividual, cmns-cls:Classifier ;
cmns-dsg:isDefinedIn odc:EsquemaTipoEstabelecimentoLei5991 ;
skos:prefLabel "Farmácia"@pt-BR ;
skos:definition "Tipo de estabelecimento de manipulação de fórmulas magistrais e oficinais, de comércio de drogas, medicamentos, insumos farmacêuticos e correlatos e de dispensação e atendimento privativo de unidade hospitalar ou equivalente."@pt-BR ;
rdfs:isDefinedBy <https://www.planalto.gov.br/ccivil_03/leis/l5991.htm#art4x> .A list does not show that manufacturing a medicine is a form of manufacturing a product subject to health surveillance. Without that hierarchy, a regulation written for the general case does not reach the specific one.
A taxonomy organizes concepts into a tree. Each child is “a kind of” its parent, and what holds for the parent holds for the child. That way, a requirement on activities with products reaches the manufacture of medicines.
In SKOS, the same idea is written with “broader”: Cannabis propagation material has Cannabis plant material as its broader concept.
odc:FabricacaoMedicamento
a owl:Class ;
rdfs:label "Fabricação de medicamento"@pt-BR ;
rdfs:subClassOf odc:FabricacaoProdutoVigilanciaSanitaria, fibo-occ:OccurrenceKind ;
# …Synthetic cannabidiol is a kind of cannabidiol. But it is also linked to the control lists of Ordinance No. 344/1998, which are not its “parents”. And it needs a note that sets out its scope. A tree cannot say this.
A thesaurus adds three kinds of link to the tree: equivalence (preferred name and synonyms), hierarchy (broader and narrower) and association (related concepts). Scope notes say what the concept covers. The thesaurus organizes meaning, but does not yet impose rules.
Scope noteThe classification was already part of Ordinance SVS/MS No. 344/1998 and was republished in the annex of Update No. 100; it is not an inclusion created by RDC No. 1,023/2026.
odc:CanabidiolSintetico
a owl:NamedIndividual, cmns-cls:Classifier ;
# …
skos:broader odc:Canabidiol ;
# …
skos:related odc:Canabidiol,
odc:ControleListaC1Portaria344Atualizacao100,
odc:ControleListaEPortaria344Atualizacao100 ;
skos:prefLabel "Canabidiol sintético"@pt-BR ;
# …
skos:scopeNote "O enquadramento já integrava a Portaria SVS/MS nº 344/1998 e foi republicado no anexo da Atualização nº 100; não constitui inclusão criada pela RDC nº 1.023/2026."@pt-BR ;
# …Knowing that two concepts are related is not enough for a system to apply the regulation. It has to be told what a health license requires, who issues it and that it is not the same as other documents.
Written in OWL, the ontology turns these requirements into logical rules. A reasoner uses these rules to infer facts, such as requirements inherited down the tree, and to point out contradictions, such as the same document declared both an AFE and a health license.
Every establishment health license
No document is two of these at the same time:
odc:LicencaSanitariaEstabelecimento
a owl:Class ;
rdfs:label "Licença sanitária de estabelecimento"@pt-BR ;
rdfs:subClassOf fibo-fbc-fct-rga:GovernmentIssuedLicense,
[
a owl:Restriction ;
owl:onProperty fibo-fnd-rel-rel:isIssuedBy ;
owl:someValuesFrom odc:AutoridadeSanitariaLocal
],
[
a owl:Restriction ;
owl:onProperty fibo-fnd-law-lcap:isConferredOn ;
owl:someValuesFrom odc:EstabelecimentoSujeitoVigilanciaSanitaria
],
[
a owl:Restriction ;
owl:onProperty fibo-fnd-rel-rel:involves ;
owl:onClass odc:EstabelecimentoSujeitoVigilanciaSanitaria ;
owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
],
# …[] a owl:AllDisjointClasses ;
owl:members (
odc:AutorizacaoFuncionamentoEmpresa
odc:AutorizacaoEspecial
odc:LicencaSanitariaEstabelecimento
odc:RegistroSanitarioProduto
) .An establishment’s obligations come from different regulations. Reading one regulation at a time, you miss the whole picture: the pharmacy appears in Law No. 5,991/1973 and also in Ordinance No. 344/1998, with different requirements.
In the ontology, each obligation points to the regulation that imposes it and to the concepts it involves. Concepts connect across regulations. Choose a regulation to see its obligations.
In gold, the concepts involved in obligations from more than one regulation.
odc:ObrigacaoManterAssistenciaTecnicaFarmaciaDrogariaLei5991
a owl:NamedIndividual, fibo-fnd-law-lcap:LegalObligation ;
fibo-fnd-rel-rel:isMandatedBy odc:Lei5991_1973 ;
fibo-fnd-rel-rel:involves odc:Farmacia,
odc:Drogaria,
odc:ResponsavelTecnico ;
# …
skos:prefLabel "Obrigação de manter assistência técnica em farmácia e drogaria"@pt-BR ;
# …Regulations change: one resolution replaces another, a revocation comes later, a new regulation creates concepts. An ontology that stands still grows old and starts giving wrong answers.
Growing under control means recording the new regulation, reusing the concepts that already exist, linking each new obligation to its source and noting what was replaced or revoked. Each change is checked and gets a new version, and the earlier layers remain.
Each layer builds on the one before, and all of them remain.
OMG Commons, FIBO and PROV-O are reused external vocabularies.
odc:DocumentoRDC1015_2026
a owl:NamedIndividual, cmns-doc:LegalDocument ;
# …
dcterms:identifier "RDC nº 1.015/2026" ;
# …
dcterms:replaces <https://anvisalegis.datalegis.net/action/ActionDatalegis.php?acao=abrirTextoAto&numeroAto=00000327&tipo=RDC&valorAno=2019> ;
# …
<https://arcuriconsultoria.com.br/ontologia/cannabis>
a owl:Ontology ;
# …
owl:versionIRI <https://arcuriconsultoria.com.br/ontologia/cannabis/2026-09-04/0.19.32> ;
owl:versionInfo "0.19.32" .An explicit base where people and agents can query knowledge, check relations and follow changes.
For AI agents, querying concepts and relations that are already defined reduces the need to interpret the same texts over and over.
Follow relations to find the activities, prerequisites and documents behind a requirement.
Examine the consistency of the knowledge. Formalized definitions and rules help identify contradictions.
Find what needs review when a source changes, keeping the link to the concepts and their conditions.