Coverage for lode / models / relation.py: 100%
46 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-10-05 16:02 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-10-05 16:02 +0000
1from .property import Property
3class Relation(Property):
4 """Rappresenta una Object Property RDF"""
6 def __init__(self, **kwargs):
7 # Chiama il costruttore della classe padre
8 super().__init__(**kwargs)
10 # Attributes
11 self.is_asymmetric = False # [1]
12 self.is_inverse_functional = False # [1]
13 self.is_irreflexive = False # [1]
14 self.is_reflexive = False # [1]
15 self.is_symmetric = False # [1]
16 self.is_transitive = False # [1]
18 # Relations with Relations
19 self.is_inverse_of = [] # [0..*] Relation
20 self.has_property_chain = [] # 1..*
22 # Relation with Concept
23 self.has_range = [] # 1..*
25 # Metodi per is_asymmetric
26 def set_is_asymmetric(self, value):
27 """Imposta is_asymmetric"""
28 self.is_asymmetric = value
30 def get_is_asymmetric(self):
31 """Restituisce is_asymmetric"""
32 return self.is_asymmetric
34 # Metodi per is_inverse_functional
35 def set_is_inverse_functional(self, value):
36 """Imposta is_inverse_functional"""
37 self.is_inverse_functional = value
39 def get_is_inverse_functional(self):
40 """Restituisce is_inverse_functional"""
41 return self.is_inverse_functional
43 # Metodi per is_irreflexive
44 def set_is_irreflexive(self, value):
45 """Imposta is_irreflexive"""
46 self.is_irreflexive = value
48 def get_is_irreflexive(self):
49 """Restituisce is_irreflexive"""
50 return self.is_irreflexive
52 # Metodi per is_reflexive
53 def set_is_reflexive(self, value):
54 """Imposta is_reflexive"""
55 self.is_reflexive = value
57 def get_is_reflexive(self):
58 """Restituisce is_reflexive"""
59 return self.is_reflexive
61 # Metodi per is_symmetric
62 def set_is_symmetric(self, value):
63 """Imposta is_symmetric"""
64 self.is_symmetric = value
66 def get_is_symmetric(self):
67 """Restituisce is_symmetric"""
68 return self.is_symmetric
70 # Metodi per is_transitive
71 def set_is_transitive(self, value):
72 """Imposta is_transitive"""
73 self.is_transitive = value
75 def get_is_transitive(self):
76 """Restituisce is_transitive"""
77 return self.is_transitive
79 def get_is_inverse_of(self):
80 """Returns the list of inverse of"""
81 return list(set(self.is_inverse_of))
83 def set_is_inverse_of(self, relation):
84 """Adds a inverse relation"""
85 self.is_inverse_of.append(relation)
87 def set_has_property_chain(self, relation):
88 if relation not in self.has_property_chain:
89 self.has_property_chain.append(relation)
91 def get_has_property_chain(self):
92 return list(self.has_property_chain)
94 # def set_has_range(self, concept):
95 # """Imposta has_range"""
96 # self.has_range = concept
98 # def get_has_range(self):
99 # """Restituisce has_range"""
100 # return list(self.has_range)