From 24742100d69bb48f2835e31ab318b23d3d79101c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?=
 <aurelien.lamercerie@tetras-libre.fr>
Date: Fri, 7 Apr 2023 19:39:25 +0200
Subject: [PATCH] Update AMR Rule: transduction.phenomena_mod_analyzer_1

---
 .../transduction/phenomena_mod_analyzer_1.py  | 22 +++++++++++--------
 tenet/scheme/amr_scheme_1.py                  | 18 ++++++++-------
 tenet/transduction/net/net.py                 |  2 +-
 .../mod-analyzer-devGraph-1.result.ttl        |  4 ++--
 4 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/tenet/scheme/amr_rule/transduction/phenomena_mod_analyzer_1.py b/tenet/scheme/amr_rule/transduction/phenomena_mod_analyzer_1.py
index 900070f7..dd2090e6 100644
--- a/tenet/scheme/amr_rule/transduction/phenomena_mod_analyzer_1.py
+++ b/tenet/scheme/amr_rule/transduction/phenomena_mod_analyzer_1.py
@@ -47,7 +47,11 @@ def __extract_naming(net, default='none'):
         naming = naming_list[0]
     return naming
 
-def __define_naming(class_net_1, class_net_2):
+def __define_feature_restriction_naming(class_net):
+    name = __extract_naming(class_net, default='something')
+    return f'{name}-feature'
+
+def __define_composite_naming(class_net_1, class_net_2):
     name_1 = __extract_naming(class_net_1, default='something')
     name_2 = __extract_naming(class_net_2, default='something')
     return f'{name_2}-{name_1}'
@@ -74,19 +78,19 @@ def __propagate_relation(target_net, base_net):
 # Construct Method(s)
 #============================================================================== 
 
-def __construct_restriction_net(graph, property_net_1, property_net_2):
+def __construct_feature_restriction_net(graph, class_net): # TODO
     
     restriction_net = net.RestrictionNet(graph)
-    restriction_net.compose(property_net_1, property_net_2)
+    restriction_net.compose(class_net)
     
     # -- Data Computation
-    restriction_net.restriction_property = property_net_1.uri
-    restriction_net.restriction_net_value = property_net_2.uri
+    restriction_net.restriction_property = '--hasFeature--' # TODO
+    restriction_net.restriction_net_value = class_net.uri
 
     # -- Relation Propagation: None
 
     # -- Net Naming
-    restriction_net.naming = define_restriction_naming(property_net_1, property_net_2)
+    restriction_net.naming = __define_feature_restriction_naming(class_net)
     
     # -- Finalization
     restriction_net.finalize()
@@ -107,11 +111,11 @@ def __construct_composite_class_net(graph, class_net_1, class_net_2):
 
     # -- Restriction Computation
     triple_list_1 = []
-    # restriction_net, triple_list_1 = __construct_restriction_net(graph, class_net_1, class_net_2)
+    # restriction_net, triple_list_1 = __construct_feature_restriction_net(graph, class_net)
     # composite_class_net.restriction = restriction_net.uri 
 
     # -- Net Naming
-    composite_class_net.naming = __define_naming(class_net_1, class_net_2)
+    composite_class_net.naming = __define_composite_naming(class_net_1, class_net_2)
     
     # -- Relation Propagation
     __propagate_relation(composite_class_net, class_net_1)
@@ -132,7 +136,7 @@ def __construct_individual_net(graph, class_net):
     individual_net.compose(class_net)
     
     # -- Data Computation
-    individual_net.base_class_name = f'"Feature"'
+    individual_net.base_class_name = f'Feature'
     individual_net.mother_class_net = class_net.uri
 
     # -- Net Naming
diff --git a/tenet/scheme/amr_scheme_1.py b/tenet/scheme/amr_scheme_1.py
index 8e044ee4..fddfb3d9 100644
--- a/tenet/scheme/amr_scheme_1.py
+++ b/tenet/scheme/amr_scheme_1.py
@@ -217,12 +217,14 @@ atomic_extraction_sequence = ['atomic extraction sequence',
                               rule.extract_atom_phenomena,
                               rule.propagate_atom_relation]
 
-phenomena_polarity_analyze_sequence = ['phenomena polarity analyze sequence',
-                                       rule.analyze_phenomena_polarity_1]
+phenomena_analyze_sequence_1 = ['phenomena analyze sequence (1)',
+                                rule.analyze_phenomena_polarity_1,
+                                rule.analyze_phenomena_mod_1
+                                ]
 
-phenomena_or_analyze_sequence = ['phenomena or analyze sequence',
-                                 rule.analyze_phenomena_or_1,
-                                 rule.analyze_phenomena_or_2]
+phenomena_analyze_sequence_2 = ['phenomena analyze sequence (2)',
+                                rule.analyze_phenomena_or_1,
+                                rule.analyze_phenomena_or_2]
 
 composite_class_extraction_sequence = ['composite class extraction sequence',
                                        rule.extract_composite_class_1,
@@ -285,10 +287,10 @@ scheme = {
     
     'transduction': [transduction_refinement_sequence,
                       atomic_extraction_sequence,
-                      phenomena_polarity_analyze_sequence,
-                      phenomena_or_analyze_sequence,
+                      phenomena_analyze_sequence_1,
+                      phenomena_analyze_sequence_2,
                       composite_class_extraction_sequence,
-                      old_phenomena_application_mod_sequence],
+                      ],
     
     # 'transduction': [transduction_refinement_sequence,
     #                   old_atomic_extraction_sequence],
diff --git a/tenet/transduction/net/net.py b/tenet/transduction/net/net.py
index f552c915..f5b2ddcd 100644
--- a/tenet/transduction/net/net.py
+++ b/tenet/transduction/net/net.py
@@ -240,7 +240,7 @@ class Net:
         clause_list.append(('?in_net', '?in_rel', self.uri))
         # print(f' *** DEVTEST *** {clause_list}')
         query_code = generate_select_query(self.support_graph, select_data_list, clause_list)
-        print(f' *** DEVTEST *** {query_code}')
+        # print(f' *** DEVTEST *** {query_code}')
         query_result = self.support_graph.query(query_code)
         return query_result
     
diff --git a/tests/dev_tests/test_data/mod-analyzer-devGraph-1.result.ttl b/tests/dev_tests/test_data/mod-analyzer-devGraph-1.result.ttl
index 7c763bbf..136afa84 100644
--- a/tests/dev_tests/test_data/mod-analyzer-devGraph-1.result.ttl
+++ b/tests/dev_tests/test_data/mod-analyzer-devGraph-1.result.ttl
@@ -624,7 +624,7 @@ net:individual_dwarf_d2 a net:Individual_Net ;
     net:composeFrom net:atomClass_dwarf_d2 ;
     net:coverBaseNode :leaf_dwarf_d2 ;
     net:coverNode :leaf_dwarf_d2 ;
-    net:hasBaseClassName "\"Feature\"" ;
+    net:hasBaseClassName "Feature" ;
     net:hasIndividualLabel "dwarf" ;
     net:hasMotherClassNet net:atomClass_dwarf_d2 ;
     net:hasNaming "dwarf" ;
@@ -634,7 +634,7 @@ net:individual_small_s3 a net:Individual_Net ;
     net:composeFrom net:atomClass_small_s3 ;
     net:coverBaseNode :leaf_small_s3 ;
     net:coverNode :leaf_small_s3 ;
-    net:hasBaseClassName "\"Feature\"" ;
+    net:hasBaseClassName "Feature" ;
     net:hasIndividualLabel "small" ;
     net:hasMotherClassNet net:atomClass_small_s3 ;
     net:hasNaming "small" ;
-- 
GitLab