Skip to content

A middleware for multiagent systems providing legal knowledge with a legal ontology. Um middleware para sistemas multiagentes que fornece conhecimento jurídico com uma ontologia legal.

License

Notifications You must be signed in to change notification settings

fabiosperotto/agentdevlaw

Repository files navigation

AgentDevLaw

Este projeto fornece um middleware entre uma ontologia legal e um sistema multiagente. A ontologia legal é oriunda do modelo criado na tese de doutorado de Fábio Aiub Sperotto sobre a legislação brasileira (ver publicações). Uma cópia desta ontologia é fornecida no diretório /ontologies. Utiliza como referência para testes as leis:

This project provides a middleware between a legal ontology and multiagent systems. The legal ontology is from an ontology model created in a PhD thesis of Fábio Aiub Sperotto about the Brazilian legislation (see publications). A copy of this ontology can be found in /ontologies folder. For testing purposes, use the following laws as a reference:

How to Use

This repository is for development purposes and the download of the last version of the middleware. Applications and other examples of this project can be found in:

Funcionalidades

  • Funciona com ontologias em arquivos OWL ou através de ontologias online (servidores SPARQL).
  • Com o modelo de ontologia legal (/ontologies), fornece métodos para encontrar normas e consequências. Procura por instâncias de leis, normas, predicados e indivíduos que expliquem as regulamentações de uma ação.
  • Fornece métodos para compreender dados e tipos de dados da ontologia.
  • O método padrão (zero ou 0) de busca configura a engine para pesquisar legislações a partir das ações do agente. Pode ser alterado o método de busca no arquivo config.properties em tempo de execução.
  • O método 1 de busca combina a ação do agente com as anotações de comentários das instâncias de Legislação, através de similaridades de texto (é utilizado a distância coseno). pode ser alterado o método de busca no arquivo config.properties em tempo de execução.

Features

  • Works with ontology in OWL file or through online ontologies (SPARQL services).
  • With the legal ontology model (/ontologies), provide methods to find norms, consequences. Search for laws instances, norms, predicate and individuals that explain the regulations of any agent's action.
  • Provide methods to understand ontology data and data types.
  • The default search method (zero or 0) set the engine to search legislations from the agents' actions. The search method can be changed in config.properties file in runtime.
  • The search method 1 combines the agent action with the Legislation instance comments annotation. In this case, use the cosine distance for a better text similarity approach. The search method can be changed in config.properties file in runtime.

Legal Ontology

The necessary legal ontology referenced by this system is in /ontologies/agentdevlaw_english_base.owl. The file was edited using the Protégé desktop version (5.2.0).

Development Installation

  1. Criar projeto com as classes de /src
  2. No classpath do projeto, adicionar .jar externos referente ao framework Jena. Os componentes podem ser encontrados em apache-jena-X.X.X/lib (X -> número da versão). O download do framework pode ser feito aqui.
  3. Coloque também os pacotes do diretório /vendor no classpath que são itens extras para funcionamento das manipulações de ontologias pelo middleware (ver Dependencies).
  4. É necessário uma ontologia de referência para ser utilizada como base de conhecimento, uma ontologia é fornecida no diretório /bases como exemplo. Pode ser levantado um serviço de consultas SPARQL com o arquivo OWL fornecido (ver Fuseki abaixo).

Tests

Unit tests are available in tests package (jUnit 4 is in used).

Generating the software component

Para gerar uma lib a fim de ser utilizada em outros projetos ou em plataformas de simulação de agentes, execute os passos (para Eclipse):

  1. Clique com o botão direito no projeto > Export;
  2. Dentro das opções do wizard escolha Java > Runnable JAR file
  3. Na tela seguinte escolha a opção Extract required libraries into generated JAR, para que as bibliotecas dependentes do Jena possam ser extraídas corretamente e reunidas junta com as demais classes deste projeto. Em seguida só escolher caminho e nome desejado para o .jar a ser gerado.

Fuseki

Fuseki é um servidor SPARQL onde ontologias podem ser fornecidas através de um webservice, servindo como endpoint para efetuar consultas. É utilizado neste projeto desde sua primeira versão.

Dependencies

All dependencies package are in vendor folder:

Contributors

Publications

This is a product of PhD thesis of Fábio Aiub Sperotto

About

A middleware for multiagent systems providing legal knowledge with a legal ontology. Um middleware para sistemas multiagentes que fornece conhecimento jurídico com uma ontologia legal.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages