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

1from .property import Property 

2 

3class Relation(Property): 

4 """Rappresenta una Object Property RDF""" 

5 

6 def __init__(self, **kwargs): 

7 # Chiama il costruttore della classe padre 

8 super().__init__(**kwargs) 

9 

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] 

17 

18 # Relations with Relations 

19 self.is_inverse_of = None # 0..1 Relation 

20 self.has_property_chain = [] # 1..* 

21 

22 # Relation with Concept 

23 self.has_range = [] # 1..* 

24 

25 # Metodi per is_asymmetric 

26 def set_is_asymmetric(self, value): 

27 """Imposta is_asymmetric""" 

28 self.is_asymmetric = value 

29 

30 def get_is_asymmetric(self): 

31 """Restituisce is_asymmetric""" 

32 return self.is_asymmetric 

33 

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 

38 

39 def get_is_inverse_functional(self): 

40 """Restituisce is_inverse_functional""" 

41 return self.is_inverse_functional 

42 

43 # Metodi per is_irreflexive 

44 def set_is_irreflexive(self, value): 

45 """Imposta is_irreflexive""" 

46 self.is_irreflexive = value 

47 

48 def get_is_irreflexive(self): 

49 """Restituisce is_irreflexive""" 

50 return self.is_irreflexive 

51 

52 # Metodi per is_reflexive 

53 def set_is_reflexive(self, value): 

54 """Imposta is_reflexive""" 

55 self.is_reflexive = value 

56 

57 def get_is_reflexive(self): 

58 """Restituisce is_reflexive""" 

59 return self.is_reflexive 

60 

61 # Metodi per is_symmetric 

62 def set_is_symmetric(self, value): 

63 """Imposta is_symmetric""" 

64 self.is_symmetric = value 

65 

66 def get_is_symmetric(self): 

67 """Restituisce is_symmetric""" 

68 return self.is_symmetric 

69 

70 # Metodi per is_transitive 

71 def set_is_transitive(self, value): 

72 """Imposta is_transitive""" 

73 self.is_transitive = value 

74 

75 def get_is_transitive(self): 

76 """Restituisce is_transitive""" 

77 return self.is_transitive 

78 

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 

83 

84 def get_is_inverse_of(self): 

85 """Restituisce is_inverse_of""" 

86 return self.is_inverse_of 

87 

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 

92 

93 def get_has_property_chain(self): 

94 """Restituisce una copia della lista has_property_chain""" 

95 return self.has_property_chain 

96 

97 # def set_has_range(self, concept): 

98 # """Imposta has_range""" 

99 # self.has_range = concept 

100 

101 # def get_has_range(self): 

102 # """Restituisce has_range""" 

103 # return list(self.has_range) 

104