fuzzy-dl-owl2 1.0.5__tar.gz → 1.0.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/PKG-INFO +1 -1
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/fuzzydl_to_owl2.py +201 -65
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/util/__init__.py +1 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/fuzzyowl2.py +22 -16
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/modified_property.py +7 -1
- fuzzy_dl_owl2-1.0.6/fuzzy_dl_owl2/fuzzyowl2/parser/__init__.py +2 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/parser/owl2_parser.py +7 -7
- fuzzy_dl_owl2-1.0.6/fuzzy_dl_owl2/fuzzyowl2/parser/owl2_xml_parser.py +226 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/util/__init__.py +1 -0
- fuzzy_dl_owl2-1.0.6/fuzzy_dl_owl2/fuzzyowl2/util/constants.py +198 -0
- fuzzy_dl_owl2-1.0.6/fuzzy_dl_owl2/fuzzyowl2/util/fuzzy_xml.py +107 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/pyproject.toml +1 -1
- fuzzy_dl_owl2-1.0.5/fuzzy_dl_owl2/fuzzyowl2/parser/__init__.py +0 -1
- fuzzy_dl_owl2-1.0.5/fuzzy_dl_owl2/fuzzyowl2/util/constants.py +0 -112
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/LICENSE +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/README.md +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/assertion/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/assertion/assertion.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/assertion/atomic_assertion.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/all_some_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/approximation_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/atomic_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/choquet_integral.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concrete/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concrete/crisp_concrete_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concrete/fuzzy_concrete_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concrete/fuzzy_number/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concrete/fuzzy_number/triangular_fuzzy_number.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concrete/left_concrete_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concrete/linear_concrete_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concrete/modified_concrete_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concrete/right_concrete_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concrete/trapezoidal_concrete_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/concrete/triangular_concrete_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/ext_threshold_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/has_value_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/implies_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/interface/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/interface/has_concept_interface.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/interface/has_concepts_interface.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/interface/has_role_concept_interface.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/interface/has_role_interface.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/interface/has_value_interface.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/interface/has_weighted_concepts_interface.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/modified/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/modified/linearly_modified_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/modified/modified_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/modified/triangularly_modified_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/negated_nominal.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/operator_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/owa_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/qowa_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/quasi_sugeno_integral.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/self_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/string_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/sugeno_integral.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/threshold_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/truth_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/value_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/weighted_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/weighted_max_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/weighted_min_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/weighted_sum_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept/weighted_sum_zero_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concept_equivalence.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/concrete_feature.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/degree/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/degree/degree.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/degree/degree_expression.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/degree/degree_numeric.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/degree/degree_variable.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/domain_axiom.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/exception/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/exception/fuzzy_ontology_exception.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/exception/inconsistent_ontology_exception.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/feature_function.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/general_concept_inclusion.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/individual/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/individual/created_individual.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/individual/individual.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/individual/representative_individual.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/knowledge_base.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/label.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/milp/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/milp/expression.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/milp/inequation.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/milp/milp_helper.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/milp/show_variables_helper.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/milp/solution.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/milp/term.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/milp/variable.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/modifier/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/modifier/linear_modifier.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/modifier/modifier.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/modifier/triangular_modifier.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/parser/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/parser/dl_parser.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/primitive_concept_definition.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/all_instances_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/bnp_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/defuzzify/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/defuzzify/defuzzify_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/defuzzify/lom_defuzzify_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/defuzzify/mom_defuzzify_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/defuzzify/som_defuzzify_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/instance_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/kb_satisfiable_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/max/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/max/max_instance_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/max/max_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/max/max_related_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/max/max_satisfiable_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/max/max_subsumes_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/min/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/min/min_instance_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/min/min_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/min/min_related_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/min/min_satisfiable_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/min/min_subsumes_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/related_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/satisfiable_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/query/subsumption_query.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/range_axiom.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/relation.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/restriction/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/restriction/has_value_restriction.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/restriction/restriction.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/role_parent_with_degree.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/util/config_reader.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/util/constants.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/util/util.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzydl/util/utils.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/fuzzyowl2_to_fuzzydl.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/__init__.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/choquet_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/concept_definition.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/fuzzy_datatype.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/fuzzy_modifier.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/fuzzy_nominal_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/fuzzy_property.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/left_shoulder_function.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/linear_function.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/linear_modifier.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/modified_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/modified_function.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/owa_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/property_definition.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/qowa_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/quasi_sugeno_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/right_shoulder_function.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/sugeno_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/trapezoidal_function.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/triangular_function.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/triangular_modifer.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/weighted_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/weighted_max_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/weighted_min_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/weighted_sum_concept.py +0 -0
- {fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/weighted_sum_zero_concept.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: fuzzy-dl-owl2
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.6
|
|
4
4
|
Summary: A python porting of the Fuzzy Description Language (see https://www.umbertostraccia.it/cs/software/fuzzyDL/fuzzyDL.html) and the Fuzzy OWL 2 framework (see https://www.umbertostraccia.it/cs/software/FuzzyOWL/index.html).
|
|
5
5
|
License: CC-BY-SA-4.0
|
|
6
6
|
Author: Giuseppe Filippone
|
|
@@ -64,6 +64,7 @@ from fuzzy_dl_owl2.fuzzydl.util import constants
|
|
|
64
64
|
from fuzzy_dl_owl2.fuzzydl.util.constants import ConceptType, ConcreteFeatureType
|
|
65
65
|
from fuzzy_dl_owl2.fuzzydl.util.util import Util
|
|
66
66
|
from fuzzy_dl_owl2.fuzzyowl2.util.constants import FuzzyOWL2Keyword
|
|
67
|
+
from fuzzy_dl_owl2.fuzzyowl2.util.fuzzy_xml import FuzzyXML
|
|
67
68
|
from pyowl2.abstracts.axiom import OWLAxiom
|
|
68
69
|
from pyowl2.abstracts.class_expression import OWLClassExpression
|
|
69
70
|
from pyowl2.abstracts.data_range import OWLDataRange
|
|
@@ -276,11 +277,24 @@ class FuzzydlToOwl2:
|
|
|
276
277
|
c4: OWLClassExpression = self.get_new_atomic_class(str(c))
|
|
277
278
|
c3: OWLClassExpression = self.get_base(c.c1)
|
|
278
279
|
self.concepts[str(c)] = c3
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
280
|
+
|
|
281
|
+
main_xml = FuzzyXML.build_main_xml(FuzzyOWL2Keyword.CONCEPT.get_str_value())
|
|
282
|
+
concept_xml = FuzzyXML.build_concept_xml(
|
|
283
|
+
FuzzyOWL2Keyword.MODIFIED.get_str_value(),
|
|
284
|
+
{
|
|
285
|
+
FuzzyOWL2Keyword.MODIFIER.get_str_value(): str(
|
|
286
|
+
self.modifiers[str(c)]
|
|
287
|
+
),
|
|
288
|
+
FuzzyOWL2Keyword.BASE.get_str_value(): str(c3),
|
|
289
|
+
},
|
|
283
290
|
)
|
|
291
|
+
main_xml.append(concept_xml)
|
|
292
|
+
annotation: str = FuzzyXML.to_str(main_xml)
|
|
293
|
+
# annotation: str = (
|
|
294
|
+
# f'<{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()} {FuzzyOWL2Keyword.FUZZY_TYPE.get_str_value()}="{FuzzyOWL2Keyword.CONCEPT.get_str_value()}">\n',
|
|
295
|
+
# f'\t<{FuzzyOWL2Keyword.CONCEPT.get_tag_name()} {FuzzyOWL2Keyword.TYPE.get_str_value()}="{FuzzyOWL2Keyword.MODIFIED.get_str_value()}" {FuzzyOWL2Keyword.MODIFIER.get_str_value()}="{self.modifiers[str(c)]}" {FuzzyOWL2Keyword.BASE.get_str_value()}="{c3}"/>\n',
|
|
296
|
+
# f"</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()}>",
|
|
297
|
+
# )
|
|
284
298
|
self.add_entity_annotation(annotation, c4)
|
|
285
299
|
return c4
|
|
286
300
|
elif c_type == ConceptType.SELF:
|
|
@@ -331,11 +345,22 @@ class FuzzydlToOwl2:
|
|
|
331
345
|
c: WeightedConcept = typing.cast(WeightedConcept, c)
|
|
332
346
|
c4: OWLClassExpression = self.get_new_atomic_class(str(c))
|
|
333
347
|
c3: OWLClassExpression = self.get_base(c.c1)
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
348
|
+
|
|
349
|
+
main_xml = FuzzyXML.build_main_xml(FuzzyOWL2Keyword.CONCEPT.get_str_value())
|
|
350
|
+
concept_xml = FuzzyXML.build_concept_xml(
|
|
351
|
+
FuzzyOWL2Keyword.WEIGHTED.get_str_value(),
|
|
352
|
+
{
|
|
353
|
+
FuzzyOWL2Keyword.DEGREE_VALUE.get_str_value(): str(c.weight),
|
|
354
|
+
FuzzyOWL2Keyword.BASE.get_str_value(): str(c3),
|
|
355
|
+
},
|
|
338
356
|
)
|
|
357
|
+
main_xml.append(concept_xml)
|
|
358
|
+
annotation: str = FuzzyXML.to_str(main_xml)
|
|
359
|
+
# annotation: str = (
|
|
360
|
+
# f'<{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()} {FuzzyOWL2Keyword.FUZZY_TYPE.get_str_value()}="{FuzzyOWL2Keyword.CONCEPT.get_str_value()}">\n',
|
|
361
|
+
# f'\t<{FuzzyOWL2Keyword.CONCEPT.get_tag_name()} {FuzzyOWL2Keyword.TYPE.get_str_value()}="{FuzzyOWL2Keyword.WEIGHTED.get_str_value()}" {FuzzyOWL2Keyword.DEGREE_VALUE.get_str_value()}="{c.weight}" {FuzzyOWL2Keyword.BASE.get_str_value()}="{c3}"/>\n',
|
|
362
|
+
# f"</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()}>",
|
|
363
|
+
# )
|
|
339
364
|
self.add_entity_annotation(annotation, c3)
|
|
340
365
|
return c4
|
|
341
366
|
elif c_type in (
|
|
@@ -378,16 +403,33 @@ class FuzzydlToOwl2:
|
|
|
378
403
|
curr_concept: HasWeightedConceptsInterface = type_cast[c.type](c)
|
|
379
404
|
c3: OWLClassExpression = self.get_new_atomic_class(str(curr_concept))
|
|
380
405
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
f'\t<{FuzzyOWL2Keyword.CONCEPT.get_tag_name()} {FuzzyOWL2Keyword.TYPE.get_str_value()}="{type_dict[c.type]}">\n ',
|
|
384
|
-
)
|
|
406
|
+
main_xml = FuzzyXML.build_main_xml(FuzzyOWL2Keyword.CONCEPT.get_str_value())
|
|
407
|
+
concept_xml = FuzzyXML.build_concept_xml(type_dict[c.type])
|
|
385
408
|
for i in range(len(curr_concept.concepts)):
|
|
386
409
|
c5: OWLClassExpression = self.get_base(curr_concept.concepts[i])
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
410
|
+
sub_concept_xml = FuzzyXML.build_concept_xml(
|
|
411
|
+
FuzzyOWL2Keyword.WEIGHTED.get_str_value(),
|
|
412
|
+
{
|
|
413
|
+
FuzzyOWL2Keyword.DEGREE_VALUE.get_str_value(): str(
|
|
414
|
+
curr_concept.weights[i]
|
|
415
|
+
),
|
|
416
|
+
FuzzyOWL2Keyword.BASE.get_str_value(): str(c5),
|
|
417
|
+
},
|
|
418
|
+
)
|
|
419
|
+
concept_xml.append(sub_concept_xml)
|
|
420
|
+
main_xml.append(concept_xml)
|
|
421
|
+
annotation: str = FuzzyXML.to_str(main_xml)
|
|
422
|
+
|
|
423
|
+
# annotation: str = (
|
|
424
|
+
# f'<{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()} {FuzzyOWL2Keyword.FUZZY_TYPE.get_str_value()}="{FuzzyOWL2Keyword.CONCEPT.get_str_value()}">\n',
|
|
425
|
+
# f'\t<{FuzzyOWL2Keyword.CONCEPT.get_tag_name()} {FuzzyOWL2Keyword.TYPE.get_str_value()}="{type_dict[c.type]}">\n ',
|
|
426
|
+
# )
|
|
427
|
+
# for i in range(len(curr_concept.concepts)):
|
|
428
|
+
# c5: OWLClassExpression = self.get_base(curr_concept.concepts[i])
|
|
429
|
+
# annotation += f'\t\t<{FuzzyOWL2Keyword.CONCEPT.get_tag_name()} {FuzzyOWL2Keyword.TYPE.get_str_value()}="{FuzzyOWL2Keyword.WEIGHTED.get_str_value()}" {FuzzyOWL2Keyword.DEGREE_VALUE.get_str_value()}="{curr_concept.weights[i]}" {FuzzyOWL2Keyword.BASE.get_str_value()}="{c5}" />\n'
|
|
430
|
+
# annotation: str = (
|
|
431
|
+
# f"\t</{FuzzyOWL2Keyword.CONCEPT.get_tag_name()} >\n</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()} >"
|
|
432
|
+
# )
|
|
391
433
|
self.add_entity_annotation(annotation, c3)
|
|
392
434
|
return c3
|
|
393
435
|
|
|
@@ -411,18 +453,31 @@ class FuzzydlToOwl2:
|
|
|
411
453
|
return None
|
|
412
454
|
curr_concept: HasWeightedConceptsInterface = type_cast[c.type](c)
|
|
413
455
|
c4: OWLClassExpression = self.get_new_atomic_class(str(c))
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
456
|
+
|
|
457
|
+
main_xml = FuzzyXML.build_main_xml(FuzzyOWL2Keyword.CONCEPT.get_str_value())
|
|
458
|
+
concept_xml = FuzzyXML.build_concept_xml(type_dict[c.type])
|
|
459
|
+
weights_xml = FuzzyXML.build_weights_xml(curr_concept.weights)
|
|
460
|
+
names_xml = FuzzyXML.build_names_xml(
|
|
461
|
+
[self.get_base(ci) for ci in curr_concept.concepts]
|
|
418
462
|
)
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
463
|
+
concept_xml.append(weights_xml)
|
|
464
|
+
concept_xml.append(names_xml)
|
|
465
|
+
main_xml.append(concept_xml)
|
|
466
|
+
annotation: str = FuzzyXML.to_str(main_xml)
|
|
467
|
+
|
|
468
|
+
# annotation: str = (
|
|
469
|
+
# f'<{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()} {FuzzyOWL2Keyword.FUZZY_TYPE.get_str_value()}="{FuzzyOWL2Keyword.CONCEPT.get_str_value()}">\n',
|
|
470
|
+
# f'\t<{FuzzyOWL2Keyword.CONCEPT.get_tag_name()} {FuzzyOWL2Keyword.TYPE.get_str_value()}="{type_dict[c.type]}">\n',
|
|
471
|
+
# f"\t\t<{FuzzyOWL2Keyword.WEIGHTS.get_tag_name()}>\n",
|
|
472
|
+
# )
|
|
473
|
+
# for d in curr_concept.weights:
|
|
474
|
+
# annotation += f"\t\t\t<{FuzzyOWL2Keyword.WEIGHT.get_tag_name()}>{d}</{FuzzyOWL2Keyword.WEIGHT.get_tag_name()}>\n"
|
|
475
|
+
# annotation += f"\t\t</{FuzzyOWL2Keyword.WEIGHTS.get_tag_name()}>\n\t\t<{FuzzyOWL2Keyword.CONCEPT_NAMES.get_tag_name()}>\n"
|
|
476
|
+
# for ci in curr_concept.concepts:
|
|
477
|
+
# c5: OWLClassExpression = self.get_base(ci)
|
|
478
|
+
# annotation += f"\t\t\t<{FuzzyOWL2Keyword.NAME.get_tag_name()}>{c5}</{FuzzyOWL2Keyword.NAME.get_tag_name()}>\n"
|
|
479
|
+
# annotation += f"\t\t</{FuzzyOWL2Keyword.CONCEPT_NAMES.get_tag_name()}>\n\t</{FuzzyOWL2Keyword.CONCEPT.get_tag_name()}>\n</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()}>"
|
|
480
|
+
|
|
426
481
|
self.add_entity_annotation(annotation, c4)
|
|
427
482
|
return c4
|
|
428
483
|
|
|
@@ -438,15 +493,27 @@ class FuzzydlToOwl2:
|
|
|
438
493
|
return None
|
|
439
494
|
curr_concept: QowaConcept = type_cast[c.type](c)
|
|
440
495
|
c4: OWLClassExpression = self.get_new_atomic_class(str(c))
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
496
|
+
|
|
497
|
+
main_xml = FuzzyXML.build_main_xml(FuzzyOWL2Keyword.CONCEPT.get_str_value())
|
|
498
|
+
concept_xml = FuzzyXML.build_concept_xml(
|
|
499
|
+
type_dict[c.type],
|
|
500
|
+
{FuzzyOWL2Keyword.QUANTIFIER.get_str_value(): str(curr_concept.quantifier)},
|
|
445
501
|
)
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
502
|
+
names_xml = FuzzyXML.build_names_xml(
|
|
503
|
+
[self.get_base(ci) for ci in curr_concept.concepts]
|
|
504
|
+
)
|
|
505
|
+
concept_xml.append(names_xml)
|
|
506
|
+
main_xml.append(concept_xml)
|
|
507
|
+
annotation: str = FuzzyXML.to_str(main_xml)
|
|
508
|
+
# annotation: str = (
|
|
509
|
+
# f'<{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()} {FuzzyOWL2Keyword.FUZZY_TYPE.get_str_value()}="{FuzzyOWL2Keyword.CONCEPT.get_str_value()}">\n',
|
|
510
|
+
# f'\t<{FuzzyOWL2Keyword.CONCEPT.get_tag_name()} {FuzzyOWL2Keyword.TYPE.get_str_value()}="{type_dict[c.type]}" {FuzzyOWL2Keyword.QUANTIFIER.get_str_value()}="{curr_concept.quantifier}">\n',
|
|
511
|
+
# f"\t\t<{FuzzyOWL2Keyword.CONCEPT_NAMES.get_tag_name()}>\n",
|
|
512
|
+
# )
|
|
513
|
+
# for ci in curr_concept.concepts:
|
|
514
|
+
# c5: OWLClassExpression = self.get_base(ci)
|
|
515
|
+
# annotation += f"\t\t\t<{FuzzyOWL2Keyword.NAME.get_tag_name()}>{c5}</{FuzzyOWL2Keyword.NAME.get_tag_name()}>\n"
|
|
516
|
+
# annotation += f"\t\t</{FuzzyOWL2Keyword.CONCEPT_NAMES.get_tag_name()}>\n\t</{FuzzyOWL2Keyword.CONCEPT.get_tag_name()}>\n</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()}>"
|
|
450
517
|
self.add_entity_annotation(annotation, c4)
|
|
451
518
|
return c4
|
|
452
519
|
|
|
@@ -549,11 +616,16 @@ class FuzzydlToOwl2:
|
|
|
549
616
|
elif isinstance(value, DegreeNumeric): # Degree object
|
|
550
617
|
n = value.get_numerical_value()
|
|
551
618
|
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
619
|
+
main_xml = FuzzyXML.build_main_xml(FuzzyOWL2Keyword.AXIOM.get_str_value())
|
|
620
|
+
degree_xml = FuzzyXML.build_degree_xml(n)
|
|
621
|
+
main_xml.append(degree_xml)
|
|
622
|
+
annotation_text: str = FuzzyXML.to_str(main_xml)
|
|
623
|
+
|
|
624
|
+
# annotation_text: str = (
|
|
625
|
+
# f'<{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()} {FuzzyOWL2Keyword.FUZZY_TYPE.get_str_value()}="{FuzzyOWL2Keyword.AXIOM.get_str_value()}">\n'
|
|
626
|
+
# f'\t<{FuzzyOWL2Keyword.DEGREE_DEF.get_tag_name()} {FuzzyOWL2Keyword.DEGREE_VALUE.get_str_value()}="{n}"/>\n'
|
|
627
|
+
# f"</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()}>"
|
|
628
|
+
# )
|
|
557
629
|
annotation: OWLAnnotation = self.to_owl_annotation(annotation_text)
|
|
558
630
|
return set([annotation])
|
|
559
631
|
|
|
@@ -590,11 +662,17 @@ class FuzzydlToOwl2:
|
|
|
590
662
|
logic = str(constants.KNOWLEDGE_BASE_SEMANTICS)
|
|
591
663
|
|
|
592
664
|
if logic:
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
f'\t<{FuzzyOWL2Keyword.FUZZY_LOGIC.get_tag_name()} {FuzzyOWL2Keyword.LOGIC.get_str_value()}="{logic}" />\n'
|
|
596
|
-
f"</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()}>"
|
|
665
|
+
main_xml = FuzzyXML.build_main_xml(
|
|
666
|
+
FuzzyOWL2Keyword.ONTOLOGY.get_str_value()
|
|
597
667
|
)
|
|
668
|
+
logic_xml = FuzzyXML.build_logic_xml(logic)
|
|
669
|
+
main_xml.append(logic_xml)
|
|
670
|
+
annotation: str = FuzzyXML.to_str(main_xml)
|
|
671
|
+
# annotation: str = (
|
|
672
|
+
# f'<{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()} {FuzzyOWL2Keyword.FUZZY_TYPE.get_str_value()}="{FuzzyOWL2Keyword.ONTOLOGY.get_str_value()}">\n'
|
|
673
|
+
# f'\t<{FuzzyOWL2Keyword.FUZZY_LOGIC.get_tag_name()} {FuzzyOWL2Keyword.LOGIC.get_str_value()}="{logic}" />\n'
|
|
674
|
+
# f"</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()}>"
|
|
675
|
+
# )
|
|
598
676
|
self.add_ontology_annotation(annotation)
|
|
599
677
|
|
|
600
678
|
# Process concrete concepts
|
|
@@ -813,7 +891,8 @@ class FuzzydlToOwl2:
|
|
|
813
891
|
current_datatype: OWLDatatype = OWLDatatype(self.iri(c))
|
|
814
892
|
self.datatypes[str(c)] = current_datatype
|
|
815
893
|
|
|
816
|
-
specific: str = self._get_concrete_concept_specifics(c)
|
|
894
|
+
# specific: str = self._get_concrete_concept_specifics(c)
|
|
895
|
+
specific: tuple[str, dict[str, str]] = self._get_concrete_concept_specifics(c)
|
|
817
896
|
|
|
818
897
|
int_datatype: OWLDatatype = OWLDatatype(XSD.integer)
|
|
819
898
|
greater_than: OWLDatatypeRestriction = OWLDatatypeRestriction(
|
|
@@ -843,45 +922,102 @@ class FuzzydlToOwl2:
|
|
|
843
922
|
self.ontology.add_axiom(OWLDeclaration(current_datatype))
|
|
844
923
|
self.ontology.add_axiom(definition)
|
|
845
924
|
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
925
|
+
main_xml = FuzzyXML.build_main_xml(FuzzyOWL2Keyword.DATATYPE.get_str_value())
|
|
926
|
+
datatype_xml = FuzzyXML.build_datatype_xml(specific[0], specific[1])
|
|
927
|
+
main_xml.append(datatype_xml)
|
|
928
|
+
annotation: str = FuzzyXML.to_str(main_xml)
|
|
929
|
+
|
|
930
|
+
# annotation: str = (
|
|
931
|
+
# f'<{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()} {FuzzyOWL2Keyword.FUZZY_TYPE.get_str_value()}="{FuzzyOWL2Keyword.DATATYPE.get_str_value()}">\n'
|
|
932
|
+
# f'\t<{FuzzyOWL2Keyword.DATATYPE.get_tag_name()} {FuzzyOWL2Keyword.TYPE.get_str_value()}="{specific}"/>\n'
|
|
933
|
+
# f"</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()}>"
|
|
934
|
+
# )
|
|
851
935
|
self.add_entity_annotation(annotation, current_datatype)
|
|
852
936
|
|
|
853
|
-
def _get_concrete_concept_specifics(
|
|
937
|
+
def _get_concrete_concept_specifics(
|
|
938
|
+
self, c: FuzzyConcreteConcept
|
|
939
|
+
) -> tuple[str, dict[str, str]]:
|
|
854
940
|
"""Get concrete concept specific parameters"""
|
|
855
941
|
if isinstance(c, CrispConcreteConcept):
|
|
856
|
-
return
|
|
942
|
+
return FuzzyOWL2Keyword.CRISP.get_str_value(), {
|
|
943
|
+
FuzzyOWL2Keyword.A.get_str_value(): str(c.a),
|
|
944
|
+
FuzzyOWL2Keyword.B.get_str_value(): str(c.b),
|
|
945
|
+
}
|
|
857
946
|
elif isinstance(c, LeftConcreteConcept):
|
|
858
|
-
return
|
|
947
|
+
return FuzzyOWL2Keyword.LEFT_SHOULDER.get_str_value(), {
|
|
948
|
+
FuzzyOWL2Keyword.A.get_str_value(): str(c.a),
|
|
949
|
+
FuzzyOWL2Keyword.B.get_str_value(): str(c.b),
|
|
950
|
+
}
|
|
859
951
|
elif isinstance(c, RightConcreteConcept):
|
|
860
|
-
return
|
|
952
|
+
return FuzzyOWL2Keyword.RIGHT_SHOULDER.get_str_value(), {
|
|
953
|
+
FuzzyOWL2Keyword.A.get_str_value(): str(c.a),
|
|
954
|
+
FuzzyOWL2Keyword.B.get_str_value(): str(c.b),
|
|
955
|
+
}
|
|
861
956
|
elif isinstance(c, TriangularConcreteConcept):
|
|
862
|
-
return
|
|
957
|
+
return FuzzyOWL2Keyword.TRIANGULAR.get_str_value(), {
|
|
958
|
+
FuzzyOWL2Keyword.A.get_str_value(): str(c.a),
|
|
959
|
+
FuzzyOWL2Keyword.B.get_str_value(): str(c.b),
|
|
960
|
+
FuzzyOWL2Keyword.C.get_str_value(): str(c.c),
|
|
961
|
+
}
|
|
863
962
|
elif isinstance(c, TrapezoidalConcreteConcept):
|
|
864
|
-
return
|
|
865
|
-
|
|
963
|
+
return FuzzyOWL2Keyword.TRAPEZOIDAL.get_str_value(), {
|
|
964
|
+
FuzzyOWL2Keyword.A.get_str_value(): str(c.a),
|
|
965
|
+
FuzzyOWL2Keyword.B.get_str_value(): str(c.b),
|
|
966
|
+
FuzzyOWL2Keyword.C.get_str_value(): str(c.c),
|
|
967
|
+
FuzzyOWL2Keyword.D.get_str_value(): str(c.d),
|
|
968
|
+
}
|
|
969
|
+
return "", dict()
|
|
970
|
+
|
|
971
|
+
# def _get_concrete_concept_specifics(self, c: FuzzyConcreteConcept) -> str:
|
|
972
|
+
# """Get concrete concept specific parameters"""
|
|
973
|
+
# if isinstance(c, CrispConcreteConcept):
|
|
974
|
+
# return f'{FuzzyOWL2Keyword.CRISP.get_str_value()}" {FuzzyOWL2Keyword.A.get_str_value()}="{c.a}" {FuzzyOWL2Keyword.B.get_str_value()}="{c.b}'
|
|
975
|
+
# elif isinstance(c, LeftConcreteConcept):
|
|
976
|
+
# return f'{FuzzyOWL2Keyword.LEFT_SHOULDER.get_str_value()}" {FuzzyOWL2Keyword.A.get_str_value()}="{c.a}" {FuzzyOWL2Keyword.B.get_str_value()}="{c.b}'
|
|
977
|
+
# elif isinstance(c, RightConcreteConcept):
|
|
978
|
+
# return f'{FuzzyOWL2Keyword.RIGHT_SHOULDER.get_str_value()}" {FuzzyOWL2Keyword.A.get_str_value()}="{c.a}" {FuzzyOWL2Keyword.B.get_str_value()}="{c.b}'
|
|
979
|
+
# elif isinstance(c, TriangularConcreteConcept):
|
|
980
|
+
# return f'{FuzzyOWL2Keyword.TRIANGULAR.get_str_value()}" {FuzzyOWL2Keyword.A.get_str_value()}="{c.a}" {FuzzyOWL2Keyword.B.get_str_value()}="{c.b}" {FuzzyOWL2Keyword.C.get_str_value()}="{c.c}'
|
|
981
|
+
# elif isinstance(c, TrapezoidalConcreteConcept):
|
|
982
|
+
# return f'{FuzzyOWL2Keyword.TRAPEZOIDAL.get_str_value()}" {FuzzyOWL2Keyword.A.get_str_value()}="{c.a}" {FuzzyOWL2Keyword.B.get_str_value()}="{c.b}" {FuzzyOWL2Keyword.C.get_str_value()}="{c.c}" {FuzzyOWL2Keyword.D.get_str_value()}="{c.d}'
|
|
983
|
+
# return ""
|
|
866
984
|
|
|
867
985
|
def _process_modifier(self, mod: Modifier) -> None:
|
|
868
986
|
"""Process a modifier"""
|
|
869
987
|
Util.debug(f"Process modifier -> {mod}")
|
|
988
|
+
|
|
989
|
+
main_xml = FuzzyXML.build_main_xml(FuzzyOWL2Keyword.MODIFIER.get_str_value())
|
|
990
|
+
|
|
870
991
|
if isinstance(mod, LinearModifier):
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
f"</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()}>"
|
|
992
|
+
modifier_xml = FuzzyXML.build_modifier_xml(
|
|
993
|
+
FuzzyOWL2Keyword.LINEAR.get_str_value(),
|
|
994
|
+
{FuzzyOWL2Keyword.C.get_str_value(): str(mod.c)},
|
|
875
995
|
)
|
|
996
|
+
# annotation: str = (
|
|
997
|
+
# f'<{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()} {FuzzyOWL2Keyword.FUZZY_TYPE.get_str_value()}="{FuzzyOWL2Keyword.MODIFIER.get_str_value()}">\n'
|
|
998
|
+
# f'\t<{FuzzyOWL2Keyword.MODIFIER.get_tag_name()} {FuzzyOWL2Keyword.TYPE.get_str_value()}="{FuzzyOWL2Keyword.LINEAR.get_str_value()}" {FuzzyOWL2Keyword.C.get_str_value()}="{mod.c}"/>\n'
|
|
999
|
+
# f"</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()}>"
|
|
1000
|
+
# )
|
|
876
1001
|
elif isinstance(mod, TriangularModifier):
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
1002
|
+
modifier_xml = FuzzyXML.build_modifier_xml(
|
|
1003
|
+
FuzzyOWL2Keyword.TRIANGULAR.get_str_value(),
|
|
1004
|
+
{
|
|
1005
|
+
FuzzyOWL2Keyword.A.get_str_value(): str(mod.a),
|
|
1006
|
+
FuzzyOWL2Keyword.B.get_str_value(): str(mod.b),
|
|
1007
|
+
FuzzyOWL2Keyword.C.get_str_value(): str(mod.c),
|
|
1008
|
+
},
|
|
881
1009
|
)
|
|
1010
|
+
# annotation: str = (
|
|
1011
|
+
# f'<{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()} {FuzzyOWL2Keyword.FUZZY_TYPE.get_str_value()}="{FuzzyOWL2Keyword.MODIFIER.get_str_value()}">\n'
|
|
1012
|
+
# f'\t<{FuzzyOWL2Keyword.MODIFIER.get_tag_name()} {FuzzyOWL2Keyword.TYPE.get_str_value()}="{FuzzyOWL2Keyword.TRIANGULAR.get_str_value()}" {FuzzyOWL2Keyword.A.get_str_value()}="{mod.a}" {FuzzyOWL2Keyword.B.get_str_value()}="{mod.b}" {FuzzyOWL2Keyword.C.get_str_value()}="{mod.c}"/>\n'
|
|
1013
|
+
# f"</{FuzzyOWL2Keyword.FUZZY_OWL_2.get_str_value()}>"
|
|
1014
|
+
# )
|
|
882
1015
|
else:
|
|
883
1016
|
raise ValueError(f"Unknown modifier type: {type(mod)}")
|
|
884
1017
|
|
|
1018
|
+
main_xml.append(modifier_xml)
|
|
1019
|
+
annotation: str = FuzzyXML.to_str(main_xml)
|
|
1020
|
+
|
|
885
1021
|
current_datatype: OWLDatatype = OWLDatatype(self.iri(mod))
|
|
886
1022
|
self.modifiers[str(mod)] = current_datatype
|
|
887
1023
|
self.ontology.add_axiom(OWLDeclaration(current_datatype))
|
|
@@ -35,7 +35,7 @@ from fuzzy_dl_owl2.fuzzyowl2.owl_types.weighted_sum_concept import WeightedSumCo
|
|
|
35
35
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.weighted_sum_zero_concept import (
|
|
36
36
|
WeightedSumZeroConcept,
|
|
37
37
|
)
|
|
38
|
-
from fuzzy_dl_owl2.fuzzyowl2.parser.
|
|
38
|
+
from fuzzy_dl_owl2.fuzzyowl2.parser.owl2_xml_parser import FuzzyOwl2XMLParser
|
|
39
39
|
from pyowl2.abstracts.annotation_value import OWLAnnotationValue
|
|
40
40
|
from pyowl2.abstracts.axiom import OWLAxiom
|
|
41
41
|
from pyowl2.abstracts.class_expression import OWLClassExpression
|
|
@@ -166,7 +166,7 @@ class FuzzyOwl2(object):
|
|
|
166
166
|
self.processed_axioms: set[str] = set()
|
|
167
167
|
self.ontologies: set[OWLOntology] = set()
|
|
168
168
|
|
|
169
|
-
|
|
169
|
+
FuzzyOwl2XMLParser.load_config()
|
|
170
170
|
|
|
171
171
|
self.ontology_path = input_file
|
|
172
172
|
self.ontology_iri = IRI(Namespace(base_iri))
|
|
@@ -200,9 +200,13 @@ class FuzzyOwl2(object):
|
|
|
200
200
|
if annotation.annotation_property != self.fuzzy_label:
|
|
201
201
|
continue
|
|
202
202
|
value: OWLAnnotationValue = annotation.annotation_value
|
|
203
|
-
annotation_str: str = str(value)
|
|
203
|
+
annotation_str: str = str(value)
|
|
204
204
|
Util.debug(f"Annotation for ontology -> {annotation_str}")
|
|
205
|
-
|
|
205
|
+
logic: typing.Optional[str] = FuzzyOwl2XMLParser.parse_string(
|
|
206
|
+
annotation_str
|
|
207
|
+
)
|
|
208
|
+
Util.debug(f"Parsed annotation -> {logic}")
|
|
209
|
+
self.write_fuzzy_logic(logic)
|
|
206
210
|
|
|
207
211
|
def __get_facets(self, name: str) -> list[float]:
|
|
208
212
|
facets: list[float] = [float("-inf"), float("inf")]
|
|
@@ -282,13 +286,14 @@ class FuzzyOwl2(object):
|
|
|
282
286
|
f"Error: There are {len(annotations)} datatype annotations for {datatype}"
|
|
283
287
|
)
|
|
284
288
|
annotation: OWLAnnotation = list(annotations)[0].annotation_value
|
|
285
|
-
annotation_str: str = str(annotation)
|
|
289
|
+
annotation_str: str = str(annotation)
|
|
286
290
|
Util.debug(f"Annotation for {datatype} -> {annotation_str}")
|
|
287
291
|
datatype_name: str = self.get_short_name(datatype)
|
|
288
292
|
facets: list[OWLFacet] = self.__get_facets(datatype_name)
|
|
289
293
|
c: typing.Union[ConceptDefinition, FuzzyModifier] = (
|
|
290
|
-
|
|
294
|
+
FuzzyOwl2XMLParser.parse_string(annotation_str)
|
|
291
295
|
)
|
|
296
|
+
Util.debug(f"Parsed annotation -> {c}")
|
|
292
297
|
if isinstance(c, FuzzyDatatype):
|
|
293
298
|
c.set_min_value(facets[0])
|
|
294
299
|
c.set_max_value(facets[1])
|
|
@@ -330,12 +335,12 @@ class FuzzyOwl2(object):
|
|
|
330
335
|
f"Error: There are {len(annotations)} class annotations for {cls}"
|
|
331
336
|
)
|
|
332
337
|
annotation: OWLAnnotation = list(annotations)[0].annotation_value
|
|
333
|
-
annotation_str: str = str(annotation)
|
|
338
|
+
annotation_str: str = str(annotation)
|
|
334
339
|
Util.debug(f"Annotation for concept {cls} -> {annotation_str}")
|
|
335
|
-
concept: ConceptDefinition =
|
|
340
|
+
concept: ConceptDefinition = FuzzyOwl2XMLParser.parse_string(
|
|
336
341
|
annotation_str
|
|
337
|
-
)
|
|
338
|
-
Util.debug(f"
|
|
342
|
+
)
|
|
343
|
+
Util.debug(f"Parsed annotation -> {concept}")
|
|
339
344
|
name: str = self.get_short_name(cls)
|
|
340
345
|
if isinstance(concept, ModifiedConcept):
|
|
341
346
|
mod_name: str = concept.get_fuzzy_modifier()
|
|
@@ -401,11 +406,12 @@ class FuzzyOwl2(object):
|
|
|
401
406
|
f"Error: There are {len(annotations)} property annotations for {property}"
|
|
402
407
|
)
|
|
403
408
|
annotation: OWLAnnotation = list(annotations)[0].annotation_value
|
|
404
|
-
annotation_str: str = str(annotation)
|
|
409
|
+
annotation_str: str = str(annotation)
|
|
405
410
|
Util.debug(f"Annotation for property {property} -> {annotation_str}")
|
|
406
411
|
prop: typing.Optional[ModifiedProperty] = (
|
|
407
|
-
|
|
408
|
-
)
|
|
412
|
+
FuzzyOwl2XMLParser.parse_string(annotation_str)
|
|
413
|
+
)
|
|
414
|
+
Util.debug(f"Parsed annotation -> {prop}")
|
|
409
415
|
if prop is None:
|
|
410
416
|
return
|
|
411
417
|
if not isinstance(prop, ModifiedProperty):
|
|
@@ -428,10 +434,10 @@ class FuzzyOwl2(object):
|
|
|
428
434
|
f"Error: There are {len(annotations)} annotations for axiom {axiom}."
|
|
429
435
|
)
|
|
430
436
|
annotation: OWLAnnotation = list(annotations)[0].annotation_value
|
|
431
|
-
annotation_str: str = str(annotation)
|
|
437
|
+
annotation_str: str = str(annotation)
|
|
432
438
|
Util.debug(f"Annotation for degree -> {annotation_str}")
|
|
433
|
-
deg: float =
|
|
434
|
-
Util.debug(f"
|
|
439
|
+
deg: float = FuzzyOwl2XMLParser.parse_string(annotation_str)
|
|
440
|
+
Util.debug(f"Parsed annotation -> {deg}")
|
|
435
441
|
if not isinstance(deg, constants.NUMBER):
|
|
436
442
|
raise ValueError
|
|
437
443
|
return deg
|
{fuzzy_dl_owl2-1.0.5 → fuzzy_dl_owl2-1.0.6}/fuzzy_dl_owl2/fuzzyowl2/owl_types/modified_property.py
RENAMED
|
@@ -4,7 +4,7 @@ from fuzzy_dl_owl2.fuzzyowl2.owl_types.fuzzy_property import FuzzyProperty
|
|
|
4
4
|
class ModifiedProperty(FuzzyProperty):
|
|
5
5
|
|
|
6
6
|
def __init__(self, mod: str, prop: str) -> None:
|
|
7
|
-
super.__init__()
|
|
7
|
+
super().__init__()
|
|
8
8
|
self._mod: str = mod
|
|
9
9
|
self._prop: str = prop
|
|
10
10
|
|
|
@@ -13,3 +13,9 @@ class ModifiedProperty(FuzzyProperty):
|
|
|
13
13
|
|
|
14
14
|
def get_property(self) -> str:
|
|
15
15
|
return self._prop
|
|
16
|
+
|
|
17
|
+
def __repr__(self) -> str:
|
|
18
|
+
return str(self)
|
|
19
|
+
|
|
20
|
+
def __str__(self) -> str:
|
|
21
|
+
return f"({self.get_fuzzy_modifier()}, {self.get_property()})"
|
|
@@ -6,11 +6,7 @@ import typing
|
|
|
6
6
|
|
|
7
7
|
import pyparsing as pp
|
|
8
8
|
|
|
9
|
-
from fuzzy_dl_owl2.fuzzydl.concept.qowa_concept import QowaConcept
|
|
10
9
|
from fuzzy_dl_owl2.fuzzydl.knowledge_base import KnowledgeBase
|
|
11
|
-
from fuzzy_dl_owl2.fuzzydl.modifier.linear_modifier import LinearModifier
|
|
12
|
-
from fuzzy_dl_owl2.fuzzydl.modifier.modifier import Modifier
|
|
13
|
-
from fuzzy_dl_owl2.fuzzydl.modifier.triangular_modifier import TriangularModifier
|
|
14
10
|
from fuzzy_dl_owl2.fuzzydl.query.query import Query
|
|
15
11
|
from fuzzy_dl_owl2.fuzzydl.util import utils
|
|
16
12
|
from fuzzy_dl_owl2.fuzzydl.util.config_reader import ConfigReader
|
|
@@ -18,14 +14,17 @@ from fuzzy_dl_owl2.fuzzydl.util.util import Util
|
|
|
18
14
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.choquet_concept import ChoquetConcept
|
|
19
15
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.concept_definition import ConceptDefinition
|
|
20
16
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.fuzzy_datatype import FuzzyDatatype
|
|
17
|
+
from fuzzy_dl_owl2.fuzzyowl2.owl_types.fuzzy_modifier import FuzzyModifier
|
|
21
18
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.fuzzy_nominal_concept import FuzzyNominalConcept
|
|
22
19
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.left_shoulder_function import (
|
|
23
20
|
LeftShoulderFunction,
|
|
24
21
|
)
|
|
25
22
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.linear_function import LinearFunction
|
|
23
|
+
from fuzzy_dl_owl2.fuzzyowl2.owl_types.linear_modifier import LinearModifier
|
|
26
24
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.modified_concept import ModifiedConcept
|
|
27
25
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.modified_property import ModifiedProperty
|
|
28
26
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.owa_concept import OwaConcept
|
|
27
|
+
from fuzzy_dl_owl2.fuzzyowl2.owl_types.qowa_concept import QowaConcept
|
|
29
28
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.quasi_sugeno_concept import QsugenoConcept
|
|
30
29
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.right_shoulder_function import (
|
|
31
30
|
RightShoulderFunction,
|
|
@@ -33,6 +32,7 @@ from fuzzy_dl_owl2.fuzzyowl2.owl_types.right_shoulder_function import (
|
|
|
33
32
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.sugeno_concept import SugenoConcept
|
|
34
33
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.trapezoidal_function import TrapezoidalFunction
|
|
35
34
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.triangular_function import TriangularFunction
|
|
35
|
+
from fuzzy_dl_owl2.fuzzyowl2.owl_types.triangular_modifer import TriangularModifier
|
|
36
36
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.weighted_concept import WeightedConcept
|
|
37
37
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.weighted_max_concept import WeightedMaxConcept
|
|
38
38
|
from fuzzy_dl_owl2.fuzzyowl2.owl_types.weighted_min_concept import WeightedMinConcept
|
|
@@ -66,13 +66,13 @@ def _parse_fuzzy_datatype(tokens: pp.ParseResults) -> FuzzyDatatype:
|
|
|
66
66
|
return tokens
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
def _parse_modifier_function(tokens: pp.ParseResults) ->
|
|
69
|
+
def _parse_modifier_function(tokens: pp.ParseResults) -> FuzzyModifier:
|
|
70
70
|
Util.debug(f"_parse_modifier_function -> {tokens}")
|
|
71
71
|
list_tokens: list = tokens.as_list()
|
|
72
72
|
if list_tokens[0] == FuzzyOWL2Keyword.LINEAR:
|
|
73
|
-
return LinearModifier(
|
|
73
|
+
return LinearModifier(list_tokens[1])
|
|
74
74
|
elif list_tokens[0] == FuzzyOWL2Keyword.TRIANGULAR:
|
|
75
|
-
return TriangularModifier(
|
|
75
|
+
return TriangularModifier(list_tokens[1], list_tokens[2], list_tokens[3])
|
|
76
76
|
return tokens
|
|
77
77
|
|
|
78
78
|
|