When an object property is symmetric in Protégé, Owlready2 doesn't add to 2 individuals anymore

45 views Asked by At

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?

0

There are 0 answers