A Python porting of the Fuzzy Description Language (FuzzyDL) and the Fuzzy OWL 2 framework, for representing fuzzy logic within description logic and for mapping a knowledge base represented in FuzzyDL to a Fuzzy OWL 2 construct in RDF/XML format.
📖 Full documentation: fuzzy-dl-owl2.readthedocs.io
Features:
- Object-oriented representation of Fuzzy Description Logic elements
- Object-oriented representation of Fuzzy OWL 2 elements
- Mapping from FuzzyDL to Fuzzy OWL 2
- Mapping from Fuzzy OWL 2 to FuzzyDL
- Reasoning in FuzzyDL
pip install fuzzy-dl-owl2from fuzzy_dl_owl2.fuzzydl.parser import DLParserFast as DLParser
DLParser.main("./example.fdl")See the Usage guide for reasoning, querying, and FuzzyDL ⇄ Fuzzy OWL 2 conversion examples.
The full reference lives on Read the Docs:
-
Installation & configuration —
CONFIG.ini/.env, MILP solver setup (Gurobi, CPLEX, CBC, GLPK, HiGHS, MIP), and the optional compiled fast parser. -
Grammar — the full FuzzyDL (
.fdl) language. - Fuzzy concepts, queries, modifiers & degrees.
- Fuzzy OWL 2 XML annotations and the reasoner architecture.
The dl-examples directory contains sample knowledge bases written in the FuzzyDL language.
The test directory contains the unittest files; test_suite.py is the full suite. The knowledge bases used by the tests are in examples/TestSuite.
This project is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).