SWRL.owl
type: Ontology
comment: This ontology is based on explainable classifier, which was built based on black-box Neural Network (NN) classifier trained on Iris dataset (https://www.kaggle.com/datasets/uciml/iris ). The trained NN was considered as a black-box classifier. We designed an algorithm, which: uses NN to generate syntetic samples; these samples were used to train a Decision Tree (we limit depth for the tree by 3); our algorithm automatically translate the decision tree rules into this ontology with SWRL rules for classifying test samples. Article describing all these in detailed is submitted to ISM-2025 Coference and can be referenced as follows: TO BE INCLUDED LATER. Python/Pythorch code is available here: TO BE INCLUDED. See below the trained Decision Tree classifier (tha basis for the rules): Extracted Decision Tree Rules: |--- f3 <= 0.70 | |--- f0 <= 0.40 | | |--- f1 <= 0.04 | | | |--- class: 1 | | |--- f1 > 0.04 | | | |--- class: 0 | |--- f0 > 0.40 | | |--- f1 <= 1.84 | | | |--- class: 1 | | |--- f1 > 1.84 | | | |--- class: 1 |--- f3 > 0.70 | |--- f2 <= 0.15 | | |--- f1 <= 0.27 | | | |--- class: 2 | | |--- f1 > 0.27 | | | |--- class: 0 | |--- f2 > 0.15 | | |--- f1 <= 1.65 | | | |--- class: 2 | | |--- f1 > 1.65 | | | |--- class: 2 Name Mappings: f0 (Decision tree); hasF0 (SWRL rules); sepal length (cm) (name of attribute in the original dataset); f1 (Decision tree); hasF1 (SWRL rules); sepal width (cm) (name of attribute in the original dataset); f2 (Decision tree); hasF2 (SWRL rules); petal length (cm) (name of attribute in the original dataset); f3 (Decision tree); hasF3 (SWRL rules); petal width (cm) (name of attribute in the original dataset); class: 0 (Decision tree); Class_0 (SWRL rules); setosa (name of class in the original dataset); class: 1 (Decision tree); Class_1 (SWRL rules); versicolor (name of class in the original dataset); class: 2 (Decision tree); Class_2 (SWRL rules); virginica (name of class in the original dataset).

sepal_length
type: DatatypeProperty
type: FunctionalProperty
domain: Unclassified_Iris
range: Datatype
  intersection of: Datatype
    on datatype: float
    with restrictions:
      min inclusive: 4.3
  intersection of: Datatype
    on datatype: float
    with restrictions:
      max inclusive: 7.9

sepal_width
type: DatatypeProperty
type: FunctionalProperty
domain: Unclassified_Iris
range: Datatype
  intersection of: Datatype
    on datatype: float
    with restrictions:
      min inclusive: 2.0
  intersection of: Datatype
    on datatype: float
    with restrictions:
      max inclusive: 4.4

petal_length
type: DatatypeProperty
type: FunctionalProperty
domain: Unclassified_Iris
range: Datatype
  intersection of: Datatype
    on datatype: float
    with restrictions:
      min inclusive: 1.0
  intersection of: Datatype
    on datatype: float
    with restrictions:
      max inclusive: 6.9

petal_width
type: DatatypeProperty
type: FunctionalProperty
domain: Unclassified_Iris
range: Datatype
  intersection of: Datatype
    on datatype: float
    with restrictions:
      min inclusive: 0.1
  intersection of: Datatype
    on datatype: float
    with restrictions:
      max inclusive: 2.5

Setosa
type: Class
subclass of: Unclassified_Iris

Versicolor
type: Class
subclass of: Unclassified_Iris

Virginica
type: Class
subclass of: Unclassified_Iris

Unclassified_Iris
type: Class

Flower1
type: NamedIndividual
type: Unclassified_Iris
sepal_length: 5.0
sepal_width: 3.0
petal_length: 4.0
petal_width: 2.0

Flower2
type: NamedIndividual
type: Unclassified_Iris
sepal_length: 4.3
sepal_width: 2.0
petal_length: 1.0
petal_width: 0.1

Flower3
type: NamedIndividual
type: Unclassified_Iris
sepal_length: 7.9
sepal_width: 4.4
petal_length: 6.9
petal_width: 2.5

Test Sample 1
type: NamedIndividual
type: Unclassified_Iris
sepal_length: 5.8
sepal_width: 3.0
petal_length: 4.2
petal_width: 1.3

Test Sample 2
type: NamedIndividual
type: Unclassified_Iris
sepal_length: 6.5
sepal_width: 3.5
petal_length: 5.0
petal_width: 1.6

Test Sample 3
type: NamedIndividual
type: Unclassified_Iris
sepal_length: 5.5
sepal_width: 3.5
petal_length: 1.5
petal_width: 0.2

Test Sample 4
type: NamedIndividual
type: Unclassified_Iris
sepal_length: 6.8
sepal_width: 3.2
petal_length: 5.5
petal_width: 2.2

Test Sample 5
type: NamedIndividual
type: Unclassified_Iris
sepal_length: 5.9
sepal_width: 3.4
petal_length: 4.8
petal_width: 1.8

Imp
comment: Rule 1: If a flower has: • Sepal length ≤ 6.14 cm • Sepal width ≤ 3.08 cm • Petal width ≤ 1.70 cm Then it is classified as Versicolor. Interpretation: Flowers with a relatively short sepal length (≤ 6.14 cm), narrower sepals (≤ 3.08 cm), and small petal width (≤ 1.70 cm) are identified as Iris versicolor.
body: ClassAtom
  class predicate: Unclassified_Iris
  argument1: p
body: DatavaluedPropertyAtom
  property predicate: sepal_length
  argument1: p
  argument2: x1
body: DatavaluedPropertyAtom
  property predicate: sepal_width
  argument1: p
  argument2: x2
body: DatavaluedPropertyAtom
  property predicate: petal_width
  argument1: p
  argument2: x4
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x1
  arguments: 6.14
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x2
  arguments: 3.08
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x4
  arguments: 1.70
head: ClassAtom
  class predicate: Versicolor
  argument1: p

Imp
comment: Rule 6: If a flower has: • Sepal width > 3.18 cm • Petal length ≤ 4.00 cm • Petal width > 1.70 cm Then it is classified as Setosa. Interpretation: Among flowers with wide petals (> 1.70 cm) and short petals (≤ 4.00 cm), those with a wider sepal (> 3.18 cm) are classified as setosa instead of virginica.
body: ClassAtom
  class predicate: Unclassified_Iris
  argument1: p
body: DatavaluedPropertyAtom
  property predicate: sepal_width
  argument1: p
  argument2: x2
body: DatavaluedPropertyAtom
  property predicate: petal_length
  argument1: p
  argument2: x3
body: DatavaluedPropertyAtom
  property predicate: petal_width
  argument1: p
  argument2: x4
body: BuiltinAtom
  builtin: greaterThan
  arguments: x2
  arguments: 3.18
body: BuiltinAtom
  builtin: greaterThan
  arguments: x4
  arguments: 1.70
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x3
  arguments: 4.00
head: ClassAtom
  class predicate: Setosa
  argument1: p

Imp
comment: Rule 8: If a flower has: • Sepal width > 3.80 cm • Petal length > 4.00 cm • Petal width > 1.70 cm Then it is classified as Virginica. Interpretation: Even if the sepal width is wider than 3.80 cm, as long as the petals are long (> 4.00 cm) and wide (> 1.70 cm), the flower is still classified as virginica.
body: ClassAtom
  class predicate: Unclassified_Iris
  argument1: p
body: DatavaluedPropertyAtom
  property predicate: sepal_width
  argument1: p
  argument2: x2
body: DatavaluedPropertyAtom
  property predicate: petal_length
  argument1: p
  argument2: x3
body: DatavaluedPropertyAtom
  property predicate: petal_width
  argument1: p
  argument2: x4
body: BuiltinAtom
  builtin: greaterThan
  arguments: x2
  arguments: 3.80
body: BuiltinAtom
  builtin: greaterThan
  arguments: x3
  arguments: 4.00
body: BuiltinAtom
  builtin: greaterThan
  arguments: x4
  arguments: 1.70
head: ClassAtom
  class predicate: Virginica
  argument1: p

Imp
comment: Rule 7: If a flower has: • Sepal width ≤ 3.80 cm • Petal length > 4.00 cm • Petal width > 1.70 cm Then it is classified as Virginica. Interpretation: If the petal length is relatively long (> 4.00 cm) and the petal width is also large (> 1.70 cm), but the sepal width is not too wide (≤ 3.80 cm), then the flower is classified as virginica.
body: ClassAtom
  class predicate: Unclassified_Iris
  argument1: p
body: DatavaluedPropertyAtom
  property predicate: sepal_width
  argument1: p
  argument2: x2
body: DatavaluedPropertyAtom
  property predicate: petal_length
  argument1: p
  argument2: x3
body: DatavaluedPropertyAtom
  property predicate: petal_width
  argument1: p
  argument2: x4
body: BuiltinAtom
  builtin: greaterThan
  arguments: x3
  arguments: 4.00
body: BuiltinAtom
  builtin: greaterThan
  arguments: x4
  arguments: 1.70
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x2
  arguments: 3.80
head: ClassAtom
  class predicate: Virginica
  argument1: p

Imp
comment: Rule 5: If a flower has: • Sepal width ≤ 3.18 cm • Petal length ≤ 4.00 cm • Petal width > 1.70 cm Then it is classified as Virginica. Interpretation: Flowers with wider petals (> 1.70 cm) but relatively short sepals (≤ 3.18 cm) and short petals (≤ 4.00 cm) belong to the virginica class.
body: ClassAtom
  class predicate: Unclassified_Iris
  argument1: p
body: DatavaluedPropertyAtom
  property predicate: sepal_width
  argument1: p
  argument2: x2
body: DatavaluedPropertyAtom
  property predicate: petal_length
  argument1: p
  argument2: x3
body: DatavaluedPropertyAtom
  property predicate: petal_width
  argument1: p
  argument2: x4
body: BuiltinAtom
  builtin: greaterThan
  arguments: x4
  arguments: 1.70
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x2
  arguments: 3.18
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x3
  arguments: 4.00
head: ClassAtom
  class predicate: Virginica
  argument1: p

Imp
comment: Rule 4: If a flower has: • Sepal length > 6.14 cm • Sepal width > 3.89 cm • Petal width ≤ 1.70 cm Then it is classified as Versicolor. Interpretation: Even if the sepal width increases beyond 3.89 cm, as long as the petal width remains small (≤ 1.70 cm), the flower remains classified as versicolor.
body: ClassAtom
  class predicate: Unclassified_Iris
  argument1: p
body: DatavaluedPropertyAtom
  property predicate: sepal_length
  argument1: p
  argument2: x1
body: DatavaluedPropertyAtom
  property predicate: sepal_width
  argument1: p
  argument2: x2
body: DatavaluedPropertyAtom
  property predicate: petal_width
  argument1: p
  argument2: x4
body: BuiltinAtom
  builtin: greaterThan
  arguments: x1
  arguments: 6.14
body: BuiltinAtom
  builtin: greaterThan
  arguments: x2
  arguments: 3.89
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x4
  arguments: 1.70
head: ClassAtom
  class predicate: Versicolor
  argument1: p

Imp
comment: Rule 3: If a flower has: • Sepal length > 6.14 cm • Sepal width ≤ 3.89 cm • Petal width ≤ 1.70 cm Then it is classified as Versicolor. Interpretation: When a flower has a longer sepal length (> 6.14 cm), but still maintains a moderate sepal width (≤ 3.89 cm) and small petal width (≤ 1.70 cm), it is classified as versicolor.
body: ClassAtom
  class predicate: Unclassified_Iris
  argument1: p
body: DatavaluedPropertyAtom
  property predicate: sepal_length
  argument1: p
  argument2: x1
body: DatavaluedPropertyAtom
  property predicate: sepal_width
  argument1: p
  argument2: x2
body: DatavaluedPropertyAtom
  property predicate: petal_width
  argument1: p
  argument2: x4
body: BuiltinAtom
  builtin: greaterThan
  arguments: x1
  arguments: 6.14
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x2
  arguments: 3.89
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x4
  arguments: 1.70
head: ClassAtom
  class predicate: Versicolor
  argument1: p

Imp
comment: Rule 2: If a flower has: • Sepal length ≤ 6.14 cm • Sepal width > 3.08 cm • Petal width ≤ 1.70 cm Then it is classified as Setosa. Interpretation: Among flowers with small petal width (≤ 1.70 cm) and shorter sepal length (≤ 6.14 cm), those with wider sepals (> 3.08 cm) are classified as setosa instead of versicolor.
body: ClassAtom
  class predicate: Unclassified_Iris
  argument1: p
body: DatavaluedPropertyAtom
  property predicate: sepal_length
  argument1: p
  argument2: x1
body: DatavaluedPropertyAtom
  property predicate: sepal_width
  argument1: p
  argument2: x2
body: DatavaluedPropertyAtom
  property predicate: petal_width
  argument1: p
  argument2: x4
body: BuiltinAtom
  builtin: greaterThan
  arguments: x2
  arguments: 3.08
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x1
  arguments: 6.14
body: BuiltinAtom
  builtin: lessThanOrEqual
  arguments: x4
  arguments: 1.70
head: ClassAtom
  class predicate: Setosa
  argument1: p