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

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 = [] # [0..*] 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 def get_is_inverse_of(self): 

80 """Returns the list of inverse of""" 

81 return list(set(self.is_inverse_of)) 

82 

83 def set_is_inverse_of(self, relation): 

84 """Adds a inverse relation""" 

85 self.is_inverse_of.append(relation) 

86 

87 def set_has_property_chain(self, relation): 

88 if relation not in self.has_property_chain: 

89 self.has_property_chain.append(relation) 

90 

91 def get_has_property_chain(self): 

92 return list(self.has_property_chain) 

93 

94 # def set_has_range(self, concept): 

95 # """Imposta has_range""" 

96 # self.has_range = concept 

97 

98 # def get_has_range(self): 

99 # """Restituisce has_range""" 

100 # return list(self.has_range) 

101