From 61d4c846513732e6be2fa92224596d9a815b9b67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?= <aurelien.lamercerie@tetras-libre.fr> Date: Sat, 18 Feb 2023 16:19:03 +0100 Subject: [PATCH] Update semantic net classes --- .../febTransduction/net/atom_property_net.py | 35 +- tenet/febTransduction/net/class_net.py | 5 +- .../net/composite_class_net.py | 17 +- .../net/composite_property_net.py | 23 +- tenet/febTransduction/net/individual_net.py | 17 +- tenet/febTransduction/net/net.py | 47 +-- tenet/febTransduction/net/phenomena_net.py | 11 +- tenet/febTransduction/net/property_net.py | 5 +- tenet/febTransduction/net/restriction_net.py | 17 +- tenet/febTransduction/net/value_net.py | 5 +- tests/test_transduction_semantic_net_2.py | 311 ++++++++++-------- tests/test_transduction_semantic_net_3.py | 3 + 12 files changed, 233 insertions(+), 263 deletions(-) diff --git a/tenet/febTransduction/net/atom_property_net.py b/tenet/febTransduction/net/atom_property_net.py index c029b52c..a7e93034 100644 --- a/tenet/febTransduction/net/atom_property_net.py +++ b/tenet/febTransduction/net/atom_property_net.py @@ -53,10 +53,8 @@ class AtomPropertyNet(PropertyNet): @core_role.setter def core_role(self, new_value): - if isinstance(self._core_role, list): - self._core_role.append(new_value) - else: - self._core_role = new_value + self._core_role = self.set_attribute_value(self._core_role, new_value) + @property def target_argument_node(self): @@ -65,10 +63,8 @@ class AtomPropertyNet(PropertyNet): @target_argument_node.setter def target_argument_node(self, new_value): - if isinstance(self._target_argument_node, list): - self._target_argument_node.append(new_value) - else: - self._target_argument_node = new_value + self._target_argument_node = self.set_attribute_value(self._target_argument_node, new_value) + @property def property_type(self): @@ -77,10 +73,8 @@ class AtomPropertyNet(PropertyNet): @property_type.setter def property_type(self, new_value): - if isinstance(self._property_type, list): - self._property_type.append(new_value) - else: - self._property_type = new_value + self._property_type = self.set_attribute_value(self._property_type, new_value) + @property def property_name01(self): @@ -89,10 +83,8 @@ class AtomPropertyNet(PropertyNet): @property_name01.setter def property_name01(self, new_value): - if isinstance(self._property_name01, list): - self._property_name01.append(new_value) - else: - self._property_name01 = new_value + self._property_name01 = self.set_attribute_value(self._property_name01, new_value) + @property def property_name10(self): @@ -101,10 +93,8 @@ class AtomPropertyNet(PropertyNet): @property_name10.setter def property_name10(self, new_value): - if isinstance(self._property_name10, list): - self._property_name10.append(new_value) - else: - self._property_name10 = new_value + self._property_name10 = self.set_attribute_value(self._property_name10, new_value) + @property def property_name12(self): @@ -113,7 +103,4 @@ class AtomPropertyNet(PropertyNet): @property_name12.setter def property_name12(self, new_value): - if isinstance(self._property_name12, list): - self._property_name12.append(new_value) - else: - self._property_name12 = new_value \ No newline at end of file + self._property_name12 = self.set_attribute_value(self._property_name12, new_value) diff --git a/tenet/febTransduction/net/class_net.py b/tenet/febTransduction/net/class_net.py index c0305896..26836286 100644 --- a/tenet/febTransduction/net/class_net.py +++ b/tenet/febTransduction/net/class_net.py @@ -47,7 +47,4 @@ class ClassNet(Net): @class_name.setter def class_name(self, new_value): - if isinstance(self._class_name, list): - self._class_name.append(new_value) - else: - self._class_name = new_value \ No newline at end of file + self._class_name = self.set_attribute_value(self._class_name, new_value) diff --git a/tenet/febTransduction/net/composite_class_net.py b/tenet/febTransduction/net/composite_class_net.py index 374e050f..374a156c 100644 --- a/tenet/febTransduction/net/composite_class_net.py +++ b/tenet/febTransduction/net/composite_class_net.py @@ -49,10 +49,8 @@ class CompositeClassNet(ClassNet): @mother_class_net.setter def mother_class_net(self, new_value): - if isinstance(self._mother_class_net, list): - self._mother_class_net.append(new_value) - else: - self._mother_class_net = new_value + self._mother_class_net = self.set_attribute_value(self._mother_class_net, new_value) + @property def restriction(self): @@ -61,10 +59,8 @@ class CompositeClassNet(ClassNet): @restriction.setter def restriction(self, new_value): - if isinstance(self._restriction, list): - self._restriction.append(new_value) - else: - self._restriction = new_value + self._restriction = self.set_attribute_value(self._restriction, new_value) + @property def restriction01(self): @@ -73,7 +69,4 @@ class CompositeClassNet(ClassNet): @restriction01.setter def restriction01(self, new_value): - if isinstance(self._restriction01, list): - self._restriction01.append(new_value) - else: - self._restriction01 = new_value \ No newline at end of file + self._restriction01 = self.set_attribute_value(self._restriction01, new_value) diff --git a/tenet/febTransduction/net/composite_property_net.py b/tenet/febTransduction/net/composite_property_net.py index 7a2f969d..23cc171f 100644 --- a/tenet/febTransduction/net/composite_property_net.py +++ b/tenet/febTransduction/net/composite_property_net.py @@ -50,10 +50,8 @@ class CompositePropertyNet(PropertyNet): @core_role.setter def core_role(self, new_value): - if isinstance(self._core_role, list): - self._core_role.append(new_value) - else: - self._core_role = new_value + self._core_role = self.set_attribute_value(self._core_role, new_value) + @property def target_argument_node(self): @@ -62,10 +60,8 @@ class CompositePropertyNet(PropertyNet): @target_argument_node.setter def target_argument_node(self, new_value): - if isinstance(self._target_argument_node, list): - self._target_argument_node.append(new_value) - else: - self._target_argument_node = new_value + self._target_argument_node = self.set_attribute_value(self._target_argument_node, new_value) + @property def property_type(self): @@ -74,10 +70,8 @@ class CompositePropertyNet(PropertyNet): @property_type.setter def property_type(self, new_value): - if isinstance(self._property_type, list): - self._property_type.append(new_value) - else: - self._property_type = new_value + self._property_type = self.set_attribute_value(self._property_type, new_value) + @property def restriction(self): @@ -86,7 +80,4 @@ class CompositePropertyNet(PropertyNet): @restriction.setter def restriction(self, new_value): - if isinstance(self._restriction, list): - self._restriction.append(new_value) - else: - self._restriction = new_value \ No newline at end of file + self._restriction = self.set_attribute_value(self._restriction, new_value) diff --git a/tenet/febTransduction/net/individual_net.py b/tenet/febTransduction/net/individual_net.py index 70887546..f61928bd 100644 --- a/tenet/febTransduction/net/individual_net.py +++ b/tenet/febTransduction/net/individual_net.py @@ -49,10 +49,8 @@ class IndividualNet(Net): @base_class_name.setter def base_class_name(self, new_value): - if isinstance(self._base_class_name, list): - self._base_class_name.append(new_value) - else: - self._base_class_name = new_value + self._base_class_name = self.set_attribute_value(self._base_class_name, new_value) + @property def mother_class_net(self): @@ -61,10 +59,8 @@ class IndividualNet(Net): @mother_class_net.setter def mother_class_net(self, new_value): - if isinstance(self._mother_class_net, list): - self._mother_class_net.append(new_value) - else: - self._mother_class_net = new_value + self._mother_class_net = self.set_attribute_value(self._mother_class_net, new_value) + @property def individual_label(self): @@ -73,7 +69,4 @@ class IndividualNet(Net): @individual_label.setter def individual_label(self, new_value): - if isinstance(self._individual_label, list): - self._individual_label.append(new_value) - else: - self._individual_label = new_value \ No newline at end of file + self._individual_label = self.set_attribute_value(self._individual_label, new_value) diff --git a/tenet/febTransduction/net/net.py b/tenet/febTransduction/net/net.py index 61404c55..854cfbad 100644 --- a/tenet/febTransduction/net/net.py +++ b/tenet/febTransduction/net/net.py @@ -100,12 +100,15 @@ class Net: return res - def set_attribute_value(self, **attr): - for attr_key, attr_value in attr.items(): - if isinstance(attr_key, list): - self.attr_key.append(attr_value) + def set_attribute_value(self, attr_key, attr_value): + if isinstance(attr_key, list): + if isinstance(attr_value, list): + attr_key += attr_value else: - self.attr_key = attr_value + attr_key.append(attr_value) + else: + attr_key = attr_value + return attr_key #-------------------------------------------------------------------------- @@ -132,13 +135,8 @@ class Net: @node.setter def node(self, new_value): - if isinstance(self._node, list): - if isinstance(new_value, list): - self._node += new_value - else: - self._node.append(new_value) - else: - self._node = new_value + self._node = self.set_attribute_value(self._node, new_value) + @property def base_node(self): @@ -147,13 +145,8 @@ class Net: @base_node.setter def base_node(self, new_value): - if isinstance(self._base_node, list): - if isinstance(new_value, list): - self._node += new_value - else: - self._node.append(new_value) - else: - self._base_node = new_value + self._base_node = self.set_attribute_value(self._base_node, new_value) + @property def structure(self): @@ -162,13 +155,7 @@ class Net: @structure.setter def structure(self, new_value): - if isinstance(self._structure, list): - if isinstance(new_value, list): - self._node += new_value - else: - self._node.append(new_value) - else: - self._structure = new_value + self._structure = self.set_attribute_value(self._structure, new_value) @property def naming(self): @@ -177,13 +164,7 @@ class Net: @naming.setter def naming(self, new_value): - if isinstance(self._naming, list): - if isinstance(new_value, list): - self._node += new_value - else: - self._node.append(new_value) - else: - self._naming = new_value + self._naming = self.set_attribute_value(self._naming, new_value) diff --git a/tenet/febTransduction/net/phenomena_net.py b/tenet/febTransduction/net/phenomena_net.py index 09610984..99ac7022 100644 --- a/tenet/febTransduction/net/phenomena_net.py +++ b/tenet/febTransduction/net/phenomena_net.py @@ -48,10 +48,8 @@ class PhenomenaNet(Net): @phenomena_type.setter def phenomena_type(self, new_value): - if isinstance(self._phenomena_type, list): - self._phenomena_type.append(new_value) - else: - self._phenomena_type = new_value + self._phenomena_type = self.set_attribute_value(self._phenomena_type, new_value) + @property def phenomena_ref(self): @@ -60,7 +58,4 @@ class PhenomenaNet(Net): @phenomena_ref.setter def phenomena_ref(self, new_value): - if isinstance(self._phenomena_ref, list): - self._phenomena_ref.append(new_value) - else: - self._phenomena_ref = new_value \ No newline at end of file + self._phenomena_ref = self.set_attribute_value(self._phenomena_ref, new_value) diff --git a/tenet/febTransduction/net/property_net.py b/tenet/febTransduction/net/property_net.py index 2da29dc3..a2d51a6a 100644 --- a/tenet/febTransduction/net/property_net.py +++ b/tenet/febTransduction/net/property_net.py @@ -47,7 +47,4 @@ class PropertyNet(Net): @property_name.setter def property_name(self, new_value): - if isinstance(self._property_name, list): - self._property_name.append(new_value) - else: - self._property_name = new_value \ No newline at end of file + self._property_name = self.set_attribute_value(self._property_name, new_value) diff --git a/tenet/febTransduction/net/restriction_net.py b/tenet/febTransduction/net/restriction_net.py index a6070908..c494d234 100644 --- a/tenet/febTransduction/net/restriction_net.py +++ b/tenet/febTransduction/net/restriction_net.py @@ -49,10 +49,8 @@ class RestrictionNet(Net): @target_node.setter def target_node(self, new_value): - if isinstance(self._target_node, list): - self._target_node.append(new_value) - else: - self._target_node = new_value + self._target_node = self.set_attribute_value(self._target_node, new_value) + @property def restriction_property(self): @@ -61,10 +59,8 @@ class RestrictionNet(Net): @restriction_property.setter def restriction_property(self, new_value): - if isinstance(self._restriction_property, list): - self._restriction_property.append(new_value) - else: - self._restriction_property = new_value + self._restriction_property = self.set_attribute_value(self._restriction_property, new_value) + @property def restriction_net_value(self): @@ -73,7 +69,4 @@ class RestrictionNet(Net): @restriction_net_value.setter def restriction_net_value(self, new_value): - if isinstance(self._restriction_net_value, list): - self._restriction_net_value.append(new_value) - else: - self._restriction_net_value = new_value \ No newline at end of file + self._restriction_net_value = self.set_attribute_value(self._restriction_net_value, new_value) diff --git a/tenet/febTransduction/net/value_net.py b/tenet/febTransduction/net/value_net.py index 7971e411..70bab39a 100644 --- a/tenet/febTransduction/net/value_net.py +++ b/tenet/febTransduction/net/value_net.py @@ -47,7 +47,4 @@ class ValueNet(Net): @value_label.setter def value_label(self, new_value): - if isinstance(self._value_label, list): - self._value_label.append(new_value) - else: - self._value_label = new_value + self._value_label = self.set_attribute_value(self._value_label, new_value) diff --git a/tests/test_transduction_semantic_net_2.py b/tests/test_transduction_semantic_net_2.py index 5b6d42bb..92311ca4 100644 --- a/tests/test_transduction_semantic_net_2.py +++ b/tests/test_transduction_semantic_net_2.py @@ -40,149 +40,192 @@ from tenet.febTransduction.net import RestrictionNet #============================================================================== -# Utilities +# Useful Methods #============================================================================== +def load_test_graph(): + print(f'\n -- Test Graph Loading') + graph = Graph() + graph.bind('amr', Namespace('https://amr.tetras-libre.fr/rdf/schema#')) + graph.bind('net', Namespace('https://tenet.tetras-libre.fr/semantic-net#')) + graph.bind('base-out', Namespace('https://tenet.tetras-libre.fr/base-ontology#')) + graph.parse(TEST_GRAPH) + print(f" ----- Graph Loaded ({len(graph)})") + return graph + + def test_attribute_access(net, *attr_set): print(f'\n *** Net attributes ({net.type_id})) ***') for attr in attr_set: - print(f' ----- {attr}: {eval(attr)}') + print(f' ----- {attr}: {eval(attr)}') + + + +#============================================================================== +# Unit Test +#============================================================================== + +def unittest_set_attribute_net(graph, net_uri): + print('\n -- Net') + net = Net(graph, uri=net_uri) + print('\n /// before setting') + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming') + net.base_node = ' *** node_a ***' + net.node = ' *** node_a ***' + net.structure = ' *** test-structure ***' + net.naming = ' *** test-naming ***' + print('\n /// after setting') + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming') + + +def unittest_set_attribute_class_net(graph, net_uri): + print('\n -- Class Net') + net = ClassNet(graph, uri=net_uri) + net.class_name = ' *** test-class-name (1) ***' + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming', + 'net.class_name') + + +def unittest_set_attribute_atom_class_net(graph, net_uri): + print('\n -- Atom Class Net') + net = AtomClassNet(graph, uri=net_uri) + net.class_name = ' *** test-class-name (2) ***' + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming', + 'net.class_name') + + +def unittest_set_attribute_composite_class_net(graph, net_uri): + print('\n -- Composite Class Net (1)') + net = CompositeClassNet(graph, uri=net_uri) + net.mother_class_net = ' *** test-value ***' + net.restriction = ' *** test-value ***' + net.restriction01 = ' *** test-value ***' + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming', + 'net.class_name', + 'net.mother_class_net', 'net.restriction', 'net.restriction01') + + +def unittest_set_attribute_property_net(graph, net_uri): + print('\n -- Property Net') + net = PropertyNet(graph, uri=net_uri) + net.property_name = ' *** test-value ***' + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming', + 'net.property_name') + + +def unittest_set_attribute_atom_property_net(graph, net_uri): + print('\n -- Atom Property Net') + net = AtomPropertyNet(graph, uri=net_uri) + net.property_name = ' *** test-value ***' + net.core_role = ' *** test-value ***' + net.target_argument_node = ' *** test-value ***' + net.property_type = ' *** test-value ***' + net.property_name01 = ' *** test-value ***' + net.property_name10 = ' *** test-value ***' + net.property_name12 = ' *** test-value ***' + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming', + 'net.property_name', + 'net.core_role', 'net.target_argument_node', 'net.property_type', + 'net.property_name01', 'net.property_name10', 'net.property_name12') + + +def unittest_set_attribute_composite_property_net(graph, net_uri): + print('\n -- Composite Property Net') + net = CompositePropertyNet(graph, uri=net_uri) + net.property_name = ' *** test-value ***' + net.core_role = ' *** test-value ***' + net.target_argument_node = ' *** test-value ***' + net.property_type = ' *** test-value ***' + net.restriction = ' *** test-value ***' + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming', + 'net.property_name', + 'net.core_role', 'net.target_argument_node', 'net.property_type', 'net.restriction') + + +def unittest_set_attribute_individual_net(graph, net_uri): + print('\n -- Individual Net') + net = IndividualNet(graph, uri=net_uri) + net.base_class_name = ' *** test-value ***' + net.mother_class_net = ' *** test-value ***' + net.individual_label = ' *** test-value ***' + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming', + 'net.base_class_name', 'net.mother_class_net', 'net.individual_label') + + +def unittest_set_attribute_value_net(graph, net_uri): + print('\n -- Value Net') + net = ValueNet(graph, uri=net_uri) + net.value_label = ' *** test-value ***' + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming', + 'net.value_label') +def unittest_set_attribute_phenomena_net(graph, net_uri): + print('\n -- Phenomena Net (1)') + net = PhenomenaNet(graph, uri=net_uri) + net.phenomena_type = ' *** test-value ***' + net.phenomena_ref = ' *** test-value ***' + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming', + 'net.phenomena_type', 'net.phenomena_ref') + + +def unittest_set_attribute_restriction_net(graph, net_uri): + print('\n -- Restriction Net') + net = RestrictionNet(graph, uri=net_uri) + net.target_node = ' *** test-value ***' + net.restriction_property = ' *** test-value ***' + net.restriction_net_value = ' *** test-value ***' + test_attribute_access(net, 'net.uri', + 'net.node', 'net.base_node', 'net.structure', 'net.naming', + 'net.target_node', 'net.restriction_property', 'net.restriction_net_value') + + + #============================================================================== -# Development Test +# Test Script #============================================================================== -print('\n' + ' *** Development Test ***') -print('\n *** TEST: Semantic Net Setters ***') - -print(f'\n -- Test Graph Loading') -graph = Graph() -graph.bind('net', Namespace('https://tenet.tetras-libre.fr/semantic-net#')) -graph.parse(TEST_GRAPH) -print(f" ----- Graph Loaded ({len(graph)})") - -print('\n -- Net') -net = Net(graph, uri='net:atomClass_sun_s2') -print('\n /// before setting') -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming') -net.base_node = ' *** node_a ***' -net.node = ' *** node_a ***' -net.structure = ' *** test-structure ***' -net.naming = ' *** test-naming ***' -print('\n /// after setting') -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming') - -print('\n -- Class Net') -net = ClassNet(graph, uri='net:atomClass_sun_s2') -net.class_name = ' *** test-class-name (1) ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.class_name') - -print('\n -- Atom Class Net') -net = AtomClassNet(graph, uri='net:atomClass_sun_s2') -net.class_name = ' *** test-class-name (2) ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.class_name') - -print('\n -- Composite Class Net (1)') -net = CompositeClassNet(graph, uri='net:compositeClass_orbit-hasManner-conjunction-OR_o2') -net.mother_class_net = ' *** test-value ***' -net.restriction = ' *** test-value ***' -net.restriction01 = ' *** test-value ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.class_name', - 'net.mother_class_net', 'net.restriction', 'net.restriction01') - -print('\n -- Composite Class Net (2)') -net = CompositeClassNet(graph, uri='net:compositeClass_system-hasPart-sun-and-object_s') -net.mother_class_net = ' *** test-value ***' -net.restriction = ' *** test-value ***' -net.restriction01 = ' *** test-value ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.class_name', - 'net.mother_class_net', 'net.restriction', 'net.restriction01') - -print('\n -- Property Net') -net = PropertyNet(graph, uri='net:atomProperty_orbit_o2') -net.property_name = ' *** test-value ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.property_name') - -print('\n -- Atom Property Net') -net = AtomPropertyNet(graph, uri='net:atomProperty_orbit_o2') -net.property_name = ' *** test-value ***' -net.core_role = ' *** test-value ***' -net.target_argument_node = ' *** test-value ***' -net.property_type = ' *** test-value ***' -net.property_name01 = ' *** test-value ***' -net.property_name10 = ' *** test-value ***' -net.property_name12 = ' *** test-value ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.property_name', - 'net.core_role', 'net.target_argument_node', 'net.property_type', - 'net.property_name01', 'net.property_name10', 'net.property_name12') - -print('\n -- Composite Property Net') -net = CompositePropertyNet(graph, uri='net:compositeProperty_not-direct_d2') -net.property_name = ' *** test-value ***' -net.core_role = ' *** test-value ***' -net.target_argument_node = ' *** test-value ***' -net.property_type = ' *** test-value ***' -net.restriction = ' *** test-value ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.property_name', - 'net.core_role', 'net.target_argument_node', 'net.property_type', 'net.restriction') - -print('\n -- Individual Net') -net = IndividualNet(graph, uri='net:individual_system_SolarSystem') -net.base_class_name = ' *** test-value ***' -net.mother_class_net = ' *** test-value ***' -net.individual_label = ' *** test-value ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.base_class_name', 'net.mother_class_net', 'net.individual_label') - -print('\n -- Value Net') -net = ValueNet(graph, uri='net:value_SolarSystem_blankNode') -net.value_label = ' *** test-value ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.value_label') - -print('\n -- Phenomena Net (1)') -net = PhenomenaNet(graph, uri='net:phenomena_conjunction-AND_a') -net.phenomena_type = ' *** test-value ***' -net.phenomena_ref = ' *** test-value ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.phenomena_type', 'net.phenomena_ref') - -print('\n -- Phenomena Net (1)') -net = PhenomenaNet(graph, uri='net:phenomena_conjunction-OR_o3') -net.phenomena_type = ' *** test-value ***' -net.phenomena_ref = ' *** test-value ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.phenomena_type', 'net.phenomena_ref') - -print('\n -- Restriction Net') -net = RestrictionNet(graph, uri='net:restriction_hasPart_sun') -net.target_node = ' *** test-value ***' -net.restriction_property = ' *** test-value ***' -net.restriction_net_value = ' *** test-value ***' -test_attribute_access(net, 'net.uri', - 'net.node', 'net.base_node', 'net.structure', 'net.naming', - 'net.target_node', 'net.restriction_property', 'net.restriction_net_value') +if __name__ == '__main__': + + print('\n *** Test Preparation ***') + graph = load_test_graph() + print('\n \n') + + print('\n *** Development Test ***') + # devtest_set_uri_attribute(graph) + print('\n \n') -print('\n' + ' *** - ***') \ No newline at end of file + print('\n *** Unit Test ***') + unittest_set_attribute_net(graph, 'net:atomClass_sun_s2') + + unittest_set_attribute_class_net(graph, 'net:atomClass_sun_s2') + unittest_set_attribute_atom_class_net(graph, 'net:atomClass_sun_s2') + unittest_set_attribute_composite_class_net(graph, 'net:compositeClass_orbit-hasManner-conjunction-OR_o2') + unittest_set_attribute_composite_class_net(graph, 'net:compositeClass_system-hasPart-sun-and-object_s') + + unittest_set_attribute_property_net(graph, 'net:atomProperty_orbit_o2') + unittest_set_attribute_atom_property_net(graph, 'net:atomProperty_orbit_o2') + unittest_set_attribute_composite_property_net(graph, 'net:compositeProperty_not-direct_d2') + + unittest_set_attribute_individual_net(graph, 'net:individual_system_SolarSystem') + + unittest_set_attribute_value_net(graph, 'net:value_SolarSystem_blankNode') + + unittest_set_attribute_phenomena_net(graph, 'net:phenomena_conjunction-AND_a') + unittest_set_attribute_phenomena_net(graph, 'net:phenomena_conjunction-OR_o3') + + unittest_set_attribute_restriction_net(graph, 'net:restriction_hasPart_sun') + + print('\n \n') \ No newline at end of file diff --git a/tests/test_transduction_semantic_net_3.py b/tests/test_transduction_semantic_net_3.py index 61fa6074..88243ff1 100644 --- a/tests/test_transduction_semantic_net_3.py +++ b/tests/test_transduction_semantic_net_3.py @@ -50,6 +50,9 @@ def test_attribute_access(net, *attr_set): + + + #============================================================================== # Development Test #============================================================================== -- GitLab