Fuzzy DL OWL 2
A python porting of the Fuzzy Description Language and the Fuzzy OWL 2 framework.
A lightweight Python porting of the Fuzzy Description Language (FuzzyDL) and the Fuzzy OWL 2 framework, designed for representing fuzzy logic within description logic and for mapping an knowledge base represented in FuzzyDL to a Fuzzy OWL 2 construct in RDF/XML format.
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
Directory dl-examples
The directory dl-examples contains a few examples of Knowledge Bases written using the Fuzzy Description Logic language.
Project Structure
fuzzy_dl_owl2
├── __init__.py
├── fuzzydl
│ ├── __init__.py
│ ├── assertion
│ │ ├── __init__.py
│ │ ├── assertion.py
│ │ └── atomic_assertion.py
│ ├── classification_node.py
│ ├── concept
│ │ ├── __init__.py
│ │ ├── all_some_concept.py
│ │ ├── approximation_concept.py
│ │ ├── atomic_concept.py
│ │ ├── choquet_integral.py
│ │ ├── concept.py
│ │ ├── concrete
│ │ │ ├── __init__.py
│ │ │ ├── crisp_concrete_concept.py
│ │ │ ├── fuzzy_concrete_concept.py
│ │ │ ├── fuzzy_number
│ │ │ │ ├── __init__.py
│ │ │ │ └── triangular_fuzzy_number.py
│ │ │ ├── left_concrete_concept.py
│ │ │ ├── linear_concrete_concept.py
│ │ │ ├── modified_concrete_concept.py
│ │ │ ├── right_concrete_concept.py
│ │ │ ├── trapezoidal_concrete_concept.py
│ │ │ └── triangular_concrete_concept.py
│ │ ├── ext_threshold_concept.py
│ │ ├── has_value_concept.py
│ │ ├── implies_concept.py
│ │ ├── interface
│ │ │ ├── __init__.py
│ │ │ ├── has_concept_interface.py
│ │ │ ├── has_concepts_interface.py
│ │ │ ├── has_role_concept_interface.py
│ │ │ ├── has_role_interface.py
│ │ │ ├── has_value_interface.py
│ │ │ └── has_weighted_concepts_interface.py
│ │ ├── modified
│ │ │ ├── __init__.py
│ │ │ ├── linearly_modified_concept.py
│ │ │ ├── modified_concept.py
│ │ │ └── triangularly_modified_concept.py
│ │ ├── negated_nominal.py
│ │ ├── operator_concept.py
│ │ ├── owa_concept.py
│ │ ├── qowa_concept.py
│ │ ├── quasi_sugeno_integral.py
│ │ ├── self_concept.py
│ │ ├── sigma_concept.py
│ │ ├── sigma_count.py
│ │ ├── string_concept.py
│ │ ├── sugeno_integral.py
│ │ ├── threshold_concept.py
│ │ ├── truth_concept.py
│ │ ├── value_concept.py
│ │ ├── weighted_concept.py
│ │ ├── weighted_max_concept.py
│ │ ├── weighted_min_concept.py
│ │ ├── weighted_sum_concept.py
│ │ └── weighted_sum_zero_concept.py
│ ├── concept_equivalence.py
│ ├── concrete_feature.py
│ ├── degree
│ │ ├── __init__.py
│ │ ├── degree.py
│ │ ├── degree_expression.py
│ │ ├── degree_numeric.py
│ │ └── degree_variable.py
│ ├── domain_axiom.py
│ ├── exception
│ │ ├── __init__.py
│ │ ├── fuzzy_ontology_exception.py
│ │ └── inconsistent_ontology_exception.py
│ ├── feature_function.py
│ ├── fuzzydl_to_owl2.py
│ ├── general_concept_inclusion.py
│ ├── individual
│ │ ├── __init__.py
│ │ ├── created_individual.py
│ │ ├── individual.py
│ │ └── representative_individual.py
│ ├── knowledge_base.py
│ ├── label.py
│ ├── milp
│ │ ├── __init__.py
│ │ ├── expression.py
│ │ ├── inequation.py
│ │ ├── milp_helper.py
│ │ ├── show_variables_helper.py
│ │ ├── solution.py
│ │ ├── term.py
│ │ └── variable.py
│ ├── modifier
│ │ ├── __init__.py
│ │ ├── linear_modifier.py
│ │ ├── modifier.py
│ │ └── triangular_modifier.py
│ ├── parser
│ │ ├── __init__.py
│ │ └── dl_parser.py
│ ├── primitive_concept_definition.py
│ ├── query
│ │ ├── __init__.py
│ │ ├── all_instances_query.py
│ │ ├── bnp_query.py
│ │ ├── classification_query.py
│ │ ├── defuzzify
│ │ │ ├── __init__.py
│ │ │ ├── defuzzify_query.py
│ │ │ ├── lom_defuzzify_query.py
│ │ │ ├── mom_defuzzify_query.py
│ │ │ └── som_defuzzify_query.py
│ │ ├── instance_query.py
│ │ ├── kb_satisfiable_query.py
│ │ ├── max
│ │ │ ├── __init__.py
│ │ │ ├── max_instance_query.py
│ │ │ ├── max_query.py
│ │ │ ├── max_related_query.py
│ │ │ ├── max_satisfiable_query.py
│ │ │ └── max_subsumes_query.py
│ │ ├── min
│ │ │ ├── __init__.py
│ │ │ ├── min_instance_query.py
│ │ │ ├── min_query.py
│ │ │ ├── min_related_query.py
│ │ │ ├── min_satisfiable_query.py
│ │ │ └── min_subsumes_query.py
│ │ ├── query.py
│ │ ├── related_query.py
│ │ ├── satisfiable_query.py
│ │ └── subsumption_query.py
│ ├── range_axiom.py
│ ├── relation.py
│ ├── restriction
│ │ ├── __init__.py
│ │ ├── has_value_restriction.py
│ │ └── restriction.py
│ ├── role_parent_with_degree.py
│ └── util
│ ├── __init__.py
│ ├── config_reader.py
│ ├── constants.py
│ ├── util.py
│ └── utils.py
└── fuzzyowl2
├── __init__.py
├── fuzzyowl2.py
├── fuzzyowl2_to_fuzzydl.py
├── owl_types
│ ├── __init__.py
│ ├── choquet_concept.py
│ ├── concept_definition.py
│ ├── crisp_function.py
│ ├── fuzzy_datatype.py
│ ├── fuzzy_modifier.py
│ ├── fuzzy_nominal_concept.py
│ ├── fuzzy_property.py
│ ├── left_shoulder_function.py
│ ├── linear_function.py
│ ├── linear_modifier.py
│ ├── modified_concept.py
│ ├── modified_function.py
│ ├── modified_property.py
│ ├── owa_concept.py
│ ├── property_definition.py
│ ├── qowa_concept.py
│ ├── quasi_sugeno_concept.py
│ ├── right_shoulder_function.py
│ ├── sugeno_concept.py
│ ├── trapezoidal_function.py
│ ├── triangular_function.py
│ ├── triangular_modifier.py
│ ├── weighted_concept.py
│ ├── weighted_max_concept.py
│ ├── weighted_min_concept.py
│ ├── weighted_sum_concept.py
│ └── weighted_sum_zero_concept.py
├── parser
│ ├── __init__.py
│ ├── owl2_parser.py
│ └── owl2_xml_parser.py
└── util
├── __init__.py
├── constants.py
├── fuzzy_xml.py
└── sort_dl_lines.py
Test
The directory test contains the unittest files. In particular, the file test_suite.py contains all the test suite.
The directory examples/TestSuite contains all the knowledge bases used for the tests.
License
This project is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).