800 |
800 |
801 def relate(self, eid_from, rtype, eid_to, **kwargs): |
801 def relate(self, eid_from, rtype, eid_to, **kwargs): |
802 assert not rtype.startswith('reverse_') |
802 assert not rtype.startswith('reverse_') |
803 self.add_relation(self.session, eid_from, rtype, eid_to, |
803 self.add_relation(self.session, eid_from, rtype, eid_to, |
804 self.rschema(rtype).inlined) |
804 self.rschema(rtype).inlined) |
805 if self.rschema[rtype].symmetric: |
805 if self.rschema(rtype).symmetric: |
806 self.add_relation(self.session, eid_to, rtype, eid_from, |
806 self.add_relation(self.session, eid_to, rtype, eid_from, |
807 self.rschema(rtype).inlined) |
807 self.rschema(rtype).inlined) |
808 self._nb_inserted_relations += 1 |
808 self._nb_inserted_relations += 1 |
809 |
809 |
810 @property |
810 @property |
929 if subj_eid is None or obj_eid is None: |
929 if subj_eid is None or obj_eid is None: |
930 return |
930 return |
931 # XXX Could subjtype be inferred ? |
931 # XXX Could subjtype be inferred ? |
932 self.source.add_relation(self.session, subj_eid, rtype, obj_eid, |
932 self.source.add_relation(self.session, subj_eid, rtype, obj_eid, |
933 self.rschema(rtype).inlined, **kwargs) |
933 self.rschema(rtype).inlined, **kwargs) |
934 if self.rschema[rtype].symmetric: |
934 if self.rschema(rtype).symmetric: |
935 self.source.add_relation(self.session, obj_eid, rtype, subj_eid, |
935 self.source.add_relation(self.session, obj_eid, rtype, subj_eid, |
936 self.rschema(rtype).inlined, **kwargs) |
936 self.rschema(rtype).inlined, **kwargs) |
937 |
937 |
938 def drop_indexes(self, etype): |
938 def drop_indexes(self, etype): |
939 """Drop indexes for a given entity type""" |
939 """Drop indexes for a given entity type""" |