Skip to content

SAT-based-Concept-Learning/ALCSAT

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository contains our implementation of bounded fitting for the description logic ALC (ALSAT). As this is a Fork of https://github.com/spell-system/SPELL, it also contains SPELL, a tool to learn concepts in the description logic EL.

Requirements

  • Installation of Python 3
  • Packages from requirements.txt

Run

For full instructions on how to run either ALCSAT of SPELL, run

python spell_cli.py --help

The --language can be used to choose a syntactic fragment of ALC. The following fragments are available.

  • el: exists, and (using SPELL, default)
  • el_alcsat: exists, and (using ALCSAT)
  • fl0: forall, and
  • ex-or: exists, or
  • all-or: forall, or
  • elu: exists, and, or
  • alc: forall, exists, and, or, neg

The --mode options allows switching between exact mode and approximate mode.

  • exact: only consider exact fittings: concepts that cover all positive examples and exclude all negative examples
  • neg_approx: (SPELL only) search for an approximate fitting, that covers all positive examples but not necessarily excludes all negative examples
  • full_approx: search for an approximate fitting that may not cover some positive examples and may cover some negative examples

ISWC2025 Benchmark Reproduction

Instructions to reproduce the family benchmarks are in the folder alc_benchmarks in a separate README file. Instructions and required files to reproduce the results on the SML benchmarks can be found in the following repository. https://github.com/SAT-based-Concept-Learning/ALC-SAT-eval

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.1%
  • HTML 2.8%
  • Shell 1.1%