Coverage for lode / models / relation.py: 100%
45 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-03-25 15:05 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-03-25 15:05 +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 = None # 0..1 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 # Metodi per is_inverse_of (0..1 - singolo valore)
80 def set_is_inverse_of(self, relation):
81 """Imposta is_inverse_of"""
82 self.is_inverse_of = relation
84 def get_is_inverse_of(self):
85 """Restituisce is_inverse_of"""
86 return self.is_inverse_of
88 # Metodi per has_property_chain
89 def set_has_property_chain(self, relation):
90 """Aggiunge una relation a has_property_chain"""
91 self.has_property_chain = relation # if its a list of lists should be modified
93 def get_has_property_chain(self):
94 """Restituisce una copia della lista has_property_chain"""
95 return self.has_property_chain
97 # def set_has_range(self, concept):
98 # """Imposta has_range"""
99 # self.has_range = concept
101 # def get_has_range(self):
102 # """Restituisce has_range"""
103 # return list(self.has_range)