diff --git a/tenet/scheme/amr_master_rule/transduction/phenomena_analyzer/degree_analyzer_1.py b/tenet/scheme/amr_master_rule/transduction/phenomena_analyzer/degree_analyzer_1.py
index 7bd73b086ec927ed51fa5bfe52b0f4736a5d14ed..372cd508dec424eb75d4d20acdfb5a46c4349105 100644
--- a/tenet/scheme/amr_master_rule/transduction/phenomena_analyzer/degree_analyzer_1.py
+++ b/tenet/scheme/amr_master_rule/transduction/phenomena_analyzer/degree_analyzer_1.py
@@ -12,8 +12,9 @@ from rdflib import Graph
 
 import transduction
 from transduction import net
-from transduction.query_builder import generate_select_query, generate_select_distinct_query
-from transduction.rdfterm_computer import produce_uriref, produce_literal
+from transduction.query_builder import generate_select_distinct_query
+from transduction.rdfterm_computer import produce_uriref
+from transduction.naming_computer import define_restriction_naming
 
 ENTITY_CLASS_TYPE = 'base-out:Entity'
 FEATURE_CLASS_TYPE = 'base-out:Feature'
@@ -91,6 +92,8 @@ def __search_degree_arg6(graph, degree_net_uri):
 # Useful Computation Method(s)
 #==============================================================================  
 
+# -- Methods to define naming
+
 def __extract_naming(net, default='none'):
     naming = f'{default}'
     naming_list = net.naming
@@ -108,6 +111,17 @@ def __define_composite_naming(net_1, net_2):
     name_2 = __extract_naming(net_2, default='something')
     return f'{name_2}-{name_1}'
 
+def __define_comparison_property_naming(net_1, net_2):
+    name_1 = __extract_naming(net_1, default='something')
+    if len(name_1) == 1: name_1 = name_1[0].upper()
+    if len(name_1) >1: name_1 = name_1[0].upper() + name_1[1:]
+    name_2 = __extract_naming(net_2, default='something')
+    if len(name_2) == 1: name_2 = name_2[0].upper()
+    if len(name_2) >1: name_2 = name_2[0].upper() + name_2[1:]
+    return f'is{name_2}{name_1}Than'
+
+
+# -- Methods to propagate relation
 
 def __filter_relation(relation_list, phenomena_net):
     result_list = []
@@ -130,6 +144,28 @@ def __propagate_relation(target_net, base_net, phenomena_net):
 # Construct Method(s)
 #==============================================================================
 
+def __construct_restriction_net(graph, property_net, target_class_net):
+    
+    # -- Net Composition
+    restriction_net = net.RestrictionNet(graph)
+    restriction_net.compose(property_net, target_class_net)
+    
+    # -- Data Computation
+    restriction_net.restriction_property = property_net.uri
+    restriction_net.restriction_net_value = target_class_net.uri
+
+    # -- Relation Propagation: None
+
+    # -- Net Naming
+    restriction_net.naming = define_restriction_naming(property_net, target_class_net)
+    
+    # -- Finalization
+    restriction_net.finalize()
+    triple_list = restriction_net.generate_triple_definition()
+    
+    return restriction_net, triple_list
+
+
 def __construct_feature_restriction_net(graph, individual_net):
     
     restriction_net = net.RestrictionNet(graph)
@@ -223,8 +259,32 @@ def __construct_feature_individual_net(graph, feature_class_net, degree_individu
     individual_net.finalize()
     result_triple_list = individual_net.generate_triple_definition()
     
-    return individual_net, result_triple_list  
+    return individual_net, result_triple_list    
+    
+    
+
+def __construct_comparison_property_net(graph, feature_class_net, degree_individual_net):
+
+    # -- Net Composition
+    property_net = net.AtomPropertyNet(graph)
+    property_net.compose(feature_class_net, degree_individual_net)
     
+    # -- Relation Propagation : None
+
+    # -- Net Naming
+    property_net.naming = __define_comparison_property_naming(feature_class_net, degree_individual_net)
+    
+    # -- Finalization
+    property_net.finalize()
+    result_triple_list = property_net.generate_triple_definition()
+    
+    return property_net, result_triple_list
+    
+
+def __associate_restriction_relation(graph, class_net, restriction_net):
+    class_net.restriction = restriction_net.uri
+    result_triple_list = class_net.generate_triple_definition()
+    return class_net, result_triple_list
 
 def __associate_mother_relation_to_refine(graph, left_class_net, right_class_net):
     left_class_net.mother_class_net_to_refine = right_class_net.uri
@@ -275,9 +335,15 @@ def analyze_phenomena_degree91_1(graph):
         rule_triple_list += degree_triple_list
         
         # -- Comparison Handle (ARG4)
+        comparison_property_net, triple_list_4a = __construct_comparison_property_net( 
+            graph, attribute_class_net, degree_individual_net)
         _, comparated_class_set = __search_degree_arg4(graph, phenomena_net.uri)
         for row in comparated_class_set:
-            pass #TODO: uri=row.comparated_class_net
+            comparated_class_net = net.ClassNet(graph, uri=row.comparated_class_net)
+            restriction_net, triple_list_4b = __construct_restriction_net(
+                graph, comparison_property_net, comparated_class_net)
+            _, triple_list_4c = __associate_restriction_relation(graph, new_entity_class_net, restriction_net)
+            rule_triple_list += (triple_list_4a + triple_list_4b + triple_list_4c)
         
         # -- Superlative Handle (ARG5)
         _, superlative_set = __search_degree_arg5(graph, phenomena_net.uri)
diff --git a/tests/main_tests/test_main_owl_extraction.py b/tests/main_tests/test_main_owl_extraction.py
index a89785c4312a0625fb6f3ad8634bc37a66562a5b..650ed33ca85b6b8cf86e284ad08243a29656af9a 100644
--- a/tests/main_tests/test_main_owl_extraction.py
+++ b/tests/main_tests/test_main_owl_extraction.py
@@ -56,7 +56,7 @@ test_data_dir = f'{INPUT_DIR_PATH}amrDocuments/'
 # onto_prefix = f'SimpleTest'
 # base_output_name = f'SimpleTest'
 
-uuid_num = '02'
+uuid_num = '03'
 amrld_dir_path = f'{test_data_dir}dev/solar-system-{uuid_num}/'
 amrld_file_path = f'{amrld_dir_path}SSC-{uuid_num}-01.stog.amr.ttl'
 base_output_name = f'SolarSystemDev{uuid_num}'