So I have this ontology with a class person
, and and object property isMarriedTo
with the domain and range both being person
. I set this to symmetric in Protégé. Now with Owlready2 I try to add this relationship between 2 indivuals:
# Add the fact that 2 persons are maried
def add_mariage(_person1, _person2):
person1 = namespace.Person(_person1)
person2 = namespace.Person(_person2)
person1.isMarriedTo.append(person2)
person2.isMarriedTo.append(person1)
onto.save(file="working_file.owl")
Against my expectations, it only applies the 'isMarriedTo' property to _person1
(correctly, to _person2
). However not the other way around. However, when I unmark the symmtric property and try it again, it does in fact add the property to both persons. Am I misunderstanding something?