ontolearn.refinement_operators
Refinement Operators for refinement-based concept learners.
Module Contents
Classes
A top-down length based ("no semantic information leveraged) refinement operator in ALC. |
|
A top down/downward refinement operator in SHIQ(D). |
|
A top-down refinement operator in ALCHIQ(D). |
- class ontolearn.refinement_operators.LengthBasedRefinement(knowledge_base: KnowledgeBase, use_inverse: bool = False, use_data_properties: bool = False, use_card_restrictions: bool = False, card_limit=3, use_nominals: bool = True)[source]
Bases:
ontolearn.abstracts.BaseRefinement
A top-down length based (“no semantic information leveraged) refinement operator in ALC.
- apply_union_and_intersection_from_iterable(cont: List) Iterable [source]
Create Union and Intersection OWL Class Expressions. 1. Create OWLObjectIntersectionOf via logical conjunction of cartesian product of input owl class expressions. 2. Create OWLObjectUnionOf class expression via logical disjunction pf cartesian product of input owl class
expressions.
Repeat 1 and 2 until all concepts having max_len_refinement_top reached.
- refine_atomic_concept(class_expression: owlapy.class_expression.OWLClassExpression) Iterable[owlapy.class_expression.OWLClassExpression] [source]
TODO:CD:
- refine_complement_of(class_expression: owlapy.class_expression.OWLObjectComplementOf) Iterable[owlapy.class_expression.OWLClassExpression] [source]
TODO:CD:
- refine_object_some_values_from(class_expression: owlapy.class_expression.OWLObjectSomeValuesFrom) Iterable[owlapy.class_expression.OWLClassExpression] [source]
TODO:CD:
- refine_object_all_values_from(class_expression: owlapy.class_expression.OWLObjectAllValuesFrom) Iterable[owlapy.class_expression.OWLClassExpression] [source]
TODO:CD:
- refine_object_union_of(class_expression: owlapy.class_expression.OWLObjectUnionOf) Iterable[owlapy.class_expression.OWLClassExpression] [source]
TODO:CD:
- class ontolearn.refinement_operators.ModifiedCELOERefinement(knowledge_base: KnowledgeBase, value_splitter: AbstractValueSplitter | None = None, max_child_length: int = 10, use_negation: bool = True, use_all_constructor: bool = True, use_inverse: bool = True, use_card_restrictions: bool = True, use_numeric_datatypes: bool = True, use_time_datatypes: bool = True, use_boolean_datatype: bool = True, card_limit: int = 10)[source]
Bases:
ontolearn.abstracts.BaseRefinement
[ontolearn.search.OENode
]A top down/downward refinement operator in SHIQ(D).
- __slots__ = ('max_child_length', 'use_negation', 'use_all_constructor', 'use_inverse',...
- kb: KnowledgeBase
- value_splitter: AbstractValueSplitter | None
- max_child_length: int
- use_negation: bool
- use_all_constructor: bool
- use_card_restrictions: bool
- use_numeric_datatypes: bool
- use_time_datatypes: bool
- use_boolean_datatype: bool
- card_limit: int
- max_nr_fillers: DefaultDict[owlapy.owl_property.OWLObjectPropertyExpression, int]
- dp_splits: Dict[owlapy.owl_property.OWLDataPropertyExpression, List[owlapy.owl_literal.OWLLiteral]]
- generator: ConceptGenerator
- refine_atomic_concept(ce: owlapy.class_expression.OWLClass, max_length: int, current_domain: owlapy.class_expression.OWLClassExpression | None = None) Iterable[owlapy.class_expression.OWLClassExpression] [source]
Refinement operator implementation in CELOE-DL-learner, distinguishes the refinement of atomic concepts and start concept(they called Top concept). [1] Concept learning, Lehmann et. al
Generate all subconcepts given C, Denoted by (SH_down(C)),
(2) Generate {A AND C | A in SH_down(C)}, (2) Generate {A OR C | A in SH_down(C)}, (3) Generate {not A | A in SH_down(C) AND_logical not exist B in T : B sqsubset A}, (4) Generate restrictions, (5) Intersect and union (1),(2),(3),(4), (6) Create negation of all leaf_concepts.
- Parameters:
ce – Atomic concept to refine.
max_length – Refine up to this concept length.
current_domain – Domain.
- Returns:
Iterable of refined concepts.
- refine_complement_of(ce: owlapy.class_expression.OWLObjectComplementOf) Iterable[owlapy.class_expression.OWLClassExpression] [source]
Refine owl:complementOf.
- Parameters:
ce (OWLObjectComplementOf) – owl:complementOf - class expression.
- Returns:
Iterable of refined concepts.
- refine_object_some_values_from(ce: owlapy.class_expression.OWLObjectSomeValuesFrom, max_length: int) Iterable[owlapy.class_expression.OWLClassExpression] [source]
Refine owl:someValuesFrom.
- Parameters:
ce (OWLObjectSomeValuesFrom) – owl:someValuesFrom class expression.
max_length (int) – Refine up to this concept length.
- Returns:
Iterable of refined concepts.
- refine_object_all_values_from(ce: owlapy.class_expression.OWLObjectAllValuesFrom, max_length: int) Iterable[owlapy.class_expression.OWLObjectAllValuesFrom] [source]
Refine owl:allValuesFrom.
- Parameters:
ce (OWLObjectAllValuesFrom) – owl:allValuesFrom - class expression.
max_length (int) – Refine up to this concept length.
- Returns:
Iterable of refined concepts.
- refine_object_min_card_restriction(ce: owlapy.class_expression.OWLObjectMinCardinality, max_length: int) Iterable[owlapy.class_expression.OWLObjectMinCardinality] [source]
Refine owl:minCardinality.
- Parameters:
ce (OWLObjectMinCardinality) – owl:minCardinality - class expression.
max_length (int) – Refine up to this concept length.
- Returns:
Iterable of refined concepts.
- refine_object_max_card_restriction(ce: owlapy.class_expression.OWLObjectMaxCardinality, max_length: int) Iterable[owlapy.class_expression.OWLObjectMaxCardinality] [source]
Refine owl:maxCardinality.
- Parameters:
ce (OWLObjectMaxCardinality) – owl:maxCardinality - class expression.
max_length (int) – Refine up to this concept length.
- Returns:
Iterable of refined concepts.
- refine_object_union_of(ce: owlapy.class_expression.OWLObjectUnionOf, max_length: int, current_domain: owlapy.class_expression.OWLClassExpression | None) Iterable[owlapy.class_expression.OWLObjectUnionOf] [source]
Refine owl:unionOf.
Given a node corresponding a concepts that comprises union operation: 1) Obtain two concepts A, B, 2) Refine A and union refinements with B, 3) Repeat (2) for B.
- Parameters:
ce (OWLObjectUnionOf) – owl:unionOf - class expression.
current_domain (OWLClassExpression) – Domain.
max_length (int) – Refine up to this concept length.
- Returns:
Iterable of refined concepts.
- refine_object_intersection_of(ce: owlapy.class_expression.OWLObjectIntersectionOf, max_length: int, current_domain: owlapy.class_expression.OWLClassExpression | None) Iterable[owlapy.class_expression.OWLObjectIntersectionOf] [source]
Refine owl:intersectionOf.
- Parameters:
ce (OWLObjectIntersectionOf) – owl:intersectionOf - class expression.
current_domain (int) – Domain.
- Returns:
Iterable of refined concepts.
- refine_data_some_values_from(ce: owlapy.class_expression.OWLDataSomeValuesFrom) Iterable[owlapy.class_expression.OWLDataSomeValuesFrom] [source]
Refine owl:someValuesFrom for data properties.
- Parameters:
ce (OWLDataSomeValuesFrom) – owl:someValuesFrom - class expression.
- Returns:
Iterable of refined concepts.
- refine_data_has_value(ce: owlapy.class_expression.OWLDataHasValue) Iterable[owlapy.class_expression.OWLDataHasValue] [source]
Refine owl:hasValue.
- Parameters:
ce (OWLDataHasValue) – owl:hasValue - class expression.
- Returns:
Iterable of refined concepts.
- refine(ce: owlapy.class_expression.OWLClassExpression, max_length: int, current_domain: owlapy.class_expression.OWLClassExpression | None = None) Iterable[owlapy.class_expression.OWLClassExpression] [source]
Refine a given concept.
- Parameters:
ce – Concept to refine.
max_length – Refine up to this concept length.
current_domain – Domain.
- Returns:
Iterable of refined concepts.
- class ontolearn.refinement_operators.ExpressRefinement(knowledge_base, downsample: bool = True, expressivity: float = 0.8, sample_fillers_count: int = 5, value_splitter: AbstractValueSplitter | None = None, max_child_length: int = 10, use_inverse: bool = True, use_card_restrictions: bool = True, use_numeric_datatypes: bool = True, use_time_datatypes: bool = True, use_boolean_datatype: bool = True, card_limit: int = 10)[source]
Bases:
ModifiedCELOERefinement
A top-down refinement operator in ALCHIQ(D).
- __slots__ = ('expressivity', 'downsample', 'sample_fillers_count', 'generator')
- expressivity: float
- downsample: bool
- sample_fillers_count: int
- generator: ConceptGenerator
- refine_atomic_concept(ce: owlapy.class_expression.OWLClass) Iterable[owlapy.class_expression.OWLClassExpression] [source]
Refine atomic concept. :param ce: Atomic concept to refine.
- Returns:
Iterable of refined concepts.
- refine_complement_of(ce: owlapy.class_expression.OWLObjectComplementOf) Iterable[owlapy.class_expression.OWLClassExpression] [source]
Refine owl:complementOf.
- Parameters:
ce (OWLObjectComplementOf) – owl:complementOf - class expression.
- Returns:
Iterable of refined concepts.
- refine_object_some_values_from(ce: owlapy.class_expression.OWLObjectSomeValuesFrom) Iterable[owlapy.class_expression.OWLClassExpression] [source]
Refine owl:someValuesFrom.
- Parameters:
ce (OWLObjectSomeValuesFrom) – owl:someValuesFrom class expression.
- Returns:
Iterable of refined concepts.
- refine_object_all_values_from(ce: owlapy.class_expression.OWLObjectAllValuesFrom) Iterable[owlapy.class_expression.OWLClassExpression] [source]
Refine owl:allValuesFrom.
- Parameters:
ce (OWLObjectAllValuesFrom) – owl:allValuesFrom - class expression.
- Returns:
Iterable of refined concepts.
- refine_object_min_card_restriction(ce: owlapy.class_expression.OWLObjectMinCardinality) Iterable[owlapy.class_expression.OWLObjectMinCardinality] [source]
Refine owl:allValuesFrom.
- Parameters:
ce (OWLObjectAllValuesFrom) – owl:allValuesFrom - class expression.
- Returns:
Iterable of refined concepts.
- refine_object_max_card_restriction(ce: owlapy.class_expression.OWLObjectMaxCardinality) Iterable[owlapy.class_expression.OWLObjectMaxCardinality] [source]
Refine owl:maxCardinality.
- Parameters:
ce (OWLObjectMaxCardinality) – owl:maxCardinality - class expression.
- Returns:
Iterable of refined concepts.
- refine_object_union_of(ce: owlapy.class_expression.OWLObjectUnionOf) Iterable[owlapy.class_expression.OWLClassExpression] [source]
Refine owl:unionOf.
- Parameters:
ce (OWLObjectUnionOf) – owl:unionOf - class expression.
- Returns:
Iterable of refined concepts.
- refine_object_intersection_of(ce: owlapy.class_expression.OWLObjectIntersectionOf) Iterable[owlapy.class_expression.OWLClassExpression] [source]
Refine owl:intersectionOf.
- Parameters:
ce (OWLObjectIntersectionOf) – owl:intersectionOf - class expression.
- Returns:
Iterable of refined concepts.
- refine_data_some_values_from(ce: owlapy.class_expression.OWLDataSomeValuesFrom) Iterable[owlapy.class_expression.OWLDataSomeValuesFrom] [source]
Refine owl:someValuesFrom for data properties.
- Parameters:
ce (OWLDataSomeValuesFrom) – owl:someValuesFrom - class expression.
- Returns:
Iterable of refined concepts.